@dxc-technology/halstack-react 0.0.0-4dc980c → 0.0.0-4e3dbad

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 (496) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1280 -6
  4. package/HalstackContext.js +131 -105
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  7. package/accordion/Accordion.accessibility.test.js +71 -0
  8. package/accordion/Accordion.d.ts +1 -1
  9. package/accordion/Accordion.js +44 -121
  10. package/accordion/Accordion.stories.tsx +82 -147
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +18 -33
  13. package/accordion/types.d.ts +6 -18
  14. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  16. package/accordion-group/AccordionGroup.d.ts +2 -2
  17. package/accordion-group/AccordionGroup.js +29 -77
  18. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +41 -73
  21. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  22. package/accordion-group/AccordionGroupAccordion.js +31 -0
  23. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  24. package/accordion-group/AccordionGroupContext.js +8 -0
  25. package/accordion-group/types.d.ts +7 -19
  26. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  27. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  28. package/action-icon/ActionIcon.d.ts +4 -0
  29. package/action-icon/ActionIcon.js +48 -0
  30. package/action-icon/ActionIcon.stories.tsx +41 -0
  31. package/action-icon/ActionIcon.test.d.ts +1 -0
  32. package/action-icon/ActionIcon.test.js +64 -0
  33. package/action-icon/types.d.ts +26 -0
  34. package/alert/Alert.accessibility.test.d.ts +1 -0
  35. package/alert/Alert.accessibility.test.js +95 -0
  36. package/alert/Alert.js +36 -126
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +28 -45
  40. package/alert/types.d.ts +5 -5
  41. package/badge/Badge.accessibility.test.d.ts +1 -0
  42. package/badge/Badge.accessibility.test.js +129 -0
  43. package/badge/Badge.d.ts +1 -1
  44. package/badge/Badge.js +142 -42
  45. package/badge/Badge.stories.tsx +210 -0
  46. package/badge/Badge.test.d.ts +1 -0
  47. package/badge/Badge.test.js +30 -0
  48. package/badge/types.d.ts +52 -3
  49. package/bar-chart/BarChart.d.ts +4 -0
  50. package/bar-chart/BarChart.js +152 -0
  51. package/bar-chart/BarChart.stories.tsx +281 -0
  52. package/bar-chart/BarChart.test.d.ts +1 -0
  53. package/bar-chart/BarChart.test.js +194 -0
  54. package/bar-chart/theme.d.ts +3 -0
  55. package/bar-chart/theme.js +31 -0
  56. package/bar-chart/types.d.ts +118 -0
  57. package/bleed/Bleed.js +13 -21
  58. package/bleed/Bleed.stories.tsx +1 -1
  59. package/bleed/types.d.ts +2 -2
  60. package/box/Box.accessibility.test.d.ts +1 -0
  61. package/box/Box.accessibility.test.js +33 -0
  62. package/box/Box.d.ts +1 -1
  63. package/box/Box.js +18 -59
  64. package/box/Box.stories.tsx +38 -51
  65. package/box/Box.test.d.ts +1 -0
  66. package/box/Box.test.js +1 -6
  67. package/box/types.d.ts +3 -15
  68. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  70. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  71. package/breadcrumbs/Breadcrumbs.js +79 -0
  72. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  73. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  74. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  75. package/breadcrumbs/Item.d.ts +4 -0
  76. package/breadcrumbs/Item.js +52 -0
  77. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  78. package/breadcrumbs/dropdownTheme.js +62 -0
  79. package/breadcrumbs/types.d.ts +40 -0
  80. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  81. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  82. package/bulleted-list/BulletedList.js +22 -53
  83. package/bulleted-list/BulletedList.stories.tsx +8 -93
  84. package/bulleted-list/types.d.ts +32 -5
  85. package/button/Button.accessibility.test.d.ts +1 -0
  86. package/button/Button.accessibility.test.js +127 -0
  87. package/button/Button.d.ts +1 -1
  88. package/button/Button.js +71 -106
  89. package/button/Button.stories.tsx +143 -101
  90. package/button/Button.test.d.ts +1 -0
  91. package/button/Button.test.js +19 -16
  92. package/button/types.d.ts +9 -5
  93. package/card/Card.accessibility.test.d.ts +1 -0
  94. package/card/Card.accessibility.test.js +36 -0
  95. package/card/Card.d.ts +1 -1
  96. package/card/Card.js +49 -89
  97. package/card/Card.stories.tsx +13 -43
  98. package/card/Card.test.d.ts +1 -0
  99. package/card/Card.test.js +10 -21
  100. package/card/types.d.ts +6 -12
  101. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  102. package/checkbox/Checkbox.accessibility.test.js +87 -0
  103. package/checkbox/Checkbox.js +90 -128
  104. package/checkbox/Checkbox.stories.tsx +68 -54
  105. package/checkbox/Checkbox.test.d.ts +1 -0
  106. package/checkbox/Checkbox.test.js +107 -63
  107. package/checkbox/types.d.ts +8 -4
  108. package/chip/Chip.accessibility.test.d.ts +1 -0
  109. package/chip/Chip.accessibility.test.js +67 -0
  110. package/chip/Chip.js +45 -80
  111. package/chip/Chip.stories.tsx +103 -27
  112. package/chip/Chip.test.d.ts +1 -0
  113. package/chip/Chip.test.js +17 -32
  114. package/chip/types.d.ts +4 -4
  115. package/common/coreTokens.d.ts +236 -0
  116. package/common/coreTokens.js +183 -0
  117. package/common/utils.d.ts +1 -0
  118. package/common/utils.js +6 -12
  119. package/common/variables.d.ts +1438 -0
  120. package/common/variables.js +1008 -1216
  121. package/container/Container.d.ts +4 -0
  122. package/container/Container.js +194 -0
  123. package/container/Container.stories.tsx +214 -0
  124. package/container/types.d.ts +176 -0
  125. package/container/types.js +5 -0
  126. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  127. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  128. package/contextual-menu/ContextualMenu.d.ts +5 -0
  129. package/contextual-menu/ContextualMenu.js +136 -0
  130. package/contextual-menu/ContextualMenu.stories.tsx +231 -0
  131. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  132. package/contextual-menu/ContextualMenu.test.js +247 -0
  133. package/contextual-menu/GroupItem.d.ts +4 -0
  134. package/contextual-menu/GroupItem.js +67 -0
  135. package/contextual-menu/ItemAction.d.ts +4 -0
  136. package/contextual-menu/ItemAction.js +88 -0
  137. package/contextual-menu/MenuItem.d.ts +4 -0
  138. package/contextual-menu/MenuItem.js +29 -0
  139. package/contextual-menu/SingleItem.d.ts +4 -0
  140. package/contextual-menu/SingleItem.js +38 -0
  141. package/contextual-menu/types.d.ts +65 -0
  142. package/contextual-menu/types.js +5 -0
  143. package/date-input/Calendar.d.ts +1 -1
  144. package/date-input/Calendar.js +91 -119
  145. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  146. package/date-input/DateInput.accessibility.test.js +229 -0
  147. package/date-input/DateInput.js +119 -118
  148. package/date-input/DateInput.stories.tsx +201 -61
  149. package/date-input/DateInput.test.d.ts +1 -0
  150. package/date-input/DateInput.test.js +677 -621
  151. package/date-input/DatePicker.js +53 -92
  152. package/date-input/YearPicker.d.ts +1 -1
  153. package/date-input/YearPicker.js +38 -48
  154. package/date-input/types.d.ts +32 -28
  155. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  156. package/dialog/Dialog.accessibility.test.js +69 -0
  157. package/dialog/Dialog.d.ts +1 -1
  158. package/dialog/Dialog.js +51 -120
  159. package/dialog/Dialog.stories.tsx +314 -212
  160. package/dialog/Dialog.test.d.ts +1 -0
  161. package/dialog/Dialog.test.js +332 -32
  162. package/dialog/types.d.ts +18 -26
  163. package/divider/Divider.accessibility.test.d.ts +1 -0
  164. package/divider/Divider.accessibility.test.js +33 -0
  165. package/divider/Divider.d.ts +4 -0
  166. package/divider/Divider.js +36 -0
  167. package/divider/Divider.stories.tsx +224 -0
  168. package/divider/Divider.test.d.ts +1 -0
  169. package/divider/Divider.test.js +38 -0
  170. package/divider/types.d.ts +21 -0
  171. package/divider/types.js +5 -0
  172. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  173. package/dropdown/Dropdown.accessibility.test.js +183 -0
  174. package/dropdown/Dropdown.js +69 -159
  175. package/dropdown/Dropdown.stories.tsx +210 -95
  176. package/dropdown/Dropdown.test.d.ts +1 -0
  177. package/dropdown/Dropdown.test.js +435 -392
  178. package/dropdown/DropdownMenu.js +23 -40
  179. package/dropdown/DropdownMenuItem.js +17 -38
  180. package/dropdown/types.d.ts +20 -24
  181. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  182. package/file-input/FileInput.accessibility.test.js +167 -0
  183. package/file-input/FileInput.js +181 -294
  184. package/file-input/FileInput.stories.tsx +86 -3
  185. package/file-input/FileInput.test.d.ts +1 -0
  186. package/file-input/FileInput.test.js +301 -395
  187. package/file-input/FileItem.js +31 -67
  188. package/file-input/types.d.ts +9 -13
  189. package/flex/Flex.js +27 -39
  190. package/flex/Flex.stories.tsx +35 -26
  191. package/flex/types.d.ts +74 -9
  192. package/footer/Footer.accessibility.test.d.ts +1 -0
  193. package/footer/Footer.accessibility.test.js +125 -0
  194. package/footer/Footer.d.ts +1 -1
  195. package/footer/Footer.js +73 -118
  196. package/footer/Footer.stories.tsx +94 -23
  197. package/footer/Footer.test.d.ts +1 -0
  198. package/footer/Footer.test.js +32 -56
  199. package/footer/Icons.d.ts +3 -2
  200. package/footer/Icons.js +53 -22
  201. package/footer/types.d.ts +26 -28
  202. package/grid/Grid.d.ts +7 -0
  203. package/grid/Grid.js +76 -0
  204. package/grid/Grid.stories.tsx +221 -0
  205. package/grid/types.d.ts +115 -0
  206. package/grid/types.js +5 -0
  207. package/header/Header.accessibility.test.d.ts +1 -0
  208. package/header/Header.accessibility.test.js +94 -0
  209. package/header/Header.d.ts +4 -3
  210. package/header/Header.js +55 -150
  211. package/header/Header.stories.tsx +131 -36
  212. package/header/Header.test.d.ts +1 -0
  213. package/header/Header.test.js +12 -25
  214. package/header/Icons.d.ts +2 -2
  215. package/header/Icons.js +3 -13
  216. package/header/types.d.ts +7 -22
  217. package/heading/Heading.accessibility.test.d.ts +1 -0
  218. package/heading/Heading.accessibility.test.js +33 -0
  219. package/heading/Heading.js +10 -32
  220. package/heading/Heading.test.d.ts +1 -0
  221. package/heading/Heading.test.js +64 -94
  222. package/heading/types.d.ts +7 -7
  223. package/icon/Icon.accessibility.test.d.ts +1 -0
  224. package/icon/Icon.accessibility.test.js +30 -0
  225. package/icon/Icon.d.ts +4 -0
  226. package/icon/Icon.js +33 -0
  227. package/icon/Icon.stories.tsx +28 -0
  228. package/icon/types.d.ts +4 -0
  229. package/icon/types.js +5 -0
  230. package/image/Image.accessibility.test.d.ts +1 -0
  231. package/image/Image.accessibility.test.js +56 -0
  232. package/image/Image.d.ts +4 -0
  233. package/image/Image.js +70 -0
  234. package/image/Image.stories.tsx +129 -0
  235. package/image/types.d.ts +72 -0
  236. package/image/types.js +5 -0
  237. package/inset/Inset.js +13 -21
  238. package/inset/Inset.stories.tsx +2 -1
  239. package/inset/types.d.ts +2 -2
  240. package/layout/ApplicationLayout.d.ts +5 -5
  241. package/layout/ApplicationLayout.js +36 -70
  242. package/layout/ApplicationLayout.stories.tsx +1 -1
  243. package/layout/Icons.d.ts +7 -5
  244. package/layout/Icons.js +41 -59
  245. package/layout/types.d.ts +5 -6
  246. package/link/Link.accessibility.test.d.ts +1 -0
  247. package/link/Link.accessibility.test.js +108 -0
  248. package/link/Link.js +31 -50
  249. package/link/Link.stories.tsx +64 -4
  250. package/link/Link.test.d.ts +1 -0
  251. package/link/Link.test.js +23 -43
  252. package/link/types.d.ts +14 -14
  253. package/main.d.ts +12 -5
  254. package/main.js +61 -59
  255. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  256. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  257. package/nav-tabs/NavTabs.d.ts +7 -0
  258. package/nav-tabs/NavTabs.js +108 -0
  259. package/nav-tabs/NavTabs.stories.tsx +294 -0
  260. package/nav-tabs/NavTabs.test.d.ts +1 -0
  261. package/nav-tabs/NavTabs.test.js +77 -0
  262. package/nav-tabs/NavTabsContext.d.ts +3 -0
  263. package/nav-tabs/NavTabsContext.js +8 -0
  264. package/nav-tabs/Tab.js +117 -0
  265. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  266. package/nav-tabs/types.js +5 -0
  267. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  268. package/number-input/NumberInput.accessibility.test.js +227 -0
  269. package/number-input/NumberInput.js +50 -37
  270. package/number-input/NumberInput.stories.tsx +37 -26
  271. package/number-input/NumberInput.test.d.ts +1 -0
  272. package/number-input/NumberInput.test.js +858 -412
  273. package/number-input/NumberInputContext.d.ts +3 -4
  274. package/number-input/NumberInputContext.js +3 -14
  275. package/number-input/types.d.ts +17 -5
  276. package/package.json +50 -42
  277. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  278. package/paginator/Paginator.accessibility.test.js +78 -0
  279. package/paginator/Paginator.js +34 -67
  280. package/paginator/Paginator.stories.tsx +24 -0
  281. package/paginator/Paginator.test.d.ts +1 -0
  282. package/paginator/Paginator.test.js +252 -226
  283. package/paginator/types.d.ts +3 -3
  284. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  285. package/paragraph/Paragraph.accessibility.test.js +28 -0
  286. package/paragraph/Paragraph.d.ts +3 -4
  287. package/paragraph/Paragraph.js +6 -22
  288. package/paragraph/Paragraph.stories.tsx +0 -17
  289. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  290. package/password-input/PasswordInput.accessibility.test.js +152 -0
  291. package/password-input/PasswordInput.js +62 -128
  292. package/password-input/PasswordInput.stories.tsx +11 -34
  293. package/password-input/PasswordInput.test.d.ts +1 -0
  294. package/password-input/PasswordInput.test.js +156 -140
  295. package/password-input/types.d.ts +8 -7
  296. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  297. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  298. package/progress-bar/ProgressBar.d.ts +2 -2
  299. package/progress-bar/ProgressBar.js +28 -58
  300. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  301. package/progress-bar/ProgressBar.test.d.ts +1 -0
  302. package/progress-bar/ProgressBar.test.js +35 -52
  303. package/progress-bar/types.d.ts +4 -3
  304. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  305. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  306. package/quick-nav/QuickNav.js +4 -27
  307. package/quick-nav/QuickNav.stories.tsx +15 -1
  308. package/quick-nav/types.d.ts +10 -10
  309. package/radio-group/Radio.d.ts +1 -1
  310. package/radio-group/Radio.js +31 -66
  311. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  312. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  313. package/radio-group/RadioGroup.js +48 -98
  314. package/radio-group/RadioGroup.stories.tsx +131 -18
  315. package/radio-group/RadioGroup.test.d.ts +1 -0
  316. package/radio-group/RadioGroup.test.js +506 -474
  317. package/radio-group/types.d.ts +8 -8
  318. package/resultset-table/Icons.d.ts +7 -0
  319. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  320. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  321. package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
  322. package/resultset-table/ResultsetTable.d.ts +7 -0
  323. package/{resultsetTable → resultset-table}/ResultsetTable.js +81 -78
  324. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +119 -6
  325. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  326. package/resultset-table/ResultsetTable.test.js +450 -0
  327. package/{resultsetTable → resultset-table}/types.d.ts +47 -13
  328. package/resultset-table/types.js +5 -0
  329. package/select/Listbox.d.ts +3 -3
  330. package/select/Listbox.js +48 -99
  331. package/select/Option.d.ts +3 -3
  332. package/select/Option.js +42 -59
  333. package/select/Select.accessibility.test.d.ts +1 -0
  334. package/select/Select.accessibility.test.js +227 -0
  335. package/select/Select.js +137 -299
  336. package/select/Select.stories.tsx +504 -200
  337. package/select/Select.test.d.ts +1 -0
  338. package/select/Select.test.js +1908 -1973
  339. package/select/selectUtils.d.ts +41 -0
  340. package/select/selectUtils.js +129 -0
  341. package/select/types.d.ts +17 -18
  342. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  343. package/sidenav/Sidenav.accessibility.test.js +59 -0
  344. package/sidenav/Sidenav.d.ts +2 -2
  345. package/sidenav/Sidenav.js +90 -157
  346. package/sidenav/Sidenav.stories.tsx +161 -64
  347. package/sidenav/Sidenav.test.d.ts +1 -0
  348. package/sidenav/Sidenav.test.js +4 -11
  349. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  350. package/{layout → sidenav}/SidenavContext.js +3 -9
  351. package/sidenav/types.d.ts +33 -30
  352. package/slider/Slider.accessibility.test.d.ts +1 -0
  353. package/slider/Slider.accessibility.test.js +103 -0
  354. package/slider/Slider.js +68 -128
  355. package/slider/Slider.stories.tsx +57 -60
  356. package/slider/Slider.test.d.ts +1 -0
  357. package/slider/Slider.test.js +117 -111
  358. package/slider/types.d.ts +4 -4
  359. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  360. package/spinner/Spinner.accessibility.test.js +96 -0
  361. package/spinner/Spinner.d.ts +1 -1
  362. package/spinner/Spinner.js +48 -107
  363. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  364. package/spinner/Spinner.test.d.ts +1 -0
  365. package/spinner/Spinner.test.js +25 -34
  366. package/spinner/types.d.ts +3 -3
  367. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  368. package/status-light/StatusLight.accessibility.test.js +157 -0
  369. package/status-light/StatusLight.d.ts +4 -0
  370. package/status-light/StatusLight.js +51 -0
  371. package/status-light/StatusLight.stories.tsx +74 -0
  372. package/status-light/StatusLight.test.d.ts +1 -0
  373. package/status-light/StatusLight.test.js +25 -0
  374. package/status-light/types.d.ts +17 -0
  375. package/status-light/types.js +5 -0
  376. package/switch/Switch.accessibility.test.d.ts +1 -0
  377. package/switch/Switch.accessibility.test.js +98 -0
  378. package/switch/Switch.js +51 -102
  379. package/switch/Switch.stories.tsx +45 -34
  380. package/switch/Switch.test.d.ts +1 -0
  381. package/switch/Switch.test.js +51 -96
  382. package/switch/types.d.ts +4 -4
  383. package/table/DropdownTheme.js +62 -0
  384. package/table/Table.accessibility.test.d.ts +1 -0
  385. package/table/Table.accessibility.test.js +92 -0
  386. package/table/Table.d.ts +6 -2
  387. package/table/Table.js +78 -35
  388. package/table/Table.stories.tsx +663 -0
  389. package/table/Table.test.d.ts +1 -0
  390. package/table/Table.test.js +91 -6
  391. package/table/types.d.ts +34 -6
  392. package/tabs/Tab.js +28 -46
  393. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  394. package/tabs/Tabs.accessibility.test.js +56 -0
  395. package/tabs/Tabs.js +69 -163
  396. package/tabs/Tabs.stories.tsx +50 -5
  397. package/tabs/Tabs.test.d.ts +1 -0
  398. package/tabs/Tabs.test.js +60 -135
  399. package/tabs/types.d.ts +21 -21
  400. package/tag/Tag.accessibility.test.d.ts +1 -0
  401. package/tag/Tag.accessibility.test.js +69 -0
  402. package/tag/Tag.js +34 -66
  403. package/tag/Tag.stories.tsx +19 -9
  404. package/tag/Tag.test.d.ts +1 -0
  405. package/tag/Tag.test.js +17 -36
  406. package/tag/types.d.ts +9 -9
  407. package/text-input/Suggestion.js +35 -25
  408. package/text-input/Suggestions.d.ts +1 -1
  409. package/text-input/Suggestions.js +30 -70
  410. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  411. package/text-input/TextInput.accessibility.test.js +320 -0
  412. package/text-input/TextInput.js +218 -347
  413. package/text-input/TextInput.stories.tsx +158 -162
  414. package/text-input/TextInput.test.d.ts +1 -0
  415. package/text-input/TextInput.test.js +1287 -1156
  416. package/text-input/types.d.ts +25 -17
  417. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  418. package/textarea/Textarea.accessibility.test.js +155 -0
  419. package/textarea/Textarea.js +67 -109
  420. package/textarea/Textarea.stories.tsx +174 -0
  421. package/textarea/Textarea.test.d.ts +1 -0
  422. package/textarea/Textarea.test.js +151 -182
  423. package/textarea/types.d.ts +9 -5
  424. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  425. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  426. package/toggle-group/ToggleGroup.d.ts +2 -2
  427. package/toggle-group/ToggleGroup.js +92 -108
  428. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  429. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  430. package/toggle-group/ToggleGroup.test.js +68 -87
  431. package/toggle-group/types.d.ts +28 -19
  432. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  433. package/tooltip/Tooltip.accessibility.test.js +144 -0
  434. package/tooltip/Tooltip.d.ts +4 -0
  435. package/tooltip/Tooltip.js +50 -0
  436. package/tooltip/Tooltip.stories.tsx +111 -0
  437. package/tooltip/Tooltip.test.d.ts +1 -0
  438. package/tooltip/Tooltip.test.js +112 -0
  439. package/tooltip/types.d.ts +16 -0
  440. package/tooltip/types.js +5 -0
  441. package/typography/Typography.accessibility.test.d.ts +1 -0
  442. package/typography/Typography.accessibility.test.js +339 -0
  443. package/typography/Typography.d.ts +2 -2
  444. package/typography/Typography.js +15 -123
  445. package/typography/Typography.stories.tsx +1 -3
  446. package/typography/Typography.test.js +23 -0
  447. package/typography/types.d.ts +1 -1
  448. package/useTheme.d.ts +1173 -1
  449. package/useTheme.js +2 -9
  450. package/useTranslatedLabels.d.ts +95 -1
  451. package/useTranslatedLabels.js +1 -7
  452. package/utils/BaseTypography.d.ts +21 -0
  453. package/utils/BaseTypography.js +98 -0
  454. package/utils/FocusLock.d.ts +13 -0
  455. package/utils/FocusLock.js +125 -0
  456. package/utils/useWidth.d.ts +2 -0
  457. package/utils/useWidth.js +30 -0
  458. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  459. package/wizard/Wizard.accessibility.test.js +55 -0
  460. package/wizard/Wizard.js +29 -75
  461. package/wizard/Wizard.stories.tsx +40 -1
  462. package/wizard/Wizard.test.d.ts +1 -0
  463. package/wizard/Wizard.test.js +53 -80
  464. package/wizard/types.d.ts +10 -11
  465. package/card/ice-cream.jpg +0 -0
  466. package/common/OpenSans.css +0 -81
  467. package/common/fonts/OpenSans-Bold.ttf +0 -0
  468. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  469. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  470. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  471. package/common/fonts/OpenSans-Italic.ttf +0 -0
  472. package/common/fonts/OpenSans-Light.ttf +0 -0
  473. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  474. package/common/fonts/OpenSans-Regular.ttf +0 -0
  475. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  476. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  477. package/number-input/numberInputContextTypes.d.ts +0 -19
  478. package/paginator/Icons.js +0 -66
  479. package/resultsetTable/Icons.d.ts +0 -7
  480. package/resultsetTable/ResultsetTable.d.ts +0 -4
  481. package/resultsetTable/ResultsetTable.test.js +0 -330
  482. package/select/Icons.d.ts +0 -10
  483. package/select/Icons.js +0 -93
  484. package/table/Table.stories.jsx +0 -277
  485. package/tabs-nav/NavTabs.d.ts +0 -8
  486. package/tabs-nav/NavTabs.js +0 -125
  487. package/tabs-nav/NavTabs.stories.tsx +0 -170
  488. package/tabs-nav/NavTabs.test.js +0 -82
  489. package/tabs-nav/Tab.js +0 -130
  490. package/text-input/Icons.d.ts +0 -8
  491. package/text-input/Icons.js +0 -60
  492. package/textarea/Textarea.stories.jsx +0 -157
  493. /package/{resultsetTable → action-icon}/types.js +0 -0
  494. /package/{tabs-nav → bar-chart}/types.js +0 -0
  495. /package/{number-input/numberInputContextTypes.js → breadcrumbs/types.js} +0 -0
  496. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -1,184 +1,183 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _dayjs = _interopRequireDefault(require("dayjs"));
21
-
22
14
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
-
28
17
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
29
-
30
18
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
31
-
32
19
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
33
-
34
20
  var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
35
-
36
- var _uuid = require("uuid");
37
-
38
- var _templateObject;
39
-
40
- 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); }
41
-
42
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
43
-
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
-
46
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
-
21
+ var _templateObject, _templateObject2;
22
+ 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); }
23
+ 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; }
24
+ 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; }
25
+ 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; }
48
26
  _dayjs["default"].extend(_customParseFormat["default"]);
49
-
50
- var calendarIcon = /*#__PURE__*/_react["default"].createElement("svg", {
51
- xmlns: "http://www.w3.org/2000/svg",
52
- height: "24",
53
- viewBox: "0 0 24 24",
54
- width: "24",
55
- fill: "currentColor"
56
- }, /*#__PURE__*/_react["default"].createElement("path", {
57
- d: "M0 0h24v24H0z",
58
- fill: "none"
59
- }), /*#__PURE__*/_react["default"].createElement("path", {
60
- d: "M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"
61
- }));
62
-
63
27
  var getValueForPicker = function getValueForPicker(value, format) {
64
28
  return (0, _dayjs["default"])(value, format.toUpperCase(), true);
65
29
  };
66
-
30
+ var getDate = function getDate(value, format, lastValidYear, setLastValidYear) {
31
+ if ((value || value === "") && format.toUpperCase().includes("YYYY")) return getValueForPicker(value, format);else {
32
+ var newDate = getValueForPicker(value, format);
33
+ if (!lastValidYear) {
34
+ if (+newDate.format("YY") < 68) {
35
+ setLastValidYear(2000 + +newDate.format("YY"));
36
+ newDate = newDate.set("year", 2000 + +newDate.format("YY"));
37
+ } else {
38
+ setLastValidYear(1900 + +newDate.format("YY"));
39
+ newDate = newDate.set("year", 1900 + +newDate.format("YY"));
40
+ }
41
+ } else {
42
+ newDate = newDate.set("year", (lastValidYear <= 1999 ? 1900 : 2000) + +newDate.format("YY"));
43
+ }
44
+ return newDate;
45
+ }
46
+ };
67
47
  var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
48
+ var _ref2;
68
49
  var label = _ref.label,
69
- name = _ref.name,
70
- _ref$defaultValue = _ref.defaultValue,
71
- defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
72
- value = _ref.value,
73
- _ref$format = _ref.format,
74
- format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
75
- helperText = _ref.helperText,
76
- _ref$placeholder = _ref.placeholder,
77
- placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
78
- clearable = _ref.clearable,
79
- disabled = _ref.disabled,
80
- optional = _ref.optional,
81
- onChange = _ref.onChange,
82
- onBlur = _ref.onBlur,
83
- error = _ref.error,
84
- autocomplete = _ref.autocomplete,
85
- margin = _ref.margin,
86
- size = _ref.size,
87
- tabIndex = _ref.tabIndex;
88
-
50
+ name = _ref.name,
51
+ _ref$defaultValue = _ref.defaultValue,
52
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
53
+ value = _ref.value,
54
+ _ref$format = _ref.format,
55
+ format = _ref$format === void 0 ? "dd-MM-yyyy" : _ref$format,
56
+ helperText = _ref.helperText,
57
+ _ref$placeholder = _ref.placeholder,
58
+ placeholder = _ref$placeholder === void 0 ? false : _ref$placeholder,
59
+ clearable = _ref.clearable,
60
+ disabled = _ref.disabled,
61
+ readOnly = _ref.readOnly,
62
+ optional = _ref.optional,
63
+ onChange = _ref.onChange,
64
+ onBlur = _ref.onBlur,
65
+ error = _ref.error,
66
+ autocomplete = _ref.autocomplete,
67
+ margin = _ref.margin,
68
+ size = _ref.size,
69
+ tabIndex = _ref.tabIndex;
89
70
  var _useState = (0, _react.useState)(defaultValue),
90
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
91
- innerValue = _useState2[0],
92
- setInnerValue = _useState2[1];
93
-
71
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
72
+ innerValue = _useState2[0],
73
+ setInnerValue = _useState2[1];
94
74
  var _useState3 = (0, _react.useState)(false),
95
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
96
- isOpen = _useState4[0],
97
- setIsOpen = _useState4[1];
98
-
99
- var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
100
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
101
- calendarId = _useState6[0];
102
-
75
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
76
+ isOpen = _useState4[0],
77
+ setIsOpen = _useState4[1];
78
+ var calendarId = "date-picker-".concat((0, _react.useId)());
79
+ var _useState5 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
80
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
81
+ dayjsDate = _useState6[0],
82
+ setDayjsDate = _useState6[1];
83
+ var _useState7 = (0, _react.useState)(innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format).format("YY") < 68 ? 2000 : 1900 : undefined),
84
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
85
+ lastValidYear = _useState8[0],
86
+ setLastValidYear = _useState8[1];
103
87
  var colorsTheme = (0, _useTheme["default"])();
104
88
  var translatedLabels = (0, _useTranslatedLabels["default"])();
105
89
  var dateRef = (0, _react.useRef)(null);
106
- (0, _react.useLayoutEffect)(function () {
90
+ (0, _react.useEffect)(function () {
91
+ if (value || value === "") setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
92
+ }, [value, format, lastValidYear]);
93
+ (0, _react.useEffect)(function () {
107
94
  if (!disabled) {
108
- var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Open calendar']");
95
+ var actionButtonRef = dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.querySelector("[title='Select date']");
109
96
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
110
97
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
111
98
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
112
99
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-controls", calendarId);
113
- actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
100
+ if (isOpen) {
101
+ actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-describedby", calendarId);
102
+ }
114
103
  }
115
104
  }, [isOpen, disabled, calendarId]);
116
-
117
105
  var handleCalendarOnClick = function handleCalendarOnClick(newDate) {
118
106
  var newValue = newDate.format(format.toUpperCase());
119
- value !== null && value !== void 0 ? value : setInnerValue(newValue);
107
+ if (!value) {
108
+ setDayjsDate(newDate);
109
+ setInnerValue(newValue);
110
+ }
111
+ setLastValidYear(newDate.get("year"));
120
112
  newDate !== null && newDate !== void 0 && newDate.set("day", newDate.get("date")).toJSON() ? onChange === null || onChange === void 0 ? void 0 : onChange({
121
113
  value: newValue,
122
- date: newDate
114
+ date: newDate.toDate()
123
115
  }) : onChange === null || onChange === void 0 ? void 0 : onChange({
124
116
  value: newValue
125
117
  });
126
118
  };
127
-
128
- var handleIOnChange = function handleIOnChange(_ref2) {
129
- var newValue = _ref2.value,
130
- inputError = _ref2.error;
119
+ var handleOnChange = function handleOnChange(_ref3) {
120
+ var newValue = _ref3.value,
121
+ inputError = _ref3.error;
131
122
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
132
- var dayjsDate = getValueForPicker(newValue, format);
133
- var invalidDateMessage = newValue !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
123
+ var newDate = getDate(newValue, format, lastValidYear, setLastValidYear);
124
+ var invalidDateMessage = newValue !== "" && !newDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
134
125
  var callbackParams = inputError || invalidDateMessage ? {
135
126
  value: newValue,
136
127
  error: inputError || invalidDateMessage
137
128
  } : {
138
129
  value: newValue
139
130
  };
140
- dayjsDate.isValid() ? onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
141
- date: dayjsDate.toDate()
142
- })) : onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
131
+ if (newDate.isValid()) {
132
+ setDayjsDate(newDate);
133
+ onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread(_objectSpread({}, callbackParams), {}, {
134
+ date: newDate.toDate()
135
+ }));
136
+ } else {
137
+ onChange === null || onChange === void 0 ? void 0 : onChange(callbackParams);
138
+ setLastValidYear(function (validYear) {
139
+ var _dayjsDate$get;
140
+ return (_dayjsDate$get = dayjsDate === null || dayjsDate === void 0 ? void 0 : dayjsDate.get("year")) !== null && _dayjsDate$get !== void 0 ? _dayjsDate$get : validYear;
141
+ });
142
+ setDayjsDate(null);
143
+ }
143
144
  };
144
-
145
- var handleIOnBlur = function handleIOnBlur(_ref3) {
146
- var value = _ref3.value,
147
- inputError = _ref3.error;
148
- var dayjsDate = getValueForPicker(value, format);
149
- var invalidDateMessage = value !== "" && !dayjsDate.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
145
+ var handleOnBlur = function handleOnBlur(_ref4) {
146
+ var value = _ref4.value,
147
+ inputError = _ref4.error;
148
+ var date = getDate(value, format, lastValidYear, setLastValidYear);
149
+ var invalidDateMessage = value !== "" && !date.isValid() && translatedLabels.dateInput.invalidDateErrorMessage;
150
150
  var callbackParams = inputError || invalidDateMessage ? {
151
151
  value: value,
152
152
  error: inputError || invalidDateMessage
153
153
  } : {
154
154
  value: value
155
155
  };
156
- dayjsDate.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
157
- date: dayjsDate.toDate()
156
+ date.isValid() ? onBlur === null || onBlur === void 0 ? void 0 : onBlur(_objectSpread(_objectSpread({}, callbackParams), {}, {
157
+ date: date.toDate()
158
158
  })) : onBlur === null || onBlur === void 0 ? void 0 : onBlur(callbackParams);
159
159
  };
160
-
161
160
  var openCalendar = function openCalendar() {
162
161
  setIsOpen(!isOpen);
163
162
  };
164
-
165
163
  var closeCalendar = function closeCalendar() {
166
164
  setIsOpen(false);
167
165
  };
168
-
169
166
  var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
170
- event.preventDefault();
171
- closeCalendar();
172
- dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
167
+ if (event.key === "Escape") {
168
+ event.preventDefault();
169
+ isOpen && event.stopPropagation();
170
+ closeCalendar();
171
+ dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
172
+ }
173
173
  };
174
-
175
174
  var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
176
175
  if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
177
176
  };
178
-
179
177
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
180
178
  theme: colorsTheme
181
- }, /*#__PURE__*/_react["default"].createElement("div", {
179
+ }, /*#__PURE__*/_react["default"].createElement(DateInputContainer, {
180
+ size: size,
182
181
  ref: ref
183
182
  }, /*#__PURE__*/_react["default"].createElement(Popover.Root, {
184
183
  open: isOpen
@@ -194,34 +193,36 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
194
193
  placeholder: placeholder ? format.toUpperCase() : null,
195
194
  action: {
196
195
  onClick: openCalendar,
197
- icon: calendarIcon,
198
- title: "Open calendar"
196
+ icon: "filled_calendar_today",
197
+ title: "Select date"
199
198
  },
200
199
  clearable: clearable,
201
200
  disabled: disabled,
201
+ readOnly: readOnly,
202
202
  optional: optional,
203
- onChange: handleIOnChange,
204
- onBlur: handleIOnBlur,
203
+ onChange: handleOnChange,
204
+ onBlur: handleOnBlur,
205
205
  error: error,
206
206
  autocomplete: autocomplete,
207
207
  margin: margin,
208
208
  size: size,
209
209
  tabIndex: tabIndex,
210
210
  ref: dateRef
211
- })), /*#__PURE__*/_react["default"].createElement(StyledContent, {
211
+ })), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(StyledPopoverContent, {
212
212
  sideOffset: error ? -18 : 2,
213
213
  align: "end",
214
214
  "aria-modal": true,
215
215
  onBlur: handleDatePickerOnBlur,
216
- onEscapeKeyDown: handleDatePickerEscKeydown,
216
+ onKeyDown: handleDatePickerEscKeydown,
217
217
  avoidCollisions: false
218
218
  }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
219
219
  id: calendarId,
220
220
  onDateSelect: handleCalendarOnClick,
221
- date: getValueForPicker(value !== null && value !== void 0 ? value : innerValue, format.toUpperCase())
222
- })))));
221
+ date: dayjsDate
222
+ }))))));
223
223
  });
224
-
225
- var StyledContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n &:focus-visible {\n outline: none;\n }\n"])));
226
- var _default = DxcDateInput;
227
- exports["default"] = _default;
224
+ var StyledPopoverContent = (0, _styledComponents["default"])(Popover.Content)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 2147483647;\n &:focus-visible {\n outline: none;\n }\n"])));
225
+ var DateInputContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
226
+ return props.size == "fillParent" && "width: 100%;";
227
+ });
228
+ var _default = exports["default"] = DxcDateInput;
@@ -1,17 +1,41 @@
1
1
  import React from "react";
2
- import { userEvent, within, fireEvent, screen } from "@storybook/testing-library";
2
+ import { userEvent, within, fireEvent, screen } from "@storybook/test";
3
3
  import DxcDateInput from "./DateInput";
4
+ import DxcDatePicker from "./DatePicker";
5
+ import YearPicker from "./YearPicker";
6
+ import Calendar from "./Calendar";
4
7
  import Title from "../../.storybook/components/Title";
5
8
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import { BackgroundColorProvider } from "../BackgroundColorContext";
7
- import DarkContainer from "../../.storybook/components/DarkSection";
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";
8
15
 
9
16
  export default {
10
- title: "Date input",
17
+ title: "Date Input",
11
18
  component: DxcDateInput,
19
+ parameters: {
20
+ a11y: {
21
+ config: {
22
+ rules: [
23
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
24
+ ...preview?.parameters?.a11y?.config?.rules,
25
+ ],
26
+ },
27
+ },
28
+ },
12
29
  };
13
30
 
14
- export const Chromatic = () => (
31
+ const opinionatedTheme = {
32
+ dateInput: {
33
+ baseColor: "#5f249f",
34
+ selectedFontColor: "#ffffff",
35
+ },
36
+ };
37
+
38
+ const DateInputChromatic = () => (
15
39
  <>
16
40
  <ExampleContainer>
17
41
  <Title title="Complete date input" theme="light" level={4} />
@@ -22,46 +46,23 @@ export const Chromatic = () => (
22
46
  <DxcDateInput
23
47
  label="Disabled date input"
24
48
  helperText="Help message"
25
- defaultValue="06-04-2027"
49
+ defaultValue="06-04-2007"
26
50
  clearable
27
51
  disabled
28
52
  />
29
53
  </ExampleContainer>
54
+ <ExampleContainer>
55
+ <Title title="Read only" theme="light" level={4} />
56
+ <DxcDateInput label="Example label" helperText="Help message" defaultValue="06-04-2007" clearable readOnly />
57
+ </ExampleContainer>
30
58
  <ExampleContainer>
31
59
  <Title title="Invalid" theme="light" level={4} />
32
60
  <DxcDateInput label="Error date input" error="Error message." placeholder />
33
61
  </ExampleContainer>
34
62
  <ExampleContainer>
35
63
  <Title title="Relation between icons" theme="light" level={4} />
36
- <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2027" clearable />
37
- </ExampleContainer>
38
- <BackgroundColorProvider color="#333333">
39
- <DarkContainer>
40
- <Title title="Dark" theme="dark" level={2} />
41
- <ExampleContainer>
42
- <Title title="Complete date input" theme="dark" level={4} />
43
- <DxcDateInput label="Date input" helperText="Help message" format="yyyy/dd/mm" placeholder optional />
44
- </ExampleContainer>
45
- <ExampleContainer>
46
- <Title title="Disabled" theme="dark" level={4} />
47
- <DxcDateInput
48
- label="Disabled Date input"
49
- helperText="Help message"
50
- defaultValue="06-04-2027"
51
- clearable
52
- disabled
53
- />
54
- </ExampleContainer>
55
- <ExampleContainer>
56
- <Title title="Invalid" theme="dark" level={4} />
57
- <DxcDateInput label="Error date input" error="Error message." placeholder />
58
- </ExampleContainer>
59
- <ExampleContainer>
60
- <Title title="Relation between icons" theme="dark" level={4} />
61
- <DxcDateInput label="Error date input" defaultValue="06-04-2027" error="Error message." clearable />
62
- </ExampleContainer>
63
- </DarkContainer>
64
- </BackgroundColorProvider>
64
+ <DxcDateInput label="Error date input" error="Error message." defaultValue="06-04-2007" clearable />
65
+ </ExampleContainer>
65
66
  <Title title="Margins" theme="light" level={2} />
66
67
  <ExampleContainer>
67
68
  <Title title="Xxsmall" theme="light" level={4} />
@@ -104,48 +105,187 @@ export const Chromatic = () => (
104
105
  <Title title="FillParent size" theme="light" level={4} />
105
106
  <DxcDateInput label="FillParent" size="fillParent" />
106
107
  </ExampleContainer>
108
+ <ExampleContainer expanded>
109
+ <Title title="Year picker" theme="light" level={4} />
110
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
111
+ </ExampleContainer>
107
112
  </>
108
113
  );
109
114
 
110
- const DatePicker = () => (
111
- <ExampleContainer expanded>
112
- <Title title="Show date picker" theme="light" level={4} />
113
- <DxcDateInput label="Date input" defaultValue="06-04-2027" />
114
- </ExampleContainer>
115
+ export const Chromatic = DateInputChromatic.bind({});
116
+ Chromatic.play = async ({ canvasElement }) => {
117
+ const canvas = within(canvasElement);
118
+ await userEvent.click(canvas.getAllByRole("combobox")[canvas.getAllByRole("combobox").length - 1]);
119
+ await fireEvent.click(screen.getByText("April 1905"));
120
+ };
121
+
122
+ const DateInputOpinionatedTheme = () => (
123
+ <>
124
+ <Title title="Opinionated theme" theme="light" level={2} />
125
+ <ExampleContainer>
126
+ <Title title="Enabled" theme="light" level={4} />
127
+ <HalstackProvider theme={opinionatedTheme}>
128
+ <DxcDateInput
129
+ label="Date input"
130
+ helperText="Help message"
131
+ format="dd/mm/yy"
132
+ placeholder
133
+ optional
134
+ defaultValue="10-10-2022"
135
+ />
136
+ </HalstackProvider>
137
+ </ExampleContainer>
138
+ <ExampleContainer>
139
+ <Title title="Disabled" theme="light" level={4} />
140
+ <HalstackProvider theme={opinionatedTheme}>
141
+ <DxcDateInput label="Date input" helperText="Help message" format="dd/mm/yy" placeholder optional />
142
+ </HalstackProvider>
143
+ </ExampleContainer>
144
+ <ExampleContainer>
145
+ <Title title="Invalid" theme="light" level={4} />
146
+ <HalstackProvider theme={opinionatedTheme}>
147
+ <DxcDateInput label="Error date input" error="Error message." placeholder />
148
+ </HalstackProvider>
149
+ </ExampleContainer>
150
+ <ExampleContainer expanded>
151
+ <Title title="Date picker" theme="light" level={4} />
152
+ <HalstackProvider theme={opinionatedTheme}>
153
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
154
+ </HalstackProvider>
155
+ </ExampleContainer>
156
+ </>
115
157
  );
116
158
 
117
- export const ShowDatePicker = DatePicker.bind({});
118
- ShowDatePicker.play = async ({ canvasElement }) => {
159
+ export const DateInputOpinionated = DateInputOpinionatedTheme.bind({});
160
+ DateInputOpinionated.play = async ({ canvasElement }) => {
119
161
  const canvas = within(canvasElement);
120
- const dateBtn = canvas.getByRole("combobox");
121
- await userEvent.click(dateBtn);
162
+ await userEvent.click(canvas.getAllByRole("combobox")[canvas.getAllByRole("combobox").length - 1]);
122
163
  };
123
164
 
124
- const YearPicker = () => (
165
+ const YearPickerOpinionatedTheme = () => (
125
166
  <ExampleContainer expanded>
126
- <Title title="Show year picker" theme="light" level={4} />
127
- <DxcDateInput label="Date input" defaultValue="06-04-2027" />
167
+ <Title title="Year picker" theme="light" level={4} />
168
+ <HalstackProvider theme={opinionatedTheme}>
169
+ <DxcDateInput label="Date input" defaultValue="06-04-1905" />
170
+ </HalstackProvider>
128
171
  </ExampleContainer>
129
172
  );
130
173
 
131
- export const ShowYearPicker = YearPicker.bind({});
132
- ShowYearPicker.play = async ({ canvasElement }) => {
174
+ export const YearPickerOpinionated = YearPickerOpinionatedTheme.bind({});
175
+ YearPickerOpinionated.play = async ({ canvasElement }) => {
133
176
  const canvas = within(canvasElement);
134
177
  await userEvent.click(canvas.getByRole("combobox"));
135
- await fireEvent.click(screen.getByText("April 2027"));
178
+ await fireEvent.click(screen.getByText("April 1905"));
136
179
  };
137
180
 
138
- const YearPickerFocus = () => (
139
- <ExampleContainer expanded>
140
- <Title title="Show year picker and focus" theme="light" level={4} />
141
- <DxcDateInput label="Date input" defaultValue="06-04-2027" />
142
- </ExampleContainer>
143
- );
181
+ const DatePickerButtonStates = () => {
182
+ const colorsTheme: any = useTheme();
183
+ return (
184
+ <>
185
+ <ExampleContainer>
186
+ <Title title="Show date picker over another element with z-index 0" theme="light" level={4} />
187
+ <div
188
+ style={{
189
+ display: "flex",
190
+ flexDirection: "column",
191
+ gap: "20px",
192
+ height: "200px",
193
+ width: "500px",
194
+ marginBottom: "250px",
195
+ padding: "20px",
196
+ border: "1px solid black",
197
+ borderRadius: "4px",
198
+ overflow: "auto",
199
+ zIndex: "1300",
200
+ position: "relative",
201
+ }}
202
+ >
203
+ <DxcDateInput label="From" defaultValue="01-12-1995" />
204
+ <DxcDateInput label="To" />
205
+ <button style={{ zIndex: "1", width: "100px" }}>Submit</button>
206
+ </div>
207
+ </ExampleContainer>
208
+ <ThemeProvider theme={colorsTheme}>
209
+ <ExampleContainer pseudoState="pseudo-focus">
210
+ <Title title="Isolated calendar focused" theme="light" level={4} />
211
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar1" />
212
+ </ExampleContainer>
213
+ <ExampleContainer pseudoState="pseudo-hover">
214
+ <Title title="Isolated calendar hovered" theme="light" level={4} />
215
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar2" />
216
+ </ExampleContainer>
217
+ <ExampleContainer pseudoState="pseudo-active">
218
+ <Title title="Isolated calendar actived" theme="light" level={4} />
219
+ <DxcDatePicker date={dayjs("06-04-1950", "DD-MM-YYYY")} onDateSelect={() => {}} id="test-calendar3" />
220
+ </ExampleContainer>
221
+ </ThemeProvider>
222
+ </>
223
+ );
224
+ };
144
225
 
145
- export const ShowYearPickerFocus = YearPickerFocus.bind({});
146
- ShowYearPickerFocus.play = async ({ canvasElement }) => {
226
+ export const DatePickerStates = DatePickerButtonStates.bind({});
227
+ DatePickerStates.play = async ({ canvasElement }) => {
147
228
  const canvas = within(canvasElement);
148
- await userEvent.click(canvas.getByRole("combobox"));
149
- await fireEvent.click(screen.getByText("April 2027"));
150
- await userEvent.tab();
229
+ const dateBtn = canvas.getAllByTitle("Select date")[0];
230
+ await userEvent.click(dateBtn);
231
+ };
232
+
233
+ export const YearPickerStates = () => {
234
+ const colorsTheme: any = useTheme();
235
+ return (
236
+ <>
237
+ <ThemeProvider theme={colorsTheme}>
238
+ <ExampleContainer pseudoState="pseudo-focus">
239
+ <Title title="Isolated year picker focused" theme="light" level={4} />
240
+ <YearPicker
241
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
242
+ onYearSelect={() => {}}
243
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
244
+ />
245
+ </ExampleContainer>
246
+ <ExampleContainer pseudoState="pseudo-hover">
247
+ <Title title="Isolated year picker hovered" theme="light" level={4} />
248
+ <YearPicker
249
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
250
+ onYearSelect={() => {}}
251
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
252
+ />
253
+ </ExampleContainer>
254
+ <ExampleContainer pseudoState="pseudo-active">
255
+ <Title title="Isolated year picker actived" theme="light" level={4} />
256
+ <YearPicker
257
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
258
+ onYearSelect={() => {}}
259
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
260
+ />
261
+ </ExampleContainer>
262
+ </ThemeProvider>
263
+ </>
264
+ );
265
+ };
266
+
267
+ export const DatePickerWithToday = () => {
268
+ const colorsTheme: any = useTheme();
269
+ return (
270
+ <ThemeProvider theme={colorsTheme}>
271
+ <ExampleContainer>
272
+ <Title title="Isolated calendar with today" theme="light" level={4} />
273
+ <Calendar
274
+ selectedDate={dayjs("06-04-1904", "DD-MM-YYYY")}
275
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
276
+ onInnerDateChange={() => {}}
277
+ onDaySelect={() => {}}
278
+ innerDate={dayjs("06-04-1904", "DD-MM-YYYY")}
279
+ />
280
+ </ExampleContainer>
281
+ <ExampleContainer>
282
+ <Title title="Isolated year picker with today" theme="light" level={4} />
283
+ <YearPicker
284
+ selectedDate={dayjs("06-04-1905", "DD-MM-YYYY")}
285
+ onYearSelect={() => {}}
286
+ today={dayjs("1904-04-03", "YYYY-MM-DD")}
287
+ />
288
+ </ExampleContainer>
289
+ </ThemeProvider>
290
+ );
151
291
  };