@dxc-technology/halstack-react 11.0.0 → 12.0.1

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 (386) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +3 -8
  3. package/HalstackContext.d.ts +32 -145
  4. package/HalstackContext.js +3 -7
  5. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.js +18 -35
  8. package/accordion/Accordion.stories.tsx +7 -49
  9. package/accordion/Accordion.test.d.ts +1 -0
  10. package/accordion/Accordion.test.js +3 -3
  11. package/accordion/types.d.ts +1 -1
  12. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  14. package/accordion-group/AccordionGroup.d.ts +2 -3
  15. package/accordion-group/AccordionGroup.js +4 -4
  16. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  17. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  18. package/accordion-group/AccordionGroup.test.js +5 -9
  19. package/accordion-group/AccordionGroupAccordion.js +3 -3
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +1 -1
  23. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -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.d.ts +1 -0
  29. package/action-icon/ActionIcon.test.js +64 -0
  30. package/action-icon/types.d.ts +26 -0
  31. package/action-icon/types.js +5 -0
  32. package/alert/Alert.accessibility.test.d.ts +1 -0
  33. package/alert/Alert.accessibility.test.js +95 -0
  34. package/alert/Alert.js +21 -75
  35. package/alert/Alert.test.d.ts +1 -0
  36. package/alert/Alert.test.js +1 -1
  37. package/badge/Badge.accessibility.test.d.ts +1 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +1 -1
  40. package/badge/Badge.js +141 -28
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.d.ts +1 -0
  43. package/badge/Badge.test.js +30 -0
  44. package/badge/types.d.ts +52 -3
  45. package/box/Box.accessibility.test.d.ts +1 -0
  46. package/box/Box.accessibility.test.js +33 -0
  47. package/box/Box.js +2 -5
  48. package/box/Box.test.d.ts +1 -0
  49. package/box/Box.test.js +1 -1
  50. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  51. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  52. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  53. package/breadcrumbs/Breadcrumbs.js +79 -0
  54. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  55. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  56. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  57. package/breadcrumbs/Item.d.ts +4 -0
  58. package/breadcrumbs/Item.js +52 -0
  59. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  60. package/breadcrumbs/dropdownTheme.js +62 -0
  61. package/breadcrumbs/types.d.ts +16 -0
  62. package/breadcrumbs/types.js +5 -0
  63. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  64. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  65. package/bulleted-list/BulletedList.js +16 -23
  66. package/bulleted-list/BulletedList.stories.tsx +1 -2
  67. package/button/Button.accessibility.test.d.ts +1 -0
  68. package/button/Button.accessibility.test.js +127 -0
  69. package/button/Button.js +16 -16
  70. package/button/Button.stories.tsx +34 -53
  71. package/button/Button.test.d.ts +1 -0
  72. package/button/Button.test.js +4 -2
  73. package/button/types.d.ts +1 -1
  74. package/card/Card.accessibility.test.d.ts +1 -0
  75. package/card/Card.accessibility.test.js +36 -0
  76. package/card/Card.js +3 -2
  77. package/card/Card.test.d.ts +1 -0
  78. package/card/Card.test.js +1 -1
  79. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  80. package/checkbox/Checkbox.accessibility.test.js +87 -0
  81. package/checkbox/Checkbox.js +36 -44
  82. package/checkbox/Checkbox.test.d.ts +1 -0
  83. package/checkbox/Checkbox.test.js +1 -1
  84. package/chip/Chip.accessibility.test.d.ts +1 -0
  85. package/chip/Chip.accessibility.test.js +69 -0
  86. package/chip/Chip.js +20 -26
  87. package/chip/Chip.stories.tsx +67 -50
  88. package/chip/Chip.test.d.ts +1 -0
  89. package/chip/Chip.test.js +5 -5
  90. package/chip/types.d.ts +35 -12
  91. package/common/coreTokens.d.ts +105 -14
  92. package/common/coreTokens.js +40 -22
  93. package/common/fonts.css +2 -0
  94. package/common/variables.d.ts +31 -141
  95. package/common/variables.js +104 -214
  96. package/container/Container.d.ts +4 -0
  97. package/container/Container.js +194 -0
  98. package/container/Container.stories.tsx +214 -0
  99. package/container/types.d.ts +74 -0
  100. package/container/types.js +5 -0
  101. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  102. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  103. package/contextual-menu/ContextualMenu.d.ts +5 -0
  104. package/contextual-menu/ContextualMenu.js +88 -0
  105. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  106. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  107. package/contextual-menu/ContextualMenu.test.js +205 -0
  108. package/contextual-menu/GroupItem.d.ts +4 -0
  109. package/contextual-menu/GroupItem.js +67 -0
  110. package/contextual-menu/ItemAction.d.ts +4 -0
  111. package/contextual-menu/ItemAction.js +51 -0
  112. package/contextual-menu/MenuItem.d.ts +4 -0
  113. package/contextual-menu/MenuItem.js +29 -0
  114. package/contextual-menu/SingleItem.d.ts +4 -0
  115. package/contextual-menu/SingleItem.js +38 -0
  116. package/contextual-menu/types.d.ts +58 -0
  117. package/contextual-menu/types.js +5 -0
  118. package/date-input/Calendar.js +1 -1
  119. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  120. package/date-input/DateInput.accessibility.test.js +230 -0
  121. package/date-input/DateInput.js +19 -20
  122. package/date-input/DateInput.stories.tsx +15 -8
  123. package/date-input/DateInput.test.d.ts +1 -0
  124. package/date-input/DateInput.test.js +9 -8
  125. package/date-input/DatePicker.js +13 -7
  126. package/date-input/YearPicker.js +1 -1
  127. package/date-input/types.d.ts +2 -2
  128. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  129. package/dialog/Dialog.accessibility.test.js +69 -0
  130. package/dialog/Dialog.js +11 -25
  131. package/dialog/Dialog.stories.tsx +175 -0
  132. package/dialog/Dialog.test.d.ts +1 -0
  133. package/dialog/Dialog.test.js +113 -49
  134. package/divider/Divider.accessibility.test.d.ts +1 -0
  135. package/divider/Divider.accessibility.test.js +33 -0
  136. package/divider/Divider.d.ts +4 -0
  137. package/divider/Divider.js +36 -0
  138. package/divider/Divider.stories.tsx +223 -0
  139. package/divider/Divider.test.d.ts +1 -0
  140. package/divider/Divider.test.js +38 -0
  141. package/divider/types.d.ts +21 -0
  142. package/divider/types.js +5 -0
  143. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  144. package/dropdown/Dropdown.accessibility.test.js +184 -0
  145. package/dropdown/Dropdown.js +37 -51
  146. package/dropdown/Dropdown.stories.tsx +15 -26
  147. package/dropdown/Dropdown.test.d.ts +1 -0
  148. package/dropdown/Dropdown.test.js +100 -70
  149. package/dropdown/DropdownMenu.js +4 -4
  150. package/dropdown/DropdownMenuItem.js +8 -4
  151. package/dropdown/types.d.ts +3 -5
  152. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  153. package/file-input/FileInput.accessibility.test.js +167 -0
  154. package/file-input/FileInput.js +127 -145
  155. package/file-input/FileInput.test.d.ts +1 -0
  156. package/file-input/FileInput.test.js +125 -129
  157. package/file-input/FileItem.js +18 -28
  158. package/file-input/types.d.ts +1 -1
  159. package/footer/Footer.accessibility.test.d.ts +1 -0
  160. package/footer/Footer.accessibility.test.js +125 -0
  161. package/footer/Footer.d.ts +1 -1
  162. package/footer/Footer.js +36 -31
  163. package/footer/Footer.stories.tsx +58 -2
  164. package/footer/Footer.test.d.ts +1 -0
  165. package/footer/Footer.test.js +1 -1
  166. package/footer/Icons.d.ts +1 -0
  167. package/footer/Icons.js +52 -16
  168. package/footer/types.d.ts +8 -8
  169. package/header/Header.accessibility.test.d.ts +1 -0
  170. package/header/Header.accessibility.test.js +94 -0
  171. package/header/Header.js +20 -41
  172. package/header/Header.stories.tsx +16 -0
  173. package/header/Header.test.d.ts +1 -0
  174. package/header/Header.test.js +1 -1
  175. package/header/Icons.js +1 -6
  176. package/header/types.d.ts +4 -3
  177. package/heading/Heading.accessibility.test.d.ts +1 -0
  178. package/heading/Heading.accessibility.test.js +33 -0
  179. package/heading/Heading.js +1 -1
  180. package/heading/Heading.test.d.ts +1 -0
  181. package/heading/Heading.test.js +1 -14
  182. package/icon/Icon.accessibility.test.d.ts +1 -0
  183. package/icon/Icon.accessibility.test.js +30 -0
  184. package/icon/Icon.d.ts +4 -0
  185. package/icon/Icon.js +33 -0
  186. package/icon/Icon.stories.tsx +28 -0
  187. package/icon/types.d.ts +4 -0
  188. package/icon/types.js +5 -0
  189. package/image/Image.accessibility.test.d.ts +1 -0
  190. package/image/Image.accessibility.test.js +56 -0
  191. package/image/Image.js +1 -1
  192. package/image/Image.stories.tsx +3 -1
  193. package/layout/ApplicationLayout.d.ts +1 -1
  194. package/layout/ApplicationLayout.js +10 -7
  195. package/layout/Icons.d.ts +0 -1
  196. package/layout/Icons.js +1 -11
  197. package/link/Link.accessibility.test.d.ts +1 -0
  198. package/link/Link.accessibility.test.js +108 -0
  199. package/link/Link.js +8 -6
  200. package/link/Link.stories.tsx +4 -4
  201. package/link/Link.test.d.ts +1 -0
  202. package/link/Link.test.js +1 -1
  203. package/link/types.d.ts +1 -1
  204. package/main.d.ts +8 -3
  205. package/main.js +38 -9
  206. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  207. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  208. package/nav-tabs/NavTabs.d.ts +1 -2
  209. package/nav-tabs/NavTabs.js +25 -7
  210. package/nav-tabs/NavTabs.stories.tsx +44 -24
  211. package/nav-tabs/NavTabs.test.d.ts +1 -0
  212. package/nav-tabs/NavTabs.test.js +12 -10
  213. package/nav-tabs/NavTabsContext.d.ts +3 -0
  214. package/nav-tabs/NavTabsContext.js +8 -0
  215. package/nav-tabs/Tab.js +23 -23
  216. package/nav-tabs/types.d.ts +1 -1
  217. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  218. package/number-input/NumberInput.accessibility.test.js +228 -0
  219. package/number-input/NumberInput.d.ts +0 -7
  220. package/number-input/NumberInput.js +24 -5
  221. package/number-input/NumberInput.test.d.ts +1 -0
  222. package/number-input/NumberInput.test.js +166 -7
  223. package/number-input/NumberInputContext.d.ts +3 -0
  224. package/number-input/NumberInputContext.js +8 -0
  225. package/number-input/types.d.ts +6 -0
  226. package/package.json +20 -18
  227. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  228. package/paginator/Paginator.accessibility.test.js +79 -0
  229. package/paginator/Paginator.js +14 -14
  230. package/paginator/Paginator.test.d.ts +1 -0
  231. package/paginator/Paginator.test.js +1 -1
  232. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  233. package/paragraph/Paragraph.accessibility.test.js +28 -0
  234. package/paragraph/Paragraph.js +2 -7
  235. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  236. package/password-input/PasswordInput.accessibility.test.js +153 -0
  237. package/password-input/PasswordInput.js +7 -7
  238. package/password-input/PasswordInput.stories.tsx +0 -1
  239. package/password-input/PasswordInput.test.d.ts +1 -0
  240. package/password-input/PasswordInput.test.js +5 -5
  241. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  242. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  243. package/progress-bar/ProgressBar.js +11 -15
  244. package/progress-bar/ProgressBar.test.d.ts +1 -0
  245. package/progress-bar/ProgressBar.test.js +1 -1
  246. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  247. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  248. package/quick-nav/QuickNav.js +1 -1
  249. package/radio-group/Radio.js +6 -9
  250. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  251. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  252. package/radio-group/RadioGroup.js +15 -17
  253. package/radio-group/RadioGroup.test.d.ts +1 -0
  254. package/radio-group/RadioGroup.test.js +3 -5
  255. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  256. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  257. package/resultset-table/ResultsetTable.d.ts +4 -1
  258. package/resultset-table/ResultsetTable.js +25 -13
  259. package/resultset-table/ResultsetTable.stories.tsx +118 -5
  260. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  261. package/resultset-table/ResultsetTable.test.js +76 -1
  262. package/resultset-table/types.d.ts +40 -7
  263. package/select/Listbox.js +24 -16
  264. package/select/Option.js +19 -10
  265. package/select/Select.accessibility.test.d.ts +1 -0
  266. package/select/Select.accessibility.test.js +228 -0
  267. package/select/Select.js +72 -54
  268. package/select/Select.stories.tsx +59 -111
  269. package/select/Select.test.d.ts +1 -0
  270. package/select/Select.test.js +393 -459
  271. package/select/types.d.ts +3 -3
  272. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  273. package/sidenav/Sidenav.accessibility.test.js +59 -0
  274. package/sidenav/Sidenav.js +21 -19
  275. package/sidenav/Sidenav.stories.tsx +4 -9
  276. package/sidenav/Sidenav.test.d.ts +1 -0
  277. package/sidenav/Sidenav.test.js +1 -1
  278. package/sidenav/types.d.ts +2 -2
  279. package/slider/Slider.accessibility.test.d.ts +1 -0
  280. package/slider/Slider.accessibility.test.js +104 -0
  281. package/slider/Slider.js +31 -42
  282. package/slider/Slider.stories.tsx +180 -0
  283. package/slider/Slider.test.d.ts +1 -0
  284. package/slider/Slider.test.js +12 -9
  285. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  286. package/spinner/Spinner.accessibility.test.js +96 -0
  287. package/spinner/Spinner.js +12 -16
  288. package/spinner/Spinner.test.d.ts +1 -0
  289. package/spinner/Spinner.test.js +1 -1
  290. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  291. package/status-light/StatusLight.accessibility.test.js +157 -0
  292. package/status-light/StatusLight.d.ts +4 -0
  293. package/status-light/StatusLight.js +51 -0
  294. package/status-light/StatusLight.stories.tsx +74 -0
  295. package/status-light/StatusLight.test.d.ts +1 -0
  296. package/status-light/StatusLight.test.js +25 -0
  297. package/status-light/types.d.ts +17 -0
  298. package/status-light/types.js +5 -0
  299. package/switch/Switch.accessibility.test.d.ts +1 -0
  300. package/switch/Switch.accessibility.test.js +98 -0
  301. package/switch/Switch.js +29 -37
  302. package/switch/Switch.stories.tsx +12 -0
  303. package/switch/Switch.test.d.ts +1 -0
  304. package/switch/Switch.test.js +1 -1
  305. package/table/DropdownTheme.js +62 -0
  306. package/table/Table.accessibility.test.d.ts +1 -0
  307. package/table/Table.accessibility.test.js +93 -0
  308. package/table/Table.d.ts +6 -2
  309. package/table/Table.js +74 -12
  310. package/table/Table.stories.tsx +309 -2
  311. package/table/Table.test.d.ts +1 -0
  312. package/table/Table.test.js +92 -1
  313. package/table/types.d.ts +28 -0
  314. package/tabs/Tab.js +13 -9
  315. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  316. package/tabs/Tabs.accessibility.test.js +56 -0
  317. package/tabs/Tabs.js +12 -24
  318. package/tabs/Tabs.stories.tsx +8 -4
  319. package/tabs/Tabs.test.d.ts +1 -0
  320. package/tabs/Tabs.test.js +20 -38
  321. package/tabs/types.d.ts +2 -2
  322. package/tag/Tag.accessibility.test.d.ts +1 -0
  323. package/tag/Tag.accessibility.test.js +69 -0
  324. package/tag/Tag.js +7 -7
  325. package/tag/Tag.stories.tsx +4 -7
  326. package/tag/Tag.test.d.ts +1 -0
  327. package/tag/Tag.test.js +5 -13
  328. package/tag/types.d.ts +2 -2
  329. package/text-input/Suggestion.js +1 -1
  330. package/text-input/Suggestions.js +19 -14
  331. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  332. package/text-input/TextInput.accessibility.test.js +321 -0
  333. package/text-input/TextInput.js +103 -126
  334. package/text-input/TextInput.stories.tsx +17 -8
  335. package/text-input/TextInput.test.d.ts +1 -0
  336. package/text-input/TextInput.test.js +97 -80
  337. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  338. package/textarea/Textarea.accessibility.test.js +155 -0
  339. package/textarea/Textarea.js +13 -21
  340. package/textarea/Textarea.stories.tsx +0 -1
  341. package/textarea/Textarea.test.d.ts +1 -0
  342. package/textarea/Textarea.test.js +1 -1
  343. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  344. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  345. package/toggle-group/ToggleGroup.js +11 -16
  346. package/toggle-group/ToggleGroup.stories.tsx +3 -3
  347. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  348. package/toggle-group/ToggleGroup.test.js +1 -1
  349. package/toggle-group/types.d.ts +2 -2
  350. package/typography/Typography.accessibility.test.d.ts +1 -0
  351. package/typography/Typography.accessibility.test.js +339 -0
  352. package/useTheme.d.ts +31 -141
  353. package/utils/BaseTypography.js +1 -1
  354. package/utils/FocusLock.js +16 -6
  355. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  356. package/wizard/Wizard.accessibility.test.js +55 -0
  357. package/wizard/Wizard.js +14 -25
  358. package/wizard/Wizard.stories.tsx +19 -0
  359. package/wizard/Wizard.test.d.ts +1 -0
  360. package/wizard/Wizard.test.js +1 -1
  361. package/wizard/types.d.ts +2 -2
  362. package/common/OpenSans.css +0 -69
  363. package/common/fonts/OpenSans-Bold.ttf +0 -0
  364. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  365. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  366. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  367. package/common/fonts/OpenSans-Italic.ttf +0 -0
  368. package/common/fonts/OpenSans-Light.ttf +0 -0
  369. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  370. package/common/fonts/OpenSans-Regular.ttf +0 -0
  371. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  372. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  373. package/date-input/Icons.d.ts +0 -6
  374. package/date-input/Icons.js +0 -58
  375. package/paginator/Icons.d.ts +0 -5
  376. package/paginator/Icons.js +0 -40
  377. package/password-input/Icons.d.ts +0 -6
  378. package/password-input/Icons.js +0 -35
  379. package/select/Icons.d.ts +0 -10
  380. package/select/Icons.js +0 -89
  381. package/sidenav/Icons.d.ts +0 -7
  382. package/sidenav/Icons.js +0 -47
  383. package/text-input/Icons.d.ts +0 -8
  384. package/text-input/Icons.js +0 -56
  385. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  386. /package/{layout → sidenav}/SidenavContext.js +0 -0
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { MenuItemProps } from "./types";
3
+ declare const MenuItem: ({ item, depthLevel }: MenuItemProps) => React.JSX.Element;
4
+ export default MenuItem;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
13
+ var _SingleItem = _interopRequireDefault(require("./SingleItem"));
14
+ var _GroupItem = _interopRequireDefault(require("./GroupItem"));
15
+ var _templateObject;
16
+ var MenuItem = function MenuItem(_ref) {
17
+ var item = _ref.item,
18
+ _ref$depthLevel = _ref.depthLevel,
19
+ depthLevel = _ref$depthLevel === void 0 ? 0 : _ref$depthLevel;
20
+ return /*#__PURE__*/_react["default"].createElement(StyledMenuItem, {
21
+ role: "menuitem"
22
+ }, "items" in item ? /*#__PURE__*/_react["default"].createElement(_GroupItem["default"], (0, _extends2["default"])({}, item, {
23
+ depthLevel: depthLevel
24
+ })) : /*#__PURE__*/_react["default"].createElement(_SingleItem["default"], (0, _extends2["default"])({}, item, {
25
+ depthLevel: depthLevel
26
+ })));
27
+ };
28
+ var StyledMenuItem = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n gap: ", ";\n"])), _coreTokens["default"].spacing_4);
29
+ var _default = exports["default"] = MenuItem;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SingleItemProps } from "./types";
3
+ declare const SingleItem: ({ badge, icon, id, label, depthLevel, onSelect }: SingleItemProps) => React.JSX.Element;
4
+ export default SingleItem;
@@ -0,0 +1,38 @@
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 _react = _interopRequireWildcard(require("react"));
10
+ var _ContextualMenu = require("./ContextualMenu");
11
+ var _ItemAction = _interopRequireDefault(require("./ItemAction"));
12
+ 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); }
13
+ 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; }
14
+ var SingleItem = function SingleItem(_ref) {
15
+ var badge = _ref.badge,
16
+ icon = _ref.icon,
17
+ id = _ref.id,
18
+ label = _ref.label,
19
+ depthLevel = _ref.depthLevel,
20
+ onSelect = _ref.onSelect;
21
+ var _useContext = (0, _react.useContext)(_ContextualMenu.ContextualMenuContext),
22
+ selectedItemId = _useContext.selectedItemId,
23
+ setSelectedItemId = _useContext.setSelectedItemId;
24
+ var handleClick = function handleClick() {
25
+ setSelectedItemId(id);
26
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect();
27
+ };
28
+ return /*#__PURE__*/_react["default"].createElement(_ItemAction["default"], {
29
+ "aria-selected": selectedItemId === id,
30
+ badge: badge,
31
+ icon: icon,
32
+ label: label,
33
+ depthLevel: depthLevel,
34
+ onClick: handleClick,
35
+ selected: selectedItemId === id
36
+ });
37
+ };
38
+ var _default = exports["default"] = SingleItem;
@@ -0,0 +1,58 @@
1
+ import React from "react";
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ type Item = {
4
+ badge?: React.ReactElement;
5
+ icon?: string | SVG;
6
+ label: string;
7
+ onSelect?: () => void;
8
+ };
9
+ type GroupItem = {
10
+ badge?: React.ReactElement;
11
+ icon?: string | SVG;
12
+ items: (Item | GroupItem)[];
13
+ label: string;
14
+ };
15
+ type Section = {
16
+ items: (Item | GroupItem)[];
17
+ title?: string;
18
+ };
19
+ type Props = {
20
+ items: (Item | GroupItem)[] | Section[];
21
+ };
22
+ /**
23
+ * Contextual menu internal types.
24
+ */
25
+ type ItemWithId = Item & {
26
+ id: number;
27
+ };
28
+ type GroupItemWithId = {
29
+ badge?: React.ReactElement;
30
+ icon: string | SVG;
31
+ items: (ItemWithId | GroupItemWithId)[];
32
+ label: string;
33
+ };
34
+ type SectionWithId = {
35
+ items: (ItemWithId | GroupItemWithId)[];
36
+ title?: string;
37
+ };
38
+ type SingleItemProps = ItemWithId & {
39
+ depthLevel: number;
40
+ };
41
+ type GroupItemProps = GroupItemWithId & {
42
+ depthLevel: number;
43
+ };
44
+ type MenuItemProps = {
45
+ item: ItemWithId | GroupItemWithId;
46
+ depthLevel?: number;
47
+ };
48
+ type ItemActionProps = React.ButtonHTMLAttributes<HTMLButtonElement> & Item & {
49
+ collapseIcon?: React.ReactNode;
50
+ depthLevel: number;
51
+ selected: boolean;
52
+ };
53
+ type ContextualMenuContextProps = {
54
+ selectedItemId: number;
55
+ setSelectedItemId: React.Dispatch<React.SetStateAction<number>>;
56
+ };
57
+ export default Props;
58
+ export type { ContextualMenuContextProps, GroupItem, GroupItemProps, GroupItemWithId, Item, ItemActionProps, ItemWithId, MenuItemProps, Section, SectionWithId, SingleItemProps, };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -14,7 +14,7 @@ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabel
14
14
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
15
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
16
16
  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); }
17
- 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 && Object.prototype.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; }
17
+ 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; }
18
18
  var getDays = function getDays(innerDate) {
19
19
  var monthDayCells = [];
20
20
  var lastMonthNumberOfDays = innerDate.set("month", innerDate.get("month") - 1).endOf("month");
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
11
+ var _DateInput = _interopRequireDefault(require("./DateInput"));
12
+ var _disabledRules = require("../../test/accessibility/rules/specific/date-input/disabledRules.js");
13
+ // TODO: REMOVE
14
+
15
+ var disabledRules = {
16
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
17
+ rulesObj[rule] = {
18
+ enabled: false
19
+ };
20
+ return rulesObj;
21
+ }, {})
22
+ };
23
+
24
+ // Mocking DOMRect for Radix Primitive Popover
25
+ global.globalThis = global;
26
+ global.DOMRect = {
27
+ fromRect: function fromRect() {
28
+ return {
29
+ top: 0,
30
+ left: 0,
31
+ bottom: 0,
32
+ right: 0,
33
+ width: 0,
34
+ height: 0,
35
+ x: 0,
36
+ y: 0
37
+ };
38
+ }
39
+ };
40
+ global.ResizeObserver = /*#__PURE__*/function () {
41
+ function ResizeObserver() {
42
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
43
+ }
44
+ (0, _createClass2["default"])(ResizeObserver, [{
45
+ key: "observe",
46
+ value: function observe() {}
47
+ }, {
48
+ key: "unobserve",
49
+ value: function unobserve() {}
50
+ }, {
51
+ key: "disconnect",
52
+ value: function disconnect() {}
53
+ }]);
54
+ return ResizeObserver;
55
+ }();
56
+ describe("DateInput component accessibility tests", function () {
57
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
58
+ var _render, baseElement, results;
59
+ return _regenerator["default"].wrap(function _callee$(_context) {
60
+ while (1) switch (_context.prev = _context.next) {
61
+ case 0:
62
+ // baseElement is needed when using React Portals
63
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
64
+ label: "Example label",
65
+ helperText: "Help message",
66
+ defaultValue: "06-04-2007",
67
+ format: "dd/mm/yy",
68
+ name: "DateInput Name",
69
+ margin: "medium",
70
+ size: "medium",
71
+ placeholder: true,
72
+ clearable: true
73
+ })), baseElement = _render.baseElement;
74
+ _context.next = 3;
75
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
76
+ case 3:
77
+ results = _context.sent;
78
+ expect(results).toHaveNoViolations();
79
+ case 5:
80
+ case "end":
81
+ return _context.stop();
82
+ }
83
+ }, _callee);
84
+ })));
85
+ it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
86
+ var _render2, baseElement, results;
87
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
88
+ while (1) switch (_context2.prev = _context2.next) {
89
+ case 0:
90
+ // baseElement is needed when using React Portals
91
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
92
+ label: "Example label",
93
+ helperText: "Help message",
94
+ defaultValue: "06-04-2007",
95
+ format: "dd/mm/yy",
96
+ name: "DateInput Name",
97
+ margin: "medium",
98
+ size: "medium",
99
+ placeholder: true,
100
+ autocomplete: "on"
101
+ })), baseElement = _render2.baseElement;
102
+ _context2.next = 3;
103
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
104
+ case 3:
105
+ results = _context2.sent;
106
+ expect(results).toHaveNoViolations();
107
+ case 5:
108
+ case "end":
109
+ return _context2.stop();
110
+ }
111
+ }, _callee2);
112
+ })));
113
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
114
+ var _render3, baseElement, results;
115
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
116
+ while (1) switch (_context3.prev = _context3.next) {
117
+ case 0:
118
+ // baseElement is needed when using React Portals
119
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
120
+ label: "Example label",
121
+ helperText: "Help message",
122
+ defaultValue: "06-04-2007",
123
+ format: "dd/mm/yy",
124
+ name: "DateInput Name",
125
+ margin: "medium",
126
+ size: "medium",
127
+ placeholder: true,
128
+ optional: true
129
+ })), baseElement = _render3.baseElement;
130
+ _context3.next = 3;
131
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
132
+ case 3:
133
+ results = _context3.sent;
134
+ expect(results).toHaveNoViolations();
135
+ case 5:
136
+ case "end":
137
+ return _context3.stop();
138
+ }
139
+ }, _callee3);
140
+ })));
141
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
142
+ var _render4, baseElement, results;
143
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
144
+ while (1) switch (_context4.prev = _context4.next) {
145
+ case 0:
146
+ // baseElement is needed when using React Portals
147
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
148
+ label: "Example label",
149
+ helperText: "Help message",
150
+ defaultValue: "06-04-2007",
151
+ format: "dd/mm/yy",
152
+ name: "DateInput Name",
153
+ margin: "medium",
154
+ error: "Error message.",
155
+ size: "medium",
156
+ placeholder: true,
157
+ clearable: true
158
+ })), baseElement = _render4.baseElement;
159
+ _context4.next = 3;
160
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
161
+ case 3:
162
+ results = _context4.sent;
163
+ expect(results).toHaveNoViolations();
164
+ case 5:
165
+ case "end":
166
+ return _context4.stop();
167
+ }
168
+ }, _callee4);
169
+ })));
170
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
171
+ var _render5, baseElement, results;
172
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
173
+ while (1) switch (_context5.prev = _context5.next) {
174
+ case 0:
175
+ // baseElement is needed when using React Portals
176
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
177
+ label: "Example label",
178
+ helperText: "Help message",
179
+ defaultValue: "06-04-2007",
180
+ format: "dd/mm/yy",
181
+ name: "DateInput Name",
182
+ margin: "medium",
183
+ error: "Error message.",
184
+ size: "medium",
185
+ placeholder: true,
186
+ clearable: true,
187
+ readOnly: true
188
+ })), baseElement = _render5.baseElement;
189
+ _context5.next = 3;
190
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
191
+ case 3:
192
+ results = _context5.sent;
193
+ expect(results).toHaveNoViolations();
194
+ case 5:
195
+ case "end":
196
+ return _context5.stop();
197
+ }
198
+ }, _callee5);
199
+ })));
200
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
201
+ var _render6, baseElement, results;
202
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
203
+ while (1) switch (_context6.prev = _context6.next) {
204
+ case 0:
205
+ // baseElement is needed when using React Portals
206
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
207
+ label: "Example label",
208
+ helperText: "Help message",
209
+ defaultValue: "06-04-2007",
210
+ format: "dd/mm/yy",
211
+ name: "DateInput Name",
212
+ margin: "medium",
213
+ error: "Error message.",
214
+ size: "medium",
215
+ placeholder: true,
216
+ clearable: true,
217
+ disabled: true
218
+ })), baseElement = _render6.baseElement;
219
+ _context6.next = 3;
220
+ return (0, _axeHelper.axe)(baseElement, disabledRules);
221
+ case 3:
222
+ results = _context6.sent;
223
+ expect(results).toHaveNoViolations();
224
+ case 5:
225
+ case "end":
226
+ return _context6.stop();
227
+ }
228
+ }, _callee6);
229
+ })));
230
+ });
@@ -18,11 +18,9 @@ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
18
18
  var _DatePicker = _interopRequireDefault(require("./DatePicker"));
19
19
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
20
20
  var _customParseFormat = _interopRequireDefault(require("dayjs/plugin/customParseFormat"));
21
- var _uuid = require("uuid");
22
- var _Icons = require("./Icons");
23
21
  var _templateObject;
24
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); }
25
- 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 && Object.prototype.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; }
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; }
26
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; }
27
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; }
28
26
  _dayjs["default"].extend(_customParseFormat["default"]);
@@ -77,17 +75,15 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
77
75
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
78
76
  isOpen = _useState4[0],
79
77
  setIsOpen = _useState4[1];
80
- var _useState5 = (0, _react.useState)("date-picker-".concat((0, _uuid.v4)())),
81
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
82
- calendarId = _useState6[0];
83
- var _useState7 = (0, _react.useState)(getValueForPicker((_ref2 = value !== null && value !== void 0 ? value : defaultValue) !== null && _ref2 !== void 0 ? _ref2 : "", format)),
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
84
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
85
- dayjsDate = _useState8[0],
86
- setDayjsDate = _useState8[1];
87
- 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),
88
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
89
- lastValidYear = _useState10[0],
90
- setLastValidYear = _useState10[1];
85
+ lastValidYear = _useState8[0],
86
+ setLastValidYear = _useState8[1];
91
87
  var colorsTheme = (0, _useTheme["default"])();
92
88
  var translatedLabels = (0, _useTranslatedLabels["default"])();
93
89
  var dateRef = (0, _react.useRef)(null);
@@ -96,7 +92,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
96
92
  }, [value, format, lastValidYear]);
97
93
  (0, _react.useEffect)(function () {
98
94
  if (!disabled) {
99
- 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']");
100
96
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-haspopup", true);
101
97
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("role", "combobox");
102
98
  actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.setAttribute("aria-expanded", isOpen);
@@ -166,9 +162,12 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
166
162
  setIsOpen(false);
167
163
  };
168
164
  var handleDatePickerEscKeydown = function handleDatePickerEscKeydown(event) {
169
- event.preventDefault();
170
- closeCalendar();
171
- dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
165
+ if (event.key === "Escape") {
166
+ event.preventDefault();
167
+ isOpen && event.stopPropagation();
168
+ closeCalendar();
169
+ dateRef === null || dateRef === void 0 ? void 0 : dateRef.current.getElementsByTagName("input")[0].focus();
170
+ }
172
171
  };
173
172
  var handleDatePickerOnBlur = function handleDatePickerOnBlur(event) {
174
173
  if (!(event !== null && event !== void 0 && event.currentTarget.contains(event.relatedTarget))) closeCalendar();
@@ -191,8 +190,8 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
191
190
  placeholder: placeholder ? format.toUpperCase() : null,
192
191
  action: {
193
192
  onClick: openCalendar,
194
- icon: _Icons.calendarIcon,
195
- title: "Open calendar"
193
+ icon: "filled_calendar_today",
194
+ title: "Select date"
196
195
  },
197
196
  clearable: clearable,
198
197
  disabled: disabled,
@@ -211,7 +210,7 @@ var DxcDateInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
211
210
  align: "end",
212
211
  "aria-modal": true,
213
212
  onBlur: handleDatePickerOnBlur,
214
- onEscapeKeyDown: handleDatePickerEscKeydown,
213
+ onKeyDown: handleDatePickerEscKeydown,
215
214
  avoidCollisions: false
216
215
  }, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], {
217
216
  id: calendarId,
@@ -10,10 +10,23 @@ import dayjs from "dayjs";
10
10
  import useTheme from "../useTheme";
11
11
  import { ThemeProvider } from "styled-components";
12
12
  import { HalstackProvider } from "../HalstackContext";
13
+ import preview from "../../.storybook/preview";
14
+ import { disabledRules } from "../../test/accessibility/rules/specific/date-input/disabledRules";
13
15
 
14
16
  export default {
15
17
  title: "Date Input",
16
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
+ },
17
30
  };
18
31
 
19
32
  const opinionatedTheme = {
@@ -41,13 +54,7 @@ const DateInputChromatic = () => (
41
54
  </ExampleContainer>
42
55
  <ExampleContainer>
43
56
  <Title title="Read only" theme="light" level={4} />
44
- <DxcDateInput
45
- label="Example label"
46
- helperText="Help message"
47
- defaultValue="06-04-2007"
48
- clearable
49
- readOnly
50
- />
57
+ <DxcDateInput label="Example label" helperText="Help message" defaultValue="06-04-2007" clearable readOnly />
51
58
  </ExampleContainer>
52
59
  <ExampleContainer>
53
60
  <Title title="Invalid" theme="light" level={4} />
@@ -220,7 +227,7 @@ const DatePickerButtonStates = () => {
220
227
  export const DatePickerStates = DatePickerButtonStates.bind({});
221
228
  DatePickerStates.play = async ({ canvasElement }) => {
222
229
  const canvas = within(canvasElement);
223
- const dateBtn = canvas.getAllByTitle("Open calendar")[0];
230
+ const dateBtn = canvas.getAllByTitle("Select date")[0];
224
231
  await userEvent.click(dateBtn);
225
232
  };
226
233
 
@@ -0,0 +1 @@
1
+ export {};
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@testing-library/react");
10
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
11
  var _dayjs = _interopRequireDefault(require("dayjs"));
12
- var _DateInput = _interopRequireDefault(require("./DateInput.tsx"));
12
+ var _DateInput = _interopRequireDefault(require("./DateInput"));
13
13
  // Mocking DOMRect for Radix Primitive Popover
14
14
  global.globalThis = global;
15
15
  global.DOMRect = {
@@ -214,7 +214,7 @@ describe("DateInput component tests", function () {
214
214
  _context6.next = 5;
215
215
  return _userEvent["default"].click(calendarAction);
216
216
  case 5:
217
- expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
217
+ expect(document.activeElement === (getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0])).toBeTruthy();
218
218
  expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
219
219
  case 7:
220
220
  case "end":
@@ -286,7 +286,7 @@ describe("DateInput component tests", function () {
286
286
  _context9.next = 11;
287
287
  return _userEvent["default"].click(calendarAction);
288
288
  case 11:
289
- expect(document.activeElement === getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0]).toBeTruthy();
289
+ expect(document.activeElement === (getAllByText(d.get("date")).length === 2 && +d.get("date") > 20 ? getAllByText(d.get("date"))[1] : getAllByText(d.get("date"))[0])).toBeTruthy();
290
290
  expect(getByText(d.format("MMMM YYYY"))).toBeTruthy();
291
291
  case 13:
292
292
  case "end":
@@ -687,7 +687,7 @@ describe("DateInput component tests", function () {
687
687
  });
688
688
  });
689
689
  test("Disabled date input (calendar action must be shown but not clickable)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee16() {
690
- var _render22, getByRole, queryByText, calendarAction, d, options;
690
+ var _render22, getByRole, queryByText, calendarAction, d, options, input;
691
691
  return _regenerator["default"].wrap(function _callee16$(_context16) {
692
692
  while (1) switch (_context16.prev = _context16.next) {
693
693
  case 0:
@@ -701,12 +701,13 @@ describe("DateInput component tests", function () {
701
701
  month: "short",
702
702
  day: "numeric"
703
703
  };
704
- expect(getByRole("textbox").disabled).toBeTruthy();
705
- _context16.next = 7;
704
+ input = getByRole("textbox");
705
+ expect(input.disabled).toBeTruthy();
706
+ _context16.next = 8;
706
707
  return _userEvent["default"].click(calendarAction);
707
- case 7:
708
- expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
709
708
  case 8:
709
+ expect(queryByText(d.toLocaleString("en-US", options))).toBeFalsy();
710
+ case 9:
710
711
  case "end":
711
712
  return _context16.stop();
712
713
  }
@@ -14,10 +14,10 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
14
  var _Calendar = _interopRequireDefault(require("./Calendar"));
15
15
  var _YearPicker = _interopRequireDefault(require("./YearPicker"));
16
16
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
17
- var _Icons = require("./Icons");
17
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
19
19
  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); }
20
- 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 && Object.prototype.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; }
20
+ 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; }
21
21
  var today = (0, _dayjs["default"])();
22
22
  var DxcDatePicker = function DxcDatePicker(_ref) {
23
23
  var date = _ref.date,
@@ -52,20 +52,26 @@ var DxcDatePicker = function DxcDatePicker(_ref) {
52
52
  onClick: function onClick() {
53
53
  return handleMonthChange(innerDate.set("month", innerDate.get("month") - 1));
54
54
  }
55
- }, _Icons.leftCaret), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
55
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
56
+ icon: "keyboard_arrow_left"
57
+ })), /*#__PURE__*/_react["default"].createElement(HeaderYearTrigger, {
56
58
  "aria-live": "polite",
57
59
  onClick: function onClick() {
58
60
  return setContent(function (content) {
59
61
  return content === "yearPicker" ? "calendar" : "yearPicker";
60
62
  });
61
63
  }
62
- }, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")), content === "yearPicker" ? _Icons.upCaret : _Icons.downCaret), /*#__PURE__*/_react["default"].createElement(HeaderButton, {
64
+ }, /*#__PURE__*/_react["default"].createElement(HeaderYearTriggerLabel, null, translatedLabels.calendar.months[innerDate.get("month")], " ", innerDate.format("YYYY")), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
65
+ icon: content === "yearPicker" ? "arrow_drop_up" : "arrow_drop_down"
66
+ })), /*#__PURE__*/_react["default"].createElement(HeaderButton, {
63
67
  "aria-label": translatedLabels.calendar.nextMonthTitle,
64
68
  title: translatedLabels.calendar.nextMonthTitle,
65
69
  onClick: function onClick() {
66
70
  return handleMonthChange(innerDate.set("month", innerDate.get("month") + 1));
67
71
  }
68
- }, _Icons.rightCaret)), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
72
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
73
+ icon: "keyboard_arrow_right"
74
+ }))), content === "calendar" && /*#__PURE__*/_react["default"].createElement(_Calendar["default"], {
69
75
  innerDate: innerDate,
70
76
  selectedDate: selectedDate,
71
77
  onInnerDateChange: setInnerDate,
@@ -91,7 +97,7 @@ var DatePicker = _styledComponents["default"].div(_templateObject || (_templateO
91
97
  return props.theme.dateInput.pickerFontWeight;
92
98
  });
93
99
  var PickerHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n gap: 8px;\n align-items: center;\n justify-content: space-between;\n padding: 0px 16px;\n"])));
94
- var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n svg {\n width: 24px;\n height: 24px;\n }\n"])), function (props) {
100
+ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0px;\n color: ", ";\n background-color: ", ";\n border-radius: 4px;\n border: none;\n cursor: pointer;\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:focus {\n outline: ", ";\n }\n &:active {\n color: ", ";\n background-color: ", ";\n }\n\n span::before {\n font-size: 24px;\n }\n"])), function (props) {
95
101
  return props.theme.dateInput.pickerHeaderFontColor;
96
102
  }, function (props) {
97
103
  return props.theme.dateInput.pickerHeaderBackgroundColor;
@@ -106,7 +112,7 @@ var HeaderButton = _styledComponents["default"].button(_templateObject3 || (_tem
106
112
  }, function (props) {
107
113
  return props.theme.dateInput.pickerHeaderActiveBackgroundColor;
108
114
  });
109
- var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n"])));
115
+ var HeaderYearTrigger = (0, _styledComponents["default"])(HeaderButton)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n gap: 8px;\n height: 40px;\n width: 172px;\n font-size: 24px;\n span::before {\n font-size: 24px;\n }\n"])));
110
116
  var HeaderYearTriggerLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-family: ", ";\n font-size: ", ";\n"])), function (props) {
111
117
  return props.theme.dateInput.pickerFontFamily;
112
118
  }, function (props) {