@dxc-technology/halstack-react 0.0.0-bfdc357 → 0.0.0-c023f9a

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 (535) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +6 -26
  3. package/HalstackContext.d.ts +1246 -0
  4. package/HalstackContext.js +310 -0
  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 +103 -193
  10. package/accordion/Accordion.stories.tsx +241 -0
  11. package/accordion/Accordion.test.d.ts +1 -0
  12. package/accordion/Accordion.test.js +56 -0
  13. package/accordion/types.d.ts +12 -23
  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 +3 -3
  17. package/accordion-group/AccordionGroup.js +39 -108
  18. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  19. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  20. package/accordion-group/AccordionGroup.test.js +94 -0
  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 +18 -23
  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 +41 -128
  37. package/alert/Alert.stories.tsx +28 -0
  38. package/alert/Alert.test.d.ts +1 -0
  39. package/alert/Alert.test.js +75 -0
  40. package/alert/types.d.ts +6 -6
  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 +4 -0
  44. package/badge/Badge.js +142 -40
  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 +54 -0
  49. package/badge/types.js +5 -0
  50. package/bleed/Bleed.d.ts +3 -0
  51. package/bleed/Bleed.js +43 -0
  52. package/bleed/Bleed.stories.tsx +342 -0
  53. package/bleed/types.d.ts +37 -0
  54. package/bleed/types.js +5 -0
  55. package/box/Box.accessibility.test.d.ts +1 -0
  56. package/box/Box.accessibility.test.js +33 -0
  57. package/box/Box.d.ts +1 -1
  58. package/box/Box.js +31 -82
  59. package/box/Box.stories.tsx +38 -51
  60. package/box/Box.test.d.ts +1 -0
  61. package/box/Box.test.js +13 -0
  62. package/box/types.d.ts +3 -14
  63. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  64. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  65. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  66. package/breadcrumbs/Breadcrumbs.js +79 -0
  67. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  68. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  69. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  70. package/breadcrumbs/Item.d.ts +4 -0
  71. package/breadcrumbs/Item.js +52 -0
  72. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  73. package/breadcrumbs/dropdownTheme.js +62 -0
  74. package/breadcrumbs/types.d.ts +16 -0
  75. package/breadcrumbs/types.js +5 -0
  76. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  77. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  78. package/bulleted-list/BulletedList.d.ts +7 -0
  79. package/bulleted-list/BulletedList.js +92 -0
  80. package/bulleted-list/BulletedList.stories.tsx +115 -0
  81. package/bulleted-list/types.d.ts +38 -0
  82. package/bulleted-list/types.js +5 -0
  83. package/button/Button.accessibility.test.d.ts +1 -0
  84. package/button/Button.accessibility.test.js +127 -0
  85. package/button/Button.d.ts +1 -1
  86. package/button/Button.js +65 -121
  87. package/button/Button.stories.tsx +155 -106
  88. package/button/Button.test.d.ts +1 -0
  89. package/button/Button.test.js +38 -0
  90. package/button/types.d.ts +14 -14
  91. package/card/Card.accessibility.test.d.ts +1 -0
  92. package/card/Card.accessibility.test.js +36 -0
  93. package/card/Card.d.ts +1 -1
  94. package/card/Card.js +60 -103
  95. package/card/Card.stories.tsx +171 -0
  96. package/card/Card.test.d.ts +1 -0
  97. package/card/Card.test.js +39 -0
  98. package/card/types.d.ts +8 -15
  99. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  100. package/checkbox/Checkbox.accessibility.test.js +87 -0
  101. package/checkbox/Checkbox.d.ts +2 -2
  102. package/checkbox/Checkbox.js +141 -182
  103. package/checkbox/Checkbox.stories.tsx +166 -136
  104. package/checkbox/Checkbox.test.d.ts +1 -0
  105. package/checkbox/Checkbox.test.js +199 -0
  106. package/checkbox/types.d.ts +20 -8
  107. package/chip/Chip.accessibility.test.d.ts +1 -0
  108. package/chip/Chip.accessibility.test.js +67 -0
  109. package/chip/Chip.d.ts +4 -0
  110. package/chip/Chip.js +51 -146
  111. package/chip/Chip.stories.tsx +109 -31
  112. package/chip/Chip.test.d.ts +1 -0
  113. package/chip/Chip.test.js +41 -0
  114. package/chip/types.d.ts +45 -0
  115. package/chip/types.js +5 -0
  116. package/common/coreTokens.d.ts +237 -0
  117. package/common/coreTokens.js +184 -0
  118. package/common/utils.d.ts +1 -0
  119. package/common/utils.js +6 -12
  120. package/common/variables.d.ts +1392 -0
  121. package/common/variables.js +1084 -1397
  122. package/container/Container.d.ts +4 -0
  123. package/container/Container.js +194 -0
  124. package/container/Container.stories.tsx +214 -0
  125. package/container/types.d.ts +74 -0
  126. package/container/types.js +5 -0
  127. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  128. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  129. package/contextual-menu/ContextualMenu.d.ts +5 -0
  130. package/contextual-menu/ContextualMenu.js +88 -0
  131. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  132. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  133. package/contextual-menu/ContextualMenu.test.js +205 -0
  134. package/contextual-menu/GroupItem.d.ts +4 -0
  135. package/contextual-menu/GroupItem.js +67 -0
  136. package/contextual-menu/ItemAction.d.ts +4 -0
  137. package/contextual-menu/ItemAction.js +51 -0
  138. package/contextual-menu/MenuItem.d.ts +4 -0
  139. package/contextual-menu/MenuItem.js +29 -0
  140. package/contextual-menu/SingleItem.d.ts +4 -0
  141. package/contextual-menu/SingleItem.js +38 -0
  142. package/contextual-menu/types.d.ts +58 -0
  143. package/contextual-menu/types.js +5 -0
  144. package/date-input/Calendar.d.ts +4 -0
  145. package/date-input/Calendar.js +214 -0
  146. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  147. package/date-input/DateInput.accessibility.test.js +230 -0
  148. package/date-input/DateInput.js +174 -313
  149. package/date-input/DateInput.stories.tsx +210 -56
  150. package/date-input/DateInput.test.d.ts +1 -0
  151. package/date-input/DateInput.test.js +809 -0
  152. package/date-input/DatePicker.d.ts +4 -0
  153. package/date-input/DatePicker.js +121 -0
  154. package/date-input/YearPicker.d.ts +4 -0
  155. package/date-input/YearPicker.js +100 -0
  156. package/date-input/types.d.ts +86 -22
  157. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  158. package/dialog/Dialog.accessibility.test.js +69 -0
  159. package/dialog/Dialog.d.ts +1 -1
  160. package/dialog/Dialog.js +57 -129
  161. package/dialog/Dialog.stories.tsx +325 -167
  162. package/dialog/Dialog.test.d.ts +1 -0
  163. package/dialog/Dialog.test.js +371 -0
  164. package/dialog/types.d.ts +18 -25
  165. package/divider/Divider.accessibility.test.d.ts +1 -0
  166. package/divider/Divider.accessibility.test.js +33 -0
  167. package/divider/Divider.d.ts +4 -0
  168. package/divider/Divider.js +36 -0
  169. package/divider/Divider.stories.tsx +223 -0
  170. package/divider/Divider.test.d.ts +1 -0
  171. package/divider/Divider.test.js +38 -0
  172. package/divider/types.d.ts +21 -0
  173. package/divider/types.js +5 -0
  174. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  175. package/dropdown/Dropdown.accessibility.test.js +184 -0
  176. package/dropdown/Dropdown.d.ts +1 -1
  177. package/dropdown/Dropdown.js +233 -330
  178. package/dropdown/Dropdown.stories.tsx +427 -0
  179. package/dropdown/Dropdown.test.d.ts +1 -0
  180. package/dropdown/Dropdown.test.js +629 -0
  181. package/dropdown/DropdownMenu.d.ts +4 -0
  182. package/dropdown/DropdownMenu.js +63 -0
  183. package/dropdown/DropdownMenuItem.d.ts +4 -0
  184. package/dropdown/DropdownMenuItem.js +71 -0
  185. package/dropdown/types.d.ts +38 -31
  186. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  187. package/file-input/FileInput.accessibility.test.js +167 -0
  188. package/file-input/FileInput.d.ts +2 -2
  189. package/file-input/FileInput.js +271 -342
  190. package/file-input/FileInput.stories.tsx +618 -0
  191. package/file-input/FileInput.test.d.ts +1 -0
  192. package/file-input/FileInput.test.js +404 -0
  193. package/file-input/FileItem.d.ts +4 -14
  194. package/file-input/FileItem.js +64 -121
  195. package/file-input/types.d.ts +53 -11
  196. package/flex/Flex.d.ts +4 -0
  197. package/flex/Flex.js +57 -0
  198. package/flex/Flex.stories.tsx +112 -0
  199. package/flex/types.d.ts +97 -0
  200. package/flex/types.js +5 -0
  201. package/footer/Footer.accessibility.test.d.ts +1 -0
  202. package/footer/Footer.accessibility.test.js +125 -0
  203. package/footer/Footer.d.ts +1 -1
  204. package/footer/Footer.js +74 -200
  205. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +96 -39
  206. package/footer/Footer.test.d.ts +1 -0
  207. package/footer/Footer.test.js +85 -0
  208. package/footer/Icons.d.ts +3 -0
  209. package/footer/Icons.js +54 -23
  210. package/footer/types.d.ts +40 -37
  211. package/grid/Grid.d.ts +7 -0
  212. package/grid/Grid.js +76 -0
  213. package/grid/Grid.stories.tsx +219 -0
  214. package/grid/types.d.ts +115 -0
  215. package/grid/types.js +5 -0
  216. package/header/Header.accessibility.test.d.ts +1 -0
  217. package/header/Header.accessibility.test.js +94 -0
  218. package/header/Header.d.ts +4 -3
  219. package/header/Header.js +105 -219
  220. package/header/Header.stories.tsx +168 -63
  221. package/header/Header.test.d.ts +1 -0
  222. package/header/Header.test.js +66 -0
  223. package/header/Icons.d.ts +2 -0
  224. package/header/Icons.js +5 -15
  225. package/header/types.d.ts +6 -18
  226. package/heading/Heading.accessibility.test.d.ts +1 -0
  227. package/heading/Heading.accessibility.test.js +33 -0
  228. package/heading/Heading.js +11 -33
  229. package/heading/Heading.stories.tsx +54 -0
  230. package/heading/Heading.test.d.ts +1 -0
  231. package/heading/Heading.test.js +156 -0
  232. package/heading/types.d.ts +7 -7
  233. package/icon/Icon.accessibility.test.d.ts +1 -0
  234. package/icon/Icon.accessibility.test.js +30 -0
  235. package/icon/Icon.d.ts +4 -0
  236. package/icon/Icon.js +33 -0
  237. package/icon/Icon.stories.tsx +28 -0
  238. package/icon/types.d.ts +4 -0
  239. package/icon/types.js +5 -0
  240. package/image/Image.accessibility.test.d.ts +1 -0
  241. package/image/Image.accessibility.test.js +56 -0
  242. package/image/Image.d.ts +4 -0
  243. package/image/Image.js +70 -0
  244. package/image/Image.stories.tsx +129 -0
  245. package/image/types.d.ts +72 -0
  246. package/image/types.js +5 -0
  247. package/inset/Inset.d.ts +3 -0
  248. package/inset/Inset.js +43 -0
  249. package/inset/Inset.stories.tsx +230 -0
  250. package/inset/types.d.ts +37 -0
  251. package/inset/types.js +5 -0
  252. package/layout/ApplicationLayout.d.ts +20 -0
  253. package/layout/ApplicationLayout.js +88 -186
  254. package/layout/ApplicationLayout.stories.tsx +162 -0
  255. package/layout/Icons.d.ts +7 -0
  256. package/layout/Icons.js +41 -48
  257. package/layout/types.d.ts +41 -0
  258. package/layout/types.js +5 -0
  259. package/link/Link.accessibility.test.d.ts +1 -0
  260. package/link/Link.accessibility.test.js +108 -0
  261. package/link/Link.d.ts +3 -2
  262. package/link/Link.js +65 -109
  263. package/link/Link.stories.tsx +161 -54
  264. package/link/Link.test.d.ts +1 -0
  265. package/link/Link.test.js +63 -0
  266. package/link/types.d.ts +15 -35
  267. package/main.d.ts +20 -14
  268. package/main.js +99 -98
  269. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  270. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  271. package/nav-tabs/NavTabs.d.ts +7 -0
  272. package/nav-tabs/NavTabs.js +93 -0
  273. package/nav-tabs/NavTabs.stories.tsx +279 -0
  274. package/nav-tabs/NavTabs.test.d.ts +1 -0
  275. package/nav-tabs/NavTabs.test.js +77 -0
  276. package/nav-tabs/NavTabsContext.d.ts +3 -0
  277. package/nav-tabs/NavTabsContext.js +8 -0
  278. package/nav-tabs/Tab.d.ts +4 -0
  279. package/nav-tabs/Tab.js +117 -0
  280. package/nav-tabs/types.d.ts +52 -0
  281. package/nav-tabs/types.js +5 -0
  282. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  283. package/number-input/NumberInput.accessibility.test.js +228 -0
  284. package/number-input/NumberInput.js +48 -48
  285. package/number-input/NumberInput.stories.tsx +44 -28
  286. package/number-input/NumberInput.test.d.ts +1 -0
  287. package/number-input/NumberInput.test.js +989 -0
  288. package/number-input/NumberInputContext.d.ts +3 -0
  289. package/number-input/NumberInputContext.js +3 -11
  290. package/number-input/types.d.ts +34 -15
  291. package/package.json +53 -52
  292. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  293. package/paginator/Paginator.accessibility.test.js +79 -0
  294. package/paginator/Paginator.js +47 -107
  295. package/paginator/Paginator.stories.tsx +24 -0
  296. package/paginator/Paginator.test.d.ts +1 -0
  297. package/paginator/Paginator.test.js +335 -0
  298. package/paginator/types.d.ts +3 -3
  299. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  300. package/paragraph/Paragraph.accessibility.test.js +28 -0
  301. package/paragraph/Paragraph.d.ts +5 -0
  302. package/paragraph/Paragraph.js +22 -0
  303. package/paragraph/Paragraph.stories.tsx +27 -0
  304. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  305. package/password-input/PasswordInput.accessibility.test.js +153 -0
  306. package/password-input/PasswordInput.js +61 -126
  307. package/password-input/PasswordInput.stories.tsx +3 -35
  308. package/password-input/PasswordInput.test.d.ts +1 -0
  309. package/password-input/PasswordInput.test.js +198 -0
  310. package/password-input/types.d.ts +35 -24
  311. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  312. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  313. package/progress-bar/ProgressBar.js +69 -93
  314. package/progress-bar/ProgressBar.stories.tsx +93 -0
  315. package/progress-bar/ProgressBar.test.d.ts +1 -0
  316. package/progress-bar/ProgressBar.test.js +93 -0
  317. package/progress-bar/types.d.ts +3 -3
  318. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  319. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  320. package/quick-nav/QuickNav.d.ts +4 -0
  321. package/quick-nav/QuickNav.js +94 -0
  322. package/quick-nav/QuickNav.stories.tsx +356 -0
  323. package/quick-nav/types.d.ts +21 -0
  324. package/quick-nav/types.js +5 -0
  325. package/radio-group/Radio.d.ts +4 -0
  326. package/radio-group/Radio.js +121 -0
  327. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  328. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  329. package/radio-group/RadioGroup.d.ts +4 -0
  330. package/radio-group/RadioGroup.js +233 -0
  331. package/radio-group/RadioGroup.stories.tsx +214 -0
  332. package/radio-group/RadioGroup.test.d.ts +1 -0
  333. package/radio-group/RadioGroup.test.js +754 -0
  334. package/radio-group/types.d.ts +114 -0
  335. package/radio-group/types.js +5 -0
  336. package/resultset-table/Icons.d.ts +7 -0
  337. package/resultset-table/Icons.js +47 -0
  338. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  339. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  340. package/resultset-table/ResultsetTable.d.ts +7 -0
  341. package/resultset-table/ResultsetTable.js +171 -0
  342. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  343. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  344. package/resultset-table/ResultsetTable.test.js +380 -0
  345. package/resultset-table/types.d.ts +100 -0
  346. package/resultset-table/types.js +5 -0
  347. package/select/Listbox.d.ts +4 -0
  348. package/select/Listbox.js +151 -0
  349. package/select/Option.d.ts +4 -0
  350. package/select/Option.js +89 -0
  351. package/select/Select.accessibility.test.d.ts +1 -0
  352. package/select/Select.accessibility.test.js +228 -0
  353. package/select/Select.d.ts +4 -0
  354. package/select/Select.js +248 -513
  355. package/select/Select.stories.tsx +602 -255
  356. package/select/Select.test.d.ts +1 -0
  357. package/select/Select.test.js +2268 -0
  358. package/select/types.d.ts +209 -0
  359. package/select/types.js +5 -0
  360. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  361. package/sidenav/Sidenav.accessibility.test.js +59 -0
  362. package/sidenav/Sidenav.d.ts +6 -5
  363. package/sidenav/Sidenav.js +137 -72
  364. package/sidenav/Sidenav.stories.tsx +277 -0
  365. package/sidenav/Sidenav.test.d.ts +1 -0
  366. package/sidenav/Sidenav.test.js +37 -0
  367. package/sidenav/SidenavContext.d.ts +5 -0
  368. package/sidenav/SidenavContext.js +13 -0
  369. package/sidenav/types.d.ts +52 -26
  370. package/slider/Slider.accessibility.test.d.ts +1 -0
  371. package/slider/Slider.accessibility.test.js +104 -0
  372. package/slider/Slider.d.ts +2 -2
  373. package/slider/Slider.js +149 -183
  374. package/slider/Slider.stories.tsx +68 -65
  375. package/slider/Slider.test.d.ts +1 -0
  376. package/slider/Slider.test.js +257 -0
  377. package/slider/types.d.ts +11 -3
  378. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  379. package/spinner/Spinner.accessibility.test.js +96 -0
  380. package/spinner/Spinner.js +35 -75
  381. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
  382. package/spinner/Spinner.test.d.ts +1 -0
  383. package/spinner/Spinner.test.js +55 -0
  384. package/spinner/types.d.ts +3 -3
  385. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  386. package/status-light/StatusLight.accessibility.test.js +157 -0
  387. package/status-light/StatusLight.d.ts +4 -0
  388. package/status-light/StatusLight.js +51 -0
  389. package/status-light/StatusLight.stories.tsx +74 -0
  390. package/status-light/StatusLight.test.d.ts +1 -0
  391. package/status-light/StatusLight.test.js +25 -0
  392. package/status-light/types.d.ts +17 -0
  393. package/status-light/types.js +5 -0
  394. package/switch/Switch.accessibility.test.d.ts +1 -0
  395. package/switch/Switch.accessibility.test.js +98 -0
  396. package/switch/Switch.d.ts +2 -2
  397. package/switch/Switch.js +147 -115
  398. package/switch/Switch.stories.tsx +57 -68
  399. package/switch/Switch.test.d.ts +1 -0
  400. package/switch/Switch.test.js +180 -0
  401. package/switch/types.d.ts +13 -5
  402. package/table/DropdownTheme.js +62 -0
  403. package/table/Table.accessibility.test.d.ts +1 -0
  404. package/table/Table.accessibility.test.js +93 -0
  405. package/table/Table.d.ts +6 -2
  406. package/table/Table.js +80 -37
  407. package/table/Table.stories.tsx +663 -0
  408. package/table/Table.test.d.ts +1 -0
  409. package/table/Table.test.js +112 -0
  410. package/table/types.d.ts +34 -6
  411. package/tabs/Tab.d.ts +4 -0
  412. package/tabs/Tab.js +117 -0
  413. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  414. package/tabs/Tabs.accessibility.test.js +56 -0
  415. package/tabs/Tabs.d.ts +1 -1
  416. package/tabs/Tabs.js +307 -145
  417. package/tabs/Tabs.stories.tsx +230 -0
  418. package/tabs/Tabs.test.d.ts +1 -0
  419. package/tabs/Tabs.test.js +276 -0
  420. package/tabs/types.d.ts +48 -27
  421. package/tag/Tag.accessibility.test.d.ts +1 -0
  422. package/tag/Tag.accessibility.test.js +69 -0
  423. package/tag/Tag.d.ts +1 -1
  424. package/tag/Tag.js +44 -86
  425. package/tag/Tag.stories.tsx +37 -30
  426. package/tag/Tag.test.d.ts +1 -0
  427. package/tag/Tag.test.js +41 -0
  428. package/tag/types.d.ts +25 -16
  429. package/text-input/Suggestion.d.ts +4 -0
  430. package/text-input/Suggestion.js +67 -0
  431. package/text-input/Suggestions.d.ts +4 -0
  432. package/text-input/Suggestions.js +94 -0
  433. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  434. package/text-input/TextInput.accessibility.test.js +321 -0
  435. package/text-input/TextInput.d.ts +4 -0
  436. package/text-input/TextInput.js +336 -592
  437. package/text-input/TextInput.stories.tsx +474 -0
  438. package/text-input/TextInput.test.d.ts +1 -0
  439. package/text-input/TextInput.test.js +1756 -0
  440. package/text-input/types.d.ts +205 -0
  441. package/text-input/types.js +5 -0
  442. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  443. package/textarea/Textarea.accessibility.test.js +155 -0
  444. package/textarea/Textarea.d.ts +4 -0
  445. package/textarea/Textarea.js +98 -183
  446. package/textarea/Textarea.stories.tsx +174 -0
  447. package/textarea/Textarea.test.d.ts +1 -0
  448. package/textarea/Textarea.test.js +406 -0
  449. package/textarea/types.d.ts +141 -0
  450. package/textarea/types.js +5 -0
  451. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  452. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  453. package/toggle-group/ToggleGroup.d.ts +4 -0
  454. package/toggle-group/ToggleGroup.js +99 -143
  455. package/toggle-group/ToggleGroup.stories.tsx +79 -39
  456. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  457. package/toggle-group/ToggleGroup.test.js +137 -0
  458. package/toggle-group/types.d.ts +114 -0
  459. package/toggle-group/types.js +5 -0
  460. package/typography/Typography.accessibility.test.d.ts +1 -0
  461. package/typography/Typography.accessibility.test.js +339 -0
  462. package/typography/Typography.d.ts +4 -0
  463. package/typography/Typography.js +23 -0
  464. package/typography/Typography.stories.tsx +198 -0
  465. package/typography/types.d.ts +18 -0
  466. package/typography/types.js +5 -0
  467. package/useTheme.d.ts +1145 -0
  468. package/useTheme.js +4 -11
  469. package/useTranslatedLabels.d.ts +85 -0
  470. package/useTranslatedLabels.js +14 -0
  471. package/utils/BaseTypography.d.ts +21 -0
  472. package/utils/BaseTypography.js +94 -0
  473. package/utils/FocusLock.d.ts +13 -0
  474. package/utils/FocusLock.js +124 -0
  475. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  476. package/wizard/Wizard.accessibility.test.js +55 -0
  477. package/wizard/Wizard.d.ts +1 -1
  478. package/wizard/Wizard.js +122 -114
  479. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +67 -19
  480. package/wizard/Wizard.test.d.ts +1 -0
  481. package/wizard/Wizard.test.js +114 -0
  482. package/wizard/types.d.ts +15 -15
  483. package/ThemeContext.js +0 -246
  484. package/V3Select/V3Select.js +0 -455
  485. package/V3Select/index.d.ts +0 -27
  486. package/V3Textarea/V3Textarea.js +0 -260
  487. package/V3Textarea/index.d.ts +0 -27
  488. package/chip/index.d.ts +0 -22
  489. package/common/OpenSans.css +0 -81
  490. package/common/RequiredComponent.js +0 -32
  491. package/common/fonts/OpenSans-Bold.ttf +0 -0
  492. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  493. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  494. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  495. package/common/fonts/OpenSans-Italic.ttf +0 -0
  496. package/common/fonts/OpenSans-Light.ttf +0 -0
  497. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  498. package/common/fonts/OpenSans-Regular.ttf +0 -0
  499. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  500. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  501. package/date/Date.js +0 -373
  502. package/date/index.d.ts +0 -27
  503. package/input-text/Icons.js +0 -22
  504. package/input-text/InputText.js +0 -611
  505. package/input-text/index.d.ts +0 -36
  506. package/paginator/Icons.js +0 -66
  507. package/progress-bar/ProgressBar.stories.jsx +0 -58
  508. package/radio/Radio.d.ts +0 -4
  509. package/radio/Radio.js +0 -174
  510. package/radio/Radio.stories.tsx +0 -192
  511. package/radio/types.d.ts +0 -54
  512. package/resultsetTable/ResultsetTable.js +0 -274
  513. package/resultsetTable/index.d.ts +0 -19
  514. package/select/index.d.ts +0 -131
  515. package/table/Table.stories.jsx +0 -276
  516. package/text-input/index.d.ts +0 -135
  517. package/textarea/Textarea.stories.jsx +0 -135
  518. package/textarea/index.d.ts +0 -117
  519. package/toggle/Toggle.js +0 -186
  520. package/toggle/index.d.ts +0 -21
  521. package/toggle-group/index.d.ts +0 -21
  522. package/upload/Upload.js +0 -201
  523. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  524. package/upload/buttons-upload/Icons.js +0 -40
  525. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  526. package/upload/dragAndDropArea/Icons.js +0 -39
  527. package/upload/file-upload/FileToUpload.js +0 -115
  528. package/upload/file-upload/Icons.js +0 -66
  529. package/upload/files-upload/FilesToUpload.js +0 -109
  530. package/upload/index.d.ts +0 -15
  531. package/upload/transaction/Icons.js +0 -160
  532. package/upload/transaction/Transaction.js +0 -104
  533. package/upload/transactions/Transactions.js +0 -94
  534. package/wizard/Icons.js +0 -65
  535. /package/{radio → action-icon}/types.js +0 -0
@@ -0,0 +1,629 @@
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 _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
+ var _Dropdown = _interopRequireDefault(require("./Dropdown"));
12
+ // Mocking DOMRect for Radix Primitive Popover
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0
23
+ };
24
+ }
25
+ };
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver() {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ }
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {}
33
+ }, {
34
+ key: "unobserve",
35
+ value: function unobserve() {}
36
+ }, {
37
+ key: "disconnect",
38
+ value: function disconnect() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+ var options = [{
43
+ value: "1",
44
+ label: "Amazon"
45
+ }, {
46
+ value: "2",
47
+ label: "Ebay"
48
+ }, {
49
+ value: "3",
50
+ label: "Wallapop"
51
+ }, {
52
+ value: "4",
53
+ label: "Aliexpress"
54
+ }];
55
+ describe("Dropdown component tests", function () {
56
+ test("Renders with correct aria attributes", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
57
+ var onSelectOption, _render, getAllByRole, getByRole, dropdown, menu;
58
+ return _regenerator["default"].wrap(function _callee$(_context) {
59
+ while (1) switch (_context.prev = _context.next) {
60
+ case 0:
61
+ onSelectOption = jest.fn();
62
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
63
+ options: options,
64
+ label: "dropdown-test",
65
+ onSelectOption: onSelectOption
66
+ })), getAllByRole = _render.getAllByRole, getByRole = _render.getByRole;
67
+ dropdown = getByRole("button");
68
+ expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
69
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
70
+ expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
71
+ _context.next = 8;
72
+ return _userEvent["default"].click(dropdown);
73
+ case 8:
74
+ menu = getByRole("menu");
75
+ expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
76
+ expect(dropdown.getAttribute("aria-expanded")).toBe("true");
77
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
78
+ expect(menu.getAttribute("aria-orientation")).toBe("vertical");
79
+ expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
80
+ expect(getAllByRole("menuitem").length).toBe(4);
81
+ case 15:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }, _callee);
86
+ })));
87
+ test("Button trigger opens and closes the menu options when clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
88
+ var onSelectOption, _render2, getByRole, queryByRole, getByText, dropdown;
89
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
90
+ while (1) switch (_context2.prev = _context2.next) {
91
+ case 0:
92
+ onSelectOption = jest.fn();
93
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
94
+ options: options,
95
+ label: "dropdown-test",
96
+ onSelectOption: onSelectOption
97
+ })), getByRole = _render2.getByRole, queryByRole = _render2.queryByRole, getByText = _render2.getByText;
98
+ dropdown = getByRole("button");
99
+ expect(queryByRole("menu")).toBeFalsy();
100
+ _context2.next = 6;
101
+ return _userEvent["default"].click(dropdown);
102
+ case 6:
103
+ expect(queryByRole("menu")).toBeTruthy();
104
+ expect(getByText("Amazon")).toBeTruthy();
105
+ expect(getByText("Ebay")).toBeTruthy();
106
+ expect(getByText("Wallapop")).toBeTruthy();
107
+ expect(getByText("Aliexpress")).toBeTruthy();
108
+ _context2.next = 13;
109
+ return _userEvent["default"].click(dropdown);
110
+ case 13:
111
+ expect(queryByRole("menu")).toBeFalsy();
112
+ case 14:
113
+ case "end":
114
+ return _context2.stop();
115
+ }
116
+ }, _callee2);
117
+ })));
118
+ test("Button trigger is not interactive when disabled", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
119
+ var onSelectOption, _render3, getByRole, queryByRole, queryByText, dropdown;
120
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
121
+ while (1) switch (_context3.prev = _context3.next) {
122
+ case 0:
123
+ onSelectOption = jest.fn();
124
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
125
+ disabled: true,
126
+ options: options,
127
+ label: "dropdown-test",
128
+ onSelectOption: onSelectOption
129
+ })), getByRole = _render3.getByRole, queryByRole = _render3.queryByRole, queryByText = _render3.queryByText;
130
+ dropdown = getByRole("button");
131
+ expect(queryByRole("menu")).toBeFalsy();
132
+ _context3.next = 6;
133
+ return _userEvent["default"].click(dropdown);
134
+ case 6:
135
+ expect(queryByRole("menu")).toBeFalsy();
136
+ expect(queryByText("Amazon")).toBeFalsy();
137
+ _context3.next = 10;
138
+ return _userEvent["default"].click(dropdown);
139
+ case 10:
140
+ expect(queryByRole("menu")).toBeFalsy();
141
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
142
+ case 12:
143
+ case "end":
144
+ return _context3.stop();
145
+ }
146
+ }, _callee3);
147
+ })));
148
+ test("onSelectOption function is called correctly when an option is clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
149
+ var onSelectOption, _render4, getByText, dropdown, option;
150
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
151
+ while (1) switch (_context4.prev = _context4.next) {
152
+ case 0:
153
+ onSelectOption = jest.fn();
154
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
155
+ options: options,
156
+ onSelectOption: onSelectOption,
157
+ label: "dropdown-test"
158
+ })), getByText = _render4.getByText;
159
+ dropdown = getByText("dropdown-test");
160
+ _context4.next = 5;
161
+ return _userEvent["default"].click(dropdown);
162
+ case 5:
163
+ option = getByText("Aliexpress");
164
+ _context4.next = 8;
165
+ return _userEvent["default"].click(option);
166
+ case 8:
167
+ expect(onSelectOption).toHaveBeenCalledWith("4");
168
+ case 9:
169
+ case "end":
170
+ return _context4.stop();
171
+ }
172
+ }, _callee4);
173
+ })));
174
+ test("When expandOnHover is true, the dropdown trigger shows and hides the menu when it is hovered", function () {
175
+ var onSelectOption = jest.fn();
176
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
177
+ options: options,
178
+ expandOnHover: true,
179
+ label: "dropdown-test",
180
+ onSelectOption: onSelectOption
181
+ })),
182
+ queryByText = _render5.queryByText,
183
+ getByRole = _render5.getByRole,
184
+ queryByRole = _render5.queryByRole;
185
+ expect(queryByText("option-test")).toBeFalsy();
186
+ expect(queryByRole("menu")).toBeFalsy();
187
+ _react2.fireEvent.mouseOver(getByRole("button"));
188
+ var menu = getByRole("menu");
189
+ expect(menu).toBeTruthy();
190
+ expect(document.activeElement === menu).toBeTruthy();
191
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
192
+ });
193
+ test("The menu is closed when the dropdown loses the focus (blur)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
194
+ var onSelectOption, _render6, getByRole, queryByRole, dropdown;
195
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
196
+ while (1) switch (_context5.prev = _context5.next) {
197
+ case 0:
198
+ onSelectOption = jest.fn();
199
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
200
+ options: options,
201
+ label: "dropdown-test",
202
+ onSelectOption: onSelectOption
203
+ })), getByRole = _render6.getByRole, queryByRole = _render6.queryByRole;
204
+ dropdown = getByRole("button");
205
+ _context5.next = 5;
206
+ return _userEvent["default"].click(dropdown);
207
+ case 5:
208
+ expect(getByRole("menu")).toBeTruthy();
209
+ _react2.fireEvent.blur(getByRole("menu"));
210
+ expect(queryByRole("menu")).toBeFalsy();
211
+ case 8:
212
+ case "end":
213
+ return _context5.stop();
214
+ }
215
+ }, _callee5);
216
+ })));
217
+ test("Menu button key events - Arrow up opens the list and moves the focus to the last menu item", function () {
218
+ var onSelectOption = jest.fn();
219
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
220
+ options: options,
221
+ label: "dropdown-test",
222
+ onSelectOption: onSelectOption
223
+ })),
224
+ getByRole = _render7.getByRole;
225
+ var dropdown = getByRole("button");
226
+ _react2.fireEvent.keyDown(dropdown, {
227
+ key: "ArrowUp",
228
+ code: "ArrowUp",
229
+ keyCode: 38,
230
+ charCode: 38
231
+ });
232
+ var menu = getByRole("menu");
233
+ expect(menu).toBeTruthy();
234
+ expect(document.activeElement === menu).toBeTruthy();
235
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
236
+ });
237
+ test("Menu button key events - Arrow down opens the list and moves the focus to the first menu item", function () {
238
+ var onSelectOption = jest.fn();
239
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
240
+ options: options,
241
+ label: "dropdown-test",
242
+ onSelectOption: onSelectOption
243
+ })),
244
+ getByRole = _render8.getByRole;
245
+ var dropdown = getByRole("button");
246
+ _react2.fireEvent.keyDown(dropdown, {
247
+ key: "ArrowDown",
248
+ code: "ArrowDown",
249
+ keyCode: 40,
250
+ charCode: 40
251
+ });
252
+ var menu = getByRole("menu");
253
+ expect(menu).toBeTruthy();
254
+ expect(document.activeElement === menu).toBeTruthy();
255
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
256
+ });
257
+ test("Menu button key events - Enter opens the list and moves the focus to the first menu item", function () {
258
+ var onSelectOption = jest.fn();
259
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
260
+ options: options,
261
+ label: "dropdown-test",
262
+ onSelectOption: onSelectOption
263
+ })),
264
+ getByRole = _render9.getByRole;
265
+ var dropdown = getByRole("button");
266
+ _react2.fireEvent.keyDown(dropdown, {
267
+ key: "Enter",
268
+ code: "Enter",
269
+ keyCode: 13,
270
+ charCode: 13
271
+ });
272
+ var menu = getByRole("menu");
273
+ expect(menu).toBeTruthy();
274
+ expect(document.activeElement === menu).toBeTruthy();
275
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
276
+ });
277
+ test("Menu button key events - Space opens the list and moves the focus to the first menu item", function () {
278
+ var onSelectOption = jest.fn();
279
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
280
+ options: options,
281
+ label: "dropdown-test",
282
+ onSelectOption: onSelectOption
283
+ })),
284
+ getByRole = _render10.getByRole;
285
+ var dropdown = getByRole("button");
286
+ _react2.fireEvent.keyDown(dropdown, {
287
+ key: " ",
288
+ code: "Space",
289
+ keyCode: 32,
290
+ charCode: 32
291
+ });
292
+ var menu = getByRole("menu");
293
+ expect(menu).toBeTruthy();
294
+ expect(document.activeElement === menu).toBeTruthy();
295
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
296
+ });
297
+ test("Menu key events - Arrow up moves the focus to the previous menu item", function () {
298
+ var onSelectOption = jest.fn();
299
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
300
+ onSelectOption: onSelectOption,
301
+ options: options,
302
+ label: "dropdown-test"
303
+ })),
304
+ getByRole = _render11.getByRole;
305
+ _react2.fireEvent.keyDown(getByRole("button"), {
306
+ key: "ArrowUp",
307
+ code: "ArrowUp",
308
+ keyCode: 38,
309
+ charCode: 38
310
+ });
311
+ var menu = getByRole("menu");
312
+ _react2.fireEvent.keyDown(menu, {
313
+ key: "ArrowUp",
314
+ code: "ArrowUp",
315
+ keyCode: 38,
316
+ charCode: 38
317
+ });
318
+ expect(document.activeElement === menu).toBeTruthy();
319
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-2"));
320
+ _react2.fireEvent.keyDown(menu, {
321
+ key: "Enter",
322
+ code: "Enter",
323
+ keyCode: 13,
324
+ charCode: 13
325
+ });
326
+ expect(onSelectOption).toHaveBeenCalledWith("3");
327
+ });
328
+ test("Menu key events - Arrow up, if focus is on the first menu item, moves focus to the last menu item.", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
329
+ var onSelectOption, _render12, getByRole, menu;
330
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
331
+ while (1) switch (_context6.prev = _context6.next) {
332
+ case 0:
333
+ onSelectOption = jest.fn();
334
+ _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
335
+ onSelectOption: onSelectOption,
336
+ options: options,
337
+ label: "dropdown-test"
338
+ })), getByRole = _render12.getByRole;
339
+ _context6.next = 4;
340
+ return _userEvent["default"].click(getByRole("button"));
341
+ case 4:
342
+ menu = getByRole("menu");
343
+ _react2.fireEvent.keyDown(menu, {
344
+ key: "ArrowUp",
345
+ code: "ArrowUp",
346
+ keyCode: 38,
347
+ charCode: 38
348
+ });
349
+ expect(document.activeElement === menu).toBeTruthy();
350
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
351
+ _react2.fireEvent.keyDown(menu, {
352
+ key: "Enter",
353
+ code: "Enter",
354
+ keyCode: 13,
355
+ charCode: 13
356
+ });
357
+ expect(onSelectOption).toHaveBeenCalledWith("4");
358
+ case 10:
359
+ case "end":
360
+ return _context6.stop();
361
+ }
362
+ }, _callee6);
363
+ })));
364
+ test("Menu key events - Arrow down moves the focus to the next menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
365
+ var onSelectOption, _render13, getByRole, menu;
366
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
367
+ while (1) switch (_context7.prev = _context7.next) {
368
+ case 0:
369
+ onSelectOption = jest.fn();
370
+ _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
371
+ onSelectOption: onSelectOption,
372
+ options: options,
373
+ label: "dropdown-test"
374
+ })), getByRole = _render13.getByRole;
375
+ _context7.next = 4;
376
+ return _userEvent["default"].click(getByRole("button"));
377
+ case 4:
378
+ menu = getByRole("menu");
379
+ _react2.fireEvent.keyDown(menu, {
380
+ key: "ArrowDown",
381
+ code: "ArrowDown",
382
+ keyCode: 40,
383
+ charCode: 40
384
+ });
385
+ _react2.fireEvent.keyDown(menu, {
386
+ key: "ArrowDown",
387
+ code: "ArrowDown",
388
+ keyCode: 40,
389
+ charCode: 40
390
+ });
391
+ expect(document.activeElement === menu).toBeTruthy();
392
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-2"));
393
+ _react2.fireEvent.keyDown(menu, {
394
+ key: "Enter",
395
+ code: "Enter",
396
+ keyCode: 13,
397
+ charCode: 13
398
+ });
399
+ expect(onSelectOption).toHaveBeenCalledWith("3");
400
+ case 11:
401
+ case "end":
402
+ return _context7.stop();
403
+ }
404
+ }, _callee7);
405
+ })));
406
+ test("Menu key events - Arrow down, if focus is on the last menu item, moves focus to the first menu item. ", function () {
407
+ var onSelectOption = jest.fn();
408
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
409
+ onSelectOption: onSelectOption,
410
+ options: options,
411
+ label: "dropdown-test"
412
+ })),
413
+ getByRole = _render14.getByRole;
414
+ _react2.fireEvent.keyDown(getByRole("button"), {
415
+ key: "ArrowUp",
416
+ code: "ArrowUp",
417
+ keyCode: 38,
418
+ charCode: 38
419
+ });
420
+ var menu = getByRole("menu");
421
+ _react2.fireEvent.keyDown(menu, {
422
+ key: "ArrowDown",
423
+ code: "ArrowDown",
424
+ keyCode: 40,
425
+ charCode: 40
426
+ });
427
+ expect(document.activeElement === menu).toBeTruthy();
428
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
429
+ _react2.fireEvent.keyDown(menu, {
430
+ key: "Enter",
431
+ code: "Enter",
432
+ keyCode: 13,
433
+ charCode: 13
434
+ });
435
+ expect(onSelectOption).toHaveBeenCalledWith("1");
436
+ });
437
+ test("Menu key events - Enter key selects the current focused item and closes the menu", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
438
+ var onSelectOption, _render15, getByRole, queryByRole;
439
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
440
+ while (1) switch (_context8.prev = _context8.next) {
441
+ case 0:
442
+ onSelectOption = jest.fn();
443
+ _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
444
+ onSelectOption: onSelectOption,
445
+ options: options,
446
+ label: "dropdown-test"
447
+ })), getByRole = _render15.getByRole, queryByRole = _render15.queryByRole;
448
+ _context8.next = 4;
449
+ return _userEvent["default"].click(getByRole("button"));
450
+ case 4:
451
+ _react2.fireEvent.keyDown(getByRole("menu"), {
452
+ key: "Enter",
453
+ code: "Enter",
454
+ keyCode: 13,
455
+ charCode: 13
456
+ });
457
+ expect(onSelectOption).toHaveBeenCalledWith("1");
458
+ expect(queryByRole("menu")).toBeFalsy();
459
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
460
+ case 8:
461
+ case "end":
462
+ return _context8.stop();
463
+ }
464
+ }, _callee8);
465
+ })));
466
+ test("Menu key events - Esc closes the menu and sets focus on the menu button", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
467
+ var onSelectOption, _render16, getByRole, queryByRole;
468
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
469
+ while (1) switch (_context9.prev = _context9.next) {
470
+ case 0:
471
+ onSelectOption = jest.fn();
472
+ _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
473
+ options: options,
474
+ label: "dropdown-test",
475
+ onSelectOption: onSelectOption
476
+ })), getByRole = _render16.getByRole, queryByRole = _render16.queryByRole;
477
+ _context9.next = 4;
478
+ return _userEvent["default"].click(getByRole("button"));
479
+ case 4:
480
+ _react2.fireEvent.keyDown(getByRole("menu"), {
481
+ key: "Esc",
482
+ code: "Esc",
483
+ keyCode: 27,
484
+ charCode: 27
485
+ });
486
+ expect(queryByRole("menu")).toBeFalsy();
487
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
488
+ case 7:
489
+ case "end":
490
+ return _context9.stop();
491
+ }
492
+ }, _callee9);
493
+ })));
494
+ test("Menu key events - Home moves the focus to the first menu item", function () {
495
+ var onSelectOption = jest.fn();
496
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
497
+ options: options,
498
+ label: "dropdown-test-1",
499
+ onSelectOption: onSelectOption
500
+ })),
501
+ getByRole = _render17.getByRole;
502
+ _react2.fireEvent.keyDown(getByRole("button"), {
503
+ key: "ArrowUp",
504
+ code: "ArrowUp",
505
+ keyCode: 38,
506
+ charCode: 38
507
+ });
508
+ var menu = getByRole("menu");
509
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
510
+ _react2.fireEvent.keyDown(menu, {
511
+ key: "Home",
512
+ code: "Home",
513
+ keyCode: 36,
514
+ charCode: 36
515
+ });
516
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
517
+ });
518
+ test("Menu key events - End moves the focus to the last menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
519
+ var onSelectOption, _render18, getByRole, menu;
520
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
521
+ while (1) switch (_context10.prev = _context10.next) {
522
+ case 0:
523
+ onSelectOption = jest.fn();
524
+ _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
525
+ options: options,
526
+ label: "dropdown-test-1",
527
+ onSelectOption: onSelectOption
528
+ })), getByRole = _render18.getByRole;
529
+ _context10.next = 4;
530
+ return _userEvent["default"].click(getByRole("button"));
531
+ case 4:
532
+ menu = getByRole("menu");
533
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
534
+ _react2.fireEvent.keyDown(menu, {
535
+ key: "End",
536
+ code: "End",
537
+ keyCode: 35,
538
+ charCode: 35
539
+ });
540
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
541
+ case 8:
542
+ case "end":
543
+ return _context10.stop();
544
+ }
545
+ }, _callee10);
546
+ })));
547
+ test("Menu key events - PageUp moves the focus to the first menu item", function () {
548
+ var onSelectOption = jest.fn();
549
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
550
+ options: options,
551
+ label: "dropdown-test-1",
552
+ onSelectOption: onSelectOption
553
+ })),
554
+ getByRole = _render19.getByRole;
555
+ _react2.fireEvent.keyDown(getByRole("button"), {
556
+ key: "ArrowUp",
557
+ code: "ArrowUp",
558
+ keyCode: 38,
559
+ charCode: 38
560
+ });
561
+ var menu = getByRole("menu");
562
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
563
+ _react2.fireEvent.keyDown(menu, {
564
+ key: "PageUp",
565
+ code: "PageUp",
566
+ keyCode: 33,
567
+ charCode: 33
568
+ });
569
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
570
+ });
571
+ test("Menu key events - PageDown moves the focus to the last menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
572
+ var onSelectOption, _render20, getByRole, menu;
573
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
574
+ while (1) switch (_context11.prev = _context11.next) {
575
+ case 0:
576
+ onSelectOption = jest.fn();
577
+ _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
578
+ options: options,
579
+ label: "dropdown-test-1",
580
+ onSelectOption: onSelectOption
581
+ })), getByRole = _render20.getByRole;
582
+ _context11.next = 4;
583
+ return _userEvent["default"].click(getByRole("button"));
584
+ case 4:
585
+ menu = getByRole("menu");
586
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
587
+ _react2.fireEvent.keyDown(menu, {
588
+ key: "PageDown",
589
+ code: "PageDown",
590
+ keyCode: 34,
591
+ charCode: 34
592
+ });
593
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
594
+ case 8:
595
+ case "end":
596
+ return _context11.stop();
597
+ }
598
+ }, _callee11);
599
+ })));
600
+ test("Menu key events - Tab closes the menu and sets focus to the next element", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12() {
601
+ var onSelectOption, _render21, getByRole, queryByRole, dropdown;
602
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
603
+ while (1) switch (_context12.prev = _context12.next) {
604
+ case 0:
605
+ onSelectOption = jest.fn();
606
+ _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
607
+ options: options,
608
+ label: "dropdown-test-1",
609
+ onSelectOption: onSelectOption
610
+ })), getByRole = _render21.getByRole, queryByRole = _render21.queryByRole;
611
+ dropdown = getByRole("button");
612
+ _context12.next = 5;
613
+ return _userEvent["default"].click(dropdown);
614
+ case 5:
615
+ expect(getByRole("menu")).toBeTruthy();
616
+ _react2.fireEvent.keyDown(getByRole("menu"), {
617
+ key: "Tab",
618
+ code: "Tab",
619
+ keyCode: 9,
620
+ charCode: 9
621
+ });
622
+ expect(queryByRole("menu")).toBeFalsy();
623
+ case 8:
624
+ case "end":
625
+ return _context12.stop();
626
+ }
627
+ }, _callee12);
628
+ })));
629
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownMenuProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLUListElement>>>;
4
+ export default _default;