@laerdal/life-react-components 1.7.0 → 1.8.0

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 (387) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +1 -1
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +2 -2
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +1 -1
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +2 -2
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +3 -3
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.js +3 -3
  12. package/dist/Banners/Banner.js.map +1 -1
  13. package/dist/Banners/styles.cjs +1 -1
  14. package/dist/Banners/styles.cjs.map +1 -1
  15. package/dist/Banners/styles.js +1 -1
  16. package/dist/Banners/styles.js.map +1 -1
  17. package/dist/Button/BackButton.cjs +5 -2
  18. package/dist/Button/BackButton.cjs.map +1 -1
  19. package/dist/Button/BackButton.js +5 -3
  20. package/dist/Button/BackButton.js.map +1 -1
  21. package/dist/Button/Button.cjs +11 -25
  22. package/dist/Button/Button.cjs.map +1 -1
  23. package/dist/Button/Button.d.ts +2 -1
  24. package/dist/Button/Button.js +12 -26
  25. package/dist/Button/Button.js.map +1 -1
  26. package/dist/Button/DualFunctionButton.cjs +29 -7
  27. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  28. package/dist/Button/DualFunctionButton.js +27 -6
  29. package/dist/Button/DualFunctionButton.js.map +1 -1
  30. package/dist/Button/Iconbutton.cjs +23 -32
  31. package/dist/Button/Iconbutton.cjs.map +1 -1
  32. package/dist/Button/Iconbutton.d.ts +3 -0
  33. package/dist/Button/Iconbutton.js +20 -32
  34. package/dist/Button/Iconbutton.js.map +1 -1
  35. package/dist/Card/Card.cjs +28 -44
  36. package/dist/Card/Card.cjs.map +1 -1
  37. package/dist/Card/Card.d.ts +3 -11
  38. package/dist/Card/Card.js +26 -44
  39. package/dist/Card/Card.js.map +1 -1
  40. package/dist/Card/CardBottomSection.cjs +33 -24
  41. package/dist/Card/CardBottomSection.cjs.map +1 -1
  42. package/dist/Card/CardBottomSection.d.ts +11 -2
  43. package/dist/Card/CardBottomSection.js +17 -24
  44. package/dist/Card/CardBottomSection.js.map +1 -1
  45. package/dist/Card/CardMiddleSection.cjs +38 -17
  46. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  47. package/dist/Card/CardMiddleSection.d.ts +16 -3
  48. package/dist/Card/CardMiddleSection.js +30 -17
  49. package/dist/Card/CardMiddleSection.js.map +1 -1
  50. package/dist/Card/CardTopSection.cjs +27 -20
  51. package/dist/Card/CardTopSection.cjs.map +1 -1
  52. package/dist/Card/CardTopSection.d.ts +12 -4
  53. package/dist/Card/CardTopSection.js +17 -20
  54. package/dist/Card/CardTopSection.js.map +1 -1
  55. package/dist/Card/index.cjs +45 -9
  56. package/dist/Card/index.cjs.map +1 -1
  57. package/dist/Card/index.d.ts +3 -1
  58. package/dist/Card/index.js +3 -1
  59. package/dist/Card/index.js.map +1 -1
  60. package/dist/Chips/ActionChip.cjs +4 -4
  61. package/dist/Chips/ActionChip.cjs.map +1 -1
  62. package/dist/Chips/ActionChip.js +4 -4
  63. package/dist/Chips/ActionChip.js.map +1 -1
  64. package/dist/Chips/ChipStyles.cjs +5 -17
  65. package/dist/Chips/ChipStyles.cjs.map +1 -1
  66. package/dist/Chips/ChipStyles.d.ts +0 -3
  67. package/dist/Chips/ChipStyles.js +5 -8
  68. package/dist/Chips/ChipStyles.js.map +1 -1
  69. package/dist/Chips/ChipTypes.d.ts +7 -19
  70. package/dist/Chips/ChoiceChips.cjs +2 -2
  71. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  72. package/dist/Chips/ChoiceChips.js +2 -2
  73. package/dist/Chips/ChoiceChips.js.map +1 -1
  74. package/dist/Chips/FilterChip.cjs +3 -3
  75. package/dist/Chips/FilterChip.cjs.map +1 -1
  76. package/dist/Chips/FilterChip.js +3 -3
  77. package/dist/Chips/FilterChip.js.map +1 -1
  78. package/dist/Chips/InputChip.cjs +21 -12
  79. package/dist/Chips/InputChip.cjs.map +1 -1
  80. package/dist/Chips/InputChip.js +20 -12
  81. package/dist/Chips/InputChip.js.map +1 -1
  82. package/dist/Chips/index.cjs +1 -1
  83. package/dist/Chips/index.cjs.map +1 -1
  84. package/dist/Chips/index.d.ts +1 -1
  85. package/dist/Chips/index.js +1 -1
  86. package/dist/Chips/index.js.map +1 -1
  87. package/dist/ChipsInput/ChipDropdownInput.cjs +401 -0
  88. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -0
  89. package/dist/ChipsInput/ChipDropdownInput.d.ts +22 -0
  90. package/dist/ChipsInput/ChipDropdownInput.js +383 -0
  91. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -0
  92. package/dist/ChipsInput/ChipInput.cjs +141 -0
  93. package/dist/ChipsInput/ChipInput.cjs.map +1 -0
  94. package/dist/{Chips → ChipsInput}/ChipInput.d.ts +1 -4
  95. package/dist/ChipsInput/ChipInput.js +122 -0
  96. package/dist/ChipsInput/ChipInput.js.map +1 -0
  97. package/dist/ChipsInput/ChipInputField.cjs +238 -0
  98. package/dist/ChipsInput/ChipInputField.cjs.map +1 -0
  99. package/dist/ChipsInput/ChipInputField.d.ts +25 -0
  100. package/dist/ChipsInput/ChipInputField.js +198 -0
  101. package/dist/ChipsInput/ChipInputField.js.map +1 -0
  102. package/dist/ChipsInput/ChipInputTypes.cjs +6 -0
  103. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -0
  104. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -0
  105. package/dist/ChipsInput/ChipInputTypes.js +2 -0
  106. package/dist/ChipsInput/ChipInputTypes.js.map +1 -0
  107. package/dist/ChipsInput/index.cjs +19 -0
  108. package/dist/ChipsInput/index.cjs.map +1 -0
  109. package/dist/ChipsInput/index.d.ts +1 -0
  110. package/dist/ChipsInput/index.js +2 -0
  111. package/dist/ChipsInput/index.js.map +1 -0
  112. package/dist/Dropdown/BasicDropdown.cjs +31 -11
  113. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  114. package/dist/Dropdown/BasicDropdown.js +33 -12
  115. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  116. package/dist/Dropdown/CommonStyling.cjs +12 -10
  117. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  118. package/dist/Dropdown/CommonStyling.js +12 -11
  119. package/dist/Dropdown/CommonStyling.js.map +1 -1
  120. package/dist/Dropdown/DropdownButton.cjs +22 -15
  121. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  122. package/dist/Dropdown/DropdownButton.js +21 -15
  123. package/dist/Dropdown/DropdownButton.js.map +1 -1
  124. package/dist/Dropdown/DropdownContent.cjs +167 -132
  125. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  126. package/dist/Dropdown/DropdownContent.d.ts +2 -2
  127. package/dist/Dropdown/DropdownContent.js +164 -133
  128. package/dist/Dropdown/DropdownContent.js.map +1 -1
  129. package/dist/Dropdown/DropdownFilter.cjs +66 -24
  130. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  131. package/dist/Dropdown/DropdownFilter.js +65 -25
  132. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  133. package/dist/Dropdown/index.cjs +0 -8
  134. package/dist/Dropdown/index.cjs.map +1 -1
  135. package/dist/Dropdown/index.d.ts +1 -2
  136. package/dist/Dropdown/index.js +1 -2
  137. package/dist/Dropdown/index.js.map +1 -1
  138. package/dist/Footer/Components/FooterDropdownLinks.cjs +6 -3
  139. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  140. package/dist/Footer/Components/FooterDropdownLinks.js +6 -4
  141. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  142. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +5 -3
  143. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  144. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +5 -4
  145. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  146. package/dist/Footer/Components/FooterTop.cjs +2 -1
  147. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  148. package/dist/Footer/Components/FooterTop.js +3 -2
  149. package/dist/Footer/Components/FooterTop.js.map +1 -1
  150. package/dist/GlobalNavigationBar/Avatar.cjs +5 -7
  151. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
  152. package/dist/GlobalNavigationBar/Avatar.js +5 -8
  153. package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
  154. package/dist/GlobalNavigationBar/Logo.cjs +9 -6
  155. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  156. package/dist/GlobalNavigationBar/Logo.d.ts +2 -1
  157. package/dist/GlobalNavigationBar/Logo.js +9 -7
  158. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  159. package/dist/GlobalNavigationBar/MainMenu.cjs +10 -13
  160. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
  161. package/dist/GlobalNavigationBar/MainMenu.js +9 -13
  162. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
  163. package/dist/GlobalNavigationBar/RightSideNav.cjs +3 -5
  164. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
  165. package/dist/GlobalNavigationBar/RightSideNav.js +2 -5
  166. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
  167. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +4 -0
  168. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -1
  169. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +3 -0
  170. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +1 -1
  171. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
  172. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  173. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  174. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  175. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  176. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  177. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  178. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  179. package/dist/HyperLink/styling.cjs +1 -1
  180. package/dist/HyperLink/styling.cjs.map +1 -1
  181. package/dist/HyperLink/styling.js +1 -1
  182. package/dist/HyperLink/styling.js.map +1 -1
  183. package/dist/Image/ImageWithFallbacks.cjs +3 -1
  184. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  185. package/dist/Image/ImageWithFallbacks.js +3 -1
  186. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  187. package/dist/InputFields/Checkbox.cjs +11 -8
  188. package/dist/InputFields/Checkbox.cjs.map +1 -1
  189. package/dist/InputFields/Checkbox.d.ts +1 -0
  190. package/dist/InputFields/Checkbox.js +12 -9
  191. package/dist/InputFields/Checkbox.js.map +1 -1
  192. package/dist/InputFields/DatepickerField.cjs +4 -4
  193. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  194. package/dist/InputFields/DatepickerField.js +5 -5
  195. package/dist/InputFields/DatepickerField.js.map +1 -1
  196. package/dist/InputFields/QuickSearch.cjs +119 -96
  197. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  198. package/dist/InputFields/QuickSearch.js +119 -96
  199. package/dist/InputFields/QuickSearch.js.map +1 -1
  200. package/dist/InputFields/RadioButton.cjs +10 -7
  201. package/dist/InputFields/RadioButton.cjs.map +1 -1
  202. package/dist/InputFields/RadioButton.d.ts +1 -0
  203. package/dist/InputFields/RadioButton.js +11 -8
  204. package/dist/InputFields/RadioButton.js.map +1 -1
  205. package/dist/InputFields/SearchBar.cjs +3 -3
  206. package/dist/InputFields/SearchBar.cjs.map +1 -1
  207. package/dist/InputFields/SearchBar.js +3 -3
  208. package/dist/InputFields/SearchBar.js.map +1 -1
  209. package/dist/InputFields/Textarea.cjs +1 -1
  210. package/dist/InputFields/Textarea.cjs.map +1 -1
  211. package/dist/InputFields/Textarea.js +1 -1
  212. package/dist/InputFields/Textarea.js.map +1 -1
  213. package/dist/InputFields/components/SearchBarInput.cjs +6 -8
  214. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  215. package/dist/InputFields/components/SearchBarInput.d.ts +0 -3
  216. package/dist/InputFields/components/SearchBarInput.js +4 -5
  217. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  218. package/dist/InputFields/components/SearchField.cjs +29 -19
  219. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  220. package/dist/InputFields/components/SearchField.d.ts +8 -8
  221. package/dist/InputFields/components/SearchField.js +25 -18
  222. package/dist/InputFields/components/SearchField.js.map +1 -1
  223. package/dist/InputFields/styling.cjs +6 -8
  224. package/dist/InputFields/styling.cjs.map +1 -1
  225. package/dist/InputFields/styling.js +7 -8
  226. package/dist/InputFields/styling.js.map +1 -1
  227. package/dist/List/ListRow.cjs +5 -5
  228. package/dist/List/ListRow.cjs.map +1 -1
  229. package/dist/List/ListRow.js +8 -5
  230. package/dist/List/ListRow.js.map +1 -1
  231. package/dist/LoadingIndicator/LoadingIndicator.cjs +6 -1
  232. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  233. package/dist/LoadingIndicator/LoadingIndicator.d.ts +2 -1
  234. package/dist/LoadingIndicator/LoadingIndicator.js +6 -1
  235. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  236. package/dist/MenuItem/MenuItem.cjs +6 -2
  237. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  238. package/dist/MenuItem/MenuItem.d.ts +1 -0
  239. package/dist/MenuItem/MenuItem.js +7 -3
  240. package/dist/MenuItem/MenuItem.js.map +1 -1
  241. package/dist/Modals/ModalContainer.cjs +78 -38
  242. package/dist/Modals/ModalContainer.cjs.map +1 -1
  243. package/dist/Modals/ModalContainer.d.ts +15 -8
  244. package/dist/Modals/ModalContainer.js +78 -36
  245. package/dist/Modals/ModalContainer.js.map +1 -1
  246. package/dist/Modals/ModalContent.cjs +0 -1
  247. package/dist/Modals/ModalContent.cjs.map +1 -1
  248. package/dist/Modals/ModalContent.d.ts +0 -1
  249. package/dist/Modals/ModalContent.js +0 -1
  250. package/dist/Modals/ModalContent.js.map +1 -1
  251. package/dist/Modals/ModalDialog.cjs +18 -26
  252. package/dist/Modals/ModalDialog.cjs.map +1 -1
  253. package/dist/Modals/ModalDialog.d.ts +1 -1
  254. package/dist/Modals/ModalDialog.js +19 -26
  255. package/dist/Modals/ModalDialog.js.map +1 -1
  256. package/dist/Modals/ModalStyles.cjs +33 -25
  257. package/dist/Modals/ModalStyles.cjs.map +1 -1
  258. package/dist/Modals/ModalStyles.d.ts +7 -1
  259. package/dist/Modals/ModalStyles.js +26 -24
  260. package/dist/Modals/ModalStyles.js.map +1 -1
  261. package/dist/NavItem/NavItem.cjs +1 -1
  262. package/dist/NavItem/NavItem.cjs.map +1 -1
  263. package/dist/NavItem/NavItem.js +2 -2
  264. package/dist/NavItem/NavItem.js.map +1 -1
  265. package/dist/Paginator/Paginator.cjs +1 -1
  266. package/dist/Paginator/Paginator.cjs.map +1 -1
  267. package/dist/Paginator/Paginator.js +2 -2
  268. package/dist/Paginator/Paginator.js.map +1 -1
  269. package/dist/QuizButton/QuizButton.cjs +4 -8
  270. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  271. package/dist/QuizButton/QuizButton.js +5 -9
  272. package/dist/QuizButton/QuizButton.js.map +1 -1
  273. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  274. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  275. package/dist/SegmentControl/SegmentControl.js +2 -2
  276. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  277. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  278. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  279. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  280. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  281. package/dist/Table/TableStyles.cjs +4 -4
  282. package/dist/Table/TableStyles.cjs.map +1 -1
  283. package/dist/Table/TableStyles.js +5 -5
  284. package/dist/Table/TableStyles.js.map +1 -1
  285. package/dist/Tabs/HorizontalTabs.cjs +5 -1
  286. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  287. package/dist/Tabs/HorizontalTabs.js +6 -3
  288. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  289. package/dist/Tabs/TabLink.cjs +48 -45
  290. package/dist/Tabs/TabLink.cjs.map +1 -1
  291. package/dist/Tabs/TabLink.js +47 -46
  292. package/dist/Tabs/TabLink.js.map +1 -1
  293. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  294. package/dist/Tabs/VerticalTabs.js.map +1 -1
  295. package/dist/Toasters/Toast.cjs +2 -0
  296. package/dist/Toasters/Toast.cjs.map +1 -1
  297. package/dist/Toasters/Toast.js +2 -0
  298. package/dist/Toasters/Toast.js.map +1 -1
  299. package/dist/Toggles/ToggleButton.cjs +81 -0
  300. package/dist/Toggles/ToggleButton.cjs.map +1 -0
  301. package/dist/Toggles/ToggleButton.d.ts +14 -0
  302. package/dist/Toggles/ToggleButton.js +59 -0
  303. package/dist/Toggles/ToggleButton.js.map +1 -0
  304. package/dist/Toggles/ToggleSwitch.cjs +12 -6
  305. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  306. package/dist/Toggles/ToggleSwitch.js +11 -6
  307. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  308. package/dist/Toggles/TogglerStyles.cjs +2 -2
  309. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  310. package/dist/Toggles/TogglerStyles.js +3 -3
  311. package/dist/Toggles/TogglerStyles.js.map +1 -1
  312. package/dist/Toggles/index.cjs +8 -0
  313. package/dist/Toggles/index.cjs.map +1 -1
  314. package/dist/Toggles/index.d.ts +2 -1
  315. package/dist/Toggles/index.js +2 -1
  316. package/dist/Toggles/index.js.map +1 -1
  317. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  318. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  319. package/dist/Tooltips/TooltipStyles.js +3 -3
  320. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  321. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  322. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  323. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  324. package/dist/Tooltips/TooltipWrapper.cjs +2 -0
  325. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  326. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  327. package/dist/Tooltips/TooltipWrapper.js +2 -0
  328. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  329. package/dist/common/{HoverWithin.cjs → ActionWithin.cjs} +9 -5
  330. package/dist/common/ActionWithin.cjs.map +1 -0
  331. package/dist/common/{HoverWithin.d.ts → ActionWithin.d.ts} +0 -0
  332. package/dist/common/{HoverWithin.js → ActionWithin.js} +9 -5
  333. package/dist/common/ActionWithin.js.map +1 -0
  334. package/dist/common/ClickOutside.cjs +39 -0
  335. package/dist/common/ClickOutside.cjs.map +1 -0
  336. package/dist/common/ClickOutside.d.ts +1 -0
  337. package/dist/common/ClickOutside.js +25 -0
  338. package/dist/common/ClickOutside.js.map +1 -0
  339. package/dist/common/FocusOutside.cjs +39 -0
  340. package/dist/common/FocusOutside.cjs.map +1 -0
  341. package/dist/common/FocusOutside.d.ts +1 -0
  342. package/dist/common/FocusOutside.js +25 -0
  343. package/dist/common/FocusOutside.js.map +1 -0
  344. package/dist/common/FocusVisible.cjs +67 -19
  345. package/dist/common/FocusVisible.cjs.map +1 -1
  346. package/dist/common/FocusVisible.js +66 -19
  347. package/dist/common/FocusVisible.js.map +1 -1
  348. package/dist/common/InputStyling.cjs +1 -1
  349. package/dist/common/InputStyling.cjs.map +1 -1
  350. package/dist/common/InputStyling.js +2 -2
  351. package/dist/common/InputStyling.js.map +1 -1
  352. package/dist/common/index.cjs +18 -2
  353. package/dist/common/index.cjs.map +1 -1
  354. package/dist/common/index.d.ts +3 -1
  355. package/dist/common/index.js +3 -1
  356. package/dist/common/index.js.map +1 -1
  357. package/dist/icons/index.cjs +1 -1
  358. package/dist/icons/index.cjs.map +1 -1
  359. package/dist/icons/index.js +1 -1
  360. package/dist/icons/index.js.map +1 -1
  361. package/dist/index.cjs +14 -0
  362. package/dist/index.cjs.map +1 -1
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.js +1 -0
  365. package/dist/index.js.map +1 -1
  366. package/dist/styles/focus-styles.cjs +22 -0
  367. package/dist/styles/focus-styles.cjs.map +1 -0
  368. package/dist/styles/focus-styles.d.ts +2 -0
  369. package/dist/styles/focus-styles.js +9 -0
  370. package/dist/styles/focus-styles.js.map +1 -0
  371. package/dist/styles/index.cjs +60 -0
  372. package/dist/styles/index.cjs.map +1 -1
  373. package/dist/styles/index.d.ts +1 -0
  374. package/dist/styles/index.js +1 -0
  375. package/dist/styles/index.js.map +1 -1
  376. package/package.json +1 -1
  377. package/dist/Chips/ChipInput.cjs +0 -199
  378. package/dist/Chips/ChipInput.cjs.map +0 -1
  379. package/dist/Chips/ChipInput.js +0 -182
  380. package/dist/Chips/ChipInput.js.map +0 -1
  381. package/dist/Dropdown/ChipDropdownInput.cjs +0 -431
  382. package/dist/Dropdown/ChipDropdownInput.cjs.map +0 -1
  383. package/dist/Dropdown/ChipDropdownInput.d.ts +0 -24
  384. package/dist/Dropdown/ChipDropdownInput.js +0 -418
  385. package/dist/Dropdown/ChipDropdownInput.js.map +0 -1
  386. package/dist/common/HoverWithin.cjs.map +0 -1
  387. package/dist/common/HoverWithin.js.map +0 -1
@@ -39,11 +39,21 @@ var _jsxRuntime = require("react/jsx-runtime");
39
39
 
40
40
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
41
41
 
42
- var DDContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n position: absolute;\n background-color: ", ";\n\n width: ", ";\n z-index: ", ";\n margin: ", ";\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\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-top: 4px;\n padding-right: 0px;\n padding-bottom: 4px;\n padding-left: 0px;\n\n min-width: ", ";\n border-radius: ", ";\n\n max-height: ", ";\n"])), _styles.COLORS.white, function (props) {
42
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
43
+
44
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
+
46
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
47
+
48
+ var MAX_MENU_HEIGHT = 240;
49
+ var AVG_OPTION_HEIGHT = 48;
50
+ var OFFSET_BEFORE_SHOW = 1000000;
51
+
52
+ var DDContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n position: absolute;\n background-color: ", ";\n\n width: ", ";\n z-index: ", ";\n margin: ", ";\n\n &.show {\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n &.up {\n top: auto;\n bottom: 100%;\n }\n\n transform: translate(-", "px, -", "px);\n\n &.up,\n &.down {\n transform: translate(0, 0);\n }\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 ", ";\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, function (props) {
43
53
  return props.width ? props.width : '100%';
44
54
  }, _zIndexes.Z_INDEXES.dropdown, function (props) {
45
55
  return props.isButton ? '-4px' : '4px 0px';
46
- }, function (props) {
56
+ }, OFFSET_BEFORE_SHOW, OFFSET_BEFORE_SHOW, function (props) {
47
57
  return props.alignLeft ? 'left: 0px;' : '';
48
58
  }, function (props) {
49
59
  return props.isButton ? _CommonStyling.ButtonDropdownContentStyling : '';
@@ -59,7 +69,7 @@ exports.DDContainer = DDContainer;
59
69
 
60
70
  var ItemsContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n > *:hover {\n z-index: ", ";\n }\n\n > *:active,\n > *.active {\n z-index: ", ";\n }\n\n > *:focus {\n z-index: ", ";\n }\n"])), _zIndexes.Z_INDEXES.hover, _zIndexes.Z_INDEXES.active, _zIndexes.Z_INDEXES.focus);
61
71
 
62
- var ListContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n ", "\n ", "\n div.divider {\n display: block;\n width: calc(100% - 40px);\n margin-left: 16px;\n border-top: 1px solid #e5e5e5;\n position: absolute;\n top: 0px;\n }\n\n ", " {\n padding-top: ", ";\n padding-bottom: ", ";\n\n word-break: break-word;\n }\n\n ", "\n"])), function (props) {
72
+ var ListContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n ", "\n ", "\n div.divider {\n display: block;\n width: calc(100% - 40px);\n margin-left: 16px;\n border-top: 1px solid #e5e5e5;\n position: absolute;\n top: 0px;\n }\n\n ", " {\n padding-top: ", ";\n padding-bottom: ", ";\n\n word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ", "\n"])), function (props) {
63
73
  return props.scrollable ? 'overflow-y: scroll;' : '';
64
74
  }, function (props) {
65
75
  return props.scrollable ? 'margin-right: 6px;' : '';
@@ -105,11 +115,8 @@ var ActionButtonContainer = _styledComponents.default.div(_templateObject7 || (_
105
115
  return props.size === _types.Size.Small || !props.size ? '4px 16px 0px' : props.size === _types.Size.Medium ? '12px 16px 8px' : '16px 16px 12px';
106
116
  });
107
117
 
108
- var MAX_MENU_HEIGHT = 240;
109
- var AVG_OPTION_HEIGHT = 48;
110
-
111
- var DropdownContent = function DropdownContent(_ref) {
112
- var _customizationProps$a;
118
+ var DropdownContent = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
119
+ var _ref2, _customizationProps$a;
113
120
 
114
121
  var id = _ref.id,
115
122
  customizationProps = _ref.customizationProps,
@@ -117,7 +124,6 @@ var DropdownContent = function DropdownContent(_ref) {
117
124
  isButton = _ref.isButton,
118
125
  size = _ref.size,
119
126
  isOpen = _ref.isOpen,
120
- hideOnClickOutside = _ref.hideOnClickOutside,
121
127
  width = _ref.width,
122
128
  setIsOpen = _ref.setIsOpen,
123
129
  filter = _ref.filter,
@@ -125,38 +131,55 @@ var DropdownContent = function DropdownContent(_ref) {
125
131
  setFocused = _ref.setFocused,
126
132
  selectedValues = _ref.selectedValues,
127
133
  setSelectedValues = _ref.setSelectedValues,
128
- messageOnNoResults = _ref.messageOnNoResults;
134
+ messageOnNoResults = _ref.messageOnNoResults,
135
+ outline = _ref.outline;
129
136
 
130
137
  var _React$useState = _react.default.useState(false),
131
138
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
132
139
  isUp = _React$useState2[0],
133
140
  setIsUp = _React$useState2[1];
134
141
 
135
- var dropdownContentRef = _react.default.useRef(null);
142
+ var _React$useState3 = _react.default.useState(false),
143
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
144
+ locationDefined = _React$useState4[0],
145
+ setLocationDefined = _React$useState4[1];
136
146
 
147
+ var dropdownContentRef = (_ref2 = ref) !== null && _ref2 !== void 0 ? _ref2 : _react.default.useRef(null);
137
148
  if (!customizationProps.itemsType) customizationProps.itemsType = 'normal';
138
149
  if (!size) size = _types.Size.Small;
139
150
 
140
151
  var itemsListRef = _react.default.useRef(null);
141
152
 
153
+ var actionButtonRef = _react.default.useRef(null);
154
+
142
155
  var determineDropUp = function determineDropUp() {
143
156
  var options = customizationProps.items;
144
157
  var node = dropdownContentRef.current;
145
158
  if (!node) return;
146
159
  var windowHeight = window.innerHeight;
147
160
  var menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);
148
- var instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight;
161
+ var instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight + OFFSET_BEFORE_SHOW;
149
162
  setIsUp(instOffsetWithMenu >= windowHeight);
163
+ setLocationDefined(true);
150
164
  };
151
165
 
152
166
  var setNewFocusedElement = function setNewFocusedElement(index) {
167
+ var _dropdownContentRef$c;
168
+
169
+ if (outline) (_dropdownContentRef$c = dropdownContentRef.current) === null || _dropdownContentRef$c === void 0 ? void 0 : _dropdownContentRef$c.focus();
153
170
  var newFocusedElement = elRefs[index];
171
+ var oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;
154
172
 
155
- if (newFocusedElement) {
156
- var _newFocusedElement$cu;
173
+ if (newFocusedElement && newFocusedElement !== oldFocusedElement) {
174
+ var _oldFocusedElement$cu, _newFocusedElement$cu, _newFocusedElement$cu2;
157
175
 
158
176
  setFocused(index);
159
- newFocusedElement === null || newFocusedElement === void 0 ? void 0 : (_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.focus();
177
+ oldFocusedElement === null || oldFocusedElement === void 0 ? void 0 : (_oldFocusedElement$cu = oldFocusedElement.current) === null || _oldFocusedElement$cu === void 0 ? void 0 : _oldFocusedElement$cu.classList.remove('dropdown-hover');
178
+ (_newFocusedElement$cu = newFocusedElement.current) === null || _newFocusedElement$cu === void 0 ? void 0 : _newFocusedElement$cu.classList.add('dropdown-hover');
179
+ (_newFocusedElement$cu2 = newFocusedElement.current) === null || _newFocusedElement$cu2 === void 0 ? void 0 : _newFocusedElement$cu2.scrollIntoView({
180
+ block: 'nearest',
181
+ inline: 'nearest'
182
+ });
160
183
  }
161
184
  };
162
185
 
@@ -169,95 +192,53 @@ var DropdownContent = function DropdownContent(_ref) {
169
192
  });
170
193
  };
171
194
 
195
+ var findNextActiveIndex = function findNextActiveIndex(index, direction, items) {
196
+ for (var i = index + direction; i > 0 && i <= items.length; i += direction) {
197
+ var _items;
198
+
199
+ if (!((_items = items[i - 1]) !== null && _items !== void 0 && _items.disabled)) {
200
+ return i;
201
+ }
202
+ }
203
+
204
+ return index;
205
+ };
206
+
172
207
  var handleKeyDown = function handleKeyDown(e) {
173
208
  if (isOpen) {
174
209
  if (e.key === 'ArrowUp' || e.key === 'Up') {
175
210
  e.preventDefault();
176
- var focusedNow = focused;
177
-
178
- if (focusedNow !== undefined && focusedNow !== null && focusedNow > 0) {
179
- var filtered = getFilteredItems();
180
- if (focusedNow == 1 && haveTopItem()) focusedNow = 0;else {
181
- for (var i = focusedNow - 1; i > 0; i--) {
182
- var _filtered;
183
-
184
- if (!((_filtered = filtered[i - 1]) !== null && _filtered !== void 0 && _filtered.disabled)) {
185
- focusedNow = i;
186
- break;
187
- }
188
- }
189
- }
211
+ var focusedNow = focused || focused === 0 ? focused : arrLength + 1;
212
+
213
+ if (!!focusedNow) {
214
+ focusedNow = focusedNow === 1 && haveTopItem() ? 0 : findNextActiveIndex(focusedNow, -1, getFilteredItems());
190
215
  setNewFocusedElement(focusedNow);
191
216
  }
192
217
  } else if (e.key === 'ArrowDown' || e.key === 'Down') {
193
218
  e.preventDefault();
194
- var focusedNow = focused;
195
-
196
- if (focusedNow !== undefined && focusedNow !== null) {
197
- var _filtered2 = getFilteredItems();
198
-
199
- for (var _i = focusedNow + 1; _i <= _filtered2.length; _i++) {
200
- var _filtered3;
201
-
202
- if (!((_filtered3 = _filtered2[_i - 1]) !== null && _filtered3 !== void 0 && _filtered3.disabled)) {
203
- focusedNow = _i;
204
- break;
205
- }
206
- }
207
- } else {
208
- focusedNow = haveTopItem() ? 0 : 1;
209
- }
210
-
211
- setNewFocusedElement(focusedNow);
212
- } else if (e.key === 'Tab') {
213
- e.preventDefault();
214
- var focusedNow = focused;
215
-
216
- if (focusedNow !== undefined && focusedNow !== null) {
217
- e.shiftKey ? focusedNow-- : focusedNow++;
218
- var newFocusedElement = document.getElementById("".concat(id, "_").concat(focusedNow));
219
-
220
- if (!newFocusedElement) {
221
- setNewFocusedElement(0);
222
- } else {
223
- setNewFocusedElement(focusedNow);
224
- }
225
- } else {
226
- setFocused(null);
227
- }
219
+ var _focusedNow = focused;
220
+ _focusedNow = !!_focusedNow || _focusedNow === 0 ? findNextActiveIndex(_focusedNow, 1, getFilteredItems()) : haveTopItem() ? 0 : 1;
221
+ setNewFocusedElement(_focusedNow);
228
222
  } else if (e.key === 'Escape' || e.key === 'Esc') {
229
223
  setIsOpen(false);
230
- setFocused(null); //TODO: add onEscapehandler
231
-
232
- /*
233
- if (!list.includes(input)) {
234
- setInput('');
235
- setPlaceholderSearch(placeholder || '');
236
- }
237
- styledFieldRef.current?.focus(); */
238
- }
239
- }
240
- };
224
+ setFocused(null);
225
+ } else if ((e.key === 'Enter' || e.key === ' ') && focused !== null && e.target !== (actionButtonRef === null || actionButtonRef === void 0 ? void 0 : actionButtonRef.current)) {
226
+ e.preventDefault();
227
+ var focusedElement = elRefs[focused];
241
228
 
242
- var handleClickOutside = function handleClickOutside(e) {
243
- if (hideOnClickOutside && dropdownContentRef !== null && dropdownContentRef !== void 0 && dropdownContentRef.current && !dropdownContentRef.current.contains(e.target) && !elRefs.some(function (x) {
244
- var _x$current;
229
+ if (focusedElement) {
230
+ var _focusedElement$curre;
245
231
 
246
- return x === null || x === void 0 ? void 0 : (_x$current = x.current) === null || _x$current === void 0 ? void 0 : _x$current.contains(e.target);
247
- })) {
248
- if (isOpen) {
249
- setIsOpen(false);
250
- setFocused(null);
232
+ (_focusedElement$curre = focusedElement.current) === null || _focusedElement$curre === void 0 ? void 0 : _focusedElement$curre.click();
233
+ }
251
234
  }
252
235
  }
253
236
  };
254
237
 
255
238
  _react.default.useEffect(function () {
256
239
  document.addEventListener('keydown', handleKeyDown);
257
- document.addEventListener('click', handleClickOutside);
258
240
  return function () {
259
241
  document.removeEventListener('keydown', handleKeyDown);
260
- document.removeEventListener('click', handleClickOutside);
261
242
  };
262
243
  });
263
244
 
@@ -287,26 +268,31 @@ var DropdownContent = function DropdownContent(_ref) {
287
268
 
288
269
  var arrLength = getFilteredItems().length;
289
270
 
290
- var _React$useState3 = _react.default.useState([]),
291
- _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
292
- elRefs = _React$useState4[0],
293
- setElRefs = _React$useState4[1];
271
+ var _React$useState5 = _react.default.useState([]),
272
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
273
+ elRefs = _React$useState6[0],
274
+ setElRefs = _React$useState6[1];
294
275
 
295
276
  _react.default.useEffect(function () {
277
+ if ((elRefs === null || elRefs === void 0 ? void 0 : elRefs.length) !== arrLength) {
278
+ setFocused(null);
279
+ }
280
+
296
281
  setElRefs(function (elRefs) {
297
282
  return Array(arrLength + 1).fill(null).map(function (_, i) {
298
283
  return getCorrectRef(elRefs[i]);
299
284
  });
300
285
  });
301
- }, [isOpen, arrLength, selectedValues]);
286
+ }, [isOpen, arrLength]);
302
287
 
303
- _react.default.useEffect(function () {
304
- determineDropUp();
305
- }, [isOpen]);
288
+ _react.default.useLayoutEffect(function () {
289
+ isOpen && !locationDefined && determineDropUp();
290
+ }, [isOpen, locationDefined]);
306
291
 
307
292
  var haveTopItem = function haveTopItem() {
308
293
  var _getSuggestions;
309
294
 
295
+ if (!customizationProps.pinTopItem) return false;
310
296
  if (customizationProps.itemsType === 'radio' && selectedValues && (selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length) > 0) return true;else if (customizationProps.itemsType === 'checkbox' && (customizationProps.multiSelect || (selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.length) > 0)) return true;else if (customizationProps.itemsType === 'normal' && ((_getSuggestions = getSuggestions()) === null || _getSuggestions === void 0 ? void 0 : _getSuggestions.length) > 0) return true;
311
297
  return false;
312
298
  };
@@ -316,18 +302,65 @@ var DropdownContent = function DropdownContent(_ref) {
316
302
  return x.suggestion;
317
303
  });
318
304
  };
305
+ /**
306
+ * when dropdown opens set correct position of focused item
307
+ * */
308
+
319
309
 
320
310
  _react.default.useLayoutEffect(function () {
321
311
  if (isOpen && (focused || focused === 0)) {
322
- var _newFocusedElement$cu2;
312
+ setNewFocusedElement(focused === 0 && !haveTopItem() ? 1 : focused);
313
+ }
314
+ }, [isOpen, focused]);
315
+ /**
316
+ * Reset dropdown content state on close
317
+ * */
323
318
 
324
- var focusThis = focused === 0 && !haveTopItem() ? 1 : focused;
325
- if (focusThis !== focused) setFocused(focusThis);
326
- var newFocusedElement = elRefs[focusThis];
327
- newFocusedElement === null || newFocusedElement === void 0 ? void 0 : (_newFocusedElement$cu2 = newFocusedElement.current) === null || _newFocusedElement$cu2 === void 0 ? void 0 : _newFocusedElement$cu2.focus();
328
- } else setFocused(null); //if the dropdown is closed, we don't to keep saved the focused item
329
319
 
330
- }, [isOpen, focused]);
320
+ _react.default.useEffect(function () {
321
+ if (!isOpen) {
322
+ var _dropdownContentRef$c2, _dropdownContentRef$c3;
323
+
324
+ setLocationDefined(false);
325
+
326
+ var _iterator = _createForOfIteratorHelper(elRefs),
327
+ _step;
328
+
329
+ try {
330
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
331
+ var _elRef$current;
332
+
333
+ var elRef = _step.value;
334
+ (_elRef$current = elRef.current) === null || _elRef$current === void 0 ? void 0 : _elRef$current.classList.remove('dropdown-hover');
335
+ }
336
+ } catch (err) {
337
+ _iterator.e(err);
338
+ } finally {
339
+ _iterator.f();
340
+ }
341
+
342
+ setFocused(null);
343
+ (_dropdownContentRef$c2 = dropdownContentRef.current) === null || _dropdownContentRef$c2 === void 0 ? void 0 : _dropdownContentRef$c2.classList.remove('outline');
344
+ (_dropdownContentRef$c3 = dropdownContentRef.current) === null || _dropdownContentRef$c3 === void 0 ? void 0 : _dropdownContentRef$c3.blur();
345
+ } else {
346
+ if (outline) {
347
+ var _dropdownContentRef$c4, _dropdownContentRef$c5;
348
+
349
+ (_dropdownContentRef$c4 = dropdownContentRef.current) === null || _dropdownContentRef$c4 === void 0 ? void 0 : _dropdownContentRef$c4.classList.add('outline');
350
+ (_dropdownContentRef$c5 = dropdownContentRef.current) === null || _dropdownContentRef$c5 === void 0 ? void 0 : _dropdownContentRef$c5.focus();
351
+ }
352
+ }
353
+ }, [isOpen, dropdownContentRef, focused, outline]);
354
+ /**
355
+ * Scroll item container to top when dropdown opens
356
+ * */
357
+
358
+
359
+ _react.default.useEffect(function () {
360
+ if (isOpen && itemsListRef.current) {
361
+ itemsListRef.current.scrollTop = 0;
362
+ }
363
+ }, [isOpen]);
331
364
 
332
365
  var handleItemClick = function handleItemClick(selected, item) {
333
366
  var newValue = [];
@@ -367,16 +400,20 @@ var DropdownContent = function DropdownContent(_ref) {
367
400
  }) : null;
368
401
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TopItemContainer, {
369
402
  size: size,
370
- children: [customizationProps.itemsType == 'radio' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.RadioButton, {
403
+ children: [customizationProps.itemsType === 'radio' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.RadioButton, {
371
404
  ref: elRefs[0],
372
405
  iconPointerEventsTransparent: true,
406
+ tabIndexVal: -1,
407
+ className: "".concat(focused === 0 ? 'dropdown-hover' : ''),
373
408
  select: function select() {},
374
409
  label: (_selectedFirst$displa = selectedFirst === null || selectedFirst === void 0 ? void 0 : selectedFirst.displayLabel) !== null && _selectedFirst$displa !== void 0 ? _selectedFirst$displa : selectedFirst === null || selectedFirst === void 0 ? void 0 : selectedFirst.value,
375
410
  size: size,
376
411
  id: "".concat(id, "_topitem"),
377
412
  selected: true
378
- }), customizationProps.itemsType == 'checkbox' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
413
+ }), customizationProps.itemsType === 'checkbox' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
379
414
  ref: elRefs[0],
415
+ tabIndexVal: -1,
416
+ className: "".concat(focused === 0 ? 'dropdown-hover' : ''),
380
417
  select: function select(selected) {
381
418
  if (!customizationProps.multiSelect) return;
382
419
  var newValues = selected ? visibleItems.map(function (x) {
@@ -391,12 +428,14 @@ var DropdownContent = function DropdownContent(_ref) {
391
428
  id: "".concat(id, "_checkbox_selectall"),
392
429
  label: customizationProps.multiSelect ? 'Select all' : (_selectedFirst$displa2 = selectedFirst === null || selectedFirst === void 0 ? void 0 : selectedFirst.displayLabel) !== null && _selectedFirst$displa2 !== void 0 ? _selectedFirst$displa2 : selectedFirst === null || selectedFirst === void 0 ? void 0 : selectedFirst.value,
393
430
  selected: !customizationProps.multiSelect || allSelected
394
- }), customizationProps.itemsType == 'normal' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
431
+ }), customizationProps.itemsType === 'normal' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
395
432
  children: suggestions.map(function (x) {
396
433
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
397
434
  item: x,
398
435
  size: size,
399
436
  active: false,
437
+ tabIndex: -1,
438
+ className: "".concat(focused === 0 ? 'dropdown-hover' : ''),
400
439
  ref: elRefs[0],
401
440
  id: "".concat(id, "_topitem"),
402
441
  onClickHandler: function onClickHandler(e) {
@@ -419,6 +458,7 @@ var DropdownContent = function DropdownContent(_ref) {
419
458
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
420
459
  className: "dropdownButton",
421
460
  disabled: true,
461
+ tabIndex: -1,
422
462
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
423
463
  children: messageOnNoResults
424
464
  })
@@ -426,12 +466,11 @@ var DropdownContent = function DropdownContent(_ref) {
426
466
  });
427
467
  }
428
468
 
429
- var number = 0;
430
469
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemsContainer, {
431
470
  size: size,
432
471
  children: getFilteredItems().filter(function (x) {
433
472
  return x && (customizationProps.itemsType != 'normal' || !x.suggestion);
434
- }).map(function (item) {
473
+ }).map(function (item, index) {
435
474
  var _item$displayLabel, _item$displayLabel2;
436
475
 
437
476
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
@@ -439,30 +478,36 @@ var DropdownContent = function DropdownContent(_ref) {
439
478
  select: function select(selected) {
440
479
  return handleItemClick(selected, item);
441
480
  },
442
- ref: elRefs[number + 1],
481
+ ref: elRefs[index + 1],
443
482
  size: size,
483
+ tabIndexVal: -1,
484
+ className: "".concat(index + 1 === focused ? 'dropdown-hover' : ''),
444
485
  iconPointerEventsTransparent: true,
445
486
  disabled: item === null || item === void 0 ? void 0 : item.disabled,
446
- id: "".concat(id, "_").concat(number + 1),
487
+ id: "".concat(id, "_").concat(index + 1),
447
488
  label: (_item$displayLabel = item.displayLabel) !== null && _item$displayLabel !== void 0 ? _item$displayLabel : item.value,
448
489
  selected: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(item.value)
449
- }, "key_".concat(id, "_").concat(number++)), !item.customContent && customizationProps.itemsType == 'checkbox' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
490
+ }, "key_".concat(id, "_").concat(index + 1)), !item.customContent && customizationProps.itemsType == 'checkbox' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
450
491
  select: function select(selected) {
451
492
  return handleItemClick(selected, item);
452
493
  },
453
494
  iconPointerEventsTransparent: true,
454
495
  disabled: item === null || item === void 0 ? void 0 : item.disabled,
455
- ref: elRefs[number + 1],
496
+ className: "".concat(index + 1 === focused ? 'dropdown-hover' : ''),
497
+ ref: elRefs[index + 1],
456
498
  size: size,
457
- id: "".concat(id, "_").concat(number + 1),
499
+ tabIndexVal: -1,
500
+ id: "".concat(id, "_").concat(index + 1),
458
501
  label: (_item$displayLabel2 = item.displayLabel) !== null && _item$displayLabel2 !== void 0 ? _item$displayLabel2 : item.value,
459
502
  selected: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(item.value)
460
- }, "key_".concat(id, "_").concat(number++)), !item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
461
- id: "".concat(id, "_").concat(number + 1),
503
+ }, "key_".concat(id, "_").concat(index + 1)), !item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.default, {
504
+ id: "".concat(id, "_").concat(index + 1),
462
505
  item: item,
506
+ tabIndex: -1,
507
+ className: "".concat(index + 1 === focused ? 'dropdown-hover' : ''),
463
508
  size: size,
464
509
  active: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.includes(item.value),
465
- ref: elRefs[number + 1],
510
+ ref: elRefs[index + 1],
466
511
  onClickHandler: function onClickHandler(e) {
467
512
  e.stopPropagation();
468
513
  customizationProps.onValueUpdate([item.value]);
@@ -470,28 +515,29 @@ var DropdownContent = function DropdownContent(_ref) {
470
515
  setIsOpen(false);
471
516
  setFocused(null);
472
517
  }
473
- }, "key_".concat(id, "_").concat(number++))]
518
+ }, "key_".concat(id, "_").concat(index + 1))]
474
519
  }, "key_".concat(id, "_").concat(item.value));
475
520
  })
476
521
  });
477
522
  };
478
523
 
524
+ var cls = "".concat(isOpen ? 'show' : '', " ").concat(isOpen && outline ? 'outline' : '', " ").concat(locationDefined ? isUp ? 'up' : 'down' : '');
479
525
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DDContainer, {
480
526
  ref: dropdownContentRef,
481
527
  size: size,
482
528
  width: width,
529
+ tabIndex: -1,
483
530
  isButton: isButton,
484
531
  alignLeft: alignLeft,
485
532
  scrollable: customizationProps.scrollable,
486
533
  maxHeight: customizationProps.maxHeight,
487
- className: [isOpen && 'show', isUp && 'up'].filter(function (e) {
488
- return !!e;
489
- }).join(' '),
534
+ className: cls,
490
535
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ListContainer, {
491
536
  size: size,
492
537
  itemsType: customizationProps.itemsType,
493
538
  onScroll: handleScroll,
494
539
  ref: itemsListRef,
540
+ outline: outline,
495
541
  scrollable: customizationProps.scrollable,
496
542
  children: [customizationProps.menuContent && /*#__PURE__*/(0, _jsxRuntime.jsxs)(MenuContentContainer, {
497
543
  size: size,
@@ -508,30 +554,19 @@ var DropdownContent = function DropdownContent(_ref) {
508
554
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
509
555
  width: "100%",
510
556
  icon: customizationProps.actionIcon,
557
+ ref: actionButtonRef,
511
558
  loading: customizationProps.actionLoading,
512
559
  disabled: customizationProps.actionDisabled,
513
560
  variant: (_customizationProps$a = customizationProps.actionVariant) !== null && _customizationProps$a !== void 0 ? _customizationProps$a : 'primary',
514
561
  size: size,
515
562
  onClick: function onClick() {
516
- if (customizationProps.action()) //closing the dropdown if action returns 'true'
517
- setIsOpen(false);
563
+ return customizationProps.action() && setIsOpen(false);
518
564
  },
519
565
  children: customizationProps.actionLabel
520
566
  })
521
567
  })]
522
568
  });
523
- /* ),
524
- {
525
- handleClickOutside: () => () => {
526
- if (isOpen) {
527
- setIsOpen(false);
528
- setFocused(null);
529
- }
530
- },
531
- },
532
- );
533
- return <Wrapped />; */
534
- };
569
+ });
535
570
 
536
571
  DropdownContent.propTypes = {
537
572
  isButton: _propTypes.default.bool.isRequired,
@@ -566,12 +601,12 @@ DropdownContent.propTypes = {
566
601
  id: _propTypes.default.string.isRequired,
567
602
  filter: _propTypes.default.string.isRequired,
568
603
  width: _propTypes.default.string,
569
- hideOnClickOutside: _propTypes.default.bool.isRequired,
570
604
  selectedValues: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
571
605
  setSelectedValues: _propTypes.default.func.isRequired,
572
606
  messageOnNoResults: _propTypes.default.string.isRequired,
573
607
  focused: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf([null])]),
574
- setFocused: _propTypes.default.func.isRequired
608
+ setFocused: _propTypes.default.func.isRequired,
609
+ outline: _propTypes.default.bool
575
610
  };
576
611
  var _default = DropdownContent;
577
612
  exports.default = _default;