@laerdal/life-react-components 1.11.0-dev.18 → 1.11.0-dev.19

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 (590) hide show
  1. package/dist/Accordion/AccordionItem.cjs +2 -2
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +2 -2
  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 +2 -2
  10. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  11. package/dist/Accordion/ContentAccordion.js +2 -2
  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.d.ts +0 -1
  19. package/dist/AuthPage/AuthPage.js.map +1 -1
  20. package/dist/AuthPage/Information.cjs.map +1 -1
  21. package/dist/AuthPage/Information.js.map +1 -1
  22. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
  23. package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
  24. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
  25. package/dist/AuthPage/_AuthPageSection.js.map +1 -1
  26. package/dist/AuthPage/index.cjs.map +1 -1
  27. package/dist/AuthPage/index.js.map +1 -1
  28. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
  29. package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
  30. package/dist/Banners/Banner.cjs +2 -2
  31. package/dist/Banners/Banner.cjs.map +1 -1
  32. package/dist/Banners/Banner.js +2 -2
  33. package/dist/Banners/Banner.js.map +1 -1
  34. package/dist/Banners/OverviewBanner.cjs +2 -2
  35. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  36. package/dist/Banners/OverviewBanner.js +2 -2
  37. package/dist/Banners/OverviewBanner.js.map +1 -1
  38. package/dist/Banners/index.cjs.map +1 -1
  39. package/dist/Banners/index.js.map +1 -1
  40. package/dist/Banners/styles.cjs.map +1 -1
  41. package/dist/Banners/styles.js.map +1 -1
  42. package/dist/Breadcrumb/Breadcrumb.cjs +5 -17
  43. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  44. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  45. package/dist/Breadcrumb/Breadcrumb.js +6 -18
  46. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  47. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -1
  48. package/dist/Breadcrumb/BreadcrumbItem.js.map +1 -1
  49. package/dist/Breadcrumb/index.cjs.map +1 -1
  50. package/dist/Breadcrumb/index.js.map +1 -1
  51. package/dist/Breadcrumb/styles.cjs.map +1 -1
  52. package/dist/Breadcrumb/styles.js.map +1 -1
  53. package/dist/Button/BackButton.cjs +2 -2
  54. package/dist/Button/BackButton.cjs.map +1 -1
  55. package/dist/Button/BackButton.js +2 -2
  56. package/dist/Button/BackButton.js.map +1 -1
  57. package/dist/Button/Button.cjs +2 -2
  58. package/dist/Button/Button.cjs.map +1 -1
  59. package/dist/Button/Button.js +2 -2
  60. package/dist/Button/Button.js.map +1 -1
  61. package/dist/Button/DualFunctionButton.cjs +24 -13
  62. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  63. package/dist/Button/DualFunctionButton.js +24 -13
  64. package/dist/Button/DualFunctionButton.js.map +1 -1
  65. package/dist/Button/Iconbutton.cjs +4 -4
  66. package/dist/Button/Iconbutton.cjs.map +1 -1
  67. package/dist/Button/Iconbutton.js +4 -4
  68. package/dist/Button/Iconbutton.js.map +1 -1
  69. package/dist/Button/index.cjs.map +1 -1
  70. package/dist/Button/index.js.map +1 -1
  71. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  72. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  73. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  74. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  75. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  76. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  77. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  78. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  79. package/dist/Card/HorizontalCard/index.cjs.map +1 -1
  80. package/dist/Card/HorizontalCard/index.js.map +1 -1
  81. package/dist/Card/HorizontalCard/types.cjs.map +1 -1
  82. package/dist/Card/HorizontalCard/types.js.map +1 -1
  83. package/dist/Card/VerticalCard/Card.cjs +2 -2
  84. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  85. package/dist/Card/VerticalCard/Card.js +2 -2
  86. package/dist/Card/VerticalCard/Card.js.map +1 -1
  87. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  88. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  89. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  90. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  91. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  92. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  93. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  94. package/dist/Card/VerticalCard/index.js.map +1 -1
  95. package/dist/Card/index.cjs.map +1 -1
  96. package/dist/Card/index.js.map +1 -1
  97. package/dist/Chips/ActionChip.cjs +2 -2
  98. package/dist/Chips/ActionChip.cjs.map +1 -1
  99. package/dist/Chips/ActionChip.js +2 -2
  100. package/dist/Chips/ActionChip.js.map +1 -1
  101. package/dist/Chips/ChipStyles.cjs.map +1 -1
  102. package/dist/Chips/ChipStyles.js.map +1 -1
  103. package/dist/Chips/ChipTypes.cjs.map +1 -1
  104. package/dist/Chips/ChipTypes.js.map +1 -1
  105. package/dist/Chips/ChoiceChips.cjs +2 -2
  106. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  107. package/dist/Chips/ChoiceChips.js +2 -2
  108. package/dist/Chips/ChoiceChips.js.map +1 -1
  109. package/dist/Chips/FilterChip.cjs +2 -2
  110. package/dist/Chips/FilterChip.cjs.map +1 -1
  111. package/dist/Chips/FilterChip.js +2 -2
  112. package/dist/Chips/FilterChip.js.map +1 -1
  113. package/dist/Chips/InputChip.cjs +2 -2
  114. package/dist/Chips/InputChip.cjs.map +1 -1
  115. package/dist/Chips/InputChip.js +2 -2
  116. package/dist/Chips/InputChip.js.map +1 -1
  117. package/dist/Chips/index.cjs.map +1 -1
  118. package/dist/Chips/index.js.map +1 -1
  119. package/dist/ChipsInput/ChipDropdownInput.cjs +34 -23
  120. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  121. package/dist/ChipsInput/ChipDropdownInput.js +34 -23
  122. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  123. package/dist/ChipsInput/ChipInput.cjs +2 -2
  124. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  125. package/dist/ChipsInput/ChipInput.js +2 -2
  126. package/dist/ChipsInput/ChipInput.js.map +1 -1
  127. package/dist/ChipsInput/ChipInputField.cjs +2 -2
  128. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  129. package/dist/ChipsInput/ChipInputField.js +2 -2
  130. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  131. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -1
  132. package/dist/ChipsInput/ChipInputTypes.js.map +1 -1
  133. package/dist/ChipsInput/index.cjs.map +1 -1
  134. package/dist/ChipsInput/index.js.map +1 -1
  135. package/dist/Dropdown/BasicDropdown.cjs +27 -15
  136. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  137. package/dist/Dropdown/BasicDropdown.js +27 -15
  138. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  139. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  140. package/dist/Dropdown/CommonStyling.js.map +1 -1
  141. package/dist/Dropdown/DropdownButton.cjs +19 -9
  142. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  143. package/dist/Dropdown/DropdownButton.js +19 -9
  144. package/dist/Dropdown/DropdownButton.js.map +1 -1
  145. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -1
  146. package/dist/Dropdown/DropdownButtonTypes.d.ts +0 -1
  147. package/dist/Dropdown/DropdownButtonTypes.js.map +1 -1
  148. package/dist/Dropdown/DropdownContent.cjs +45 -9
  149. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  150. package/dist/Dropdown/DropdownContent.d.ts +2 -0
  151. package/dist/Dropdown/DropdownContent.js +45 -9
  152. package/dist/Dropdown/DropdownContent.js.map +1 -1
  153. package/dist/Dropdown/DropdownFilter.cjs +32 -20
  154. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  155. package/dist/Dropdown/DropdownFilter.js +32 -20
  156. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  157. package/dist/Dropdown/index.cjs.map +1 -1
  158. package/dist/Dropdown/index.js.map +1 -1
  159. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
  160. package/dist/Footer/Components/FooterBottomLinks.d.ts +0 -1
  161. package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
  162. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  163. package/dist/Footer/Components/FooterDropdownLinks.d.ts +0 -1
  164. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  165. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
  166. package/dist/Footer/Components/FooterNavSection.d.ts +0 -1
  167. package/dist/Footer/Components/FooterNavSection.js.map +1 -1
  168. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  169. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +0 -1
  170. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  171. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  172. package/dist/Footer/Components/FooterTop.d.ts +0 -1
  173. package/dist/Footer/Components/FooterTop.js.map +1 -1
  174. package/dist/Footer/Footer.cjs.map +1 -1
  175. package/dist/Footer/Footer.d.ts +0 -1
  176. package/dist/Footer/Footer.js.map +1 -1
  177. package/dist/Footer/SiteFooter.cjs +2 -2
  178. package/dist/Footer/SiteFooter.cjs.map +1 -1
  179. package/dist/Footer/SiteFooter.js +2 -2
  180. package/dist/Footer/SiteFooter.js.map +1 -1
  181. package/dist/Footer/index.cjs.map +1 -1
  182. package/dist/Footer/index.js.map +1 -1
  183. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +2 -2
  184. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  185. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +2 -2
  186. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  187. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  188. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  189. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -2
  190. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  191. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  192. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  193. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  194. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +0 -1
  195. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  196. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +4 -2
  197. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  198. package/dist/GlobalNavigationBar/desktop/MainMenu.js +4 -2
  199. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  200. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +1 -0
  201. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  202. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +1 -0
  203. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  204. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  205. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +0 -1
  206. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  207. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  208. package/dist/GlobalNavigationBar/index.js.map +1 -1
  209. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  210. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +2 -2
  211. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  212. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  213. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +0 -1
  214. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  215. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  216. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  217. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +2 -2
  218. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  219. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +2 -2
  220. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  221. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  222. package/dist/GlobalNavigationBar/types.js.map +1 -1
  223. package/dist/HyperLink/HyperLink.cjs +2 -2
  224. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  225. package/dist/HyperLink/HyperLink.js +2 -2
  226. package/dist/HyperLink/HyperLink.js.map +1 -1
  227. package/dist/HyperLink/index.cjs.map +1 -1
  228. package/dist/HyperLink/index.js.map +1 -1
  229. package/dist/HyperLink/styling.cjs.map +1 -1
  230. package/dist/HyperLink/styling.js.map +1 -1
  231. package/dist/Image/ImageWithFallbacks.cjs +2 -2
  232. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  233. package/dist/Image/ImageWithFallbacks.js +2 -2
  234. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  235. package/dist/Image/index.cjs.map +1 -1
  236. package/dist/Image/index.js.map +1 -1
  237. package/dist/InputFields/Checkbox.cjs +2 -2
  238. package/dist/InputFields/Checkbox.cjs.map +1 -1
  239. package/dist/InputFields/Checkbox.js +2 -2
  240. package/dist/InputFields/Checkbox.js.map +1 -1
  241. package/dist/InputFields/DatepickerField.cjs +4 -4
  242. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  243. package/dist/InputFields/DatepickerField.d.ts +1 -1
  244. package/dist/InputFields/DatepickerField.js +4 -4
  245. package/dist/InputFields/DatepickerField.js.map +1 -1
  246. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  247. package/dist/InputFields/DatepickerFieldHeader.d.ts +0 -1
  248. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  249. package/dist/InputFields/Label.cjs.map +1 -1
  250. package/dist/InputFields/Label.js.map +1 -1
  251. package/dist/InputFields/NumberField.cjs +2 -2
  252. package/dist/InputFields/NumberField.cjs.map +1 -1
  253. package/dist/InputFields/NumberField.d.ts +1 -1
  254. package/dist/InputFields/NumberField.js +2 -2
  255. package/dist/InputFields/NumberField.js.map +1 -1
  256. package/dist/InputFields/PasswordField.cjs +2 -2
  257. package/dist/InputFields/PasswordField.cjs.map +1 -1
  258. package/dist/InputFields/PasswordField.d.ts +1 -1
  259. package/dist/InputFields/PasswordField.js +2 -2
  260. package/dist/InputFields/PasswordField.js.map +1 -1
  261. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  262. package/dist/InputFields/QuickSearch.js.map +1 -1
  263. package/dist/InputFields/RadioButton.cjs +2 -2
  264. package/dist/InputFields/RadioButton.cjs.map +1 -1
  265. package/dist/InputFields/RadioButton.js +2 -2
  266. package/dist/InputFields/RadioButton.js.map +1 -1
  267. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
  268. package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
  269. package/dist/InputFields/SearchBar.cjs.map +1 -1
  270. package/dist/InputFields/SearchBar.js.map +1 -1
  271. package/dist/InputFields/TextField.cjs +2 -2
  272. package/dist/InputFields/TextField.cjs.map +1 -1
  273. package/dist/InputFields/TextField.d.ts +1 -1
  274. package/dist/InputFields/TextField.js +2 -2
  275. package/dist/InputFields/TextField.js.map +1 -1
  276. package/dist/InputFields/Textarea.cjs +2 -2
  277. package/dist/InputFields/Textarea.cjs.map +1 -1
  278. package/dist/InputFields/Textarea.d.ts +1 -1
  279. package/dist/InputFields/Textarea.js +2 -2
  280. package/dist/InputFields/Textarea.js.map +1 -1
  281. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  282. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  283. package/dist/InputFields/components/SearchField.cjs +2 -2
  284. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  285. package/dist/InputFields/components/SearchField.js +2 -2
  286. package/dist/InputFields/components/SearchField.js.map +1 -1
  287. package/dist/InputFields/index.cjs.map +1 -1
  288. package/dist/InputFields/index.js.map +1 -1
  289. package/dist/InputFields/styling.cjs.map +1 -1
  290. package/dist/InputFields/styling.js.map +1 -1
  291. package/dist/InputFields/types.cjs.map +1 -1
  292. package/dist/InputFields/types.d.ts +0 -1
  293. package/dist/InputFields/types.js.map +1 -1
  294. package/dist/Layouts/index.cjs.map +1 -1
  295. package/dist/Layouts/index.js.map +1 -1
  296. package/dist/LinearProgress/LinearProgress.cjs +2 -2
  297. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  298. package/dist/LinearProgress/LinearProgress.js +2 -2
  299. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  300. package/dist/LinearProgress/index.cjs.map +1 -1
  301. package/dist/LinearProgress/index.js.map +1 -1
  302. package/dist/List/ListRow.cjs +2 -2
  303. package/dist/List/ListRow.cjs.map +1 -1
  304. package/dist/List/ListRow.js +2 -2
  305. package/dist/List/ListRow.js.map +1 -1
  306. package/dist/List/index.cjs.map +1 -1
  307. package/dist/List/index.js.map +1 -1
  308. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  309. package/dist/LoadingIndicator/LoadingIndicator.d.ts +0 -1
  310. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  311. package/dist/LoadingIndicator/index.cjs.map +1 -1
  312. package/dist/LoadingIndicator/index.js.map +1 -1
  313. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  314. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  315. package/dist/LoadingPage/index.cjs.map +1 -1
  316. package/dist/LoadingPage/index.js.map +1 -1
  317. package/dist/MenuItem/MenuItem.cjs +2 -2
  318. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  319. package/dist/MenuItem/MenuItem.d.ts +1 -1
  320. package/dist/MenuItem/MenuItem.js +2 -2
  321. package/dist/MenuItem/MenuItem.js.map +1 -1
  322. package/dist/MenuItem/index.cjs.map +1 -1
  323. package/dist/MenuItem/index.js.map +1 -1
  324. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  325. package/dist/MiniProductCard/MiniProductCard.d.ts +0 -1
  326. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  327. package/dist/MiniProductCard/index.cjs.map +1 -1
  328. package/dist/MiniProductCard/index.js.map +1 -1
  329. package/dist/Modals/Modal.cjs.map +1 -1
  330. package/dist/Modals/Modal.js.map +1 -1
  331. package/dist/Modals/ModalContainer.cjs +3 -3
  332. package/dist/Modals/ModalContainer.cjs.map +1 -1
  333. package/dist/Modals/ModalContainer.js +3 -3
  334. package/dist/Modals/ModalContainer.js.map +1 -1
  335. package/dist/Modals/ModalContent.cjs +3 -4
  336. package/dist/Modals/ModalContent.cjs.map +1 -1
  337. package/dist/Modals/ModalContent.d.ts +0 -1
  338. package/dist/Modals/ModalContent.js +3 -4
  339. package/dist/Modals/ModalContent.js.map +1 -1
  340. package/dist/Modals/ModalDialog.cjs +0 -1
  341. package/dist/Modals/ModalDialog.cjs.map +1 -1
  342. package/dist/Modals/ModalDialog.d.ts +0 -1
  343. package/dist/Modals/ModalDialog.js +0 -1
  344. package/dist/Modals/ModalDialog.js.map +1 -1
  345. package/dist/Modals/ModalNote.cjs.map +1 -1
  346. package/dist/Modals/ModalNote.js.map +1 -1
  347. package/dist/Modals/ModalStyles.cjs.map +1 -1
  348. package/dist/Modals/ModalStyles.js.map +1 -1
  349. package/dist/Modals/ModalTypes.cjs.map +1 -1
  350. package/dist/Modals/ModalTypes.js.map +1 -1
  351. package/dist/Modals/index.cjs.map +1 -1
  352. package/dist/Modals/index.js.map +1 -1
  353. package/dist/NavItem/NavItem.cjs.map +1 -1
  354. package/dist/NavItem/NavItem.js.map +1 -1
  355. package/dist/NavItem/index.cjs.map +1 -1
  356. package/dist/NavItem/index.js.map +1 -1
  357. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  358. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  359. package/dist/NotificationDot/index.cjs.map +1 -1
  360. package/dist/NotificationDot/index.js.map +1 -1
  361. package/dist/Paginator/Paginator.cjs +2 -2
  362. package/dist/Paginator/Paginator.cjs.map +1 -1
  363. package/dist/Paginator/Paginator.d.ts +0 -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.d.ts +0 -1
  399. package/dist/SideMenu/SideMenuBody.js.map +1 -1
  400. package/dist/SideMenu/SideMenuFooter.cjs +2 -2
  401. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
  402. package/dist/SideMenu/SideMenuFooter.d.ts +0 -1
  403. package/dist/SideMenu/SideMenuFooter.js +2 -2
  404. package/dist/SideMenu/SideMenuFooter.js.map +1 -1
  405. package/dist/SideMenu/SideMenuHeader.cjs +2 -2
  406. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  407. package/dist/SideMenu/SideMenuHeader.d.ts +0 -1
  408. package/dist/SideMenu/SideMenuHeader.js +2 -2
  409. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  410. package/dist/SideMenu/index.cjs.map +1 -1
  411. package/dist/SideMenu/index.js.map +1 -1
  412. package/dist/SideMenu/types.cjs.map +1 -1
  413. package/dist/SideMenu/types.d.ts +0 -1
  414. package/dist/SideMenu/types.js.map +1 -1
  415. package/dist/SkipToContent/SkipToContent.cjs +0 -5
  416. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  417. package/dist/SkipToContent/SkipToContent.d.ts +1 -3
  418. package/dist/SkipToContent/SkipToContent.js +0 -4
  419. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  420. package/dist/SkipToContent/index.cjs.map +1 -1
  421. package/dist/SkipToContent/index.js.map +1 -1
  422. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  423. package/dist/Switcher/MobileSwitcherMenu.d.ts +0 -1
  424. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  425. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  426. package/dist/Switcher/SwitcherMenuItem.d.ts +0 -1
  427. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  428. package/dist/Switcher/index.cjs.map +1 -1
  429. package/dist/Switcher/index.js.map +1 -1
  430. package/dist/Table/Table.cjs +8 -11
  431. package/dist/Table/Table.cjs.map +1 -1
  432. package/dist/Table/Table.js +8 -11
  433. package/dist/Table/Table.js.map +1 -1
  434. package/dist/Table/TableBody.cjs +7 -8
  435. package/dist/Table/TableBody.cjs.map +1 -1
  436. package/dist/Table/TableBody.d.ts +3 -1
  437. package/dist/Table/TableBody.js +7 -8
  438. package/dist/Table/TableBody.js.map +1 -1
  439. package/dist/Table/TableFooter.cjs.map +1 -1
  440. package/dist/Table/TableFooter.js.map +1 -1
  441. package/dist/Table/TableHeaders.cjs +2 -2
  442. package/dist/Table/TableHeaders.cjs.map +1 -1
  443. package/dist/Table/TableHeaders.js +2 -2
  444. package/dist/Table/TableHeaders.js.map +1 -1
  445. package/dist/Table/TableStyles.cjs.map +1 -1
  446. package/dist/Table/TableStyles.js.map +1 -1
  447. package/dist/Table/TableTypes.cjs.map +1 -1
  448. package/dist/Table/TableTypes.d.ts +0 -6
  449. package/dist/Table/TableTypes.js.map +1 -1
  450. package/dist/Table/index.cjs.map +1 -1
  451. package/dist/Table/index.d.ts +1 -1
  452. package/dist/Table/index.js.map +1 -1
  453. package/dist/Tabs/HorizontalTabs.cjs +2 -2
  454. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  455. package/dist/Tabs/HorizontalTabs.js +2 -2
  456. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  457. package/dist/Tabs/TabLink.cjs +20 -16
  458. package/dist/Tabs/TabLink.cjs.map +1 -1
  459. package/dist/Tabs/TabLink.d.ts +1 -1
  460. package/dist/Tabs/TabLink.js +20 -17
  461. package/dist/Tabs/TabLink.js.map +1 -1
  462. package/dist/Tabs/Tabs.cjs.map +1 -1
  463. package/dist/Tabs/Tabs.js.map +1 -1
  464. package/dist/Tabs/VerticalTabs.cjs +2 -1
  465. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  466. package/dist/Tabs/VerticalTabs.d.ts +3 -1
  467. package/dist/Tabs/VerticalTabs.js +2 -1
  468. package/dist/Tabs/VerticalTabs.js.map +1 -1
  469. package/dist/Tabs/index.cjs.map +1 -1
  470. package/dist/Tabs/index.js.map +1 -1
  471. package/dist/Tag/Tag.cjs +2 -2
  472. package/dist/Tag/Tag.cjs.map +1 -1
  473. package/dist/Tag/Tag.js +2 -2
  474. package/dist/Tag/Tag.js.map +1 -1
  475. package/dist/Tag/index.cjs.map +1 -1
  476. package/dist/Tag/index.js.map +1 -1
  477. package/dist/Tile/Tile.cjs +2 -2
  478. package/dist/Tile/Tile.cjs.map +1 -1
  479. package/dist/Tile/Tile.js +2 -2
  480. package/dist/Tile/Tile.js.map +1 -1
  481. package/dist/Tile/TileBody.cjs.map +1 -1
  482. package/dist/Tile/TileBody.d.ts +0 -1
  483. package/dist/Tile/TileBody.js.map +1 -1
  484. package/dist/Tile/TileCommonItems.cjs +2 -2
  485. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  486. package/dist/Tile/TileCommonItems.d.ts +0 -1
  487. package/dist/Tile/TileCommonItems.js +2 -2
  488. package/dist/Tile/TileCommonItems.js.map +1 -1
  489. package/dist/Tile/TileFooter.cjs.map +1 -1
  490. package/dist/Tile/TileFooter.js.map +1 -1
  491. package/dist/Tile/TileHeader.cjs.map +1 -1
  492. package/dist/Tile/TileHeader.js.map +1 -1
  493. package/dist/Tile/TileTypes.cjs.map +1 -1
  494. package/dist/Tile/TileTypes.js.map +1 -1
  495. package/dist/Tile/index.cjs.map +1 -1
  496. package/dist/Tile/index.js.map +1 -1
  497. package/dist/Toasters/Toast.cjs +2 -2
  498. package/dist/Toasters/Toast.cjs.map +1 -1
  499. package/dist/Toasters/Toast.js +2 -2
  500. package/dist/Toasters/Toast.js.map +1 -1
  501. package/dist/Toasters/ToastContext.cjs +2 -7
  502. package/dist/Toasters/ToastContext.cjs.map +1 -1
  503. package/dist/Toasters/ToastContext.d.ts +4 -6
  504. package/dist/Toasters/ToastContext.js +2 -6
  505. package/dist/Toasters/ToastContext.js.map +1 -1
  506. package/dist/Toasters/index.cjs.map +1 -1
  507. package/dist/Toasters/index.js.map +1 -1
  508. package/dist/Toggles/ToggleButton.cjs +2 -2
  509. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  510. package/dist/Toggles/ToggleButton.js +2 -2
  511. package/dist/Toggles/ToggleButton.js.map +1 -1
  512. package/dist/Toggles/ToggleSwitch.cjs +2 -2
  513. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  514. package/dist/Toggles/ToggleSwitch.js +2 -2
  515. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  516. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  517. package/dist/Toggles/TogglerStyles.js.map +1 -1
  518. package/dist/Toggles/TogglerTypes.cjs.map +1 -1
  519. package/dist/Toggles/TogglerTypes.d.ts +0 -1
  520. package/dist/Toggles/TogglerTypes.js.map +1 -1
  521. package/dist/Toggles/index.cjs.map +1 -1
  522. package/dist/Toggles/index.js.map +1 -1
  523. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  524. package/dist/Tooltips/TooltipStyles.d.ts +1 -1
  525. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  526. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  527. package/dist/Tooltips/TooltipTypes.d.ts +0 -1
  528. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  529. package/dist/Tooltips/TooltipWrapper.cjs +2 -2
  530. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  531. package/dist/Tooltips/TooltipWrapper.d.ts +0 -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 +6 -8
  552. package/dist/common/NavigationHelper.cjs.map +1 -1
  553. package/dist/common/NavigationHelper.js +7 -9
  554. package/dist/common/NavigationHelper.js.map +1 -1
  555. package/dist/common/StackState.cjs.map +1 -1
  556. package/dist/common/StackState.js.map +1 -1
  557. package/dist/common/index.cjs.map +1 -1
  558. package/dist/common/index.js.map +1 -1
  559. package/dist/icons/contenticons/ContentIcons.cjs +1 -1
  560. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  561. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  562. package/dist/icons/index.cjs.map +1 -1
  563. package/dist/icons/index.js.map +1 -1
  564. package/dist/icons/systemicons/SystemIcons.cjs +1 -1
  565. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  566. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  567. package/dist/index.cjs.map +1 -1
  568. package/dist/index.js.map +1 -1
  569. package/dist/styles/breakpoints.cjs.map +1 -1
  570. package/dist/styles/breakpoints.js.map +1 -1
  571. package/dist/styles/colors.cjs.map +1 -1
  572. package/dist/styles/colors.js.map +1 -1
  573. package/dist/styles/focus-styles.cjs.map +1 -1
  574. package/dist/styles/focus-styles.js.map +1 -1
  575. package/dist/styles/global.cjs.map +1 -1
  576. package/dist/styles/global.js.map +1 -1
  577. package/dist/styles/index.cjs.map +1 -1
  578. package/dist/styles/index.js.map +1 -1
  579. package/dist/styles/shadowstyles.cjs.map +1 -1
  580. package/dist/styles/shadowstyles.js.map +1 -1
  581. package/dist/styles/typography.cjs +12 -24
  582. package/dist/styles/typography.cjs.map +1 -1
  583. package/dist/styles/typography.d.ts +0 -2
  584. package/dist/styles/typography.js +12 -24
  585. package/dist/styles/typography.js.map +1 -1
  586. package/dist/styles/z-indexes.cjs.map +1 -1
  587. package/dist/styles/z-indexes.js.map +1 -1
  588. package/dist/types.cjs.map +1 -1
  589. package/dist/types.js.map +1 -1
  590. package/package.json +34 -36
@@ -1 +1 @@
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","rest","useState","dropdownOpen","setDropdownOpen","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 ...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"],"mappings":"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"}
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","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","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 [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 \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} role=\"menu\" aria-activedescendant={activeDescendant}> \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 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=\"dropdown-content\"\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"file":"DropdownButton.cjs"}
@@ -59,20 +59,25 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
59
59
  dropdownOpen = _React$useState2[0],
60
60
  setDropdownOpen = _React$useState2[1];
61
61
 
62
- var _React$useState3 = React.useState([]),
62
+ var _React$useState3 = React.useState(),
63
63
  _React$useState4 = _slicedToArray(_React$useState3, 2),
64
- selectedValues = _React$useState4[0],
65
- setSelectedValues = _React$useState4[1];
64
+ activeDescendant = _React$useState4[0],
65
+ setActiveDescendant = _React$useState4[1];
66
66
 
67
- var _React$useState5 = React.useState(null),
67
+ var _React$useState5 = React.useState([]),
68
68
  _React$useState6 = _slicedToArray(_React$useState5, 2),
69
- focused = _React$useState6[0],
70
- setFocused = _React$useState6[1];
69
+ selectedValues = _React$useState6[0],
70
+ setSelectedValues = _React$useState6[1];
71
71
 
72
- var _React$useState7 = React.useState(false),
72
+ var _React$useState7 = React.useState(null),
73
73
  _React$useState8 = _slicedToArray(_React$useState7, 2),
74
- keyboardNavigated = _React$useState8[0],
75
- setKeyboardNavigated = _React$useState8[1];
74
+ focused = _React$useState8[0],
75
+ setFocused = _React$useState8[1];
76
+
77
+ var _React$useState9 = React.useState(false),
78
+ _React$useState10 = _slicedToArray(_React$useState9, 2),
79
+ keyboardNavigated = _React$useState10[0],
80
+ setKeyboardNavigated = _React$useState10[1];
76
81
 
77
82
  var dropdownRef = React.useRef(null);
78
83
  var containerRef = useFocusOutsideRef(function () {
@@ -163,6 +168,8 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
163
168
  return /*#__PURE__*/_jsxs(Wrapper, {
164
169
  className: className,
165
170
  ref: containerRef,
171
+ role: "menu",
172
+ "aria-activedescendant": activeDescendant,
166
173
  children: [renderButton(), /*#__PURE__*/_jsx(DropdownContent, {
167
174
  ref: dropdownRef,
168
175
  containerRef: containerRef,
@@ -180,6 +187,9 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
180
187
  maxHeight: maxHeight,
181
188
  items: items
182
189
  },
190
+ onActiveDescendantChanged: function onActiveDescendantChanged(e) {
191
+ return setActiveDescendant(e);
192
+ },
183
193
  focused: focused,
184
194
  setFocused: setFocused,
185
195
  size: size,
@@ -1 +1 @@
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","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"],"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 ...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"],"mappings":"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"}
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","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"],"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 [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 \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} role=\"menu\" aria-activedescendant={activeDescendant}> \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 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=\"dropdown-content\"\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
@@ -1 +1 @@
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 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
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"DropdownButtonTypes.cjs"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Size } from '../types';
3
2
  import { DropdownItem } from './DropdownContent';
4
3
  export interface DropdownButtonBaseProps {
@@ -1 +1 @@
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 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
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"DropdownButtonTypes.js"}
@@ -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),
@@ -177,19 +180,20 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
177
180
  };
178
181
 
179
182
  var setNewFocusedElement = function setNewFocusedElement(index) {
180
- var _dropdownContentRef$c;
183
+ var _dropdownContentRef$c, _newFocusedElement$cu;
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(((_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.id) || '');
184
188
  var oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;
185
189
 
186
190
  if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
187
- var _oldFocusedElement$cu, _newFocusedElement$cu, _newFocusedElement$cu2;
191
+ var _oldFocusedElement$cu, _newFocusedElement$cu2, _newFocusedElement$cu3;
188
192
 
189
193
  setFocused(index);
190
194
  oldFocusedElement === null || oldFocusedElement === void 0 ? void 0 : (_oldFocusedElement$cu = oldFocusedElement.current) === null || _oldFocusedElement$cu === void 0 ? void 0 : _oldFocusedElement$cu.classList.remove('dropdown-hover');
191
- (_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
192
- (_newFocusedElement$cu2 = newFocusedElement.current) === null || _newFocusedElement$cu2 === void 0 ? void 0 : _newFocusedElement$cu2.scrollIntoView({
195
+ (_newFocusedElement$cu2 = newFocusedElement.current) === null || _newFocusedElement$cu2 === void 0 ? void 0 : _newFocusedElement$cu2.classList.add('dropdown-hover');
196
+ (_newFocusedElement$cu3 = newFocusedElement.current) === null || _newFocusedElement$cu3 === void 0 ? void 0 : _newFocusedElement$cu3.scrollIntoView({
193
197
  block: 'nearest',
194
198
  inline: 'nearest'
195
199
  });
@@ -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: ariaRolesType == 'menu' ? 'menuitemradio' : 'option',
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: ariaRolesType == 'menu' ? 'menuitemradio' : 'option',
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, "_checkbox_selectall"));
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 == 'menu' ? 'menuitemradio' : 'option',
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: ariaRolesType == 'menu' ? 'menuitemradio' : 'option',
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: ariaRolesType == 'menu' ? 'menuitemradio' : 'option',
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 == 'menu' ? 'menuitemradio' : 'option',
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) {
@@ -572,6 +604,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
572
604
  maxHeight: customizationProps.maxHeight,
573
605
  className: cls,
574
606
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ListContainer, {
607
+ role: "group",
575
608
  size: size,
576
609
  itemsType: customizationProps.itemsType,
577
610
  onScroll: handleScroll,
@@ -592,6 +625,7 @@ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref
592
625
  scrollable: customizationProps.scrollable,
593
626
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
594
627
  width: "100%",
628
+ role: "menuitem",
595
629
  icon: customizationProps.actionIcon,
596
630
  ref: actionButtonRef,
597
631
  loading: customizationProps.actionLoading,
@@ -641,12 +675,14 @@ DropdownContent.propTypes = {
641
675
  id: _propTypes.default.string.isRequired,
642
676
  filter: _propTypes.default.string.isRequired,
643
677
  width: _propTypes.default.string,
678
+ onActiveDescendantChanged: _propTypes.default.func,
644
679
  selectedValues: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
645
680
  setSelectedValues: _propTypes.default.func.isRequired,
646
681
  messageOnNoResults: _propTypes.default.string.isRequired,
647
682
  focused: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf([null])]),
648
683
  setFocused: _propTypes.default.func.isRequired,
649
- outline: _propTypes.default.bool
684
+ outline: _propTypes.default.bool,
685
+ ariaRolesType: _propTypes.default.oneOf(['input', 'menu'])
650
686
  };
651
687
  var _default = DropdownContent;
652
688
  exports.default = _default;