@dxc-technology/halstack-react 0.0.0-ed1185a → 0.0.0-ede733c

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 (519) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +234 -0
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +8 -0
  12. package/accordion-group/AccordionGroup.js +128 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +79 -0
  18. package/accordion-group/types.js +5 -0
  19. package/alert/Alert.d.ts +4 -0
  20. package/alert/Alert.js +289 -0
  21. package/alert/Alert.stories.tsx +198 -0
  22. package/alert/Alert.test.js +92 -0
  23. package/alert/types.d.ts +49 -0
  24. package/alert/types.js +5 -0
  25. package/badge/Badge.d.ts +4 -0
  26. package/badge/Badge.js +61 -0
  27. package/badge/types.d.ts +5 -0
  28. package/badge/types.js +5 -0
  29. package/bleed/Bleed.d.ts +3 -0
  30. package/bleed/Bleed.js +51 -0
  31. package/bleed/Bleed.stories.tsx +342 -0
  32. package/bleed/types.d.ts +37 -0
  33. package/bleed/types.js +5 -0
  34. package/box/Box.d.ts +4 -0
  35. package/box/Box.js +114 -0
  36. package/box/Box.stories.tsx +147 -0
  37. package/box/Box.test.js +18 -0
  38. package/box/types.d.ts +44 -0
  39. package/box/types.js +5 -0
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +125 -0
  42. package/bulleted-list/BulletedList.stories.tsx +206 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/bulleted-list/types.js +5 -0
  45. package/button/Button.d.ts +4 -0
  46. package/button/Button.js +153 -0
  47. package/button/Button.stories.tsx +425 -0
  48. package/button/Button.test.js +35 -0
  49. package/button/types.d.ts +53 -0
  50. package/button/types.js +5 -0
  51. package/card/Card.d.ts +4 -0
  52. package/card/Card.js +160 -0
  53. package/card/Card.stories.tsx +200 -0
  54. package/card/Card.test.js +50 -0
  55. package/card/ice-cream.jpg +0 -0
  56. package/card/types.d.ts +68 -0
  57. package/card/types.js +5 -0
  58. package/checkbox/Checkbox.d.ts +4 -0
  59. package/checkbox/Checkbox.js +250 -0
  60. package/checkbox/Checkbox.stories.tsx +260 -0
  61. package/checkbox/Checkbox.test.js +155 -0
  62. package/checkbox/types.d.ts +68 -0
  63. package/checkbox/types.js +5 -0
  64. package/chip/Chip.d.ts +4 -0
  65. package/chip/Chip.js +140 -0
  66. package/chip/Chip.stories.tsx +214 -0
  67. package/chip/Chip.test.js +54 -0
  68. package/chip/types.d.ts +45 -0
  69. package/chip/types.js +5 -0
  70. package/common/OpenSans.css +69 -0
  71. package/common/coreTokens.d.ts +146 -0
  72. package/common/coreTokens.js +167 -0
  73. package/common/utils.d.ts +1 -0
  74. package/{dist/common → common}/utils.js +4 -4
  75. package/common/variables.d.ts +1482 -0
  76. package/common/variables.js +1361 -0
  77. package/date-input/Calendar.d.ts +4 -0
  78. package/date-input/Calendar.js +258 -0
  79. package/date-input/DateInput.d.ts +4 -0
  80. package/date-input/DateInput.js +269 -0
  81. package/date-input/DateInput.stories.tsx +304 -0
  82. package/date-input/DateInput.test.js +835 -0
  83. package/date-input/DatePicker.d.ts +4 -0
  84. package/date-input/DatePicker.js +146 -0
  85. package/date-input/Icons.d.ts +6 -0
  86. package/date-input/Icons.js +75 -0
  87. package/date-input/YearPicker.d.ts +4 -0
  88. package/date-input/YearPicker.js +126 -0
  89. package/date-input/types.d.ts +158 -0
  90. package/date-input/types.js +5 -0
  91. package/dialog/Dialog.d.ts +4 -0
  92. package/dialog/Dialog.js +149 -0
  93. package/dialog/Dialog.stories.tsx +319 -0
  94. package/dialog/Dialog.test.js +369 -0
  95. package/dialog/types.d.ts +44 -0
  96. package/dialog/types.js +5 -0
  97. package/dropdown/Dropdown.d.ts +4 -0
  98. package/dropdown/Dropdown.js +388 -0
  99. package/dropdown/Dropdown.stories.tsx +438 -0
  100. package/dropdown/Dropdown.test.js +586 -0
  101. package/dropdown/DropdownMenu.d.ts +4 -0
  102. package/dropdown/DropdownMenu.js +74 -0
  103. package/dropdown/DropdownMenuItem.d.ts +4 -0
  104. package/dropdown/DropdownMenuItem.js +79 -0
  105. package/dropdown/types.d.ts +100 -0
  106. package/dropdown/types.js +5 -0
  107. package/file-input/FileInput.d.ts +4 -0
  108. package/file-input/FileInput.js +547 -0
  109. package/file-input/FileInput.stories.tsx +618 -0
  110. package/file-input/FileInput.test.js +457 -0
  111. package/file-input/FileItem.d.ts +4 -0
  112. package/file-input/FileItem.js +162 -0
  113. package/file-input/types.d.ts +129 -0
  114. package/file-input/types.js +5 -0
  115. package/flex/Flex.d.ts +4 -0
  116. package/flex/Flex.js +71 -0
  117. package/flex/Flex.stories.tsx +112 -0
  118. package/flex/types.d.ts +97 -0
  119. package/flex/types.js +5 -0
  120. package/footer/Footer.d.ts +4 -0
  121. package/footer/Footer.js +183 -0
  122. package/footer/Footer.stories.tsx +228 -0
  123. package/footer/Footer.test.js +97 -0
  124. package/footer/Icons.d.ts +2 -0
  125. package/footer/Icons.js +77 -0
  126. package/footer/types.d.ts +66 -0
  127. package/footer/types.js +5 -0
  128. package/grid/Grid.d.ts +7 -0
  129. package/grid/Grid.js +91 -0
  130. package/grid/Grid.stories.tsx +219 -0
  131. package/grid/types.d.ts +115 -0
  132. package/grid/types.js +5 -0
  133. package/header/Header.d.ts +8 -0
  134. package/header/Header.js +303 -0
  135. package/header/Header.stories.tsx +315 -0
  136. package/header/Header.test.js +79 -0
  137. package/header/Icons.d.ts +2 -0
  138. package/header/Icons.js +34 -0
  139. package/header/types.d.ts +48 -0
  140. package/header/types.js +5 -0
  141. package/heading/Heading.d.ts +4 -0
  142. package/{dist/heading → heading}/Heading.js +32 -95
  143. package/heading/Heading.stories.tsx +54 -0
  144. package/heading/Heading.test.js +186 -0
  145. package/heading/types.d.ts +33 -0
  146. package/heading/types.js +5 -0
  147. package/inset/Inset.d.ts +3 -0
  148. package/inset/Inset.js +51 -0
  149. package/inset/Inset.stories.tsx +230 -0
  150. package/inset/types.d.ts +37 -0
  151. package/inset/types.js +5 -0
  152. package/layout/ApplicationLayout.d.ts +20 -0
  153. package/layout/ApplicationLayout.js +171 -0
  154. package/layout/ApplicationLayout.stories.tsx +162 -0
  155. package/layout/Icons.d.ts +5 -0
  156. package/layout/Icons.js +66 -0
  157. package/layout/SidenavContext.d.ts +5 -0
  158. package/layout/SidenavContext.js +19 -0
  159. package/layout/types.d.ts +41 -0
  160. package/layout/types.js +5 -0
  161. package/link/Link.d.ts +4 -0
  162. package/link/Link.js +136 -0
  163. package/link/Link.stories.tsx +253 -0
  164. package/link/Link.test.js +81 -0
  165. package/link/types.d.ts +54 -0
  166. package/link/types.js +5 -0
  167. package/main.d.ts +45 -0
  168. package/{dist/main.js → main.js} +152 -86
  169. package/nav-tabs/NavTabs.d.ts +8 -0
  170. package/nav-tabs/NavTabs.js +125 -0
  171. package/nav-tabs/NavTabs.stories.tsx +260 -0
  172. package/nav-tabs/NavTabs.test.js +82 -0
  173. package/nav-tabs/Tab.d.ts +4 -0
  174. package/nav-tabs/Tab.js +150 -0
  175. package/nav-tabs/types.d.ts +53 -0
  176. package/nav-tabs/types.js +5 -0
  177. package/number-input/NumberInput.d.ts +4 -0
  178. package/number-input/NumberInput.js +76 -0
  179. package/number-input/NumberInput.stories.tsx +115 -0
  180. package/number-input/NumberInput.test.js +542 -0
  181. package/number-input/NumberInputContext.d.ts +4 -0
  182. package/number-input/NumberInputContext.js +19 -0
  183. package/number-input/numberInputContextTypes.d.ts +19 -0
  184. package/number-input/numberInputContextTypes.js +5 -0
  185. package/number-input/types.d.ts +124 -0
  186. package/number-input/types.js +5 -0
  187. package/package.json +48 -40
  188. package/paginator/Icons.d.ts +5 -0
  189. package/paginator/Icons.js +54 -0
  190. package/paginator/Paginator.d.ts +4 -0
  191. package/paginator/Paginator.js +163 -0
  192. package/paginator/Paginator.stories.tsx +87 -0
  193. package/paginator/Paginator.test.js +305 -0
  194. package/paginator/types.d.ts +38 -0
  195. package/paginator/types.js +5 -0
  196. package/paragraph/Paragraph.d.ts +5 -0
  197. package/paragraph/Paragraph.js +38 -0
  198. package/paragraph/Paragraph.stories.tsx +44 -0
  199. package/password-input/PasswordInput.d.ts +4 -0
  200. package/password-input/PasswordInput.js +166 -0
  201. package/password-input/PasswordInput.stories.tsx +131 -0
  202. package/password-input/PasswordInput.test.js +181 -0
  203. package/password-input/types.d.ts +110 -0
  204. package/password-input/types.js +5 -0
  205. package/progress-bar/ProgressBar.d.ts +4 -0
  206. package/progress-bar/ProgressBar.js +176 -0
  207. package/progress-bar/ProgressBar.stories.jsx +93 -0
  208. package/progress-bar/ProgressBar.test.js +110 -0
  209. package/progress-bar/types.d.ts +37 -0
  210. package/progress-bar/types.js +5 -0
  211. package/quick-nav/QuickNav.d.ts +4 -0
  212. package/quick-nav/QuickNav.js +117 -0
  213. package/quick-nav/QuickNav.stories.tsx +356 -0
  214. package/quick-nav/types.d.ts +21 -0
  215. package/quick-nav/types.js +5 -0
  216. package/radio-group/Radio.d.ts +4 -0
  217. package/radio-group/Radio.js +156 -0
  218. package/radio-group/RadioGroup.d.ts +4 -0
  219. package/radio-group/RadioGroup.js +283 -0
  220. package/radio-group/RadioGroup.stories.tsx +214 -0
  221. package/radio-group/RadioGroup.test.js +722 -0
  222. package/radio-group/types.d.ts +114 -0
  223. package/radio-group/types.js +5 -0
  224. package/resultsetTable/Icons.d.ts +7 -0
  225. package/resultsetTable/Icons.js +51 -0
  226. package/resultsetTable/ResultsetTable.d.ts +4 -0
  227. package/resultsetTable/ResultsetTable.js +195 -0
  228. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  229. package/resultsetTable/ResultsetTable.test.js +325 -0
  230. package/resultsetTable/types.d.ts +67 -0
  231. package/resultsetTable/types.js +5 -0
  232. package/select/Icons.d.ts +10 -0
  233. package/select/Icons.js +93 -0
  234. package/select/Listbox.d.ts +4 -0
  235. package/select/Listbox.js +169 -0
  236. package/select/Option.d.ts +4 -0
  237. package/select/Option.js +97 -0
  238. package/select/Select.d.ts +4 -0
  239. package/select/Select.js +666 -0
  240. package/select/Select.stories.tsx +971 -0
  241. package/select/Select.test.js +2228 -0
  242. package/select/types.d.ts +210 -0
  243. package/select/types.js +5 -0
  244. package/sidenav/Icons.d.ts +7 -0
  245. package/sidenav/Icons.js +51 -0
  246. package/sidenav/Sidenav.d.ts +10 -0
  247. package/sidenav/Sidenav.js +238 -0
  248. package/sidenav/Sidenav.stories.tsx +282 -0
  249. package/sidenav/Sidenav.test.js +44 -0
  250. package/sidenav/types.d.ts +76 -0
  251. package/sidenav/types.js +5 -0
  252. package/slider/Slider.d.ts +4 -0
  253. package/slider/Slider.js +342 -0
  254. package/slider/Slider.stories.tsx +240 -0
  255. package/slider/Slider.test.js +250 -0
  256. package/slider/types.d.ts +86 -0
  257. package/slider/types.js +5 -0
  258. package/spinner/Spinner.d.ts +4 -0
  259. package/spinner/Spinner.js +244 -0
  260. package/spinner/Spinner.stories.jsx +129 -0
  261. package/spinner/Spinner.test.js +64 -0
  262. package/spinner/types.d.ts +32 -0
  263. package/spinner/types.js +5 -0
  264. package/switch/Switch.d.ts +4 -0
  265. package/switch/Switch.js +262 -0
  266. package/switch/Switch.stories.tsx +171 -0
  267. package/switch/Switch.test.js +225 -0
  268. package/switch/types.d.ts +66 -0
  269. package/switch/types.js +5 -0
  270. package/table/Table.d.ts +4 -0
  271. package/table/Table.js +118 -0
  272. package/table/Table.stories.jsx +356 -0
  273. package/table/Table.test.js +26 -0
  274. package/table/types.d.ts +21 -0
  275. package/table/types.js +5 -0
  276. package/tabs/Tab.d.ts +4 -0
  277. package/tabs/Tab.js +132 -0
  278. package/tabs/Tabs.d.ts +4 -0
  279. package/tabs/Tabs.js +461 -0
  280. package/tabs/Tabs.stories.tsx +226 -0
  281. package/tabs/Tabs.test.js +350 -0
  282. package/tabs/types.d.ts +92 -0
  283. package/tabs/types.js +5 -0
  284. package/tag/Tag.d.ts +4 -0
  285. package/tag/Tag.js +181 -0
  286. package/tag/Tag.stories.tsx +155 -0
  287. package/tag/Tag.test.js +60 -0
  288. package/tag/types.d.ts +69 -0
  289. package/tag/types.js +5 -0
  290. package/text-input/Icons.d.ts +8 -0
  291. package/text-input/Icons.js +60 -0
  292. package/text-input/Suggestion.d.ts +4 -0
  293. package/text-input/Suggestion.js +84 -0
  294. package/text-input/Suggestions.d.ts +4 -0
  295. package/text-input/Suggestions.js +134 -0
  296. package/text-input/TextInput.d.ts +4 -0
  297. package/text-input/TextInput.js +673 -0
  298. package/text-input/TextInput.stories.tsx +569 -0
  299. package/text-input/TextInput.test.js +1723 -0
  300. package/text-input/types.d.ts +197 -0
  301. package/text-input/types.js +5 -0
  302. package/textarea/Textarea.d.ts +4 -0
  303. package/textarea/Textarea.js +276 -0
  304. package/textarea/Textarea.stories.jsx +216 -0
  305. package/textarea/Textarea.test.js +435 -0
  306. package/textarea/types.d.ts +137 -0
  307. package/textarea/types.js +5 -0
  308. package/toggle-group/ToggleGroup.d.ts +4 -0
  309. package/toggle-group/ToggleGroup.js +218 -0
  310. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  311. package/toggle-group/ToggleGroup.test.js +156 -0
  312. package/toggle-group/types.d.ts +105 -0
  313. package/toggle-group/types.js +5 -0
  314. package/typography/Typography.d.ts +4 -0
  315. package/typography/Typography.js +32 -0
  316. package/typography/Typography.stories.tsx +198 -0
  317. package/typography/types.d.ts +18 -0
  318. package/typography/types.js +5 -0
  319. package/useTheme.d.ts +1235 -0
  320. package/{dist/useTheme.js → useTheme.js} +3 -3
  321. package/useTranslatedLabels.d.ts +85 -0
  322. package/useTranslatedLabels.js +20 -0
  323. package/utils/BaseTypography.d.ts +21 -0
  324. package/utils/BaseTypography.js +108 -0
  325. package/utils/FocusLock.d.ts +13 -0
  326. package/utils/FocusLock.js +138 -0
  327. package/wizard/Wizard.d.ts +4 -0
  328. package/wizard/Wizard.js +285 -0
  329. package/wizard/Wizard.stories.tsx +253 -0
  330. package/wizard/Wizard.test.js +141 -0
  331. package/wizard/types.d.ts +64 -0
  332. package/wizard/types.js +5 -0
  333. package/README.md +0 -66
  334. package/babel.config.js +0 -8
  335. package/dist/BackgroundColorContext.js +0 -46
  336. package/dist/ThemeContext.js +0 -216
  337. package/dist/accordion/Accordion.js +0 -356
  338. package/dist/accordion/Accordion.stories.js +0 -207
  339. package/dist/accordion/readme.md +0 -96
  340. package/dist/accordion-group/AccordionGroup.js +0 -188
  341. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  342. package/dist/accordion-group/readme.md +0 -70
  343. package/dist/alert/Alert.js +0 -388
  344. package/dist/alert/Alert.stories.js +0 -158
  345. package/dist/alert/close.svg +0 -4
  346. package/dist/alert/error.svg +0 -4
  347. package/dist/alert/info.svg +0 -4
  348. package/dist/alert/readme.md +0 -43
  349. package/dist/alert/success.svg +0 -4
  350. package/dist/alert/warning.svg +0 -4
  351. package/dist/badge/Badge.js +0 -61
  352. package/dist/box/Box.js +0 -164
  353. package/dist/button/Button.js +0 -228
  354. package/dist/button/Button.stories.js +0 -224
  355. package/dist/button/readme.md +0 -93
  356. package/dist/card/Card.js +0 -247
  357. package/dist/checkbox/Checkbox.js +0 -291
  358. package/dist/checkbox/Checkbox.stories.js +0 -144
  359. package/dist/checkbox/readme.md +0 -116
  360. package/dist/chip/Chip.js +0 -277
  361. package/dist/common/OpenSans.css +0 -81
  362. package/dist/common/RequiredComponent.js +0 -40
  363. package/dist/common/variables.js +0 -1049
  364. package/dist/date/Date.js +0 -359
  365. package/dist/date/Date.stories.js +0 -205
  366. package/dist/date/calendar.svg +0 -1
  367. package/dist/date/calendar_dark.svg +0 -1
  368. package/dist/date/readme.md +0 -73
  369. package/dist/dialog/Dialog.js +0 -236
  370. package/dist/dialog/Dialog.stories.js +0 -217
  371. package/dist/dialog/readme.md +0 -32
  372. package/dist/dropdown/Dropdown.js +0 -498
  373. package/dist/dropdown/Dropdown.stories.js +0 -249
  374. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  375. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  376. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  377. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  378. package/dist/dropdown/readme.md +0 -69
  379. package/dist/footer/Footer.js +0 -405
  380. package/dist/footer/Footer.stories.js +0 -94
  381. package/dist/footer/dxc_logo_wht.png +0 -0
  382. package/dist/footer/readme.md +0 -41
  383. package/dist/header/Header.js +0 -431
  384. package/dist/header/Header.stories.js +0 -176
  385. package/dist/header/close_icon.svg +0 -1
  386. package/dist/header/dxc_logo_black.png +0 -0
  387. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  388. package/dist/header/dxc_logo_white.png +0 -0
  389. package/dist/header/hamb_menu_black.svg +0 -1
  390. package/dist/header/hamb_menu_white.svg +0 -1
  391. package/dist/header/readme.md +0 -33
  392. package/dist/input-text/InputText.js +0 -631
  393. package/dist/input-text/InputText.stories.js +0 -209
  394. package/dist/input-text/error.svg +0 -1
  395. package/dist/input-text/readme.md +0 -91
  396. package/dist/layout/ApplicationLayout.js +0 -331
  397. package/dist/layout/facebook.svg +0 -45
  398. package/dist/layout/linkedin.svg +0 -50
  399. package/dist/layout/twitter.svg +0 -53
  400. package/dist/link/Link.js +0 -212
  401. package/dist/link/readme.md +0 -51
  402. package/dist/paginator/Paginator.js +0 -283
  403. package/dist/paginator/images/next.svg +0 -3
  404. package/dist/paginator/images/nextPage.svg +0 -3
  405. package/dist/paginator/images/previous.svg +0 -3
  406. package/dist/paginator/images/previousPage.svg +0 -3
  407. package/dist/paginator/readme.md +0 -50
  408. package/dist/progress-bar/ProgressBar.js +0 -206
  409. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  410. package/dist/progress-bar/readme.md +0 -63
  411. package/dist/radio/Radio.js +0 -209
  412. package/dist/radio/Radio.stories.js +0 -166
  413. package/dist/radio/readme.md +0 -70
  414. package/dist/resultsetTable/ResultsetTable.js +0 -332
  415. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  416. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  417. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  418. package/dist/select/Select.js +0 -525
  419. package/dist/select/Select.stories.js +0 -235
  420. package/dist/select/readme.md +0 -72
  421. package/dist/sidenav/Sidenav.js +0 -183
  422. package/dist/slider/Slider.js +0 -267
  423. package/dist/slider/Slider.stories.js +0 -241
  424. package/dist/slider/readme.md +0 -64
  425. package/dist/spinner/Spinner.js +0 -214
  426. package/dist/spinner/Spinner.stories.js +0 -183
  427. package/dist/spinner/readme.md +0 -65
  428. package/dist/switch/Switch.js +0 -222
  429. package/dist/switch/Switch.stories.js +0 -134
  430. package/dist/switch/readme.md +0 -133
  431. package/dist/table/Table.js +0 -118
  432. package/dist/tabs/Tabs.js +0 -347
  433. package/dist/tabs/Tabs.stories.js +0 -130
  434. package/dist/tabs/readme.md +0 -78
  435. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  436. package/dist/tabs-for-sections/readme.md +0 -78
  437. package/dist/tag/Tag.js +0 -268
  438. package/dist/textarea/Textarea.js +0 -260
  439. package/dist/toggle/Toggle.js +0 -220
  440. package/dist/toggle/Toggle.stories.js +0 -297
  441. package/dist/toggle/readme.md +0 -80
  442. package/dist/toggle-group/ToggleGroup.js +0 -241
  443. package/dist/toggle-group/readme.md +0 -82
  444. package/dist/upload/Upload.js +0 -209
  445. package/dist/upload/Upload.stories.js +0 -72
  446. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  447. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  448. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  449. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  450. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  451. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  452. package/dist/upload/file-upload/FileToUpload.js +0 -162
  453. package/dist/upload/file-upload/audio-icon.svg +0 -4
  454. package/dist/upload/file-upload/close.svg +0 -4
  455. package/dist/upload/file-upload/file-icon.svg +0 -4
  456. package/dist/upload/file-upload/video-icon.svg +0 -4
  457. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  458. package/dist/upload/readme.md +0 -37
  459. package/dist/upload/transaction/Transaction.js +0 -152
  460. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  461. package/dist/upload/transaction/audio-icon.svg +0 -4
  462. package/dist/upload/transaction/error-icon.svg +0 -4
  463. package/dist/upload/transaction/file-icon-err.svg +0 -4
  464. package/dist/upload/transaction/file-icon.svg +0 -4
  465. package/dist/upload/transaction/image-icon-err.svg +0 -4
  466. package/dist/upload/transaction/image-icon.svg +0 -4
  467. package/dist/upload/transaction/success-icon.svg +0 -4
  468. package/dist/upload/transaction/video-icon-err.svg +0 -4
  469. package/dist/upload/transaction/video-icon.svg +0 -4
  470. package/dist/upload/transactions/Transactions.js +0 -122
  471. package/dist/wizard/Wizard.js +0 -383
  472. package/dist/wizard/invalid_icon.svg +0 -6
  473. package/dist/wizard/valid_icon.svg +0 -6
  474. package/dist/wizard/validation-wrong.svg +0 -6
  475. package/test/Accordion.test.js +0 -33
  476. package/test/AccordionGroup.test.js +0 -125
  477. package/test/Alert.test.js +0 -53
  478. package/test/Box.test.js +0 -10
  479. package/test/Button.test.js +0 -18
  480. package/test/Card.test.js +0 -30
  481. package/test/Checkbox.test.js +0 -45
  482. package/test/Chip.test.js +0 -25
  483. package/test/Date.test.js +0 -393
  484. package/test/Dialog.test.js +0 -23
  485. package/test/Dropdown.test.js +0 -130
  486. package/test/Footer.test.js +0 -99
  487. package/test/Header.test.js +0 -39
  488. package/test/Heading.test.js +0 -35
  489. package/test/InputText.test.js +0 -240
  490. package/test/Link.test.js +0 -42
  491. package/test/Paginator.test.js +0 -177
  492. package/test/ProgressBar.test.js +0 -35
  493. package/test/Radio.test.js +0 -37
  494. package/test/ResultsetTable.test.js +0 -330
  495. package/test/Select.test.js +0 -192
  496. package/test/Sidenav.test.js +0 -45
  497. package/test/Slider.test.js +0 -82
  498. package/test/Spinner.test.js +0 -27
  499. package/test/Switch.test.js +0 -45
  500. package/test/Table.test.js +0 -36
  501. package/test/Tabs.test.js +0 -109
  502. package/test/TabsForSections.test.js +0 -34
  503. package/test/Tag.test.js +0 -32
  504. package/test/TextArea.test.js +0 -52
  505. package/test/ToggleGroup.test.js +0 -81
  506. package/test/Upload.test.js +0 -60
  507. package/test/Wizard.test.js +0 -130
  508. package/test/mocks/pngMock.js +0 -1
  509. package/test/mocks/svgMock.js +0 -1
  510. /package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  511. /package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  512. /package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  513. /package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  514. /package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  515. /package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  516. /package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  517. /package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  518. /package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  519. /package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
@@ -0,0 +1,586 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _react2 = require("@testing-library/react");
12
+
13
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
+
15
+ var _Dropdown = _interopRequireDefault(require("./Dropdown.tsx"));
16
+
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+ global.DOMRect = {
20
+ fromRect: function fromRect() {
21
+ return {
22
+ top: 0,
23
+ left: 0,
24
+ bottom: 0,
25
+ right: 0,
26
+ width: 0,
27
+ height: 0
28
+ };
29
+ }
30
+ };
31
+
32
+ global.ResizeObserver = /*#__PURE__*/function () {
33
+ function ResizeObserver() {
34
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
35
+ }
36
+
37
+ (0, _createClass2["default"])(ResizeObserver, [{
38
+ key: "observe",
39
+ value: function observe() {}
40
+ }, {
41
+ key: "unobserve",
42
+ value: function unobserve() {}
43
+ }, {
44
+ key: "disconnect",
45
+ value: function disconnect() {}
46
+ }]);
47
+ return ResizeObserver;
48
+ }();
49
+
50
+ var options = [{
51
+ value: "1",
52
+ label: "Amazon"
53
+ }, {
54
+ value: "2",
55
+ label: "Ebay"
56
+ }, {
57
+ value: "3",
58
+ label: "Wallapop"
59
+ }, {
60
+ value: "4",
61
+ label: "Aliexpress"
62
+ }];
63
+ describe("Dropdown component tests", function () {
64
+ test("Renders with correct aria attributes", function () {
65
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
66
+ options: options,
67
+ label: "dropdown-test"
68
+ })),
69
+ getAllByRole = _render.getAllByRole,
70
+ getByRole = _render.getByRole;
71
+
72
+ var dropdown = getByRole("button");
73
+ expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
74
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
75
+ expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
76
+
77
+ _userEvent["default"].click(dropdown);
78
+
79
+ var menu = getByRole("menu");
80
+ expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
81
+ expect(dropdown.getAttribute("aria-expanded")).toBe("true");
82
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
83
+ expect(menu.getAttribute("aria-orientation")).toBe("vertical");
84
+ expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
85
+ expect(getAllByRole("menuitem").length).toBe(4);
86
+ });
87
+ test("Button trigger opens and closes the menu options when clicked", function () {
88
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
89
+ options: options,
90
+ label: "dropdown-test"
91
+ })),
92
+ getByRole = _render2.getByRole,
93
+ queryByRole = _render2.queryByRole,
94
+ getByText = _render2.getByText;
95
+
96
+ var dropdown = getByRole("button");
97
+ expect(queryByRole("menu")).toBeFalsy();
98
+
99
+ _userEvent["default"].click(dropdown);
100
+
101
+ expect(queryByRole("menu")).toBeTruthy();
102
+ expect(getByText("Amazon")).toBeTruthy();
103
+ expect(getByText("Ebay")).toBeTruthy();
104
+ expect(getByText("Wallapop")).toBeTruthy();
105
+ expect(getByText("Aliexpress")).toBeTruthy();
106
+
107
+ _userEvent["default"].click(dropdown);
108
+
109
+ expect(queryByRole("menu")).toBeFalsy();
110
+ });
111
+ test("Button trigger is not interactable when disabled", function () {
112
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
113
+ disabled: true,
114
+ options: options,
115
+ label: "dropdown-test"
116
+ })),
117
+ getByRole = _render3.getByRole,
118
+ queryByRole = _render3.queryByRole,
119
+ queryByText = _render3.queryByText;
120
+
121
+ var dropdown = getByRole("button");
122
+ expect(queryByRole("menu")).toBeFalsy();
123
+
124
+ _userEvent["default"].click(dropdown);
125
+
126
+ expect(queryByRole("menu")).toBeFalsy();
127
+ expect(queryByText("Amazon")).toBeFalsy();
128
+
129
+ _userEvent["default"].click(dropdown);
130
+
131
+ expect(queryByRole("menu")).toBeFalsy();
132
+ expect(dropdown.getAttribute("aria-expanded")).toBeNull();
133
+ });
134
+ test("onSelectOption function is called correctly when an option is clicked", function () {
135
+ var onSelectOption = jest.fn();
136
+
137
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
138
+ options: options,
139
+ onSelectOption: onSelectOption,
140
+ label: "dropdown-test"
141
+ })),
142
+ getByText = _render4.getByText;
143
+
144
+ var dropdown = getByText("dropdown-test");
145
+
146
+ _userEvent["default"].click(dropdown);
147
+
148
+ var option = getByText("Aliexpress");
149
+
150
+ _userEvent["default"].click(option);
151
+
152
+ expect(onSelectOption).toHaveBeenCalledWith("4");
153
+ });
154
+ test("When expandOnHover is true, the dropdown trigger shows and hides the menu when it is hovered", function () {
155
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
156
+ options: options,
157
+ expandOnHover: true,
158
+ label: "dropdown-test"
159
+ })),
160
+ queryByText = _render5.queryByText,
161
+ getByRole = _render5.getByRole,
162
+ queryByRole = _render5.queryByRole;
163
+
164
+ expect(queryByText("option-test")).toBeFalsy();
165
+ expect(queryByRole("menu")).toBeFalsy();
166
+
167
+ _react2.fireEvent.mouseOver(getByRole("button"));
168
+
169
+ var menu = getByRole("menu");
170
+ expect(menu).toBeTruthy();
171
+ expect(document.activeElement === menu).toBeTruthy();
172
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
173
+ });
174
+ test("The menu is closed when the dropdown loses the focus (blur)", function () {
175
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
176
+ options: options,
177
+ label: "dropdown-test"
178
+ })),
179
+ getByRole = _render6.getByRole,
180
+ queryByRole = _render6.queryByRole;
181
+
182
+ var dropdown = getByRole("button");
183
+
184
+ _userEvent["default"].click(dropdown);
185
+
186
+ expect(getByRole("menu")).toBeTruthy();
187
+
188
+ _react2.fireEvent.blur(getByRole("menu"));
189
+
190
+ expect(queryByRole("menu")).toBeFalsy();
191
+ });
192
+ test("Menu button key events - Arrow up opens the list and moves the focus to the last menu item", function () {
193
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
194
+ options: options,
195
+ label: "dropdown-test"
196
+ })),
197
+ getByRole = _render7.getByRole;
198
+
199
+ var dropdown = getByRole("button");
200
+
201
+ _react2.fireEvent.keyDown(dropdown, {
202
+ key: "ArrowUp",
203
+ code: "ArrowUp",
204
+ keyCode: 38,
205
+ charCode: 38
206
+ });
207
+
208
+ var menu = getByRole("menu");
209
+ expect(menu).toBeTruthy();
210
+ expect(document.activeElement === menu).toBeTruthy();
211
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-3");
212
+ });
213
+ test("Menu button key events - Arrow down opens the list and moves the focus to the first menu item", function () {
214
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
215
+ options: options,
216
+ label: "dropdown-test"
217
+ })),
218
+ getByRole = _render8.getByRole;
219
+
220
+ var dropdown = getByRole("button");
221
+
222
+ _react2.fireEvent.keyDown(dropdown, {
223
+ key: "ArrowDown",
224
+ code: "ArrowDown",
225
+ keyCode: 40,
226
+ charCode: 40
227
+ });
228
+
229
+ var menu = getByRole("menu");
230
+ expect(menu).toBeTruthy();
231
+ expect(document.activeElement === menu).toBeTruthy();
232
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
233
+ });
234
+ test("Menu button key events - Enter opens the list and moves the focus to the first menu item", function () {
235
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
236
+ options: options,
237
+ label: "dropdown-test"
238
+ })),
239
+ getByRole = _render9.getByRole;
240
+
241
+ var dropdown = getByRole("button");
242
+
243
+ _react2.fireEvent.keyDown(dropdown, {
244
+ key: "Enter",
245
+ code: "Enter",
246
+ keyCode: 13,
247
+ charCode: 13
248
+ });
249
+
250
+ var menu = getByRole("menu");
251
+ expect(menu).toBeTruthy();
252
+ expect(document.activeElement === menu).toBeTruthy();
253
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
254
+ });
255
+ test("Menu button key events - Space opens the list and moves the focus to the first menu item", function () {
256
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
257
+ options: options,
258
+ label: "dropdown-test"
259
+ })),
260
+ getByRole = _render10.getByRole;
261
+
262
+ var dropdown = getByRole("button");
263
+
264
+ _react2.fireEvent.keyDown(dropdown, {
265
+ key: " ",
266
+ code: "Space",
267
+ keyCode: 32,
268
+ charCode: 32
269
+ });
270
+
271
+ var menu = getByRole("menu");
272
+ expect(menu).toBeTruthy();
273
+ expect(document.activeElement === menu).toBeTruthy();
274
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
275
+ });
276
+ test("Menu key events - Arrow up moves the focus to the previous menu item", function () {
277
+ var onSelectOption = jest.fn();
278
+
279
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
280
+ onSelectOption: onSelectOption,
281
+ options: options,
282
+ label: "dropdown-test"
283
+ })),
284
+ getByRole = _render11.getByRole;
285
+
286
+ _react2.fireEvent.keyDown(getByRole("button"), {
287
+ key: "ArrowUp",
288
+ code: "ArrowUp",
289
+ keyCode: 38,
290
+ charCode: 38
291
+ });
292
+
293
+ var menu = getByRole("menu");
294
+
295
+ _react2.fireEvent.keyDown(menu, {
296
+ key: "ArrowUp",
297
+ code: "ArrowUp",
298
+ keyCode: 38,
299
+ charCode: 38
300
+ });
301
+
302
+ expect(document.activeElement === menu).toBeTruthy();
303
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
304
+
305
+ _react2.fireEvent.keyDown(menu, {
306
+ key: "Enter",
307
+ code: "Enter",
308
+ keyCode: 13,
309
+ charCode: 13
310
+ });
311
+
312
+ expect(onSelectOption).toHaveBeenCalledWith("3");
313
+ });
314
+ test("Menu key events - Arrow up, if focus is on the first menu item, moves focus to the last menu item.", function () {
315
+ var onSelectOption = jest.fn();
316
+
317
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
318
+ onSelectOption: onSelectOption,
319
+ options: options,
320
+ label: "dropdown-test"
321
+ })),
322
+ getByRole = _render12.getByRole;
323
+
324
+ _userEvent["default"].click(getByRole("button"));
325
+
326
+ var menu = getByRole("menu");
327
+
328
+ _react2.fireEvent.keyDown(menu, {
329
+ key: "ArrowUp",
330
+ code: "ArrowUp",
331
+ keyCode: 38,
332
+ charCode: 38
333
+ });
334
+
335
+ expect(document.activeElement === menu).toBeTruthy();
336
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
337
+
338
+ _react2.fireEvent.keyDown(menu, {
339
+ key: "Enter",
340
+ code: "Enter",
341
+ keyCode: 13,
342
+ charCode: 13
343
+ });
344
+
345
+ expect(onSelectOption).toHaveBeenCalledWith("4");
346
+ });
347
+ test("Menu key events - Arrow down moves the focus to the next menu item", function () {
348
+ var onSelectOption = jest.fn();
349
+
350
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
351
+ onSelectOption: onSelectOption,
352
+ options: options,
353
+ label: "dropdown-test"
354
+ })),
355
+ getByRole = _render13.getByRole;
356
+
357
+ _userEvent["default"].click(getByRole("button"));
358
+
359
+ var menu = getByRole("menu");
360
+
361
+ _react2.fireEvent.keyDown(menu, {
362
+ key: "ArrowDown",
363
+ code: "ArrowDown",
364
+ keyCode: 40,
365
+ charCode: 40
366
+ });
367
+
368
+ _react2.fireEvent.keyDown(menu, {
369
+ key: "ArrowDown",
370
+ code: "ArrowDown",
371
+ keyCode: 40,
372
+ charCode: 40
373
+ });
374
+
375
+ expect(document.activeElement === menu).toBeTruthy();
376
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
377
+
378
+ _react2.fireEvent.keyDown(menu, {
379
+ key: "Enter",
380
+ code: "Enter",
381
+ keyCode: 13,
382
+ charCode: 13
383
+ });
384
+
385
+ expect(onSelectOption).toHaveBeenCalledWith("3");
386
+ });
387
+ test("Menu key events - Arrow down, if focus is on the last menu item, moves focus to the first menu item. ", function () {
388
+ var onSelectOption = jest.fn();
389
+
390
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
391
+ onSelectOption: onSelectOption,
392
+ options: options,
393
+ label: "dropdown-test"
394
+ })),
395
+ getByRole = _render14.getByRole;
396
+
397
+ _react2.fireEvent.keyDown(getByRole("button"), {
398
+ key: "ArrowUp",
399
+ code: "ArrowUp",
400
+ keyCode: 38,
401
+ charCode: 38
402
+ });
403
+
404
+ var menu = getByRole("menu");
405
+
406
+ _react2.fireEvent.keyDown(menu, {
407
+ key: "ArrowDown",
408
+ code: "ArrowDown",
409
+ keyCode: 40,
410
+ charCode: 40
411
+ });
412
+
413
+ expect(document.activeElement === menu).toBeTruthy();
414
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
415
+
416
+ _react2.fireEvent.keyDown(menu, {
417
+ key: "Enter",
418
+ code: "Enter",
419
+ keyCode: 13,
420
+ charCode: 13
421
+ });
422
+
423
+ expect(onSelectOption).toHaveBeenCalledWith("1");
424
+ });
425
+ test("Menu key events - Enter key selects the current focused item and closes the menu", function () {
426
+ var onSelectOption = jest.fn();
427
+
428
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
429
+ onSelectOption: onSelectOption,
430
+ options: options,
431
+ label: "dropdown-test"
432
+ })),
433
+ getByRole = _render15.getByRole,
434
+ queryByRole = _render15.queryByRole;
435
+
436
+ _userEvent["default"].click(getByRole("button"));
437
+
438
+ _react2.fireEvent.keyDown(getByRole("menu"), {
439
+ key: "Enter",
440
+ code: "Enter",
441
+ keyCode: 13,
442
+ charCode: 13
443
+ });
444
+
445
+ expect(onSelectOption).toHaveBeenCalledWith("1");
446
+ expect(queryByRole("menu")).toBeFalsy();
447
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
448
+ });
449
+ test("Menu key events - Esc closes the menu and sets focus on the menu button", function () {
450
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
451
+ options: options,
452
+ label: "dropdown-test"
453
+ })),
454
+ getByRole = _render16.getByRole,
455
+ queryByRole = _render16.queryByRole;
456
+
457
+ _userEvent["default"].click(getByRole("button"));
458
+
459
+ _react2.fireEvent.keyDown(getByRole("menu"), {
460
+ key: "Esc",
461
+ code: "Esc",
462
+ keyCode: 27,
463
+ charCode: 27
464
+ });
465
+
466
+ expect(queryByRole("menu")).toBeFalsy();
467
+ expect(document.activeElement === getByRole("button")).toBeTruthy();
468
+ });
469
+ test("Menu key events - Home moves the focus to the first menu item", function () {
470
+ var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
471
+ options: options,
472
+ label: "dropdown-test-1"
473
+ })),
474
+ getByRole = _render17.getByRole;
475
+
476
+ _react2.fireEvent.keyDown(getByRole("button"), {
477
+ key: "ArrowUp",
478
+ code: "ArrowUp",
479
+ keyCode: 38,
480
+ charCode: 38
481
+ });
482
+
483
+ var menu = getByRole("menu");
484
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
485
+
486
+ _react2.fireEvent.keyDown(menu, {
487
+ key: "Home",
488
+ code: "Home",
489
+ keyCode: 36,
490
+ charCode: 36
491
+ });
492
+
493
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
494
+ });
495
+ test("Menu key events - End moves the focus to the last menu item", function () {
496
+ var _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
497
+ options: options,
498
+ label: "dropdown-test-1"
499
+ })),
500
+ getByRole = _render18.getByRole;
501
+
502
+ _userEvent["default"].click(getByRole("button"));
503
+
504
+ var menu = getByRole("menu");
505
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
506
+
507
+ _react2.fireEvent.keyDown(menu, {
508
+ key: "End",
509
+ code: "End",
510
+ keyCode: 35,
511
+ charCode: 35
512
+ });
513
+
514
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
515
+ });
516
+ test("Menu key events - PageUp moves the focus to the first menu item", function () {
517
+ var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
518
+ options: options,
519
+ label: "dropdown-test-1"
520
+ })),
521
+ getByRole = _render19.getByRole;
522
+
523
+ _react2.fireEvent.keyDown(getByRole("button"), {
524
+ key: "ArrowUp",
525
+ code: "ArrowUp",
526
+ keyCode: 38,
527
+ charCode: 38
528
+ });
529
+
530
+ var menu = getByRole("menu");
531
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
532
+
533
+ _react2.fireEvent.keyDown(menu, {
534
+ key: "PageUp",
535
+ code: "PageUp",
536
+ keyCode: 33,
537
+ charCode: 33
538
+ });
539
+
540
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
541
+ });
542
+ test("Menu key events - PageDown moves the focus to the last menu item", function () {
543
+ var _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
544
+ options: options,
545
+ label: "dropdown-test-1"
546
+ })),
547
+ getByRole = _render20.getByRole;
548
+
549
+ _userEvent["default"].click(getByRole("button"));
550
+
551
+ var menu = getByRole("menu");
552
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
553
+
554
+ _react2.fireEvent.keyDown(menu, {
555
+ key: "PageDown",
556
+ code: "PageDown",
557
+ keyCode: 34,
558
+ charCode: 34
559
+ });
560
+
561
+ expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
562
+ });
563
+ test("Menu key events - Tab closes the menu and sets focus to the next element", function () {
564
+ var _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
565
+ options: options,
566
+ label: "dropdown-test-1"
567
+ })),
568
+ getByRole = _render21.getByRole,
569
+ queryByRole = _render21.queryByRole;
570
+
571
+ var dropdown = getByRole("button");
572
+
573
+ _userEvent["default"].click(dropdown);
574
+
575
+ expect(getByRole("menu")).toBeTruthy();
576
+
577
+ _react2.fireEvent.keyDown(getByRole("menu"), {
578
+ key: "Tab",
579
+ code: "Tab",
580
+ keyCode: 9,
581
+ charCode: 9
582
+ });
583
+
584
+ expect(queryByRole("menu")).toBeFalsy();
585
+ });
586
+ });
@@ -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;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _DropdownMenuItem = _interopRequireDefault(require("./DropdownMenuItem"));
17
+
18
+ var _templateObject;
19
+
20
+ var DropdownMenu = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
21
+ var id = _ref.id,
22
+ dropdownTriggerId = _ref.dropdownTriggerId,
23
+ iconsPosition = _ref.iconsPosition,
24
+ visualFocusIndex = _ref.visualFocusIndex,
25
+ menuItemOnClick = _ref.menuItemOnClick,
26
+ onKeyDown = _ref.onKeyDown,
27
+ options = _ref.options,
28
+ styles = _ref.styles;
29
+ return /*#__PURE__*/_react["default"].createElement(DropdownMenuContainer, {
30
+ onMouseDown: function onMouseDown(event) {
31
+ // Prevent the onBlur event from closing menu when clicking on the menu since
32
+ // it is implemented with a Portal and the menu is not a direct child of the container
33
+ event.preventDefault();
34
+ },
35
+ onKeyDown: onKeyDown,
36
+ id: id,
37
+ role: "menu",
38
+ "aria-labelledby": dropdownTriggerId,
39
+ "aria-orientation": "vertical",
40
+ "aria-activedescendant": "option-".concat(visualFocusIndex),
41
+ tabIndex: -1,
42
+ ref: ref,
43
+ style: styles
44
+ }, options.map(function (option, index) {
45
+ return /*#__PURE__*/_react["default"].createElement(_DropdownMenuItem["default"], {
46
+ id: "option-".concat(index),
47
+ key: "option-".concat(index),
48
+ visuallyFocused: index === visualFocusIndex,
49
+ iconPosition: iconsPosition,
50
+ onClick: menuItemOnClick,
51
+ option: option
52
+ });
53
+ }));
54
+ });
55
+
56
+ var DropdownMenuContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 230px;\n min-width: min-content;\n padding: 0;\n margin: 0;\n background-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-radius: ", ";\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n outline: none;\n\n overflow-y: auto;\n &::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 6px;\n }\n &::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 6px;\n }\n"])), function (props) {
57
+ return props.theme.optionBackgroundColor;
58
+ }, function (props) {
59
+ return props.theme.borderThickness;
60
+ }, function (props) {
61
+ return props.theme.borderStyle;
62
+ }, function (props) {
63
+ return props.theme.borderColor;
64
+ }, function (props) {
65
+ return props.theme.borderRadius;
66
+ }, function (props) {
67
+ return props.theme.scrollBarThumbColor;
68
+ }, function (props) {
69
+ return props.theme.scrollBarTrackColor;
70
+ });
71
+
72
+ var _default = /*#__PURE__*/_react["default"].memo(DropdownMenu);
73
+
74
+ exports["default"] = _default;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { DropdownMenuItemProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, visuallyFocused, iconPosition, onClick, option, }: DropdownMenuItemProps) => JSX.Element>;
4
+ export default _default;