@dxc-technology/halstack-react 11.0.0 → 12.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +3 -8
  3. package/HalstackContext.d.ts +32 -145
  4. package/HalstackContext.js +3 -7
  5. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.js +18 -35
  8. package/accordion/Accordion.stories.tsx +7 -49
  9. package/accordion/Accordion.test.d.ts +1 -0
  10. package/accordion/Accordion.test.js +3 -3
  11. package/accordion/types.d.ts +1 -1
  12. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  13. package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
  14. package/accordion-group/AccordionGroup.d.ts +2 -3
  15. package/accordion-group/AccordionGroup.js +4 -4
  16. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  17. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  18. package/accordion-group/AccordionGroup.test.js +5 -9
  19. package/accordion-group/AccordionGroupAccordion.js +3 -3
  20. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  21. package/accordion-group/AccordionGroupContext.js +8 -0
  22. package/accordion-group/types.d.ts +1 -1
  23. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  24. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  25. package/action-icon/ActionIcon.d.ts +4 -0
  26. package/action-icon/ActionIcon.js +48 -0
  27. package/action-icon/ActionIcon.stories.tsx +41 -0
  28. package/action-icon/ActionIcon.test.d.ts +1 -0
  29. package/action-icon/ActionIcon.test.js +64 -0
  30. package/action-icon/types.d.ts +26 -0
  31. package/action-icon/types.js +5 -0
  32. package/alert/Alert.accessibility.test.d.ts +1 -0
  33. package/alert/Alert.accessibility.test.js +95 -0
  34. package/alert/Alert.js +21 -75
  35. package/alert/Alert.test.d.ts +1 -0
  36. package/alert/Alert.test.js +1 -1
  37. package/badge/Badge.accessibility.test.d.ts +1 -0
  38. package/badge/Badge.accessibility.test.js +129 -0
  39. package/badge/Badge.d.ts +1 -1
  40. package/badge/Badge.js +141 -28
  41. package/badge/Badge.stories.tsx +210 -0
  42. package/badge/Badge.test.d.ts +1 -0
  43. package/badge/Badge.test.js +30 -0
  44. package/badge/types.d.ts +52 -3
  45. package/box/Box.accessibility.test.d.ts +1 -0
  46. package/box/Box.accessibility.test.js +33 -0
  47. package/box/Box.js +2 -5
  48. package/box/Box.test.d.ts +1 -0
  49. package/box/Box.test.js +1 -1
  50. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  51. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  52. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  53. package/breadcrumbs/Breadcrumbs.js +79 -0
  54. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  55. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  56. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  57. package/breadcrumbs/Item.d.ts +4 -0
  58. package/breadcrumbs/Item.js +52 -0
  59. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  60. package/breadcrumbs/dropdownTheme.js +62 -0
  61. package/breadcrumbs/types.d.ts +16 -0
  62. package/breadcrumbs/types.js +5 -0
  63. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  64. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  65. package/bulleted-list/BulletedList.js +16 -23
  66. package/bulleted-list/BulletedList.stories.tsx +1 -2
  67. package/button/Button.accessibility.test.d.ts +1 -0
  68. package/button/Button.accessibility.test.js +127 -0
  69. package/button/Button.js +16 -16
  70. package/button/Button.stories.tsx +34 -53
  71. package/button/Button.test.d.ts +1 -0
  72. package/button/Button.test.js +4 -2
  73. package/button/types.d.ts +1 -1
  74. package/card/Card.accessibility.test.d.ts +1 -0
  75. package/card/Card.accessibility.test.js +36 -0
  76. package/card/Card.js +3 -2
  77. package/card/Card.test.d.ts +1 -0
  78. package/card/Card.test.js +1 -1
  79. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  80. package/checkbox/Checkbox.accessibility.test.js +87 -0
  81. package/checkbox/Checkbox.js +36 -44
  82. package/checkbox/Checkbox.test.d.ts +1 -0
  83. package/checkbox/Checkbox.test.js +1 -1
  84. package/chip/Chip.accessibility.test.d.ts +1 -0
  85. package/chip/Chip.accessibility.test.js +69 -0
  86. package/chip/Chip.js +20 -26
  87. package/chip/Chip.stories.tsx +67 -50
  88. package/chip/Chip.test.d.ts +1 -0
  89. package/chip/Chip.test.js +5 -5
  90. package/chip/types.d.ts +35 -12
  91. package/common/coreTokens.d.ts +105 -14
  92. package/common/coreTokens.js +40 -22
  93. package/common/fonts.css +2 -0
  94. package/common/variables.d.ts +31 -141
  95. package/common/variables.js +104 -214
  96. package/container/Container.d.ts +4 -0
  97. package/container/Container.js +194 -0
  98. package/container/Container.stories.tsx +214 -0
  99. package/container/types.d.ts +74 -0
  100. package/container/types.js +5 -0
  101. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  102. package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
  103. package/contextual-menu/ContextualMenu.d.ts +5 -0
  104. package/contextual-menu/ContextualMenu.js +88 -0
  105. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  106. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  107. package/contextual-menu/ContextualMenu.test.js +205 -0
  108. package/contextual-menu/GroupItem.d.ts +4 -0
  109. package/contextual-menu/GroupItem.js +67 -0
  110. package/contextual-menu/ItemAction.d.ts +4 -0
  111. package/contextual-menu/ItemAction.js +51 -0
  112. package/contextual-menu/MenuItem.d.ts +4 -0
  113. package/contextual-menu/MenuItem.js +29 -0
  114. package/contextual-menu/SingleItem.d.ts +4 -0
  115. package/contextual-menu/SingleItem.js +38 -0
  116. package/contextual-menu/types.d.ts +58 -0
  117. package/contextual-menu/types.js +5 -0
  118. package/date-input/Calendar.js +1 -1
  119. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  120. package/date-input/DateInput.accessibility.test.js +230 -0
  121. package/date-input/DateInput.js +19 -20
  122. package/date-input/DateInput.stories.tsx +15 -8
  123. package/date-input/DateInput.test.d.ts +1 -0
  124. package/date-input/DateInput.test.js +9 -8
  125. package/date-input/DatePicker.js +13 -7
  126. package/date-input/YearPicker.js +1 -1
  127. package/date-input/types.d.ts +2 -2
  128. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  129. package/dialog/Dialog.accessibility.test.js +69 -0
  130. package/dialog/Dialog.js +11 -25
  131. package/dialog/Dialog.stories.tsx +175 -0
  132. package/dialog/Dialog.test.d.ts +1 -0
  133. package/dialog/Dialog.test.js +113 -49
  134. package/divider/Divider.accessibility.test.d.ts +1 -0
  135. package/divider/Divider.accessibility.test.js +33 -0
  136. package/divider/Divider.d.ts +4 -0
  137. package/divider/Divider.js +36 -0
  138. package/divider/Divider.stories.tsx +223 -0
  139. package/divider/Divider.test.d.ts +1 -0
  140. package/divider/Divider.test.js +38 -0
  141. package/divider/types.d.ts +21 -0
  142. package/divider/types.js +5 -0
  143. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  144. package/dropdown/Dropdown.accessibility.test.js +184 -0
  145. package/dropdown/Dropdown.js +37 -51
  146. package/dropdown/Dropdown.stories.tsx +15 -26
  147. package/dropdown/Dropdown.test.d.ts +1 -0
  148. package/dropdown/Dropdown.test.js +100 -70
  149. package/dropdown/DropdownMenu.js +4 -4
  150. package/dropdown/DropdownMenuItem.js +8 -4
  151. package/dropdown/types.d.ts +3 -5
  152. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  153. package/file-input/FileInput.accessibility.test.js +167 -0
  154. package/file-input/FileInput.js +127 -145
  155. package/file-input/FileInput.test.d.ts +1 -0
  156. package/file-input/FileInput.test.js +125 -129
  157. package/file-input/FileItem.js +18 -28
  158. package/file-input/types.d.ts +1 -1
  159. package/footer/Footer.accessibility.test.d.ts +1 -0
  160. package/footer/Footer.accessibility.test.js +125 -0
  161. package/footer/Footer.d.ts +1 -1
  162. package/footer/Footer.js +36 -31
  163. package/footer/Footer.stories.tsx +58 -2
  164. package/footer/Footer.test.d.ts +1 -0
  165. package/footer/Footer.test.js +1 -1
  166. package/footer/Icons.d.ts +1 -0
  167. package/footer/Icons.js +52 -16
  168. package/footer/types.d.ts +8 -8
  169. package/header/Header.accessibility.test.d.ts +1 -0
  170. package/header/Header.accessibility.test.js +94 -0
  171. package/header/Header.js +20 -41
  172. package/header/Header.stories.tsx +16 -0
  173. package/header/Header.test.d.ts +1 -0
  174. package/header/Header.test.js +1 -1
  175. package/header/Icons.js +1 -6
  176. package/header/types.d.ts +4 -3
  177. package/heading/Heading.accessibility.test.d.ts +1 -0
  178. package/heading/Heading.accessibility.test.js +33 -0
  179. package/heading/Heading.js +1 -1
  180. package/heading/Heading.test.d.ts +1 -0
  181. package/heading/Heading.test.js +1 -14
  182. package/icon/Icon.accessibility.test.d.ts +1 -0
  183. package/icon/Icon.accessibility.test.js +30 -0
  184. package/icon/Icon.d.ts +4 -0
  185. package/icon/Icon.js +33 -0
  186. package/icon/Icon.stories.tsx +28 -0
  187. package/icon/types.d.ts +4 -0
  188. package/icon/types.js +5 -0
  189. package/image/Image.accessibility.test.d.ts +1 -0
  190. package/image/Image.accessibility.test.js +56 -0
  191. package/image/Image.js +1 -1
  192. package/image/Image.stories.tsx +3 -1
  193. package/layout/ApplicationLayout.d.ts +1 -1
  194. package/layout/ApplicationLayout.js +10 -7
  195. package/layout/Icons.d.ts +0 -1
  196. package/layout/Icons.js +1 -11
  197. package/link/Link.accessibility.test.d.ts +1 -0
  198. package/link/Link.accessibility.test.js +108 -0
  199. package/link/Link.js +8 -6
  200. package/link/Link.stories.tsx +4 -4
  201. package/link/Link.test.d.ts +1 -0
  202. package/link/Link.test.js +1 -1
  203. package/link/types.d.ts +1 -1
  204. package/main.d.ts +8 -3
  205. package/main.js +38 -9
  206. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  207. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  208. package/nav-tabs/NavTabs.d.ts +1 -2
  209. package/nav-tabs/NavTabs.js +25 -7
  210. package/nav-tabs/NavTabs.stories.tsx +44 -24
  211. package/nav-tabs/NavTabs.test.d.ts +1 -0
  212. package/nav-tabs/NavTabs.test.js +12 -10
  213. package/nav-tabs/NavTabsContext.d.ts +3 -0
  214. package/nav-tabs/NavTabsContext.js +8 -0
  215. package/nav-tabs/Tab.js +23 -23
  216. package/nav-tabs/types.d.ts +1 -1
  217. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  218. package/number-input/NumberInput.accessibility.test.js +228 -0
  219. package/number-input/NumberInput.d.ts +0 -7
  220. package/number-input/NumberInput.js +24 -5
  221. package/number-input/NumberInput.test.d.ts +1 -0
  222. package/number-input/NumberInput.test.js +166 -7
  223. package/number-input/NumberInputContext.d.ts +3 -0
  224. package/number-input/NumberInputContext.js +8 -0
  225. package/number-input/types.d.ts +6 -0
  226. package/package.json +20 -18
  227. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  228. package/paginator/Paginator.accessibility.test.js +79 -0
  229. package/paginator/Paginator.js +14 -14
  230. package/paginator/Paginator.test.d.ts +1 -0
  231. package/paginator/Paginator.test.js +1 -1
  232. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  233. package/paragraph/Paragraph.accessibility.test.js +28 -0
  234. package/paragraph/Paragraph.js +2 -7
  235. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  236. package/password-input/PasswordInput.accessibility.test.js +153 -0
  237. package/password-input/PasswordInput.js +7 -7
  238. package/password-input/PasswordInput.stories.tsx +0 -1
  239. package/password-input/PasswordInput.test.d.ts +1 -0
  240. package/password-input/PasswordInput.test.js +5 -5
  241. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  242. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  243. package/progress-bar/ProgressBar.js +11 -15
  244. package/progress-bar/ProgressBar.test.d.ts +1 -0
  245. package/progress-bar/ProgressBar.test.js +1 -1
  246. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  247. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  248. package/quick-nav/QuickNav.js +1 -1
  249. package/radio-group/Radio.js +6 -9
  250. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  251. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  252. package/radio-group/RadioGroup.js +15 -17
  253. package/radio-group/RadioGroup.test.d.ts +1 -0
  254. package/radio-group/RadioGroup.test.js +3 -5
  255. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  256. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  257. package/resultset-table/ResultsetTable.d.ts +4 -1
  258. package/resultset-table/ResultsetTable.js +25 -13
  259. package/resultset-table/ResultsetTable.stories.tsx +118 -5
  260. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  261. package/resultset-table/ResultsetTable.test.js +76 -1
  262. package/resultset-table/types.d.ts +40 -7
  263. package/select/Listbox.js +24 -16
  264. package/select/Option.js +19 -10
  265. package/select/Select.accessibility.test.d.ts +1 -0
  266. package/select/Select.accessibility.test.js +228 -0
  267. package/select/Select.js +72 -54
  268. package/select/Select.stories.tsx +59 -111
  269. package/select/Select.test.d.ts +1 -0
  270. package/select/Select.test.js +393 -459
  271. package/select/types.d.ts +3 -3
  272. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  273. package/sidenav/Sidenav.accessibility.test.js +59 -0
  274. package/sidenav/Sidenav.js +21 -19
  275. package/sidenav/Sidenav.stories.tsx +4 -9
  276. package/sidenav/Sidenav.test.d.ts +1 -0
  277. package/sidenav/Sidenav.test.js +1 -1
  278. package/sidenav/types.d.ts +2 -2
  279. package/slider/Slider.accessibility.test.d.ts +1 -0
  280. package/slider/Slider.accessibility.test.js +104 -0
  281. package/slider/Slider.js +31 -42
  282. package/slider/Slider.stories.tsx +180 -0
  283. package/slider/Slider.test.d.ts +1 -0
  284. package/slider/Slider.test.js +12 -9
  285. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  286. package/spinner/Spinner.accessibility.test.js +96 -0
  287. package/spinner/Spinner.js +12 -16
  288. package/spinner/Spinner.test.d.ts +1 -0
  289. package/spinner/Spinner.test.js +1 -1
  290. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  291. package/status-light/StatusLight.accessibility.test.js +157 -0
  292. package/status-light/StatusLight.d.ts +4 -0
  293. package/status-light/StatusLight.js +51 -0
  294. package/status-light/StatusLight.stories.tsx +74 -0
  295. package/status-light/StatusLight.test.d.ts +1 -0
  296. package/status-light/StatusLight.test.js +25 -0
  297. package/status-light/types.d.ts +17 -0
  298. package/status-light/types.js +5 -0
  299. package/switch/Switch.accessibility.test.d.ts +1 -0
  300. package/switch/Switch.accessibility.test.js +98 -0
  301. package/switch/Switch.js +29 -37
  302. package/switch/Switch.stories.tsx +12 -0
  303. package/switch/Switch.test.d.ts +1 -0
  304. package/switch/Switch.test.js +1 -1
  305. package/table/DropdownTheme.js +62 -0
  306. package/table/Table.accessibility.test.d.ts +1 -0
  307. package/table/Table.accessibility.test.js +93 -0
  308. package/table/Table.d.ts +6 -2
  309. package/table/Table.js +74 -12
  310. package/table/Table.stories.tsx +309 -2
  311. package/table/Table.test.d.ts +1 -0
  312. package/table/Table.test.js +92 -1
  313. package/table/types.d.ts +28 -0
  314. package/tabs/Tab.js +13 -9
  315. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  316. package/tabs/Tabs.accessibility.test.js +56 -0
  317. package/tabs/Tabs.js +12 -24
  318. package/tabs/Tabs.stories.tsx +8 -4
  319. package/tabs/Tabs.test.d.ts +1 -0
  320. package/tabs/Tabs.test.js +20 -38
  321. package/tabs/types.d.ts +2 -2
  322. package/tag/Tag.accessibility.test.d.ts +1 -0
  323. package/tag/Tag.accessibility.test.js +69 -0
  324. package/tag/Tag.js +7 -7
  325. package/tag/Tag.stories.tsx +4 -7
  326. package/tag/Tag.test.d.ts +1 -0
  327. package/tag/Tag.test.js +5 -13
  328. package/tag/types.d.ts +2 -2
  329. package/text-input/Suggestion.js +1 -1
  330. package/text-input/Suggestions.js +19 -14
  331. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  332. package/text-input/TextInput.accessibility.test.js +321 -0
  333. package/text-input/TextInput.js +103 -126
  334. package/text-input/TextInput.stories.tsx +17 -8
  335. package/text-input/TextInput.test.d.ts +1 -0
  336. package/text-input/TextInput.test.js +97 -80
  337. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  338. package/textarea/Textarea.accessibility.test.js +155 -0
  339. package/textarea/Textarea.js +13 -21
  340. package/textarea/Textarea.stories.tsx +0 -1
  341. package/textarea/Textarea.test.d.ts +1 -0
  342. package/textarea/Textarea.test.js +1 -1
  343. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  344. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  345. package/toggle-group/ToggleGroup.js +11 -16
  346. package/toggle-group/ToggleGroup.stories.tsx +3 -3
  347. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  348. package/toggle-group/ToggleGroup.test.js +1 -1
  349. package/toggle-group/types.d.ts +2 -2
  350. package/typography/Typography.accessibility.test.d.ts +1 -0
  351. package/typography/Typography.accessibility.test.js +339 -0
  352. package/useTheme.d.ts +31 -141
  353. package/utils/BaseTypography.js +1 -1
  354. package/utils/FocusLock.js +16 -6
  355. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  356. package/wizard/Wizard.accessibility.test.js +55 -0
  357. package/wizard/Wizard.js +14 -25
  358. package/wizard/Wizard.stories.tsx +19 -0
  359. package/wizard/Wizard.test.d.ts +1 -0
  360. package/wizard/Wizard.test.js +1 -1
  361. package/wizard/types.d.ts +2 -2
  362. package/common/OpenSans.css +0 -69
  363. package/common/fonts/OpenSans-Bold.ttf +0 -0
  364. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  365. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  366. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  367. package/common/fonts/OpenSans-Italic.ttf +0 -0
  368. package/common/fonts/OpenSans-Light.ttf +0 -0
  369. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  370. package/common/fonts/OpenSans-Regular.ttf +0 -0
  371. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  372. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  373. package/date-input/Icons.d.ts +0 -6
  374. package/date-input/Icons.js +0 -58
  375. package/paginator/Icons.d.ts +0 -5
  376. package/paginator/Icons.js +0 -40
  377. package/password-input/Icons.d.ts +0 -6
  378. package/password-input/Icons.js +0 -35
  379. package/select/Icons.d.ts +0 -10
  380. package/select/Icons.js +0 -89
  381. package/sidenav/Icons.d.ts +0 -7
  382. package/sidenav/Icons.js +0 -47
  383. package/text-input/Icons.d.ts +0 -8
  384. package/text-input/Icons.js +0 -56
  385. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  386. /package/{layout → sidenav}/SidenavContext.js +0 -0
@@ -8,7 +8,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _react2 = require("@testing-library/react");
10
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
- var _Dropdown = _interopRequireDefault(require("./Dropdown.tsx"));
11
+ var _Dropdown = _interopRequireDefault(require("./Dropdown"));
12
12
  // Mocking DOMRect for Radix Primitive Popover
13
13
  global.globalThis = global;
14
14
  global.DOMRect = {
@@ -54,86 +54,92 @@ var options = [{
54
54
  }];
55
55
  describe("Dropdown component tests", function () {
56
56
  test("Renders with correct aria attributes", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
57
- var _render, getAllByRole, getByRole, dropdown, menu;
57
+ var onSelectOption, _render, getAllByRole, getByRole, dropdown, menu;
58
58
  return _regenerator["default"].wrap(function _callee$(_context) {
59
59
  while (1) switch (_context.prev = _context.next) {
60
60
  case 0:
61
+ onSelectOption = jest.fn();
61
62
  _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
62
63
  options: options,
63
- label: "dropdown-test"
64
+ label: "dropdown-test",
65
+ onSelectOption: onSelectOption
64
66
  })), getAllByRole = _render.getAllByRole, getByRole = _render.getByRole;
65
67
  dropdown = getByRole("button");
66
68
  expect(dropdown.getAttribute("aria-haspopup")).toBe("true");
67
69
  expect(dropdown.getAttribute("aria-expanded")).toBeNull();
68
70
  expect(dropdown.getAttribute("aria-activedescendant")).toBeNull();
69
- _context.next = 7;
71
+ _context.next = 8;
70
72
  return _userEvent["default"].click(dropdown);
71
- case 7:
73
+ case 8:
72
74
  menu = getByRole("menu");
73
75
  expect(dropdown.getAttribute("aria-controls")).toBe(menu.id);
74
76
  expect(dropdown.getAttribute("aria-expanded")).toBe("true");
75
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
77
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
76
78
  expect(menu.getAttribute("aria-orientation")).toBe("vertical");
77
79
  expect(menu.getAttribute("aria-labelledby")).toBe(dropdown.id);
78
80
  expect(getAllByRole("menuitem").length).toBe(4);
79
- case 14:
81
+ case 15:
80
82
  case "end":
81
83
  return _context.stop();
82
84
  }
83
85
  }, _callee);
84
86
  })));
85
87
  test("Button trigger opens and closes the menu options when clicked", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
86
- var _render2, getByRole, queryByRole, getByText, dropdown;
88
+ var onSelectOption, _render2, getByRole, queryByRole, getByText, dropdown;
87
89
  return _regenerator["default"].wrap(function _callee2$(_context2) {
88
90
  while (1) switch (_context2.prev = _context2.next) {
89
91
  case 0:
92
+ onSelectOption = jest.fn();
90
93
  _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
91
94
  options: options,
92
- label: "dropdown-test"
95
+ label: "dropdown-test",
96
+ onSelectOption: onSelectOption
93
97
  })), getByRole = _render2.getByRole, queryByRole = _render2.queryByRole, getByText = _render2.getByText;
94
98
  dropdown = getByRole("button");
95
99
  expect(queryByRole("menu")).toBeFalsy();
96
- _context2.next = 5;
100
+ _context2.next = 6;
97
101
  return _userEvent["default"].click(dropdown);
98
- case 5:
102
+ case 6:
99
103
  expect(queryByRole("menu")).toBeTruthy();
100
104
  expect(getByText("Amazon")).toBeTruthy();
101
105
  expect(getByText("Ebay")).toBeTruthy();
102
106
  expect(getByText("Wallapop")).toBeTruthy();
103
107
  expect(getByText("Aliexpress")).toBeTruthy();
104
- _context2.next = 12;
108
+ _context2.next = 13;
105
109
  return _userEvent["default"].click(dropdown);
106
- case 12:
107
- expect(queryByRole("menu")).toBeFalsy();
108
110
  case 13:
111
+ expect(queryByRole("menu")).toBeFalsy();
112
+ case 14:
109
113
  case "end":
110
114
  return _context2.stop();
111
115
  }
112
116
  }, _callee2);
113
117
  })));
114
118
  test("Button trigger is not interactive when disabled", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
115
- var _render3, getByRole, queryByRole, queryByText, dropdown;
119
+ var onSelectOption, _render3, getByRole, queryByRole, queryByText, dropdown;
116
120
  return _regenerator["default"].wrap(function _callee3$(_context3) {
117
121
  while (1) switch (_context3.prev = _context3.next) {
118
122
  case 0:
123
+ onSelectOption = jest.fn();
119
124
  _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
120
125
  disabled: true,
121
126
  options: options,
122
- label: "dropdown-test"
127
+ label: "dropdown-test",
128
+ onSelectOption: onSelectOption
123
129
  })), getByRole = _render3.getByRole, queryByRole = _render3.queryByRole, queryByText = _render3.queryByText;
124
130
  dropdown = getByRole("button");
125
131
  expect(queryByRole("menu")).toBeFalsy();
126
- _context3.next = 5;
132
+ _context3.next = 6;
127
133
  return _userEvent["default"].click(dropdown);
128
- case 5:
134
+ case 6:
129
135
  expect(queryByRole("menu")).toBeFalsy();
130
136
  expect(queryByText("Amazon")).toBeFalsy();
131
- _context3.next = 9;
137
+ _context3.next = 10;
132
138
  return _userEvent["default"].click(dropdown);
133
- case 9:
139
+ case 10:
134
140
  expect(queryByRole("menu")).toBeFalsy();
135
141
  expect(dropdown.getAttribute("aria-expanded")).toBeNull();
136
- case 11:
142
+ case 12:
137
143
  case "end":
138
144
  return _context3.stop();
139
145
  }
@@ -166,10 +172,12 @@ describe("Dropdown component tests", function () {
166
172
  }, _callee4);
167
173
  })));
168
174
  test("When expandOnHover is true, the dropdown trigger shows and hides the menu when it is hovered", function () {
175
+ var onSelectOption = jest.fn();
169
176
  var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
170
177
  options: options,
171
178
  expandOnHover: true,
172
- label: "dropdown-test"
179
+ label: "dropdown-test",
180
+ onSelectOption: onSelectOption
173
181
  })),
174
182
  queryByText = _render5.queryByText,
175
183
  getByRole = _render5.getByRole,
@@ -180,34 +188,38 @@ describe("Dropdown component tests", function () {
180
188
  var menu = getByRole("menu");
181
189
  expect(menu).toBeTruthy();
182
190
  expect(document.activeElement === menu).toBeTruthy();
183
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
191
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
184
192
  });
185
193
  test("The menu is closed when the dropdown loses the focus (blur)", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
186
- var _render6, getByRole, queryByRole, dropdown;
194
+ var onSelectOption, _render6, getByRole, queryByRole, dropdown;
187
195
  return _regenerator["default"].wrap(function _callee5$(_context5) {
188
196
  while (1) switch (_context5.prev = _context5.next) {
189
197
  case 0:
198
+ onSelectOption = jest.fn();
190
199
  _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
191
200
  options: options,
192
- label: "dropdown-test"
201
+ label: "dropdown-test",
202
+ onSelectOption: onSelectOption
193
203
  })), getByRole = _render6.getByRole, queryByRole = _render6.queryByRole;
194
204
  dropdown = getByRole("button");
195
- _context5.next = 4;
205
+ _context5.next = 5;
196
206
  return _userEvent["default"].click(dropdown);
197
- case 4:
207
+ case 5:
198
208
  expect(getByRole("menu")).toBeTruthy();
199
209
  _react2.fireEvent.blur(getByRole("menu"));
200
210
  expect(queryByRole("menu")).toBeFalsy();
201
- case 7:
211
+ case 8:
202
212
  case "end":
203
213
  return _context5.stop();
204
214
  }
205
215
  }, _callee5);
206
216
  })));
207
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();
208
219
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
209
220
  options: options,
210
- label: "dropdown-test"
221
+ label: "dropdown-test",
222
+ onSelectOption: onSelectOption
211
223
  })),
212
224
  getByRole = _render7.getByRole;
213
225
  var dropdown = getByRole("button");
@@ -220,12 +232,14 @@ describe("Dropdown component tests", function () {
220
232
  var menu = getByRole("menu");
221
233
  expect(menu).toBeTruthy();
222
234
  expect(document.activeElement === menu).toBeTruthy();
223
- expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-3");
235
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
224
236
  });
225
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();
226
239
  var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
227
240
  options: options,
228
- label: "dropdown-test"
241
+ label: "dropdown-test",
242
+ onSelectOption: onSelectOption
229
243
  })),
230
244
  getByRole = _render8.getByRole;
231
245
  var dropdown = getByRole("button");
@@ -238,12 +252,14 @@ describe("Dropdown component tests", function () {
238
252
  var menu = getByRole("menu");
239
253
  expect(menu).toBeTruthy();
240
254
  expect(document.activeElement === menu).toBeTruthy();
241
- expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
255
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
242
256
  });
243
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();
244
259
  var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
245
260
  options: options,
246
- label: "dropdown-test"
261
+ label: "dropdown-test",
262
+ onSelectOption: onSelectOption
247
263
  })),
248
264
  getByRole = _render9.getByRole;
249
265
  var dropdown = getByRole("button");
@@ -256,12 +272,14 @@ describe("Dropdown component tests", function () {
256
272
  var menu = getByRole("menu");
257
273
  expect(menu).toBeTruthy();
258
274
  expect(document.activeElement === menu).toBeTruthy();
259
- expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
275
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
260
276
  });
261
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();
262
279
  var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
263
280
  options: options,
264
- label: "dropdown-test"
281
+ label: "dropdown-test",
282
+ onSelectOption: onSelectOption
265
283
  })),
266
284
  getByRole = _render10.getByRole;
267
285
  var dropdown = getByRole("button");
@@ -274,7 +292,7 @@ describe("Dropdown component tests", function () {
274
292
  var menu = getByRole("menu");
275
293
  expect(menu).toBeTruthy();
276
294
  expect(document.activeElement === menu).toBeTruthy();
277
- expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("option-0");
295
+ expect(getByRole("menu").getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
278
296
  });
279
297
  test("Menu key events - Arrow up moves the focus to the previous menu item", function () {
280
298
  var onSelectOption = jest.fn();
@@ -298,7 +316,7 @@ describe("Dropdown component tests", function () {
298
316
  charCode: 38
299
317
  });
300
318
  expect(document.activeElement === menu).toBeTruthy();
301
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
319
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-2"));
302
320
  _react2.fireEvent.keyDown(menu, {
303
321
  key: "Enter",
304
322
  code: "Enter",
@@ -329,7 +347,7 @@ describe("Dropdown component tests", function () {
329
347
  charCode: 38
330
348
  });
331
349
  expect(document.activeElement === menu).toBeTruthy();
332
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
350
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
333
351
  _react2.fireEvent.keyDown(menu, {
334
352
  key: "Enter",
335
353
  code: "Enter",
@@ -371,7 +389,7 @@ describe("Dropdown component tests", function () {
371
389
  charCode: 40
372
390
  });
373
391
  expect(document.activeElement === menu).toBeTruthy();
374
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-2");
392
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-2"));
375
393
  _react2.fireEvent.keyDown(menu, {
376
394
  key: "Enter",
377
395
  code: "Enter",
@@ -407,7 +425,7 @@ describe("Dropdown component tests", function () {
407
425
  charCode: 40
408
426
  });
409
427
  expect(document.activeElement === menu).toBeTruthy();
410
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
428
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
411
429
  _react2.fireEvent.keyDown(menu, {
412
430
  key: "Enter",
413
431
  code: "Enter",
@@ -446,17 +464,19 @@ describe("Dropdown component tests", function () {
446
464
  }, _callee8);
447
465
  })));
448
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() {
449
- var _render16, getByRole, queryByRole;
467
+ var onSelectOption, _render16, getByRole, queryByRole;
450
468
  return _regenerator["default"].wrap(function _callee9$(_context9) {
451
469
  while (1) switch (_context9.prev = _context9.next) {
452
470
  case 0:
471
+ onSelectOption = jest.fn();
453
472
  _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
454
473
  options: options,
455
- label: "dropdown-test"
474
+ label: "dropdown-test",
475
+ onSelectOption: onSelectOption
456
476
  })), getByRole = _render16.getByRole, queryByRole = _render16.queryByRole;
457
- _context9.next = 3;
477
+ _context9.next = 4;
458
478
  return _userEvent["default"].click(getByRole("button"));
459
- case 3:
479
+ case 4:
460
480
  _react2.fireEvent.keyDown(getByRole("menu"), {
461
481
  key: "Esc",
462
482
  code: "Esc",
@@ -465,16 +485,18 @@ describe("Dropdown component tests", function () {
465
485
  });
466
486
  expect(queryByRole("menu")).toBeFalsy();
467
487
  expect(document.activeElement === getByRole("button")).toBeTruthy();
468
- case 6:
488
+ case 7:
469
489
  case "end":
470
490
  return _context9.stop();
471
491
  }
472
492
  }, _callee9);
473
493
  })));
474
494
  test("Menu key events - Home moves the focus to the first menu item", function () {
495
+ var onSelectOption = jest.fn();
475
496
  var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
476
497
  options: options,
477
- label: "dropdown-test-1"
498
+ label: "dropdown-test-1",
499
+ onSelectOption: onSelectOption
478
500
  })),
479
501
  getByRole = _render17.getByRole;
480
502
  _react2.fireEvent.keyDown(getByRole("button"), {
@@ -484,46 +506,50 @@ describe("Dropdown component tests", function () {
484
506
  charCode: 38
485
507
  });
486
508
  var menu = getByRole("menu");
487
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
509
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
488
510
  _react2.fireEvent.keyDown(menu, {
489
511
  key: "Home",
490
512
  code: "Home",
491
513
  keyCode: 36,
492
514
  charCode: 36
493
515
  });
494
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
516
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
495
517
  });
496
518
  test("Menu key events - End moves the focus to the last menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee10() {
497
- var _render18, getByRole, menu;
519
+ var onSelectOption, _render18, getByRole, menu;
498
520
  return _regenerator["default"].wrap(function _callee10$(_context10) {
499
521
  while (1) switch (_context10.prev = _context10.next) {
500
522
  case 0:
523
+ onSelectOption = jest.fn();
501
524
  _render18 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
502
525
  options: options,
503
- label: "dropdown-test-1"
526
+ label: "dropdown-test-1",
527
+ onSelectOption: onSelectOption
504
528
  })), getByRole = _render18.getByRole;
505
- _context10.next = 3;
529
+ _context10.next = 4;
506
530
  return _userEvent["default"].click(getByRole("button"));
507
- case 3:
531
+ case 4:
508
532
  menu = getByRole("menu");
509
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
533
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
510
534
  _react2.fireEvent.keyDown(menu, {
511
535
  key: "End",
512
536
  code: "End",
513
537
  keyCode: 35,
514
538
  charCode: 35
515
539
  });
516
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
517
- case 7:
540
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
541
+ case 8:
518
542
  case "end":
519
543
  return _context10.stop();
520
544
  }
521
545
  }, _callee10);
522
546
  })));
523
547
  test("Menu key events - PageUp moves the focus to the first menu item", function () {
548
+ var onSelectOption = jest.fn();
524
549
  var _render19 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
525
550
  options: options,
526
- label: "dropdown-test-1"
551
+ label: "dropdown-test-1",
552
+ onSelectOption: onSelectOption
527
553
  })),
528
554
  getByRole = _render19.getByRole;
529
555
  _react2.fireEvent.keyDown(getByRole("button"), {
@@ -533,55 +559,59 @@ describe("Dropdown component tests", function () {
533
559
  charCode: 38
534
560
  });
535
561
  var menu = getByRole("menu");
536
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
562
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
537
563
  _react2.fireEvent.keyDown(menu, {
538
564
  key: "PageUp",
539
565
  code: "PageUp",
540
566
  keyCode: 33,
541
567
  charCode: 33
542
568
  });
543
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
569
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
544
570
  });
545
571
  test("Menu key events - PageDown moves the focus to the last menu item", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee11() {
546
- var _render20, getByRole, menu;
572
+ var onSelectOption, _render20, getByRole, menu;
547
573
  return _regenerator["default"].wrap(function _callee11$(_context11) {
548
574
  while (1) switch (_context11.prev = _context11.next) {
549
575
  case 0:
576
+ onSelectOption = jest.fn();
550
577
  _render20 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
551
578
  options: options,
552
- label: "dropdown-test-1"
579
+ label: "dropdown-test-1",
580
+ onSelectOption: onSelectOption
553
581
  })), getByRole = _render20.getByRole;
554
- _context11.next = 3;
582
+ _context11.next = 4;
555
583
  return _userEvent["default"].click(getByRole("button"));
556
- case 3:
584
+ case 4:
557
585
  menu = getByRole("menu");
558
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-0");
586
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-0"));
559
587
  _react2.fireEvent.keyDown(menu, {
560
588
  key: "PageDown",
561
589
  code: "PageDown",
562
590
  keyCode: 34,
563
591
  charCode: 34
564
592
  });
565
- expect(menu.getAttribute("aria-activedescendant")).toBe("option-3");
566
- case 7:
593
+ expect(menu.getAttribute("aria-activedescendant")).toBe("".concat(menu.id, "-option-3"));
594
+ case 8:
567
595
  case "end":
568
596
  return _context11.stop();
569
597
  }
570
598
  }, _callee11);
571
599
  })));
572
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() {
573
- var _render21, getByRole, queryByRole, dropdown;
601
+ var onSelectOption, _render21, getByRole, queryByRole, dropdown;
574
602
  return _regenerator["default"].wrap(function _callee12$(_context12) {
575
603
  while (1) switch (_context12.prev = _context12.next) {
576
604
  case 0:
605
+ onSelectOption = jest.fn();
577
606
  _render21 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
578
607
  options: options,
579
- label: "dropdown-test-1"
608
+ label: "dropdown-test-1",
609
+ onSelectOption: onSelectOption
580
610
  })), getByRole = _render21.getByRole, queryByRole = _render21.queryByRole;
581
611
  dropdown = getByRole("button");
582
- _context12.next = 4;
612
+ _context12.next = 5;
583
613
  return _userEvent["default"].click(dropdown);
584
- case 4:
614
+ case 5:
585
615
  expect(getByRole("menu")).toBeTruthy();
586
616
  _react2.fireEvent.keyDown(getByRole("menu"), {
587
617
  key: "Tab",
@@ -590,7 +620,7 @@ describe("Dropdown component tests", function () {
590
620
  charCode: 9
591
621
  });
592
622
  expect(queryByRole("menu")).toBeFalsy();
593
- case 7:
623
+ case 8:
594
624
  case "end":
595
625
  return _context12.stop();
596
626
  }
@@ -21,7 +21,7 @@ var DropdownMenu = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
21
21
  styles = _ref.styles;
22
22
  return /*#__PURE__*/_react["default"].createElement(DropdownMenuContainer, {
23
23
  onMouseDown: function onMouseDown(event) {
24
- // Prevent the onBlur event from closing menu when clicking on the menu since
24
+ // Prevent the onBlur event from closing menu when clicking on the menu since
25
25
  // it is implemented with a Portal and the menu is not a direct child of the container
26
26
  event.preventDefault();
27
27
  },
@@ -30,14 +30,14 @@ var DropdownMenu = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
30
30
  role: "menu",
31
31
  "aria-labelledby": dropdownTriggerId,
32
32
  "aria-orientation": "vertical",
33
- "aria-activedescendant": "option-".concat(visualFocusIndex),
33
+ "aria-activedescendant": visualFocusIndex !== -1 ? "".concat(id, "-option-").concat(visualFocusIndex) : undefined,
34
34
  tabIndex: -1,
35
35
  ref: ref,
36
36
  style: styles
37
37
  }, options.map(function (option, index) {
38
38
  return /*#__PURE__*/_react["default"].createElement(_DropdownMenuItem["default"], {
39
- id: "option-".concat(index),
40
- key: "option-".concat(index),
39
+ id: "".concat(id, "-option-").concat(index),
40
+ key: "".concat(id, "-option-").concat(index),
41
41
  visuallyFocused: index === visualFocusIndex,
42
42
  iconPosition: iconsPosition,
43
43
  onClick: menuItemOnClick,
@@ -8,6 +8,7 @@ exports["default"] = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
11
12
  var _templateObject, _templateObject2, _templateObject3;
12
13
  var DropdownMenuItem = function DropdownMenuItem(_ref) {
13
14
  var id = _ref.id,
@@ -24,9 +25,10 @@ var DropdownMenuItem = function DropdownMenuItem(_ref) {
24
25
  role: "menuitem",
25
26
  tabIndex: -1
26
27
  }, iconPosition === "after" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemIcon, {
27
- role: typeof option.icon === "string" ? undefined : "img"
28
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
29
- src: option.icon
28
+ role: typeof option.icon === "string" ? undefined : "img",
29
+ "aria-hidden": true
30
+ }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
31
+ icon: option.icon
30
32
  }) : option.icon), iconPosition === "before" && /*#__PURE__*/_react["default"].createElement(DropdownMenuItemLabel, null, option.label));
31
33
  };
32
34
  var DropdownMenuItemContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: ", ";\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n cursor: pointer;\n\n ", "\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
@@ -57,11 +59,13 @@ var DropdownMenuItemLabel = _styledComponents["default"].span(_templateObject2 |
57
59
  }, function (props) {
58
60
  return props.theme.optionFontColor;
59
61
  });
60
- var DropdownMenuItemIcon = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
62
+ var DropdownMenuItemIcon = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n font-size: ", ";\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
61
63
  return props.theme.optionIconColor;
62
64
  }, function (props) {
63
65
  return props.theme.optionIconSize;
64
66
  }, function (props) {
65
67
  return props.theme.optionIconSize;
68
+ }, function (props) {
69
+ return props.theme.optionIconSize;
66
70
  });
67
71
  var _default = exports["default"] = /*#__PURE__*/_react["default"].memo(DropdownMenuItem);
@@ -14,8 +14,7 @@ export type Option = {
14
14
  */
15
15
  label?: string;
16
16
  /**
17
- * Element or path used as the icon that will be placed next to the
18
- * option label.
17
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
19
18
  */
20
19
  icon?: string | SVG;
21
20
  /**
@@ -34,8 +33,7 @@ type Props = {
34
33
  */
35
34
  optionsIconPosition?: "before" | "after";
36
35
  /**
37
- * Element or path used as the icon that will be placed next to the
38
- * dropdown label.
36
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
39
37
  */
40
38
  icon?: string | SVG;
41
39
  /**
@@ -55,7 +53,7 @@ type Props = {
55
53
  */
56
54
  disabled?: boolean;
57
55
  /**
58
- * If true, the options are showed when the dropdown is hover.
56
+ * If true, the options are shown when the dropdown is hover.
59
57
  */
60
58
  expandOnHover?: boolean;
61
59
  /**
@@ -0,0 +1 @@
1
+ export {};