@dxc-technology/halstack-react 0.0.0-e345e78 → 0.0.0-e360842

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 (697) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +30 -0
  3. package/HalstackContext.d.ts +1243 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +28 -47
  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 +4 -0
  9. package/accordion/Accordion.js +168 -0
  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 +57 -0
  14. package/accordion/types.js +5 -0
  15. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  16. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  17. package/accordion-group/AccordionGroup.d.ts +7 -0
  18. package/accordion-group/AccordionGroup.js +101 -0
  19. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  20. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  21. package/accordion-group/AccordionGroup.test.js +94 -0
  22. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  23. package/accordion-group/AccordionGroupAccordion.js +31 -0
  24. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  25. package/accordion-group/AccordionGroupContext.js +8 -0
  26. package/accordion-group/types.d.ts +67 -0
  27. package/accordion-group/types.js +5 -0
  28. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  29. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  30. package/action-icon/ActionIcon.d.ts +4 -0
  31. package/action-icon/ActionIcon.js +48 -0
  32. package/action-icon/ActionIcon.stories.tsx +41 -0
  33. package/action-icon/ActionIcon.test.d.ts +1 -0
  34. package/action-icon/ActionIcon.test.js +64 -0
  35. package/action-icon/types.d.ts +26 -0
  36. package/action-icon/types.js +5 -0
  37. package/alert/Alert.accessibility.test.d.ts +1 -0
  38. package/alert/Alert.accessibility.test.js +95 -0
  39. package/alert/Alert.d.ts +4 -0
  40. package/alert/Alert.js +203 -0
  41. package/alert/Alert.stories.tsx +198 -0
  42. package/alert/Alert.test.d.ts +1 -0
  43. package/alert/Alert.test.js +75 -0
  44. package/alert/types.d.ts +49 -0
  45. package/alert/types.js +5 -0
  46. package/badge/Badge.accessibility.test.d.ts +1 -0
  47. package/badge/Badge.accessibility.test.js +129 -0
  48. package/badge/Badge.d.ts +4 -0
  49. package/badge/Badge.js +161 -0
  50. package/badge/Badge.stories.tsx +210 -0
  51. package/badge/Badge.test.d.ts +1 -0
  52. package/badge/Badge.test.js +30 -0
  53. package/badge/types.d.ts +54 -0
  54. package/badge/types.js +5 -0
  55. package/bleed/Bleed.d.ts +3 -0
  56. package/bleed/Bleed.js +43 -0
  57. package/bleed/Bleed.stories.tsx +342 -0
  58. package/bleed/types.d.ts +37 -0
  59. package/bleed/types.js +5 -0
  60. package/box/Box.accessibility.test.d.ts +1 -0
  61. package/box/Box.accessibility.test.js +33 -0
  62. package/box/Box.d.ts +4 -0
  63. package/box/Box.js +75 -0
  64. package/box/Box.stories.tsx +119 -0
  65. package/box/Box.test.d.ts +1 -0
  66. package/box/Box.test.js +13 -0
  67. package/box/types.d.ts +32 -0
  68. package/box/types.js +5 -0
  69. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  70. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  71. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  72. package/breadcrumbs/Breadcrumbs.js +79 -0
  73. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  74. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  75. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  76. package/breadcrumbs/Item.d.ts +4 -0
  77. package/breadcrumbs/Item.js +52 -0
  78. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  79. package/breadcrumbs/dropdownTheme.js +62 -0
  80. package/breadcrumbs/types.d.ts +16 -0
  81. package/breadcrumbs/types.js +5 -0
  82. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  83. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  84. package/bulleted-list/BulletedList.d.ts +7 -0
  85. package/bulleted-list/BulletedList.js +92 -0
  86. package/bulleted-list/BulletedList.stories.tsx +115 -0
  87. package/bulleted-list/types.d.ts +38 -0
  88. package/bulleted-list/types.js +5 -0
  89. package/button/Button.accessibility.test.d.ts +1 -0
  90. package/button/Button.accessibility.test.js +127 -0
  91. package/button/Button.d.ts +4 -0
  92. package/button/Button.js +121 -0
  93. package/button/Button.stories.tsx +325 -0
  94. package/button/Button.test.d.ts +1 -0
  95. package/button/Button.test.js +38 -0
  96. package/button/types.d.ts +57 -0
  97. package/button/types.js +5 -0
  98. package/card/Card.accessibility.test.d.ts +1 -0
  99. package/card/Card.accessibility.test.js +36 -0
  100. package/card/Card.d.ts +4 -0
  101. package/card/Card.js +121 -0
  102. package/card/Card.stories.tsx +171 -0
  103. package/card/Card.test.d.ts +1 -0
  104. package/card/Card.test.js +39 -0
  105. package/card/types.d.ts +62 -0
  106. package/card/types.js +5 -0
  107. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  108. package/checkbox/Checkbox.accessibility.test.js +87 -0
  109. package/checkbox/Checkbox.d.ts +4 -0
  110. package/checkbox/Checkbox.js +212 -0
  111. package/checkbox/Checkbox.stories.tsx +222 -0
  112. package/checkbox/Checkbox.test.d.ts +1 -0
  113. package/checkbox/Checkbox.test.js +199 -0
  114. package/checkbox/types.d.ts +72 -0
  115. package/checkbox/types.js +5 -0
  116. package/chip/Chip.accessibility.test.d.ts +1 -0
  117. package/chip/Chip.accessibility.test.js +69 -0
  118. package/chip/Chip.d.ts +4 -0
  119. package/chip/Chip.js +115 -0
  120. package/chip/Chip.stories.tsx +231 -0
  121. package/chip/Chip.test.d.ts +1 -0
  122. package/chip/Chip.test.js +41 -0
  123. package/chip/types.d.ts +68 -0
  124. package/chip/types.js +5 -0
  125. package/common/coreTokens.d.ts +237 -0
  126. package/common/coreTokens.js +184 -0
  127. package/common/utils.d.ts +1 -0
  128. package/common/utils.js +16 -0
  129. package/common/variables.d.ts +1389 -0
  130. package/common/variables.js +1261 -0
  131. package/container/Container.d.ts +4 -0
  132. package/container/Container.js +194 -0
  133. package/container/Container.stories.tsx +214 -0
  134. package/container/types.d.ts +74 -0
  135. package/container/types.js +5 -0
  136. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  137. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  138. package/contextual-menu/ContextualMenu.d.ts +5 -0
  139. package/contextual-menu/ContextualMenu.js +88 -0
  140. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  141. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  142. package/contextual-menu/ContextualMenu.test.js +205 -0
  143. package/contextual-menu/GroupItem.d.ts +4 -0
  144. package/contextual-menu/GroupItem.js +67 -0
  145. package/contextual-menu/ItemAction.d.ts +4 -0
  146. package/contextual-menu/ItemAction.js +51 -0
  147. package/contextual-menu/MenuItem.d.ts +4 -0
  148. package/contextual-menu/MenuItem.js +29 -0
  149. package/contextual-menu/SingleItem.d.ts +4 -0
  150. package/contextual-menu/SingleItem.js +38 -0
  151. package/contextual-menu/types.d.ts +58 -0
  152. package/contextual-menu/types.js +5 -0
  153. package/date-input/Calendar.d.ts +4 -0
  154. package/date-input/Calendar.js +214 -0
  155. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  156. package/date-input/DateInput.accessibility.test.js +230 -0
  157. package/date-input/DateInput.d.ts +4 -0
  158. package/date-input/DateInput.js +222 -0
  159. package/date-input/DateInput.stories.tsx +292 -0
  160. package/date-input/DateInput.test.d.ts +1 -0
  161. package/date-input/DateInput.test.js +809 -0
  162. package/date-input/DatePicker.d.ts +4 -0
  163. package/date-input/DatePicker.js +121 -0
  164. package/date-input/YearPicker.d.ts +4 -0
  165. package/date-input/YearPicker.js +100 -0
  166. package/date-input/types.d.ts +164 -0
  167. package/date-input/types.js +5 -0
  168. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  169. package/dialog/Dialog.accessibility.test.js +69 -0
  170. package/dialog/Dialog.d.ts +4 -0
  171. package/dialog/Dialog.js +93 -0
  172. package/dialog/Dialog.stories.tsx +370 -0
  173. package/dialog/Dialog.test.d.ts +1 -0
  174. package/dialog/Dialog.test.js +371 -0
  175. package/dialog/types.d.ts +36 -0
  176. package/dialog/types.js +5 -0
  177. package/divider/Divider.accessibility.test.d.ts +1 -0
  178. package/divider/Divider.accessibility.test.js +33 -0
  179. package/divider/Divider.d.ts +4 -0
  180. package/divider/Divider.js +36 -0
  181. package/divider/Divider.stories.tsx +223 -0
  182. package/divider/Divider.test.d.ts +1 -0
  183. package/divider/Divider.test.js +38 -0
  184. package/divider/types.d.ts +21 -0
  185. package/divider/types.js +5 -0
  186. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  187. package/dropdown/Dropdown.accessibility.test.js +184 -0
  188. package/dropdown/Dropdown.d.ts +4 -0
  189. package/dropdown/Dropdown.js +320 -0
  190. package/dropdown/Dropdown.stories.tsx +427 -0
  191. package/dropdown/Dropdown.test.d.ts +1 -0
  192. package/dropdown/Dropdown.test.js +629 -0
  193. package/dropdown/DropdownMenu.d.ts +4 -0
  194. package/dropdown/DropdownMenu.js +63 -0
  195. package/dropdown/DropdownMenuItem.d.ts +4 -0
  196. package/dropdown/DropdownMenuItem.js +71 -0
  197. package/dropdown/types.d.ts +96 -0
  198. package/dropdown/types.js +5 -0
  199. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  200. package/file-input/FileInput.accessibility.test.js +167 -0
  201. package/file-input/FileInput.d.ts +4 -0
  202. package/file-input/FileInput.js +440 -0
  203. package/file-input/FileInput.stories.tsx +618 -0
  204. package/file-input/FileInput.test.d.ts +1 -0
  205. package/file-input/FileInput.test.js +404 -0
  206. package/file-input/FileItem.d.ts +4 -0
  207. package/file-input/FileItem.js +125 -0
  208. package/file-input/types.d.ts +129 -0
  209. package/file-input/types.js +5 -0
  210. package/flex/Flex.d.ts +4 -0
  211. package/flex/Flex.js +57 -0
  212. package/flex/Flex.stories.tsx +112 -0
  213. package/flex/types.d.ts +97 -0
  214. package/flex/types.js +5 -0
  215. package/footer/Footer.accessibility.test.d.ts +1 -0
  216. package/footer/Footer.accessibility.test.js +125 -0
  217. package/footer/Footer.d.ts +4 -0
  218. package/footer/Footer.js +140 -0
  219. package/footer/Footer.stories.tsx +208 -0
  220. package/footer/Footer.test.d.ts +1 -0
  221. package/footer/Footer.test.js +85 -0
  222. package/footer/Icons.d.ts +3 -0
  223. package/footer/Icons.js +108 -0
  224. package/footer/types.d.ts +64 -0
  225. package/footer/types.js +5 -0
  226. package/grid/Grid.d.ts +7 -0
  227. package/grid/Grid.js +76 -0
  228. package/grid/Grid.stories.tsx +219 -0
  229. package/grid/types.d.ts +115 -0
  230. package/grid/types.js +5 -0
  231. package/header/Header.accessibility.test.d.ts +1 -0
  232. package/header/Header.accessibility.test.js +94 -0
  233. package/header/Header.d.ts +8 -0
  234. package/header/Header.js +210 -0
  235. package/header/Header.stories.tsx +267 -0
  236. package/header/Header.test.d.ts +1 -0
  237. package/header/Header.test.js +66 -0
  238. package/header/Icons.d.ts +2 -0
  239. package/header/Icons.js +24 -0
  240. package/header/types.d.ts +33 -0
  241. package/header/types.js +5 -0
  242. package/heading/Heading.accessibility.test.d.ts +1 -0
  243. package/heading/Heading.accessibility.test.js +33 -0
  244. package/heading/Heading.d.ts +4 -0
  245. package/heading/Heading.js +137 -0
  246. package/heading/Heading.stories.tsx +54 -0
  247. package/heading/Heading.test.d.ts +1 -0
  248. package/heading/Heading.test.js +156 -0
  249. package/heading/types.d.ts +33 -0
  250. package/heading/types.js +5 -0
  251. package/icon/Icon.accessibility.test.d.ts +1 -0
  252. package/icon/Icon.accessibility.test.js +30 -0
  253. package/icon/Icon.d.ts +4 -0
  254. package/icon/Icon.js +33 -0
  255. package/icon/Icon.stories.tsx +28 -0
  256. package/icon/types.d.ts +4 -0
  257. package/icon/types.js +5 -0
  258. package/image/Image.accessibility.test.d.ts +1 -0
  259. package/image/Image.accessibility.test.js +56 -0
  260. package/image/Image.d.ts +4 -0
  261. package/image/Image.js +70 -0
  262. package/image/Image.stories.tsx +129 -0
  263. package/image/types.d.ts +72 -0
  264. package/image/types.js +5 -0
  265. package/inset/Inset.d.ts +3 -0
  266. package/inset/Inset.js +43 -0
  267. package/inset/Inset.stories.tsx +230 -0
  268. package/inset/types.d.ts +37 -0
  269. package/inset/types.js +5 -0
  270. package/layout/ApplicationLayout.d.ts +20 -0
  271. package/layout/ApplicationLayout.js +137 -0
  272. package/layout/ApplicationLayout.stories.tsx +162 -0
  273. package/layout/Icons.d.ts +7 -0
  274. package/layout/Icons.js +48 -0
  275. package/layout/types.d.ts +41 -0
  276. package/layout/types.js +5 -0
  277. package/link/Link.accessibility.test.d.ts +1 -0
  278. package/link/Link.accessibility.test.js +108 -0
  279. package/link/Link.d.ts +4 -0
  280. package/link/Link.js +117 -0
  281. package/link/Link.stories.tsx +253 -0
  282. package/link/Link.test.d.ts +1 -0
  283. package/link/Link.test.js +63 -0
  284. package/link/types.d.ts +54 -0
  285. package/link/types.js +5 -0
  286. package/main.d.ts +50 -0
  287. package/main.js +364 -0
  288. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  289. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  290. package/nav-tabs/NavTabs.d.ts +7 -0
  291. package/nav-tabs/NavTabs.js +108 -0
  292. package/nav-tabs/NavTabs.stories.tsx +294 -0
  293. package/nav-tabs/NavTabs.test.d.ts +1 -0
  294. package/nav-tabs/NavTabs.test.js +77 -0
  295. package/nav-tabs/NavTabsContext.d.ts +3 -0
  296. package/nav-tabs/NavTabsContext.js +8 -0
  297. package/nav-tabs/Tab.d.ts +4 -0
  298. package/nav-tabs/Tab.js +117 -0
  299. package/nav-tabs/types.d.ts +52 -0
  300. package/nav-tabs/types.js +5 -0
  301. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  302. package/number-input/NumberInput.accessibility.test.js +228 -0
  303. package/number-input/NumberInput.d.ts +4 -0
  304. package/number-input/NumberInput.js +86 -0
  305. package/number-input/NumberInput.stories.tsx +131 -0
  306. package/number-input/NumberInput.test.d.ts +1 -0
  307. package/number-input/NumberInput.test.js +989 -0
  308. package/number-input/NumberInputContext.d.ts +3 -0
  309. package/number-input/NumberInputContext.js +8 -0
  310. package/number-input/types.d.ts +136 -0
  311. package/number-input/types.js +5 -0
  312. package/package.json +65 -49
  313. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  314. package/paginator/Paginator.accessibility.test.js +79 -0
  315. package/paginator/Paginator.d.ts +4 -0
  316. package/paginator/Paginator.js +138 -0
  317. package/paginator/Paginator.stories.tsx +87 -0
  318. package/paginator/Paginator.test.d.ts +1 -0
  319. package/paginator/Paginator.test.js +335 -0
  320. package/paginator/types.d.ts +38 -0
  321. package/paginator/types.js +5 -0
  322. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  323. package/paragraph/Paragraph.accessibility.test.js +28 -0
  324. package/paragraph/Paragraph.d.ts +5 -0
  325. package/paragraph/Paragraph.js +22 -0
  326. package/paragraph/Paragraph.stories.tsx +27 -0
  327. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  328. package/password-input/PasswordInput.accessibility.test.js +153 -0
  329. package/password-input/PasswordInput.d.ts +4 -0
  330. package/password-input/PasswordInput.js +97 -0
  331. package/password-input/PasswordInput.stories.tsx +99 -0
  332. package/password-input/PasswordInput.test.d.ts +1 -0
  333. package/password-input/PasswordInput.test.js +198 -0
  334. package/password-input/types.d.ts +111 -0
  335. package/password-input/types.js +5 -0
  336. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  337. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  338. package/progress-bar/ProgressBar.d.ts +4 -0
  339. package/progress-bar/ProgressBar.js +146 -0
  340. package/progress-bar/ProgressBar.stories.tsx +93 -0
  341. package/progress-bar/ProgressBar.test.d.ts +1 -0
  342. package/progress-bar/ProgressBar.test.js +93 -0
  343. package/progress-bar/types.d.ts +37 -0
  344. package/progress-bar/types.js +5 -0
  345. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  346. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  347. package/quick-nav/QuickNav.d.ts +4 -0
  348. package/quick-nav/QuickNav.js +94 -0
  349. package/quick-nav/QuickNav.stories.tsx +356 -0
  350. package/quick-nav/types.d.ts +21 -0
  351. package/quick-nav/types.js +5 -0
  352. package/radio-group/Radio.d.ts +4 -0
  353. package/radio-group/Radio.js +121 -0
  354. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  355. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  356. package/radio-group/RadioGroup.d.ts +4 -0
  357. package/radio-group/RadioGroup.js +233 -0
  358. package/radio-group/RadioGroup.stories.tsx +214 -0
  359. package/radio-group/RadioGroup.test.d.ts +1 -0
  360. package/radio-group/RadioGroup.test.js +754 -0
  361. package/radio-group/types.d.ts +114 -0
  362. package/radio-group/types.js +5 -0
  363. package/resultset-table/Icons.d.ts +7 -0
  364. package/resultset-table/Icons.js +47 -0
  365. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  366. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  367. package/resultset-table/ResultsetTable.d.ts +7 -0
  368. package/resultset-table/ResultsetTable.js +171 -0
  369. package/resultset-table/ResultsetTable.stories.tsx +413 -0
  370. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  371. package/resultset-table/ResultsetTable.test.js +380 -0
  372. package/resultset-table/types.d.ts +100 -0
  373. package/resultset-table/types.js +5 -0
  374. package/select/Listbox.d.ts +4 -0
  375. package/select/Listbox.js +151 -0
  376. package/select/Option.d.ts +4 -0
  377. package/select/Option.js +89 -0
  378. package/select/Select.accessibility.test.d.ts +1 -0
  379. package/select/Select.accessibility.test.js +228 -0
  380. package/select/Select.d.ts +4 -0
  381. package/select/Select.js +600 -0
  382. package/select/Select.stories.tsx +919 -0
  383. package/select/Select.test.d.ts +1 -0
  384. package/select/Select.test.js +2268 -0
  385. package/select/types.d.ts +209 -0
  386. package/select/types.js +5 -0
  387. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  388. package/sidenav/Sidenav.accessibility.test.js +59 -0
  389. package/sidenav/Sidenav.d.ts +10 -0
  390. package/sidenav/Sidenav.js +201 -0
  391. package/sidenav/Sidenav.stories.tsx +277 -0
  392. package/sidenav/Sidenav.test.d.ts +1 -0
  393. package/sidenav/Sidenav.test.js +37 -0
  394. package/sidenav/SidenavContext.d.ts +5 -0
  395. package/sidenav/SidenavContext.js +13 -0
  396. package/sidenav/types.d.ts +76 -0
  397. package/sidenav/types.js +5 -0
  398. package/slider/Slider.accessibility.test.d.ts +1 -0
  399. package/slider/Slider.accessibility.test.js +104 -0
  400. package/slider/Slider.d.ts +4 -0
  401. package/slider/Slider.js +283 -0
  402. package/slider/Slider.stories.tsx +180 -0
  403. package/slider/Slider.test.d.ts +1 -0
  404. package/slider/Slider.test.js +257 -0
  405. package/slider/types.d.ts +86 -0
  406. package/slider/types.js +5 -0
  407. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  408. package/spinner/Spinner.accessibility.test.js +96 -0
  409. package/spinner/Spinner.d.ts +4 -0
  410. package/spinner/Spinner.js +210 -0
  411. package/spinner/Spinner.stories.tsx +129 -0
  412. package/spinner/Spinner.test.d.ts +1 -0
  413. package/spinner/Spinner.test.js +55 -0
  414. package/spinner/types.d.ts +32 -0
  415. package/spinner/types.js +5 -0
  416. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  417. package/status-light/StatusLight.accessibility.test.js +157 -0
  418. package/status-light/StatusLight.d.ts +4 -0
  419. package/status-light/StatusLight.js +51 -0
  420. package/status-light/StatusLight.stories.tsx +74 -0
  421. package/status-light/StatusLight.test.d.ts +1 -0
  422. package/status-light/StatusLight.test.js +25 -0
  423. package/status-light/types.d.ts +17 -0
  424. package/status-light/types.js +5 -0
  425. package/switch/Switch.accessibility.test.d.ts +1 -0
  426. package/switch/Switch.accessibility.test.js +98 -0
  427. package/switch/Switch.d.ts +4 -0
  428. package/switch/Switch.js +211 -0
  429. package/switch/Switch.stories.tsx +149 -0
  430. package/switch/Switch.test.d.ts +1 -0
  431. package/switch/Switch.test.js +180 -0
  432. package/switch/types.d.ts +66 -0
  433. package/switch/types.js +5 -0
  434. package/table/DropdownTheme.js +62 -0
  435. package/table/Table.accessibility.test.d.ts +1 -0
  436. package/table/Table.accessibility.test.js +93 -0
  437. package/table/Table.d.ts +8 -0
  438. package/table/Table.js +161 -0
  439. package/table/Table.stories.tsx +663 -0
  440. package/table/Table.test.d.ts +1 -0
  441. package/table/Table.test.js +112 -0
  442. package/table/types.d.ts +49 -0
  443. package/table/types.js +5 -0
  444. package/tabs/Tab.d.ts +4 -0
  445. package/tabs/Tab.js +117 -0
  446. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  447. package/tabs/Tabs.accessibility.test.js +56 -0
  448. package/tabs/Tabs.d.ts +4 -0
  449. package/tabs/Tabs.js +373 -0
  450. package/tabs/Tabs.stories.tsx +230 -0
  451. package/tabs/Tabs.test.d.ts +1 -0
  452. package/tabs/Tabs.test.js +276 -0
  453. package/tabs/types.d.ts +92 -0
  454. package/tabs/types.js +5 -0
  455. package/tag/Tag.accessibility.test.d.ts +1 -0
  456. package/tag/Tag.accessibility.test.js +69 -0
  457. package/tag/Tag.d.ts +4 -0
  458. package/tag/Tag.js +151 -0
  459. package/tag/Tag.stories.tsx +152 -0
  460. package/tag/Tag.test.d.ts +1 -0
  461. package/tag/Tag.test.js +41 -0
  462. package/tag/types.d.ts +69 -0
  463. package/tag/types.js +5 -0
  464. package/text-input/Suggestion.d.ts +4 -0
  465. package/text-input/Suggestion.js +67 -0
  466. package/text-input/Suggestions.d.ts +4 -0
  467. package/text-input/Suggestions.js +94 -0
  468. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  469. package/text-input/TextInput.accessibility.test.js +321 -0
  470. package/text-input/TextInput.d.ts +4 -0
  471. package/text-input/TextInput.js +569 -0
  472. package/text-input/TextInput.stories.tsx +474 -0
  473. package/text-input/TextInput.test.d.ts +1 -0
  474. package/text-input/TextInput.test.js +1756 -0
  475. package/text-input/types.d.ts +205 -0
  476. package/text-input/types.js +5 -0
  477. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  478. package/textarea/Textarea.accessibility.test.js +155 -0
  479. package/textarea/Textarea.d.ts +4 -0
  480. package/textarea/Textarea.js +232 -0
  481. package/textarea/Textarea.stories.tsx +174 -0
  482. package/textarea/Textarea.test.d.ts +1 -0
  483. package/textarea/Textarea.test.js +406 -0
  484. package/textarea/types.d.ts +141 -0
  485. package/textarea/types.js +5 -0
  486. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  487. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  488. package/toggle-group/ToggleGroup.d.ts +4 -0
  489. package/toggle-group/ToggleGroup.js +199 -0
  490. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  491. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  492. package/toggle-group/ToggleGroup.test.js +137 -0
  493. package/toggle-group/types.d.ts +114 -0
  494. package/toggle-group/types.js +5 -0
  495. package/typography/Typography.accessibility.test.d.ts +1 -0
  496. package/typography/Typography.accessibility.test.js +339 -0
  497. package/typography/Typography.d.ts +4 -0
  498. package/typography/Typography.js +23 -0
  499. package/typography/Typography.stories.tsx +198 -0
  500. package/typography/types.d.ts +18 -0
  501. package/typography/types.js +5 -0
  502. package/useTheme.d.ts +1142 -0
  503. package/useTheme.js +15 -0
  504. package/useTranslatedLabels.d.ts +85 -0
  505. package/useTranslatedLabels.js +14 -0
  506. package/utils/BaseTypography.d.ts +21 -0
  507. package/utils/BaseTypography.js +94 -0
  508. package/utils/FocusLock.d.ts +13 -0
  509. package/utils/FocusLock.js +124 -0
  510. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  511. package/wizard/Wizard.accessibility.test.js +55 -0
  512. package/wizard/Wizard.d.ts +4 -0
  513. package/wizard/Wizard.js +239 -0
  514. package/wizard/Wizard.stories.tsx +272 -0
  515. package/wizard/Wizard.test.d.ts +1 -0
  516. package/wizard/Wizard.test.js +114 -0
  517. package/wizard/types.d.ts +64 -0
  518. package/wizard/types.js +5 -0
  519. package/babel.config.js +0 -4
  520. package/dist/ThemeContext.js +0 -15
  521. package/dist/accordion/Accordion.js +0 -264
  522. package/dist/accordion/Accordion.stories.js +0 -207
  523. package/dist/accordion/readme.md +0 -96
  524. package/dist/alert/Alert.js +0 -302
  525. package/dist/alert/Alert.stories.js +0 -158
  526. package/dist/alert/close.svg +0 -4
  527. package/dist/alert/error.svg +0 -4
  528. package/dist/alert/info.svg +0 -4
  529. package/dist/alert/readme.md +0 -43
  530. package/dist/alert/success.svg +0 -4
  531. package/dist/alert/warning.svg +0 -4
  532. package/dist/box/Box.js +0 -148
  533. package/dist/button/Button.js +0 -183
  534. package/dist/button/Button.stories.js +0 -224
  535. package/dist/button/readme.md +0 -93
  536. package/dist/card/Card.js +0 -217
  537. package/dist/checkbox/Checkbox.js +0 -224
  538. package/dist/checkbox/Checkbox.stories.js +0 -144
  539. package/dist/checkbox/readme.md +0 -116
  540. package/dist/chip/Chip.js +0 -170
  541. package/dist/common/OpenSans.css +0 -81
  542. package/dist/common/RequiredComponent.js +0 -46
  543. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  544. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  545. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  546. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  547. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  548. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  549. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  550. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  551. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  552. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  553. package/dist/common/services/example-service.js +0 -10
  554. package/dist/common/services/example-service.test.js +0 -12
  555. package/dist/common/utils.js +0 -42
  556. package/dist/common/variables.js +0 -260
  557. package/dist/date/Date.js +0 -357
  558. package/dist/date/Date.stories.js +0 -205
  559. package/dist/date/calendar.svg +0 -1
  560. package/dist/date/calendar_dark.svg +0 -1
  561. package/dist/date/readme.md +0 -73
  562. package/dist/dialog/Dialog.js +0 -193
  563. package/dist/dialog/Dialog.stories.js +0 -217
  564. package/dist/dialog/readme.md +0 -32
  565. package/dist/dropdown/Dropdown.js +0 -412
  566. package/dist/dropdown/Dropdown.stories.js +0 -249
  567. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  568. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  569. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  570. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  571. package/dist/dropdown/readme.md +0 -69
  572. package/dist/footer/Footer.js +0 -346
  573. package/dist/footer/Footer.stories.js +0 -94
  574. package/dist/footer/dxc_logo_wht.png +0 -0
  575. package/dist/footer/readme.md +0 -41
  576. package/dist/header/Header.js +0 -350
  577. package/dist/header/Header.stories.js +0 -176
  578. package/dist/header/close_icon.svg +0 -1
  579. package/dist/header/dxc_logo_black.png +0 -0
  580. package/dist/header/dxc_logo_white.png +0 -0
  581. package/dist/header/hamb_menu_black.svg +0 -1
  582. package/dist/header/hamb_menu_white.svg +0 -1
  583. package/dist/header/readme.md +0 -33
  584. package/dist/heading/Heading.js +0 -159
  585. package/dist/input-text/InputText.js +0 -519
  586. package/dist/input-text/InputText.stories.js +0 -209
  587. package/dist/input-text/error.svg +0 -1
  588. package/dist/input-text/readme.md +0 -91
  589. package/dist/link/Link.js +0 -136
  590. package/dist/link/readme.md +0 -51
  591. package/dist/main.js +0 -263
  592. package/dist/paginator/Paginator.js +0 -178
  593. package/dist/paginator/images/next.svg +0 -3
  594. package/dist/paginator/images/nextPage.svg +0 -3
  595. package/dist/paginator/images/previous.svg +0 -3
  596. package/dist/paginator/images/previousPage.svg +0 -3
  597. package/dist/paginator/readme.md +0 -50
  598. package/dist/progress-bar/ProgressBar.js +0 -189
  599. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  600. package/dist/progress-bar/readme.md +0 -63
  601. package/dist/radio/Radio.js +0 -191
  602. package/dist/radio/Radio.stories.js +0 -166
  603. package/dist/radio/readme.md +0 -70
  604. package/dist/resultsetTable/ResultsetTable.js +0 -334
  605. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  606. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  607. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  608. package/dist/select/Select.js +0 -442
  609. package/dist/select/Select.stories.js +0 -235
  610. package/dist/select/readme.md +0 -72
  611. package/dist/sidenav/Sidenav.js +0 -217
  612. package/dist/sidenav/arrow_icon.svg +0 -3
  613. package/dist/slider/Slider.js +0 -258
  614. package/dist/slider/Slider.stories.js +0 -241
  615. package/dist/slider/readme.md +0 -64
  616. package/dist/spinner/Spinner.js +0 -196
  617. package/dist/spinner/Spinner.stories.js +0 -183
  618. package/dist/spinner/readme.md +0 -65
  619. package/dist/switch/Switch.js +0 -195
  620. package/dist/switch/Switch.stories.js +0 -134
  621. package/dist/switch/readme.md +0 -133
  622. package/dist/table/Table.js +0 -84
  623. package/dist/tabs/Tabs.js +0 -170
  624. package/dist/tabs/Tabs.stories.js +0 -130
  625. package/dist/tabs/readme.md +0 -78
  626. package/dist/tabs-for-sections/TabsForSections.js +0 -107
  627. package/dist/tabs-for-sections/readme.md +0 -78
  628. package/dist/tag/Tag.js +0 -217
  629. package/dist/textarea/Textarea.js +0 -226
  630. package/dist/toggle/Toggle.js +0 -223
  631. package/dist/toggle/Toggle.stories.js +0 -297
  632. package/dist/toggle/readme.md +0 -80
  633. package/dist/upload/Upload.js +0 -200
  634. package/dist/upload/Upload.stories.js +0 -72
  635. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -125
  636. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  637. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  638. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -282
  639. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  640. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  641. package/dist/upload/file-upload/FileToUpload.js +0 -158
  642. package/dist/upload/file-upload/audio-icon.svg +0 -4
  643. package/dist/upload/file-upload/close.svg +0 -4
  644. package/dist/upload/file-upload/file-icon.svg +0 -4
  645. package/dist/upload/file-upload/video-icon.svg +0 -4
  646. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  647. package/dist/upload/readme.md +0 -37
  648. package/dist/upload/transaction/Transaction.js +0 -155
  649. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  650. package/dist/upload/transaction/audio-icon.svg +0 -4
  651. package/dist/upload/transaction/error-icon.svg +0 -4
  652. package/dist/upload/transaction/file-icon-err.svg +0 -4
  653. package/dist/upload/transaction/file-icon.svg +0 -4
  654. package/dist/upload/transaction/image-icon-err.svg +0 -4
  655. package/dist/upload/transaction/image-icon.svg +0 -4
  656. package/dist/upload/transaction/success-icon.svg +0 -4
  657. package/dist/upload/transaction/video-icon-err.svg +0 -4
  658. package/dist/upload/transaction/video-icon.svg +0 -4
  659. package/dist/upload/transactions/Transactions.js +0 -120
  660. package/dist/wizard/Wizard.js +0 -310
  661. package/dist/wizard/invalid_icon.svg +0 -6
  662. package/dist/wizard/valid_icon.svg +0 -6
  663. package/dist/wizard/validation-wrong.svg +0 -6
  664. package/test/Accordion.test.js +0 -33
  665. package/test/Alert.test.js +0 -53
  666. package/test/Box.test.js +0 -10
  667. package/test/Button.test.js +0 -18
  668. package/test/Card.test.js +0 -30
  669. package/test/Checkbox.test.js +0 -45
  670. package/test/Chip.test.js +0 -25
  671. package/test/Date.test.js +0 -393
  672. package/test/Dialog.test.js +0 -23
  673. package/test/Dropdown.test.js +0 -130
  674. package/test/Footer.test.js +0 -99
  675. package/test/Header.test.js +0 -39
  676. package/test/Heading.test.js +0 -35
  677. package/test/InputText.test.js +0 -236
  678. package/test/Link.test.js +0 -25
  679. package/test/Paginator.test.js +0 -165
  680. package/test/ProgressBar.test.js +0 -35
  681. package/test/Radio.test.js +0 -37
  682. package/test/ResultsetTable.test.js +0 -282
  683. package/test/Select.test.js +0 -191
  684. package/test/Sidenav.test.js +0 -87
  685. package/test/Slider.test.js +0 -65
  686. package/test/Spinner.test.js +0 -27
  687. package/test/Switch.test.js +0 -45
  688. package/test/Table.test.js +0 -36
  689. package/test/Tabs.test.js +0 -88
  690. package/test/TabsForSections.test.js +0 -34
  691. package/test/Tag.test.js +0 -32
  692. package/test/TextArea.test.js +0 -52
  693. package/test/Toggle.test.js +0 -43
  694. package/test/Upload.test.js +0 -60
  695. package/test/Wizard.test.js +0 -130
  696. package/test/mocks/pngMock.js +0 -1
  697. package/test/mocks/svgMock.js +0 -1
@@ -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;