@laerdal/life-react-components 1.11.0-dev.4 → 1.11.0-dev.40.full

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 (602) hide show
  1. package/dist/Accordion/AccordionItem.cjs +5 -3
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +5 -3
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionMenu.cjs +2 -2
  6. package/dist/Accordion/AccordionMenu.cjs.map +1 -1
  7. package/dist/Accordion/AccordionMenu.js +2 -2
  8. package/dist/Accordion/AccordionMenu.js.map +1 -1
  9. package/dist/Accordion/ContentAccordion.cjs +5 -3
  10. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  11. package/dist/Accordion/ContentAccordion.js +5 -3
  12. package/dist/Accordion/ContentAccordion.js.map +1 -1
  13. package/dist/Accordion/index.cjs.map +1 -1
  14. package/dist/Accordion/index.js.map +1 -1
  15. package/dist/Accordion/styles.cjs.map +1 -1
  16. package/dist/Accordion/styles.js.map +1 -1
  17. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  18. package/dist/AuthPage/AuthPage.js.map +1 -1
  19. package/dist/AuthPage/Information.cjs.map +1 -1
  20. package/dist/AuthPage/Information.js.map +1 -1
  21. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
  22. package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
  23. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
  24. package/dist/AuthPage/_AuthPageSection.js.map +1 -1
  25. package/dist/AuthPage/index.cjs.map +1 -1
  26. package/dist/AuthPage/index.js.map +1 -1
  27. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
  28. package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
  29. package/dist/Banners/Banner.cjs +2 -2
  30. package/dist/Banners/Banner.cjs.map +1 -1
  31. package/dist/Banners/Banner.js +2 -2
  32. package/dist/Banners/Banner.js.map +1 -1
  33. package/dist/Banners/OverviewBanner.cjs +2 -2
  34. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  35. package/dist/Banners/OverviewBanner.js +2 -2
  36. package/dist/Banners/OverviewBanner.js.map +1 -1
  37. package/dist/Banners/index.cjs.map +1 -1
  38. package/dist/Banners/index.js.map +1 -1
  39. package/dist/Banners/styles.cjs.map +1 -1
  40. package/dist/Banners/styles.js.map +1 -1
  41. package/dist/Breadcrumb/Breadcrumb.cjs +17 -5
  42. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  43. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  44. package/dist/Breadcrumb/Breadcrumb.js +18 -6
  45. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  46. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -1
  47. package/dist/Breadcrumb/BreadcrumbItem.js.map +1 -1
  48. package/dist/Breadcrumb/index.cjs.map +1 -1
  49. package/dist/Breadcrumb/index.js.map +1 -1
  50. package/dist/Breadcrumb/styles.cjs.map +1 -1
  51. package/dist/Breadcrumb/styles.js.map +1 -1
  52. package/dist/Button/BackButton.cjs +2 -2
  53. package/dist/Button/BackButton.cjs.map +1 -1
  54. package/dist/Button/BackButton.js +2 -2
  55. package/dist/Button/BackButton.js.map +1 -1
  56. package/dist/Button/Button.cjs +2 -2
  57. package/dist/Button/Button.cjs.map +1 -1
  58. package/dist/Button/Button.js +2 -2
  59. package/dist/Button/Button.js.map +1 -1
  60. package/dist/Button/DualFunctionButton.cjs +29 -14
  61. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  62. package/dist/Button/DualFunctionButton.js +28 -14
  63. package/dist/Button/DualFunctionButton.js.map +1 -1
  64. package/dist/Button/Iconbutton.cjs +4 -4
  65. package/dist/Button/Iconbutton.cjs.map +1 -1
  66. package/dist/Button/Iconbutton.js +4 -4
  67. package/dist/Button/Iconbutton.js.map +1 -1
  68. package/dist/Button/index.cjs.map +1 -1
  69. package/dist/Button/index.js.map +1 -1
  70. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  71. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  72. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  73. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  74. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  75. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  76. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  77. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  78. package/dist/Card/HorizontalCard/index.cjs.map +1 -1
  79. package/dist/Card/HorizontalCard/index.js.map +1 -1
  80. package/dist/Card/HorizontalCard/types.cjs.map +1 -1
  81. package/dist/Card/HorizontalCard/types.js.map +1 -1
  82. package/dist/Card/VerticalCard/Card.cjs +2 -2
  83. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  84. package/dist/Card/VerticalCard/Card.js +2 -2
  85. package/dist/Card/VerticalCard/Card.js.map +1 -1
  86. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  87. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  88. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  89. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  90. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  91. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  92. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  93. package/dist/Card/VerticalCard/index.js.map +1 -1
  94. package/dist/Card/index.cjs.map +1 -1
  95. package/dist/Card/index.js.map +1 -1
  96. package/dist/Chips/ActionChip.cjs +2 -2
  97. package/dist/Chips/ActionChip.cjs.map +1 -1
  98. package/dist/Chips/ActionChip.js +2 -2
  99. package/dist/Chips/ActionChip.js.map +1 -1
  100. package/dist/Chips/ChipStyles.cjs.map +1 -1
  101. package/dist/Chips/ChipStyles.js.map +1 -1
  102. package/dist/Chips/ChipTypes.cjs.map +1 -1
  103. package/dist/Chips/ChipTypes.js.map +1 -1
  104. package/dist/Chips/ChoiceChips.cjs +2 -2
  105. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  106. package/dist/Chips/ChoiceChips.js +2 -2
  107. package/dist/Chips/ChoiceChips.js.map +1 -1
  108. package/dist/Chips/FilterChip.cjs +2 -2
  109. package/dist/Chips/FilterChip.cjs.map +1 -1
  110. package/dist/Chips/FilterChip.js +2 -2
  111. package/dist/Chips/FilterChip.js.map +1 -1
  112. package/dist/Chips/InputChip.cjs +2 -2
  113. package/dist/Chips/InputChip.cjs.map +1 -1
  114. package/dist/Chips/InputChip.js +2 -2
  115. package/dist/Chips/InputChip.js.map +1 -1
  116. package/dist/Chips/index.cjs.map +1 -1
  117. package/dist/Chips/index.js.map +1 -1
  118. package/dist/ChipsInput/ChipDropdownInput.cjs +34 -23
  119. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  120. package/dist/ChipsInput/ChipDropdownInput.js +34 -23
  121. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  122. package/dist/ChipsInput/ChipInput.cjs +2 -2
  123. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  124. package/dist/ChipsInput/ChipInput.js +2 -2
  125. package/dist/ChipsInput/ChipInput.js.map +1 -1
  126. package/dist/ChipsInput/ChipInputField.cjs +2 -2
  127. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  128. package/dist/ChipsInput/ChipInputField.js +2 -2
  129. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  130. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -1
  131. package/dist/ChipsInput/ChipInputTypes.js.map +1 -1
  132. package/dist/ChipsInput/index.cjs.map +1 -1
  133. package/dist/ChipsInput/index.js.map +1 -1
  134. package/dist/Dropdown/BasicDropdown.cjs +28 -14
  135. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  136. package/dist/Dropdown/BasicDropdown.js +28 -14
  137. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  138. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  139. package/dist/Dropdown/CommonStyling.js.map +1 -1
  140. package/dist/Dropdown/DropdownButton.cjs +27 -11
  141. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  142. package/dist/Dropdown/DropdownButton.js +27 -11
  143. package/dist/Dropdown/DropdownButton.js.map +1 -1
  144. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -1
  145. package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -0
  146. package/dist/Dropdown/DropdownButtonTypes.js.map +1 -1
  147. package/dist/Dropdown/DropdownContent.cjs +43 -5
  148. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  149. package/dist/Dropdown/DropdownContent.d.ts +2 -0
  150. package/dist/Dropdown/DropdownContent.js +43 -5
  151. package/dist/Dropdown/DropdownContent.js.map +1 -1
  152. package/dist/Dropdown/DropdownFilter.cjs +25 -11
  153. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  154. package/dist/Dropdown/DropdownFilter.js +25 -11
  155. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  156. package/dist/Dropdown/index.cjs.map +1 -1
  157. package/dist/Dropdown/index.js.map +1 -1
  158. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
  159. package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
  160. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  161. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  162. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
  163. package/dist/Footer/Components/FooterNavSection.js.map +1 -1
  164. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  165. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  166. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  167. package/dist/Footer/Components/FooterTop.js.map +1 -1
  168. package/dist/Footer/Footer.cjs.map +1 -1
  169. package/dist/Footer/Footer.js.map +1 -1
  170. package/dist/Footer/SiteFooter.cjs +2 -2
  171. package/dist/Footer/SiteFooter.cjs.map +1 -1
  172. package/dist/Footer/SiteFooter.js +2 -2
  173. package/dist/Footer/SiteFooter.js.map +1 -1
  174. package/dist/Footer/index.cjs.map +1 -1
  175. package/dist/Footer/index.js.map +1 -1
  176. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +2 -2
  177. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  178. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +2 -2
  179. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  180. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  181. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  182. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -2
  183. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  184. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  185. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  186. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  187. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  188. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +2 -4
  189. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  190. package/dist/GlobalNavigationBar/desktop/MainMenu.js +2 -4
  191. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  192. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +0 -1
  193. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  194. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +0 -1
  195. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  196. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  197. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  198. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  199. package/dist/GlobalNavigationBar/index.js.map +1 -1
  200. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +24 -2
  201. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  202. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +7 -2
  203. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +8 -2
  204. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  205. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +53 -0
  206. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -0
  207. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.d.ts +6 -0
  208. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +34 -0
  209. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -0
  210. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +3 -5
  211. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  212. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -4
  213. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  214. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +30 -61
  215. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  216. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +30 -57
  217. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  218. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +2 -2
  219. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  220. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +2 -2
  221. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  222. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  223. package/dist/GlobalNavigationBar/types.d.ts +3 -1
  224. package/dist/GlobalNavigationBar/types.js.map +1 -1
  225. package/dist/HyperLink/HyperLink.cjs +2 -2
  226. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  227. package/dist/HyperLink/HyperLink.js +2 -2
  228. package/dist/HyperLink/HyperLink.js.map +1 -1
  229. package/dist/HyperLink/index.cjs.map +1 -1
  230. package/dist/HyperLink/index.js.map +1 -1
  231. package/dist/HyperLink/styling.cjs.map +1 -1
  232. package/dist/HyperLink/styling.js.map +1 -1
  233. package/dist/Image/ImageWithFallbacks.cjs +2 -2
  234. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  235. package/dist/Image/ImageWithFallbacks.js +2 -2
  236. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  237. package/dist/Image/index.cjs.map +1 -1
  238. package/dist/Image/index.js.map +1 -1
  239. package/dist/InputFields/Checkbox.cjs +3 -2
  240. package/dist/InputFields/Checkbox.cjs.map +1 -1
  241. package/dist/InputFields/Checkbox.js +3 -2
  242. package/dist/InputFields/Checkbox.js.map +1 -1
  243. package/dist/InputFields/DatepickerField.cjs +14 -6
  244. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  245. package/dist/InputFields/DatepickerField.d.ts +1 -1
  246. package/dist/InputFields/DatepickerField.js +8 -6
  247. package/dist/InputFields/DatepickerField.js.map +1 -1
  248. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  249. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  250. package/dist/InputFields/Label.cjs.map +1 -1
  251. package/dist/InputFields/Label.js.map +1 -1
  252. package/dist/InputFields/NumberField.cjs +26 -44
  253. package/dist/InputFields/NumberField.cjs.map +1 -1
  254. package/dist/InputFields/NumberField.d.ts +5 -6
  255. package/dist/InputFields/NumberField.js +26 -41
  256. package/dist/InputFields/NumberField.js.map +1 -1
  257. package/dist/InputFields/PasswordField.cjs +2 -2
  258. package/dist/InputFields/PasswordField.cjs.map +1 -1
  259. package/dist/InputFields/PasswordField.d.ts +1 -1
  260. package/dist/InputFields/PasswordField.js +2 -2
  261. package/dist/InputFields/PasswordField.js.map +1 -1
  262. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  263. package/dist/InputFields/QuickSearch.js.map +1 -1
  264. package/dist/InputFields/RadioButton.cjs +2 -2
  265. package/dist/InputFields/RadioButton.cjs.map +1 -1
  266. package/dist/InputFields/RadioButton.js +2 -2
  267. package/dist/InputFields/RadioButton.js.map +1 -1
  268. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
  269. package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
  270. package/dist/InputFields/SearchBar.cjs +1 -0
  271. package/dist/InputFields/SearchBar.cjs.map +1 -1
  272. package/dist/InputFields/SearchBar.js +1 -0
  273. package/dist/InputFields/SearchBar.js.map +1 -1
  274. package/dist/InputFields/TextField.cjs +2 -2
  275. package/dist/InputFields/TextField.cjs.map +1 -1
  276. package/dist/InputFields/TextField.d.ts +1 -1
  277. package/dist/InputFields/TextField.js +2 -2
  278. package/dist/InputFields/TextField.js.map +1 -1
  279. package/dist/InputFields/Textarea.cjs +2 -2
  280. package/dist/InputFields/Textarea.cjs.map +1 -1
  281. package/dist/InputFields/Textarea.d.ts +2 -2
  282. package/dist/InputFields/Textarea.js +2 -2
  283. package/dist/InputFields/Textarea.js.map +1 -1
  284. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  285. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  286. package/dist/InputFields/components/SearchField.cjs +2 -2
  287. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  288. package/dist/InputFields/components/SearchField.js +2 -2
  289. package/dist/InputFields/components/SearchField.js.map +1 -1
  290. package/dist/InputFields/index.cjs.map +1 -1
  291. package/dist/InputFields/index.js.map +1 -1
  292. package/dist/InputFields/styling.cjs.map +1 -1
  293. package/dist/InputFields/styling.js.map +1 -1
  294. package/dist/InputFields/types.cjs.map +1 -1
  295. package/dist/InputFields/types.d.ts +1 -0
  296. package/dist/InputFields/types.js.map +1 -1
  297. package/dist/Layouts/index.cjs.map +1 -1
  298. package/dist/Layouts/index.js.map +1 -1
  299. package/dist/LinearProgress/LinearProgress.cjs +2 -2
  300. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  301. package/dist/LinearProgress/LinearProgress.js +2 -2
  302. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  303. package/dist/LinearProgress/index.cjs.map +1 -1
  304. package/dist/LinearProgress/index.js.map +1 -1
  305. package/dist/List/ListRow.cjs +2 -2
  306. package/dist/List/ListRow.cjs.map +1 -1
  307. package/dist/List/ListRow.js +2 -2
  308. package/dist/List/ListRow.js.map +1 -1
  309. package/dist/List/index.cjs.map +1 -1
  310. package/dist/List/index.js.map +1 -1
  311. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  312. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  313. package/dist/LoadingIndicator/index.cjs.map +1 -1
  314. package/dist/LoadingIndicator/index.js.map +1 -1
  315. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  316. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  317. package/dist/LoadingPage/index.cjs.map +1 -1
  318. package/dist/LoadingPage/index.js.map +1 -1
  319. package/dist/MenuItem/MenuItem.cjs +2 -2
  320. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  321. package/dist/MenuItem/MenuItem.d.ts +1 -1
  322. package/dist/MenuItem/MenuItem.js +2 -2
  323. package/dist/MenuItem/MenuItem.js.map +1 -1
  324. package/dist/MenuItem/index.cjs.map +1 -1
  325. package/dist/MenuItem/index.js.map +1 -1
  326. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  327. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  328. package/dist/MiniProductCard/index.cjs.map +1 -1
  329. package/dist/MiniProductCard/index.js.map +1 -1
  330. package/dist/Modals/Modal.cjs.map +1 -1
  331. package/dist/Modals/Modal.js.map +1 -1
  332. package/dist/Modals/ModalContainer.cjs +3 -3
  333. package/dist/Modals/ModalContainer.cjs.map +1 -1
  334. package/dist/Modals/ModalContainer.js +3 -3
  335. package/dist/Modals/ModalContainer.js.map +1 -1
  336. package/dist/Modals/ModalContent.cjs +4 -3
  337. package/dist/Modals/ModalContent.cjs.map +1 -1
  338. package/dist/Modals/ModalContent.d.ts +1 -0
  339. package/dist/Modals/ModalContent.js +4 -3
  340. package/dist/Modals/ModalContent.js.map +1 -1
  341. package/dist/Modals/ModalDialog.cjs +1 -0
  342. package/dist/Modals/ModalDialog.cjs.map +1 -1
  343. package/dist/Modals/ModalDialog.d.ts +1 -0
  344. package/dist/Modals/ModalDialog.js +1 -0
  345. package/dist/Modals/ModalDialog.js.map +1 -1
  346. package/dist/Modals/ModalNote.cjs.map +1 -1
  347. package/dist/Modals/ModalNote.js.map +1 -1
  348. package/dist/Modals/ModalStyles.cjs.map +1 -1
  349. package/dist/Modals/ModalStyles.js.map +1 -1
  350. package/dist/Modals/ModalTypes.cjs.map +1 -1
  351. package/dist/Modals/ModalTypes.js.map +1 -1
  352. package/dist/Modals/index.cjs.map +1 -1
  353. package/dist/Modals/index.js.map +1 -1
  354. package/dist/NavItem/NavItem.cjs.map +1 -1
  355. package/dist/NavItem/NavItem.js.map +1 -1
  356. package/dist/NavItem/index.cjs.map +1 -1
  357. package/dist/NavItem/index.js.map +1 -1
  358. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  359. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  360. package/dist/NotificationDot/index.cjs.map +1 -1
  361. package/dist/NotificationDot/index.js.map +1 -1
  362. package/dist/Paginator/Paginator.cjs +2 -2
  363. package/dist/Paginator/Paginator.cjs.map +1 -1
  364. package/dist/Paginator/Paginator.js +3 -3
  365. package/dist/Paginator/Paginator.js.map +1 -1
  366. package/dist/Paginator/index.cjs.map +1 -1
  367. package/dist/Paginator/index.js.map +1 -1
  368. package/dist/Popover/Popover.cjs.map +1 -1
  369. package/dist/Popover/Popover.js.map +1 -1
  370. package/dist/Popover/index.cjs.map +1 -1
  371. package/dist/Popover/index.js.map +1 -1
  372. package/dist/ProfileButton/ProfileButton.cjs +2 -2
  373. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  374. package/dist/ProfileButton/ProfileButton.d.ts +1 -1
  375. package/dist/ProfileButton/ProfileButton.js +2 -2
  376. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  377. package/dist/ProfileButton/index.cjs.map +1 -1
  378. package/dist/ProfileButton/index.js.map +1 -1
  379. package/dist/QuizButton/QuizButton.cjs +5 -3
  380. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  381. package/dist/QuizButton/QuizButton.js +5 -3
  382. package/dist/QuizButton/QuizButton.js.map +1 -1
  383. package/dist/QuizButton/index.cjs.map +1 -1
  384. package/dist/QuizButton/index.js.map +1 -1
  385. package/dist/SegmentControl/SegmentControl.cjs +2 -2
  386. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  387. package/dist/SegmentControl/SegmentControl.js +2 -2
  388. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  389. package/dist/SegmentControl/index.cjs.map +1 -1
  390. package/dist/SegmentControl/index.js.map +1 -1
  391. package/dist/Services/functions.cjs.map +1 -1
  392. package/dist/Services/functions.js.map +1 -1
  393. package/dist/SideMenu/SideMenu.cjs +2 -2
  394. package/dist/SideMenu/SideMenu.cjs.map +1 -1
  395. package/dist/SideMenu/SideMenu.js +2 -2
  396. package/dist/SideMenu/SideMenu.js.map +1 -1
  397. package/dist/SideMenu/SideMenuBody.cjs.map +1 -1
  398. package/dist/SideMenu/SideMenuBody.js.map +1 -1
  399. package/dist/SideMenu/SideMenuFooter.cjs +2 -2
  400. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
  401. package/dist/SideMenu/SideMenuFooter.js +2 -2
  402. package/dist/SideMenu/SideMenuFooter.js.map +1 -1
  403. package/dist/SideMenu/SideMenuHeader.cjs +2 -2
  404. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  405. package/dist/SideMenu/SideMenuHeader.js +2 -2
  406. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  407. package/dist/SideMenu/index.cjs.map +1 -1
  408. package/dist/SideMenu/index.js.map +1 -1
  409. package/dist/SideMenu/types.cjs.map +1 -1
  410. package/dist/SideMenu/types.js.map +1 -1
  411. package/dist/SkipToContent/SkipToContent.cjs +5 -0
  412. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  413. package/dist/SkipToContent/SkipToContent.d.ts +3 -1
  414. package/dist/SkipToContent/SkipToContent.js +4 -0
  415. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  416. package/dist/SkipToContent/index.cjs.map +1 -1
  417. package/dist/SkipToContent/index.js.map +1 -1
  418. package/dist/Switcher/MobileCustomMenuContent.cjs +56 -0
  419. package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -0
  420. package/dist/Switcher/MobileCustomMenuContent.d.ts +8 -0
  421. package/dist/Switcher/MobileCustomMenuContent.js +39 -0
  422. package/dist/Switcher/MobileCustomMenuContent.js.map +1 -0
  423. package/dist/Switcher/MobileSwitcherMenu.cjs +17 -4
  424. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  425. package/dist/Switcher/MobileSwitcherMenu.d.ts +5 -2
  426. package/dist/Switcher/MobileSwitcherMenu.js +16 -4
  427. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  428. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  429. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  430. package/dist/Switcher/index.cjs.map +1 -1
  431. package/dist/Switcher/index.js.map +1 -1
  432. package/dist/Table/Table.cjs +17 -9
  433. package/dist/Table/Table.cjs.map +1 -1
  434. package/dist/Table/Table.js +17 -9
  435. package/dist/Table/Table.js.map +1 -1
  436. package/dist/Table/TableBody.cjs +8 -7
  437. package/dist/Table/TableBody.cjs.map +1 -1
  438. package/dist/Table/TableBody.d.ts +1 -3
  439. package/dist/Table/TableBody.js +8 -7
  440. package/dist/Table/TableBody.js.map +1 -1
  441. package/dist/Table/TableFooter.cjs.map +1 -1
  442. package/dist/Table/TableFooter.js.map +1 -1
  443. package/dist/Table/TableHeaders.cjs +2 -2
  444. package/dist/Table/TableHeaders.cjs.map +1 -1
  445. package/dist/Table/TableHeaders.js +2 -2
  446. package/dist/Table/TableHeaders.js.map +1 -1
  447. package/dist/Table/TableStyles.cjs +1 -1
  448. package/dist/Table/TableStyles.cjs.map +1 -1
  449. package/dist/Table/TableStyles.js +1 -1
  450. package/dist/Table/TableStyles.js.map +1 -1
  451. package/dist/Table/TableTypes.cjs.map +1 -1
  452. package/dist/Table/TableTypes.d.ts +6 -1
  453. package/dist/Table/TableTypes.js.map +1 -1
  454. package/dist/Table/index.cjs.map +1 -1
  455. package/dist/Table/index.d.ts +1 -1
  456. package/dist/Table/index.js.map +1 -1
  457. package/dist/Tabs/HorizontalTabs.cjs +2 -2
  458. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  459. package/dist/Tabs/HorizontalTabs.js +2 -2
  460. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  461. package/dist/Tabs/TabLink.cjs +16 -20
  462. package/dist/Tabs/TabLink.cjs.map +1 -1
  463. package/dist/Tabs/TabLink.d.ts +1 -1
  464. package/dist/Tabs/TabLink.js +17 -20
  465. package/dist/Tabs/TabLink.js.map +1 -1
  466. package/dist/Tabs/Tabs.cjs.map +1 -1
  467. package/dist/Tabs/Tabs.js.map +1 -1
  468. package/dist/Tabs/VerticalTabs.cjs +1 -2
  469. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  470. package/dist/Tabs/VerticalTabs.d.ts +1 -3
  471. package/dist/Tabs/VerticalTabs.js +1 -2
  472. package/dist/Tabs/VerticalTabs.js.map +1 -1
  473. package/dist/Tabs/index.cjs.map +1 -1
  474. package/dist/Tabs/index.js.map +1 -1
  475. package/dist/Tag/Tag.cjs +2 -2
  476. package/dist/Tag/Tag.cjs.map +1 -1
  477. package/dist/Tag/Tag.js +2 -2
  478. package/dist/Tag/Tag.js.map +1 -1
  479. package/dist/Tag/index.cjs.map +1 -1
  480. package/dist/Tag/index.js.map +1 -1
  481. package/dist/Tile/Tile.cjs +2 -2
  482. package/dist/Tile/Tile.cjs.map +1 -1
  483. package/dist/Tile/Tile.js +2 -2
  484. package/dist/Tile/Tile.js.map +1 -1
  485. package/dist/Tile/TileBody.cjs.map +1 -1
  486. package/dist/Tile/TileBody.d.ts +1 -0
  487. package/dist/Tile/TileBody.js.map +1 -1
  488. package/dist/Tile/TileCommonItems.cjs +2 -2
  489. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  490. package/dist/Tile/TileCommonItems.js +2 -2
  491. package/dist/Tile/TileCommonItems.js.map +1 -1
  492. package/dist/Tile/TileFooter.cjs.map +1 -1
  493. package/dist/Tile/TileFooter.js.map +1 -1
  494. package/dist/Tile/TileHeader.cjs.map +1 -1
  495. package/dist/Tile/TileHeader.js.map +1 -1
  496. package/dist/Tile/TileTypes.cjs.map +1 -1
  497. package/dist/Tile/TileTypes.js.map +1 -1
  498. package/dist/Tile/index.cjs.map +1 -1
  499. package/dist/Tile/index.js.map +1 -1
  500. package/dist/Toasters/Toast.cjs +2 -2
  501. package/dist/Toasters/Toast.cjs.map +1 -1
  502. package/dist/Toasters/Toast.js +2 -2
  503. package/dist/Toasters/Toast.js.map +1 -1
  504. package/dist/Toasters/ToastContext.cjs +7 -2
  505. package/dist/Toasters/ToastContext.cjs.map +1 -1
  506. package/dist/Toasters/ToastContext.d.ts +6 -4
  507. package/dist/Toasters/ToastContext.js +6 -2
  508. package/dist/Toasters/ToastContext.js.map +1 -1
  509. package/dist/Toasters/index.cjs.map +1 -1
  510. package/dist/Toasters/index.js.map +1 -1
  511. package/dist/Toggles/ToggleButton.cjs +2 -2
  512. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  513. package/dist/Toggles/ToggleButton.js +2 -2
  514. package/dist/Toggles/ToggleButton.js.map +1 -1
  515. package/dist/Toggles/ToggleSwitch.cjs +2 -2
  516. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  517. package/dist/Toggles/ToggleSwitch.js +2 -2
  518. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  519. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  520. package/dist/Toggles/TogglerStyles.js.map +1 -1
  521. package/dist/Toggles/TogglerTypes.cjs.map +1 -1
  522. package/dist/Toggles/TogglerTypes.js.map +1 -1
  523. package/dist/Toggles/index.cjs.map +1 -1
  524. package/dist/Toggles/index.js.map +1 -1
  525. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  526. package/dist/Tooltips/TooltipStyles.d.ts +1 -1
  527. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  528. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  529. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  530. package/dist/Tooltips/TooltipWrapper.cjs +2 -2
  531. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  532. package/dist/Tooltips/TooltipWrapper.js +2 -2
  533. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  534. package/dist/Tooltips/index.cjs.map +1 -1
  535. package/dist/Tooltips/index.js.map +1 -1
  536. package/dist/assets/index.cjs.map +1 -1
  537. package/dist/assets/index.js.map +1 -1
  538. package/dist/common/ActionWithin.cjs.map +1 -1
  539. package/dist/common/ActionWithin.js.map +1 -1
  540. package/dist/common/ClickOutside.cjs.map +1 -1
  541. package/dist/common/ClickOutside.js.map +1 -1
  542. package/dist/common/EventHandlers.cjs.map +1 -1
  543. package/dist/common/EventHandlers.js.map +1 -1
  544. package/dist/common/FocusOutside.cjs.map +1 -1
  545. package/dist/common/FocusOutside.js.map +1 -1
  546. package/dist/common/FocusVisible.cjs.map +1 -1
  547. package/dist/common/FocusVisible.d.ts +1 -1
  548. package/dist/common/FocusVisible.js.map +1 -1
  549. package/dist/common/InputStyling.cjs.map +1 -1
  550. package/dist/common/InputStyling.js.map +1 -1
  551. package/dist/common/NavigationHelper.cjs +8 -6
  552. package/dist/common/NavigationHelper.cjs.map +1 -1
  553. package/dist/common/NavigationHelper.js +9 -7
  554. package/dist/common/NavigationHelper.js.map +1 -1
  555. package/dist/common/ScrollableContainer.cjs +44 -0
  556. package/dist/common/ScrollableContainer.cjs.map +1 -0
  557. package/dist/common/ScrollableContainer.d.ts +2 -0
  558. package/dist/common/ScrollableContainer.js +28 -0
  559. package/dist/common/ScrollableContainer.js.map +1 -0
  560. package/dist/common/StackState.cjs.map +1 -1
  561. package/dist/common/StackState.js.map +1 -1
  562. package/dist/common/index.cjs.map +1 -1
  563. package/dist/common/index.js.map +1 -1
  564. package/dist/icons/contenticons/ContentIcons.cjs +83 -2
  565. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  566. package/dist/icons/contenticons/ContentIcons.d.ts +3 -0
  567. package/dist/icons/contenticons/ContentIcons.js +72 -0
  568. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  569. package/dist/icons/index.cjs +14 -7
  570. package/dist/icons/index.cjs.map +1 -1
  571. package/dist/icons/index.d.ts +1 -0
  572. package/dist/icons/index.js +14 -7
  573. package/dist/icons/index.js.map +1 -1
  574. package/dist/icons/systemicons/SystemIcons.cjs +30 -1
  575. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  576. package/dist/icons/systemicons/SystemIcons.d.ts +1 -0
  577. package/dist/icons/systemicons/SystemIcons.js +26 -0
  578. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  579. package/dist/index.cjs.map +1 -1
  580. package/dist/index.js.map +1 -1
  581. package/dist/styles/breakpoints.cjs.map +1 -1
  582. package/dist/styles/breakpoints.js.map +1 -1
  583. package/dist/styles/colors.cjs.map +1 -1
  584. package/dist/styles/colors.js.map +1 -1
  585. package/dist/styles/focus-styles.cjs.map +1 -1
  586. package/dist/styles/focus-styles.js.map +1 -1
  587. package/dist/styles/global.cjs.map +1 -1
  588. package/dist/styles/global.js.map +1 -1
  589. package/dist/styles/index.cjs.map +1 -1
  590. package/dist/styles/index.js.map +1 -1
  591. package/dist/styles/shadowstyles.cjs.map +1 -1
  592. package/dist/styles/shadowstyles.js.map +1 -1
  593. package/dist/styles/typography.cjs +24 -12
  594. package/dist/styles/typography.cjs.map +1 -1
  595. package/dist/styles/typography.d.ts +2 -0
  596. package/dist/styles/typography.js +24 -12
  597. package/dist/styles/typography.js.map +1 -1
  598. package/dist/styles/z-indexes.cjs.map +1 -1
  599. package/dist/styles/z-indexes.js.map +1 -1
  600. package/dist/types.cjs.map +1 -1
  601. package/dist/types.js.map +1 -1
  602. package/package.json +50 -44
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/CommonStyling.tsx"],"names":["styled","css","CommonInteractionStyling","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","ComponentMStyling","ComponentSStyling","ComponentXSStyling","ComponentXXSStyling","Z_INDEXES","Dropdown","div","props","isButton","minWidth","readOnly","disabled","margin","focus","primary_600","primary_800","lockedState","neutral_100","neutral_300","neutral_600","disabledState","white","activeValidationMessage","critical_400","placeholderStyling","Italic","InputField","input","black","StyledField","Regular","neutral_400","MEDIUM","isPlaceholder","undefined","primary_200","primary_300","Bold","neutral_800","neutral_20","showValidationMessage","dropdown","ButtonDropdownContentStyling","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownArrow","TextButtonDropdownText","TextButtonDropdownWrapper","primary_20","primary_700","primary_100"],"mappings":"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","sourcesContent":["import styled, {css} from 'styled-components';\nimport {CommonInteractionStyling} from '../common';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {\n ComponentMStyling,\n ComponentLStyling,\n ComponentSStyling,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../styles/typography';\nimport {Size} from '../types';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nexport const Dropdown = styled.div<{ isButton: boolean; readOnly?: boolean; disabled?: boolean; margin?: string; minWidth?: string }>`\n display: inline-block;\n\n ${(props) => !props.isButton && (props?.minWidth ? `width: 100%; min-width: ${props.minWidth};` : 'width: 100%; min-width: 344px;')}\n ${(props) => (props.readOnly || props.disabled ? 'cursor: not-allowed;' : '')}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n .show {\n display: block;\n }\n\n .value {\n flex-grow: 1;\n }\n\n &:focus-within {\n z-index: ${Z_INDEXES.focus};\n }\n\n input:hover + div {\n color: ${COLORS.primary_600};\n }\n\n input:active + div {\n color: ${COLORS.primary_800};\n }\n\n\n`;\n\nconst lockedState = css`\n background-color: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n color: ${COLORS.neutral_600};\n pointer-events: none;\n cursor: not-allowed;\n\n input {\n color: ${COLORS.neutral_600} !important;\n }\n\n .dropdown-arrow {\n color: ${COLORS.neutral_300} !important;\n }\n`;\n\nconst disabledState = css`\n background-color: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n pointer-events: none;\n cursor: not-allowed;\n\n .dropdown-arrow {\n color: ${COLORS.neutral_300} !important;\n }\n\n input {\n color: ${COLORS.neutral_300} !important;\n\n ::placeholder {\n color: ${COLORS.neutral_300} !important;\n }\n }\n`;\n\nconst activeValidationMessage = css`\n box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_400};\n`;\n\nconst placeholderStyling = css`\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n`;\n\nexport const InputField = styled.input`\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n flex-grow: 1;\n display: flex;\n justify-content: center;\n\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n`;\n\nexport const StyledField = styled.div<{ disabled: boolean; readOnly: boolean; showValidationMessage?: boolean; isPlaceholder?: boolean; fontSize?: string; minWidth?: string }>`\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n padding: 12px 16px;\n height: 48px;\n min-width: ${(props) => (props.minWidth ? `${props.minWidth}` : '344px')};\n width: 100%;\n\n background: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n box-sizing: border-box;\n border-radius: 4px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 4px;\n position: relative;\n\n input {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 16px;\n height: 56px;\n\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 12px 16px;\n height: 48px;\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n height: 56px;\n padding: 16px;\n\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n .dropdown-arrow {\n pointer-events: none;\n width: 24px;\n height: 24px;\n color: ${(props) => props.isPlaceholder ? COLORS.neutral_600 : undefined};\n }\n\n &:focus {\n outline: 3px solid #ddd;\n }\n\n &:focus-within,\n &.focus-visible-within {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n\n &:hover:not(.action-within) {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_200};\n\n input {\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n }\n\n .dropdown-arrow {\n color: ${COLORS.primary_600};\n }\n\n cursor: pointer;\n }\n\n &:active:not(.action-within) {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_300};\n\n input {\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n\n .dropdown-arrow {\n color: ${COLORS.primary_800};\n }\n }\n\n &.button {\n ${(props) => ComponentSStyling(ComponentTextStyle.Bold, props.disabled ? COLORS.neutral_300 : COLORS.neutral_600)}\n\n box-sizing: border-box;\n height: 32px;\n padding: 0 8px;\n width: initial;\n min-width: initial;\n border: none !important;\n box-shadow: none;\n border-radius: 4px;\n\n &.expanded {\n color: ${COLORS.neutral_800};\n background: ${COLORS.neutral_20};\n }\n }\n\n\n ${(props) => (props.disabled ? disabledState : '')}\n ${(props) => (props.readOnly ? lockedState : '')}\n ${(props) => (props.showValidationMessage ? activeValidationMessage : '')}\n ${(props) => (props.isPlaceholder ? placeholderStyling : '')}\n\n ${CommonInteractionStyling};\n\n &.focus-visible,\n &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n ${focusStyles}\n }\n`;\n\nexport const ButtonDropdownContentStyling = css`\n min-width: 344px;\n`;\n\n\n\nexport const TextButtonDropdownContent = styled.div`\n display: flex;\n gap: 4px;\n align-items: center;\n box-sizing: border-box;\n min-width: 64px;\n min-height: 32px;\n padding: 4px 8px;\n border-radius: 4px;\n`;\n\nexport const TextButtonDropdownIcon = styled.div`\n width: 24px;\n height: 24px;\n`;\n\nexport const TextButtonDropdownArrow = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n pointer-events: none;\n }\n`;\n\nexport const TextButtonDropdownText = styled.div`\n flex: 1\n`;\n\nexport const TextButtonDropdownWrapper = styled.div`\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n align-items: center;\n width: fit-content;\n cursor: pointer;\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n\n .expanded {\n color: ${COLORS.neutral_800};\n\n ${TextButtonDropdownContent} {\n background: ${COLORS.neutral_20};\n }\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:hover:not(.disabled) {\n ${TextButtonDropdownContent} {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n }\n\n &:active:not(.disabled) {\n ${TextButtonDropdownContent} {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n color: ${COLORS.neutral_300};\n }\n\n}`;\n"],"file":"CommonStyling.js"}
1
+ {"version":3,"file":"CommonStyling.js","names":["styled","css","CommonInteractionStyling","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","ComponentMStyling","ComponentSStyling","ComponentXSStyling","ComponentXXSStyling","Z_INDEXES","Dropdown","div","props","isButton","minWidth","readOnly","disabled","margin","focus","primary_600","primary_800","lockedState","neutral_100","neutral_300","neutral_600","disabledState","white","activeValidationMessage","critical_400","placeholderStyling","Italic","InputField","input","black","StyledField","Regular","neutral_400","MEDIUM","isPlaceholder","undefined","primary_200","primary_300","Bold","neutral_800","neutral_20","showValidationMessage","dropdown","ButtonDropdownContentStyling","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownArrow","TextButtonDropdownText","TextButtonDropdownWrapper","primary_20","primary_700","primary_100"],"sources":["../../src/Dropdown/CommonStyling.tsx"],"sourcesContent":["import styled, {css} from 'styled-components';\nimport {CommonInteractionStyling} from '../common';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {\n ComponentMStyling,\n ComponentLStyling,\n ComponentSStyling,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../styles/typography';\nimport {Size} from '../types';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nexport const Dropdown = styled.div<{ isButton: boolean; readOnly?: boolean; disabled?: boolean; margin?: string; minWidth?: string }>`\n display: inline-block;\n\n ${(props) => !props.isButton && (props?.minWidth ? `width: 100%; min-width: ${props.minWidth};` : 'width: 100%; min-width: 344px;')}\n ${(props) => (props.readOnly || props.disabled ? 'cursor: not-allowed;' : '')}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n .show {\n display: block;\n }\n\n .value {\n flex-grow: 1;\n }\n\n &:focus-within {\n z-index: ${Z_INDEXES.focus};\n }\n\n input:hover + div {\n color: ${COLORS.primary_600};\n }\n\n input:active + div {\n color: ${COLORS.primary_800};\n }\n\n\n`;\n\nconst lockedState = css`\n background-color: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n color: ${COLORS.neutral_600};\n pointer-events: none;\n cursor: not-allowed;\n\n input {\n color: ${COLORS.neutral_600} !important;\n }\n\n .dropdown-arrow {\n color: ${COLORS.neutral_300} !important;\n }\n`;\n\nconst disabledState = css`\n background-color: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n pointer-events: none;\n cursor: not-allowed;\n\n .dropdown-arrow {\n color: ${COLORS.neutral_300} !important;\n }\n\n input {\n color: ${COLORS.neutral_300} !important;\n\n ::placeholder {\n color: ${COLORS.neutral_300} !important;\n }\n }\n`;\n\nconst activeValidationMessage = css`\n box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_400};\n`;\n\nconst placeholderStyling = css`\n ${ComponentMStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n`;\n\nexport const InputField = styled.input`\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n color: ${COLORS.black} !important;\n padding: 0;\n flex-grow: 1;\n display: flex;\n justify-content: center;\n\n ::-webkit-search-decoration,\n ::-webkit-search-cancel-button,\n ::-webkit-search-results-button,\n ::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n`;\n\nexport const StyledField = styled.div<{ disabled: boolean; readOnly: boolean; showValidationMessage?: boolean; isPlaceholder?: boolean; fontSize?: string; minWidth?: string }>`\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n padding: 12px 16px;\n height: 48px;\n min-width: ${(props) => (props.minWidth ? `${props.minWidth}` : '344px')};\n width: 100%;\n\n background: ${COLORS.white};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n box-sizing: border-box;\n border-radius: 4px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 4px;\n position: relative;\n\n input {\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n }\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 16px;\n height: 56px;\n\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n padding: 12px 16px;\n height: 48px;\n\n &::placeholder {\n ${ComponentXXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, 'inherit')}\n height: 56px;\n padding: 16px;\n\n &::placeholder {\n ${ComponentXSStyling(ComponentTextStyle.Italic, COLORS.neutral_600)}\n }\n }\n\n .dropdown-arrow {\n pointer-events: none;\n width: 24px;\n height: 24px;\n color: ${(props) => props.isPlaceholder ? COLORS.neutral_600 : undefined};\n }\n\n &:focus {\n outline: 3px solid #ddd;\n }\n\n &:focus-within,\n &.focus-visible-within {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n\n &:hover:not(.action-within) {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_200};\n\n input {\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n }\n\n .dropdown-arrow {\n color: ${COLORS.primary_600};\n }\n\n cursor: pointer;\n }\n\n &:active:not(.action-within) {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.primary_300};\n\n input {\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n\n .dropdown-arrow {\n color: ${COLORS.primary_800};\n }\n }\n\n &.button {\n ${(props) => ComponentSStyling(ComponentTextStyle.Bold, props.disabled ? COLORS.neutral_300 : COLORS.neutral_600)}\n\n box-sizing: border-box;\n height: 32px;\n padding: 0 8px;\n width: initial;\n min-width: initial;\n border: none !important;\n box-shadow: none;\n border-radius: 4px;\n\n &.expanded {\n color: ${COLORS.neutral_800};\n background: ${COLORS.neutral_20};\n }\n }\n\n\n ${(props) => (props.disabled ? disabledState : '')}\n ${(props) => (props.readOnly ? lockedState : '')}\n ${(props) => (props.showValidationMessage ? activeValidationMessage : '')}\n ${(props) => (props.isPlaceholder ? placeholderStyling : '')}\n\n ${CommonInteractionStyling};\n\n &.focus-visible,\n &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n ${focusStyles}\n }\n`;\n\nexport const ButtonDropdownContentStyling = css`\n min-width: 344px;\n`;\n\n\n\nexport const TextButtonDropdownContent = styled.div`\n display: flex;\n gap: 4px;\n align-items: center;\n box-sizing: border-box;\n min-width: 64px;\n min-height: 32px;\n padding: 4px 8px;\n border-radius: 4px;\n`;\n\nexport const TextButtonDropdownIcon = styled.div`\n width: 24px;\n height: 24px;\n`;\n\nexport const TextButtonDropdownArrow = styled.div`\n width: 24px;\n height: 24px;\n\n svg {\n pointer-events: none;\n }\n`;\n\nexport const TextButtonDropdownText = styled.div`\n flex: 1\n`;\n\nexport const TextButtonDropdownWrapper = styled.div`\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n align-items: center;\n width: fit-content;\n cursor: pointer;\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n\n .expanded {\n color: ${COLORS.neutral_800};\n\n ${TextButtonDropdownContent} {\n background: ${COLORS.neutral_20};\n }\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &:hover:not(.disabled) {\n ${TextButtonDropdownContent} {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n }\n\n &:active:not(.disabled) {\n ${TextButtonDropdownContent} {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n color: ${COLORS.neutral_300};\n }\n\n}`;\n"],"mappings":";;;;AAAA,OAAOA,MAAP,IAAgBC,GAAhB,QAA0B,mBAA1B;AACA,SAAQC,wBAAR,QAAuC,WAAvC;AACA,SAAQC,WAAR,EAAqBC,MAArB,EAA6BC,kBAA7B,EAAiDC,WAAjD,QAAmE,WAAnE;AACA,SACEC,iBADF,EAGEC,iBAHF,EAIEC,kBAJF,EAKEC,mBALF,QAMO,sBANP;AAQA,SAAQC,SAAR,QAAwB,qBAAxB;AAEA,OAAO,IAAMC,QAAQ,GAAGZ,MAAM,CAACa,GAAV,2VAGjB,UAACC,KAAD;EAAA,OAAW,CAACA,KAAK,CAACC,QAAP,KAAoBD,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEE,QAAP,qCAA6CF,KAAK,CAACE,QAAnD,SAAiE,gCAArF,CAAX;AAAA,CAHiB,EAIjB,UAACF,KAAD;EAAA,OAAYA,KAAK,CAACG,QAAN,IAAkBH,KAAK,CAACI,QAAxB,GAAmC,sBAAnC,GAA4D,EAAxE;AAAA,CAJiB,EAKjB,UAACJ,KAAD;EAAA,OAAYA,KAAK,CAACK,MAAN,qBAA0BL,KAAK,CAACK,MAAhC,SAA4C,EAAxD;AAAA,CALiB,EAeNR,SAAS,CAACS,KAfJ,EAmBRhB,MAAM,CAACiB,WAnBC,EAuBRjB,MAAM,CAACkB,WAvBC,CAAd;AA6BP,IAAMC,WAAW,GAAGtB,GAAH,yTACKG,MAAM,CAACoB,WADZ,EAEqBpB,MAAM,CAACqB,WAF5B,EAGNrB,MAAM,CAACsB,WAHD,EAQJtB,MAAM,CAACsB,WARH,EAYJtB,MAAM,CAACqB,WAZH,CAAjB;AAgBA,IAAME,aAAa,GAAG1B,GAAH,sXACGG,MAAM,CAACwB,KADV,EAEmBxB,MAAM,CAACoB,WAF1B,EAGRpB,MAAM,CAACqB,WAHC,EAQNrB,MAAM,CAACqB,WARD,EAYNrB,MAAM,CAACqB,WAZD,EAeJrB,MAAM,CAACqB,WAfH,CAAnB;AAoBA,IAAMI,uBAAuB,GAAG5B,GAAH,qHACSG,MAAM,CAAC0B,YADhB,CAA7B;AAIA,IAAMC,kBAAkB,GAAG9B,GAAH,kFACpBM,iBAAiB,CAACF,kBAAkB,CAAC2B,MAApB,EAA4B5B,MAAM,CAACsB,WAAnC,CADG,CAAxB;AAIA,OAAO,IAAMO,UAAU,GAAGjC,MAAM,CAACkC,KAAV,8bAKZ9B,MAAM,CAAC+B,KALK,CAAhB;AAmBP,OAAO,IAAMC,WAAW,GAAGpC,MAAM,CAACa,GAAV,08DACpBL,iBAAiB,CAACH,kBAAkB,CAACgC,OAApB,EAA6B,SAA7B,CADG,EAKT,UAACvB,KAAD;EAAA,OAAYA,KAAK,CAACE,QAAN,aAAoBF,KAAK,CAACE,QAA1B,IAAuC,OAAnD;AAAA,CALS,EAQRZ,MAAM,CAACwB,KARC,EAScxB,MAAM,CAACkC,WATrB,EA0BlB5B,mBAAmB,CAACL,kBAAkB,CAAC2B,MAApB,EAA4B5B,MAAM,CAACsB,WAAnC,CA1BD,EA6BpBvB,WAAW,CAACoC,MA7BQ,EA8BlBhC,iBAAiB,CAACF,kBAAkB,CAACgC,OAApB,EAA6B,SAA7B,CA9BC,EAmChB5B,kBAAkB,CAACJ,kBAAkB,CAAC2B,MAApB,EAA4B5B,MAAM,CAACsB,WAAnC,CAnCF,EAwClBlB,iBAAiB,CAACH,kBAAkB,CAACgC,OAApB,EAA6B,SAA7B,CAxCC,EA6ChB3B,mBAAmB,CAACL,kBAAkB,CAAC2B,MAApB,EAA4B5B,MAAM,CAACsB,WAAnC,CA7CH,EAkDlBnB,iBAAiB,CAACF,kBAAkB,CAACgC,OAApB,EAA6B,SAA7B,CAlDC,EAuDhB5B,kBAAkB,CAACJ,kBAAkB,CAAC2B,MAApB,EAA4B5B,MAAM,CAACsB,WAAnC,CAvDF,EA+DX,UAACZ,KAAD;EAAA,OAAWA,KAAK,CAAC0B,aAAN,GAAsBpC,MAAM,CAACsB,WAA7B,GAA2Ce,SAAtD;AAAA,CA/DW,EAwEgBrC,MAAM,CAACkB,WAxEvB,EA4EgBlB,MAAM,CAACsC,WA5EvB,EAgFPtC,MAAM,CAACiB,WAhFA,EAqFTjB,MAAM,CAACiB,WArFE,EA4FgBjB,MAAM,CAACuC,WA5FvB,EAgGPvC,MAAM,CAACkB,WAhGA,EAqGTlB,MAAM,CAACkB,WArGE,EA0GlB,UAACR,KAAD;EAAA,OAAWN,iBAAiB,CAACH,kBAAkB,CAACuC,IAApB,EAA0B9B,KAAK,CAACI,QAAN,GAAiBd,MAAM,CAACqB,WAAxB,GAAsCrB,MAAM,CAACsB,WAAvE,CAA5B;AAAA,CA1GkB,EAsHTtB,MAAM,CAACyC,WAtHE,EAuHJzC,MAAM,CAAC0C,UAvHH,EA4HpB,UAAChC,KAAD;EAAA,OAAYA,KAAK,CAACI,QAAN,GAAiBS,aAAjB,GAAiC,EAA7C;AAAA,CA5HoB,EA6HpB,UAACb,KAAD;EAAA,OAAYA,KAAK,CAACG,QAAN,GAAiBM,WAAjB,GAA+B,EAA3C;AAAA,CA7HoB,EA8HpB,UAACT,KAAD;EAAA,OAAYA,KAAK,CAACiC,qBAAN,GAA8BlB,uBAA9B,GAAwD,EAApE;AAAA,CA9HoB,EA+HpB,UAACf,KAAD;EAAA,OAAYA,KAAK,CAAC0B,aAAN,GAAsBT,kBAAtB,GAA2C,EAAvD;AAAA,CA/HoB,EAiIpB7B,wBAjIoB,EAqITS,SAAS,CAACqC,QAAV,GAAqB,CArIZ,EAsIlB1C,WAtIkB,CAAjB;AA0IP,OAAO,IAAM2C,4BAA4B,GAAGhD,GAAH,8FAAlC;AAMP,OAAO,IAAMiD,yBAAyB,GAAGlD,MAAM,CAACa,GAAV,gPAA/B;AAWP,OAAO,IAAMsC,sBAAsB,GAAGnD,MAAM,CAACa,GAAV,4GAA5B;AAKP,OAAO,IAAMuC,uBAAuB,GAAGpD,MAAM,CAACa,GAAV,uJAA7B;AASP,OAAO,IAAMwC,sBAAsB,GAAGrD,MAAM,CAACa,GAAV,sFAA5B;AAIP,OAAO,IAAMyC,yBAAyB,GAAGtD,MAAM,CAACa,GAAV,wmBAQlCL,iBAAiB,CAACH,kBAAkB,CAACuC,IAApB,EAA0BxC,MAAM,CAACsB,WAAjC,CARiB,EAWzBtB,MAAM,CAACyC,WAXkB,EAahCK,yBAbgC,EAclB9C,MAAM,CAAC0C,UAdW,EAmBhCxC,WAnBgC,EAuBhC4C,yBAvBgC,EAwBZ9C,MAAM,CAACmD,UAxBK,EAyBvBnD,MAAM,CAACoD,WAzBgB,EA8BhCN,yBA9BgC,EA+BZ9C,MAAM,CAACqD,WA/BK,EAgCvBrD,MAAM,CAACkB,WAhCgB,EAsCzBlB,MAAM,CAACqB,WAtCkB,CAA/B"}
@@ -31,7 +31,7 @@ var _SystemIcons = require("../icons/systemicons/SystemIcons");
31
31
 
32
32
  var _jsxRuntime = require("react/jsx-runtime");
33
33
 
34
- var _excluded = ["items", "icon", "disabled", "onClick", "itemsType", "action", "actionLabel", "actionVariant", "actionIcon", "actionLoading", "size", "width", "alignLeft", "multiSelect", "scrollable", "pinTopItem", "maxHeight", "className", "value"];
34
+ var _excluded = ["items", "icon", "disabled", "onClick", "itemsType", "action", "actionLabel", "actionVariant", "actionIcon", "actionLoading", "size", "width", "alignLeft", "multiSelect", "scrollable", "pinTopItem", "maxHeight", "className", "value", "id"];
35
35
 
36
36
  var _templateObject;
37
37
 
@@ -66,6 +66,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
66
66
  maxHeight = _ref.maxHeight,
67
67
  className = _ref.className,
68
68
  value = _ref.value,
69
+ id = _ref.id,
69
70
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
70
71
 
71
72
  // Globally used variables within the view.
@@ -74,20 +75,25 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
74
75
  dropdownOpen = _React$useState2[0],
75
76
  setDropdownOpen = _React$useState2[1];
76
77
 
77
- var _React$useState3 = React.useState([]),
78
+ var _React$useState3 = React.useState(),
78
79
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
79
- selectedValues = _React$useState4[0],
80
- setSelectedValues = _React$useState4[1];
80
+ activeDescendant = _React$useState4[0],
81
+ setActiveDescendant = _React$useState4[1];
81
82
 
82
- var _React$useState5 = React.useState(null),
83
+ var _React$useState5 = React.useState([]),
83
84
  _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
84
- focused = _React$useState6[0],
85
- setFocused = _React$useState6[1];
85
+ selectedValues = _React$useState6[0],
86
+ setSelectedValues = _React$useState6[1];
86
87
 
87
- var _React$useState7 = React.useState(false),
88
+ var _React$useState7 = React.useState(null),
88
89
  _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
89
- keyboardNavigated = _React$useState8[0],
90
- setKeyboardNavigated = _React$useState8[1];
90
+ focused = _React$useState8[0],
91
+ setFocused = _React$useState8[1];
92
+
93
+ var _React$useState9 = React.useState(false),
94
+ _React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
95
+ keyboardNavigated = _React$useState10[0],
96
+ setKeyboardNavigated = _React$useState10[1];
91
97
 
92
98
  var dropdownRef = React.useRef(null);
93
99
  var containerRef = (0, _common.useFocusOutsideRef)(function () {
@@ -123,6 +129,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
123
129
  ref: ref,
124
130
  variant: "secondary",
125
131
  shape: "circular",
132
+ role: "button",
133
+ "aria-controls": "".concat(id, "_dropdowncontent"),
134
+ "aria-activedescendant": activeDescendant,
126
135
  action: function action(event) {
127
136
  setDropdownOpen(!dropdownOpen);
128
137
 
@@ -146,6 +155,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
146
155
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyling.TextButtonDropdownWrapper, {
147
156
  tabIndex: !disabled ? 0 : -1,
148
157
  className: cls,
158
+ role: "button",
159
+ "aria-controls": "".concat(id, "_dropdowncontent"),
160
+ "aria-activedescendant": activeDescendant,
149
161
  onMouseDown: _common.defaultOnMouseDownHandler,
150
162
  onKeyDown: function onKeyDown(e) {
151
163
  if (e.key === 'Enter' || e.key === ' ') {
@@ -180,6 +192,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
180
192
  ref: containerRef,
181
193
  children: [renderButton(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DropdownContent.default, {
182
194
  ref: dropdownRef,
195
+ ariaRolesType: "menu",
183
196
  containerRef: containerRef,
184
197
  customizationProps: {
185
198
  itemsType: itemsType,
@@ -195,6 +208,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
195
208
  maxHeight: maxHeight,
196
209
  items: items
197
210
  },
211
+ onActiveDescendantChanged: function onActiveDescendantChanged(e) {
212
+ return setActiveDescendant(e);
213
+ },
198
214
  focused: focused,
199
215
  setFocused: setFocused,
200
216
  size: size,
@@ -208,7 +224,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
208
224
  setSelectedValues: setSelectedValues,
209
225
  messageOnNoResults: "No results",
210
226
  isButton: true,
211
- id: "dropdown-content"
227
+ id: "".concat(id, "_dropdowncontent")
212
228
  })]
213
229
  });
214
230
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["Wrapper","styled","div","DropdownButton","React","forwardRef","ref","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","defaultOnMouseDownHandler","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"file":"DropdownButton.cjs"}
1
+ {"version":3,"file":"DropdownButton.cjs","names":["Wrapper","styled","div","DropdownButton","React","forwardRef","ref","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","id","rest","useState","dropdownOpen","setDropdownOpen","activeDescendant","setActiveDescendant","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useFocusOutsideRef","useClickOutsideRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","defaultOnMouseDownHandler","e","key","preventDefault","stopPropagation","onValueUpdate"],"sources":["../../src/Dropdown/DropdownButton.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n id,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n role=\"button\"\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n \n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n role=\"button\"\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}> \n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n ariaRolesType=\"menu\"\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id={`${id}_dropdowncontent`}\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
- var _excluded = ["items", "icon", "disabled", "onClick", "itemsType", "action", "actionLabel", "actionVariant", "actionIcon", "actionLoading", "size", "width", "alignLeft", "multiSelect", "scrollable", "pinTopItem", "maxHeight", "className", "value"];
4
+ var _excluded = ["items", "icon", "disabled", "onClick", "itemsType", "action", "actionLabel", "actionVariant", "actionIcon", "actionLoading", "size", "width", "alignLeft", "multiSelect", "scrollable", "pinTopItem", "maxHeight", "className", "value", "id"];
5
5
 
6
6
  var _templateObject;
7
7
 
@@ -51,6 +51,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
51
51
  maxHeight = _ref.maxHeight,
52
52
  className = _ref.className,
53
53
  value = _ref.value,
54
+ id = _ref.id,
54
55
  rest = _objectWithoutProperties(_ref, _excluded);
55
56
 
56
57
  // Globally used variables within the view.
@@ -59,20 +60,25 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
59
60
  dropdownOpen = _React$useState2[0],
60
61
  setDropdownOpen = _React$useState2[1];
61
62
 
62
- var _React$useState3 = React.useState([]),
63
+ var _React$useState3 = React.useState(),
63
64
  _React$useState4 = _slicedToArray(_React$useState3, 2),
64
- selectedValues = _React$useState4[0],
65
- setSelectedValues = _React$useState4[1];
65
+ activeDescendant = _React$useState4[0],
66
+ setActiveDescendant = _React$useState4[1];
66
67
 
67
- var _React$useState5 = React.useState(null),
68
+ var _React$useState5 = React.useState([]),
68
69
  _React$useState6 = _slicedToArray(_React$useState5, 2),
69
- focused = _React$useState6[0],
70
- setFocused = _React$useState6[1];
70
+ selectedValues = _React$useState6[0],
71
+ setSelectedValues = _React$useState6[1];
71
72
 
72
- var _React$useState7 = React.useState(false),
73
+ var _React$useState7 = React.useState(null),
73
74
  _React$useState8 = _slicedToArray(_React$useState7, 2),
74
- keyboardNavigated = _React$useState8[0],
75
- setKeyboardNavigated = _React$useState8[1];
75
+ focused = _React$useState8[0],
76
+ setFocused = _React$useState8[1];
77
+
78
+ var _React$useState9 = React.useState(false),
79
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
80
+ keyboardNavigated = _React$useState10[0],
81
+ setKeyboardNavigated = _React$useState10[1];
76
82
 
77
83
  var dropdownRef = React.useRef(null);
78
84
  var containerRef = useFocusOutsideRef(function () {
@@ -108,6 +114,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
108
114
  ref: ref,
109
115
  variant: "secondary",
110
116
  shape: "circular",
117
+ role: "button",
118
+ "aria-controls": "".concat(id, "_dropdowncontent"),
119
+ "aria-activedescendant": activeDescendant,
111
120
  action: function action(event) {
112
121
  setDropdownOpen(!dropdownOpen);
113
122
 
@@ -131,6 +140,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
131
140
  return /*#__PURE__*/_jsx(TextButtonDropdownWrapper, {
132
141
  tabIndex: !disabled ? 0 : -1,
133
142
  className: cls,
143
+ role: "button",
144
+ "aria-controls": "".concat(id, "_dropdowncontent"),
145
+ "aria-activedescendant": activeDescendant,
134
146
  onMouseDown: defaultOnMouseDownHandler,
135
147
  onKeyDown: function onKeyDown(e) {
136
148
  if (e.key === 'Enter' || e.key === ' ') {
@@ -165,6 +177,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
165
177
  ref: containerRef,
166
178
  children: [renderButton(), /*#__PURE__*/_jsx(DropdownContent, {
167
179
  ref: dropdownRef,
180
+ ariaRolesType: "menu",
168
181
  containerRef: containerRef,
169
182
  customizationProps: {
170
183
  itemsType: itemsType,
@@ -180,6 +193,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
180
193
  maxHeight: maxHeight,
181
194
  items: items
182
195
  },
196
+ onActiveDescendantChanged: function onActiveDescendantChanged(e) {
197
+ return setActiveDescendant(e);
198
+ },
183
199
  focused: focused,
184
200
  setFocused: setFocused,
185
201
  size: size,
@@ -193,7 +209,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
193
209
  setSelectedValues: setSelectedValues,
194
210
  messageOnNoResults: "No results",
195
211
  isButton: true,
196
- id: "dropdown-content"
212
+ id: "".concat(id, "_dropdowncontent")
197
213
  })]
198
214
  });
199
215
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","TextButtonDropdownArrow","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownText","TextButtonDropdownWrapper","ArrowDropDown","ArrowDropUp","Wrapper","div","DropdownButton","forwardRef","ref","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
1
+ {"version":3,"file":"DropdownButton.js","names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","TextButtonDropdownArrow","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownText","TextButtonDropdownWrapper","ArrowDropDown","ArrowDropUp","Wrapper","div","DropdownButton","forwardRef","ref","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","id","rest","useState","dropdownOpen","setDropdownOpen","activeDescendant","setActiveDescendant","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","dropdownRef","useRef","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","e","key","preventDefault","stopPropagation","onValueUpdate"],"sources":["../../src/Dropdown/DropdownButton.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n id,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const containerRef = useFocusOutsideRef(() => setDropdownOpen(false), [dropdownRef]);\n useClickOutsideRef(() => setDropdownOpen(false), [], containerRef);\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n role=\"button\"\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n \n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n role=\"button\"\n aria-controls={`${id}_dropdowncontent`}\n aria-activedescendant={activeDescendant}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}> \n {renderButton()}\n <DropdownContent\n ref={dropdownRef}\n ariaRolesType=\"menu\"\n containerRef={containerRef}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id={`${id}_dropdowncontent`}\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"DropdownButtonTypes.cjs"}
1
+ {"version":3,"file":"DropdownButtonTypes.cjs","names":[],"sources":["../../src/Dropdown/DropdownButtonTypes.ts"],"sourcesContent":["import {Size} from '../types';\nimport {DropdownItem} from './DropdownContent'\n\nexport interface DropdownButtonBaseProps {\n id?: string;\n items: DropdownItem[];\n value?: string[];\n onClick: (value: string[]) => void;\n disabled?: boolean;\n size?: Size;\n itemsType?: 'normal' | 'radio' | 'checkbox',\n action?: () => void,\n actionLabel?: string,\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined,\n multiSelect?: boolean,\n scrollable?: boolean,\n maxHeight?: string,\n pinTopItem?: boolean,\n className?: string,\n icon?: React.ReactNode;\n width?: string;\n alignLeft?: boolean;\n}\n\nexport type IconDropdownButtonProps = DropdownButtonBaseProps & {\n type: 'icon';\n icon: React.ReactNode;\n}\n\nexport type TextDropdownButtonProps = DropdownButtonBaseProps & {\n type: 'text';\n label?: string;\n keepLabel?: boolean;\n}\n\nexport type DropdownButtonProps = IconDropdownButtonProps | TextDropdownButtonProps;\n"],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import { Size } from '../types';
2
2
  import { DropdownItem } from './DropdownContent';
3
3
  export interface DropdownButtonBaseProps {
4
+ id?: string;
4
5
  items: DropdownItem[];
5
6
  value?: string[];
6
7
  onClick: (value: string[]) => void;
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"DropdownButtonTypes.js"}
1
+ {"version":3,"file":"DropdownButtonTypes.js","names":[],"sources":["../../src/Dropdown/DropdownButtonTypes.ts"],"sourcesContent":["import {Size} from '../types';\nimport {DropdownItem} from './DropdownContent'\n\nexport interface DropdownButtonBaseProps {\n id?: string;\n items: DropdownItem[];\n value?: string[];\n onClick: (value: string[]) => void;\n disabled?: boolean;\n size?: Size;\n itemsType?: 'normal' | 'radio' | 'checkbox',\n action?: () => void,\n actionLabel?: string,\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined,\n multiSelect?: boolean,\n scrollable?: boolean,\n maxHeight?: string,\n pinTopItem?: boolean,\n className?: string,\n icon?: React.ReactNode;\n width?: string;\n alignLeft?: boolean;\n}\n\nexport type IconDropdownButtonProps = DropdownButtonBaseProps & {\n type: 'icon';\n icon: React.ReactNode;\n}\n\nexport type TextDropdownButtonProps = DropdownButtonBaseProps & {\n type: 'text';\n label?: string;\n keepLabel?: boolean;\n}\n\nexport type DropdownButtonProps = IconDropdownButtonProps | TextDropdownButtonProps;\n"],"mappings":""}
@@ -49,7 +49,7 @@ var MAX_MENU_HEIGHT = 240;
49
49
  var AVG_OPTION_HEIGHT = 48;
50
50
  var OFFSET_BEFORE_SHOW = 1000000;
51
51
 
52
- var DDContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n pointer-events: auto;\n position: absolute;\n background-color: ", ";\n\n z-index: ", ";\n margin: ", ";\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n &.down,\n &.up {\n ", "\n }\n }\n\n transform: translate(-", "px, -", "px);\n\n &.outline:focus:after {\n content: '';\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 4px solid black;\n outline-offset: 2px;\n border-radius: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n ", ";\n\n border: 1px solid ", ";\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n padding: 4px 0px;\n\n min-width: ", ";\n border-radius: ", ";\n\n max-height: ", ";\n\n"])), _styles.COLORS.white, _zIndexes.Z_INDEXES.dropdown, function (props) {
52
+ var DDContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n pointer-events: auto;\n position: absolute;\n background-color: ", ";\n\n z-index: ", ";\n margin: ", ";\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n &.down,\n &.up {\n ", "\n }\n }\n\n transform: translate(-", "px, -", "px);\n\n &.outline:focus:after {\n content: '';\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n outline: 4px solid black;\n outline-offset: 2px;\n border-radius: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n ", ";\n\n border: 1px solid ", ";\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n padding: 4px 0px;\n\n min-width: ", ";\n border-radius: ", ";\n\n max-height: ", ";\n"])), _styles.COLORS.white, _zIndexes.Z_INDEXES.dropdown, function (props) {
53
53
  return props.isButton ? '-4px' : '4px 0px';
54
54
  }, function (props) {
55
55
  return "transform: translate(".concat(props.offsetLeft, ", ").concat(props.offsetTop, ");");
@@ -81,7 +81,7 @@ var ListContainer = _styledComponents.default.div(_templateObject3 || (_template
81
81
  return props.size == _types.Size.Large ? '8px' : props.size == _types.Size.Medium ? '4px' : '0px';
82
82
  }, (0, _styles.scrollBarStyling)(_types.Size.Small));
83
83
 
84
- var MenuContentContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n h1, h2, h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ", "\n ", "\n ", "\n padding: ", ";\n }\n\n p {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ", "\n ", "\n ", "\n padding: ", ";\n }\n"])), function (props) {
84
+ var MenuContentContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n h1,\n h2,\n h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ", "\n ", "\n ", "\n padding: ", ";\n }\n\n p {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ", "\n ", "\n ", "\n padding: ", ";\n }\n"])), function (props) {
85
85
  return props.size == _types.Size.Large && (0, _typography.ComponentXLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_500);
86
86
  }, function (props) {
87
87
  return props.size == _types.Size.Medium && (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_500);
@@ -133,7 +133,10 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
133
133
  setSelectedValues = _ref.setSelectedValues,
134
134
  messageOnNoResults = _ref.messageOnNoResults,
135
135
  outline = _ref.outline,
136
- containerRef = _ref.containerRef;
136
+ containerRef = _ref.containerRef,
137
+ onActiveDescendantChanged = _ref.onActiveDescendantChanged,
138
+ _ref$ariaRolesType = _ref.ariaRolesType,
139
+ ariaRolesType = _ref$ariaRolesType === void 0 ? 'menu' : _ref$ariaRolesType;
137
140
 
138
141
  var _React$useState = _react.default.useState(false),
139
142
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
@@ -181,6 +184,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
181
184
 
182
185
  if (outline) (_dropdownContentRef$c = dropdownContentRef.current) === null || _dropdownContentRef$c === void 0 ? void 0 : _dropdownContentRef$c.focus();
183
186
  var newFocusedElement = elRefs[index];
187
+ if (onActiveDescendantChanged) onActiveDescendantChanged(index == 0 ? "".concat(id, "_topitem") : "".concat(id, "_").concat(index));
184
188
  var oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;
185
189
 
186
190
  if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
@@ -235,6 +239,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
235
239
  } else if (e.key === 'Escape' || e.key === 'Esc') {
236
240
  setIsOpen(false);
237
241
  setFocused(null);
242
+ if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);
238
243
  } else if ((e.key === 'Enter' || e.key === ' ') && focused !== null && e.target !== (actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.current)) {
239
244
  e.preventDefault();
240
245
  var focusedElement = elRefs[focused];
@@ -244,6 +249,8 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
244
249
 
245
250
  (_focusedElement$curre = focusedElement.current) === null || _focusedElement$curre === void 0 ? void 0 : _focusedElement$curre.click();
246
251
  }
252
+
253
+ if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);
247
254
  }
248
255
  }
249
256
  };
@@ -353,6 +360,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
353
360
  }
354
361
 
355
362
  setFocused(null);
363
+ if (onActiveDescendantChanged) onActiveDescendantChanged(undefined);
356
364
  (_dropdownContentRef$c2 = dropdownContentRef.current) === null || _dropdownContentRef$c2 === void 0 ? void 0 : _dropdownContentRef$c2.classList.remove('outline');
357
365
  (_dropdownContentRef$c3 = dropdownContentRef.current) === null || _dropdownContentRef$c3 === void 0 ? void 0 : _dropdownContentRef$c3.blur();
358
366
  } else {
@@ -384,7 +392,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
384
392
 
385
393
  return function () {
386
394
  window.removeEventListener('scroll', calculateOffset);
387
- window.addEventListener('resize', calculateOffset);
395
+ window.removeEventListener('resize', calculateOffset);
388
396
  };
389
397
  }, [isOpen]);
390
398
 
@@ -428,7 +436,11 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
428
436
  size: size,
429
437
  children: [customizationProps.itemsType === 'radio' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.RadioButton, {
430
438
  ref: elRefs[0],
439
+ role: "menuitemradio",
431
440
  iconPointerEventsTransparent: true,
441
+ onFocus: function onFocus(e) {
442
+ return onActiveDescendantChanged && onActiveDescendantChanged("".concat(id, "_topitem"));
443
+ },
432
444
  tabIndexVal: -1,
433
445
  className: "".concat(focused === 0 ? 'dropdown-hover' : ''),
434
446
  select: function select() {},
@@ -438,6 +450,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
438
450
  selected: true
439
451
  }), customizationProps.itemsType === 'checkbox' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
440
452
  ref: elRefs[0],
453
+ role: "menuitemcheckbox",
441
454
  tabIndexVal: -1,
442
455
  className: "".concat(focused === 0 ? 'dropdown-hover' : ''),
443
456
  select: function select(selected) {
@@ -448,6 +461,9 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
448
461
  setSelectedValues(newValues);
449
462
  if (customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValues)) setIsOpen(false);
450
463
  },
464
+ onFocus: function onFocus(e) {
465
+ return onActiveDescendantChanged && onActiveDescendantChanged("".concat(id, "_topitem"));
466
+ },
451
467
  iconPointerEventsTransparent: true,
452
468
  semiSelected: customizationProps.multiSelect && !allSelected && (selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length) > 0,
453
469
  size: size,
@@ -457,10 +473,14 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
457
473
  }), customizationProps.itemsType === 'normal' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
458
474
  children: suggestions.map(function (x) {
459
475
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
476
+ role: ariaRolesType == 'input' ? 'option' : 'menu',
460
477
  item: x,
461
478
  size: size,
462
479
  active: false,
463
480
  tabIndex: -1,
481
+ onFocus: function onFocus(e) {
482
+ return onActiveDescendantChanged && onActiveDescendantChanged("".concat(id, "_topitem"));
483
+ },
464
484
  className: "".concat(focused === 0 ? 'dropdown-hover' : ''),
465
485
  ref: elRefs[0],
466
486
  id: "".concat(id, "_topitem"),
@@ -500,6 +520,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
500
520
 
501
521
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
502
522
  children: [item.customContent, !item.customContent && customizationProps.itemsType == 'radio' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.RadioButton, {
523
+ role: "menuitemradio",
503
524
  select: function select(selected) {
504
525
  return handleItemClick(selected, item);
505
526
  },
@@ -509,10 +530,14 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
509
530
  className: "".concat(index + 1 === focused ? 'dropdown-hover' : ''),
510
531
  iconPointerEventsTransparent: true,
511
532
  disabled: item === null || item === void 0 ? void 0 : item.disabled,
533
+ onFocus: function onFocus(e) {
534
+ return onActiveDescendantChanged && onActiveDescendantChanged("".concat(id, "_").concat(index + 1));
535
+ },
512
536
  id: "".concat(id, "_").concat(index + 1),
513
537
  label: (_item$displayLabel = item.displayLabel) !== null && _item$displayLabel !== void 0 ? _item$displayLabel : item.value,
514
538
  selected: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(item.value)
515
539
  }, "key_".concat(id, "_").concat(index + 1)), !item.customContent && customizationProps.itemsType == 'checkbox' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
540
+ role: "menuitemcheckbox",
516
541
  select: function select(selected) {
517
542
  return handleItemClick(selected, item);
518
543
  },
@@ -522,15 +547,22 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
522
547
  ref: elRefs[index + 1],
523
548
  size: size,
524
549
  tabIndexVal: -1,
550
+ onFocus: function onFocus(e) {
551
+ return onActiveDescendantChanged && onActiveDescendantChanged("".concat(id, "_").concat(index + 1));
552
+ },
525
553
  id: "".concat(id, "_").concat(index + 1),
526
554
  label: (_item$displayLabel2 = item.displayLabel) !== null && _item$displayLabel2 !== void 0 ? _item$displayLabel2 : item.value,
527
555
  selected: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(item.value)
528
556
  }, "key_".concat(id, "_").concat(index + 1)), !item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
557
+ role: ariaRolesType == 'input' ? 'option' : 'menu',
529
558
  id: "".concat(id, "_").concat(index + 1),
530
559
  item: item,
531
560
  tabIndex: -1,
532
561
  className: "".concat(index + 1 === focused ? 'dropdown-hover' : ''),
533
562
  size: size,
563
+ onFocus: function onFocus(e) {
564
+ return onActiveDescendantChanged && onActiveDescendantChanged("".concat(id, "_").concat(index + 1));
565
+ },
534
566
  active: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(item.value),
535
567
  ref: elRefs[index + 1],
536
568
  onClickHandler: function onClickHandler(e) {
@@ -561,9 +593,11 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
561
593
  var cls = "".concat(isOpen ? 'show' : '', " ").concat(isOpen && outline ? 'outline' : '', " ").concat(locationDefined ? isUp ? 'up' : 'down' : '');
562
594
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Overlay, {
563
595
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(DDContainer, {
596
+ role: ariaRolesType == "menu" ? "menu" : "optionlist",
564
597
  ref: dropdownContentRef,
565
598
  size: size,
566
599
  offsetTop: offset.top,
600
+ id: id,
567
601
  offsetLeft: offset.left,
568
602
  tabIndex: -1,
569
603
  isButton: isButton,
@@ -572,6 +606,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
572
606
  maxHeight: customizationProps.maxHeight,
573
607
  className: cls,
574
608
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ListContainer, {
609
+ role: "group",
575
610
  size: size,
576
611
  itemsType: customizationProps.itemsType,
577
612
  onScroll: handleScroll,
@@ -592,6 +627,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
592
627
  scrollable: customizationProps.scrollable,
593
628
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
594
629
  width: "100%",
630
+ role: "menuitem",
595
631
  icon: customizationProps.actionIcon,
596
632
  ref: actionButtonRef,
597
633
  loading: customizationProps.actionLoading,
@@ -641,12 +677,14 @@ DropdownContent.propTypes = {
641
677
  id: _propTypes.default.string.isRequired,
642
678
  filter: _propTypes.default.string.isRequired,
643
679
  width: _propTypes.default.string,
680
+ onActiveDescendantChanged: _propTypes.default.func,
644
681
  selectedValues: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
645
682
  setSelectedValues: _propTypes.default.func.isRequired,
646
683
  messageOnNoResults: _propTypes.default.string.isRequired,
647
684
  focused: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf([null])]),
648
685
  setFocused: _propTypes.default.func.isRequired,
649
- outline: _propTypes.default.bool
686
+ outline: _propTypes.default.bool,
687
+ ariaRolesType: _propTypes.default.oneOf(['input', 'menu'])
650
688
  };
651
689
  var _default = DropdownContent;
652
690
  exports.default = _default;