@laerdal/life-react-components 1.9.8-dev.22 → 1.9.8-dev.25

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 (627) hide show
  1. package/README.md +38 -38
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.d.ts +11 -11
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionMenu.cjs.map +1 -1
  6. package/dist/Accordion/AccordionMenu.d.ts +19 -19
  7. package/dist/Accordion/AccordionMenu.js.map +1 -1
  8. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  9. package/dist/Accordion/ContentAccordion.d.ts +27 -27
  10. package/dist/Accordion/ContentAccordion.js.map +1 -1
  11. package/dist/Accordion/index.cjs.map +1 -1
  12. package/dist/Accordion/index.d.ts +4 -4
  13. package/dist/Accordion/index.js.map +1 -1
  14. package/dist/Accordion/styles.cjs.map +1 -1
  15. package/dist/Accordion/styles.d.ts +10 -10
  16. package/dist/Accordion/styles.js.map +1 -1
  17. package/dist/AuthPage/AuthPage.cjs +4 -4
  18. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  19. package/dist/AuthPage/AuthPage.d.ts +32 -32
  20. package/dist/AuthPage/AuthPage.js +4 -4
  21. package/dist/AuthPage/AuthPage.js.map +1 -1
  22. package/dist/AuthPage/Information.cjs.map +1 -1
  23. package/dist/AuthPage/Information.d.ts +7 -7
  24. package/dist/AuthPage/Information.js.map +1 -1
  25. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
  26. package/dist/AuthPage/ScreenSetsContainer.d.ts +4 -4
  27. package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
  28. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
  29. package/dist/AuthPage/_AuthPageSection.d.ts +2 -2
  30. package/dist/AuthPage/_AuthPageSection.js.map +1 -1
  31. package/dist/AuthPage/index.cjs.map +1 -1
  32. package/dist/AuthPage/index.d.ts +5 -5
  33. package/dist/AuthPage/index.js.map +1 -1
  34. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
  35. package/dist/AuthPage/screenSetsErrorMessages.d.ts +5 -5
  36. package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
  37. package/dist/Banners/Banner.cjs.map +1 -1
  38. package/dist/Banners/Banner.d.ts +17 -17
  39. package/dist/Banners/Banner.js.map +1 -1
  40. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  41. package/dist/Banners/OverviewBanner.d.ts +6 -6
  42. package/dist/Banners/OverviewBanner.js.map +1 -1
  43. package/dist/Banners/index.cjs.map +1 -1
  44. package/dist/Banners/index.d.ts +3 -3
  45. package/dist/Banners/index.js.map +1 -1
  46. package/dist/Banners/styles.cjs.map +1 -1
  47. package/dist/Banners/styles.d.ts +1 -1
  48. package/dist/Banners/styles.js.map +1 -1
  49. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  50. package/dist/Breadcrumb/Breadcrumb.d.ts +12 -12
  51. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  52. package/dist/Breadcrumb/BreadcrumbItem.d.ts +4 -4
  53. package/dist/Breadcrumb/index.cjs.map +1 -1
  54. package/dist/Breadcrumb/index.d.ts +1 -1
  55. package/dist/Breadcrumb/index.js.map +1 -1
  56. package/dist/Button/BackButton.cjs.map +1 -1
  57. package/dist/Button/BackButton.d.ts +8 -8
  58. package/dist/Button/BackButton.js.map +1 -1
  59. package/dist/Button/Button.cjs.map +1 -1
  60. package/dist/Button/Button.d.ts +19 -19
  61. package/dist/Button/Button.js.map +1 -1
  62. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  63. package/dist/Button/DualFunctionButton.d.ts +13 -13
  64. package/dist/Button/DualFunctionButton.js.map +1 -1
  65. package/dist/Button/Iconbutton.cjs.map +1 -1
  66. package/dist/Button/Iconbutton.d.ts +44 -44
  67. package/dist/Button/Iconbutton.js.map +1 -1
  68. package/dist/Button/index.cjs.map +1 -1
  69. package/dist/Button/index.d.ts +4 -4
  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.d.ts +4 -4
  73. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  74. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +8 -2
  75. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  76. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +5 -5
  77. package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
  78. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  79. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  80. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +5 -5
  81. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  82. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  83. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +5 -5
  84. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  85. package/dist/Card/HorizontalCard/index.cjs.map +1 -1
  86. package/dist/Card/HorizontalCard/index.d.ts +2 -2
  87. package/dist/Card/HorizontalCard/index.js.map +1 -1
  88. package/dist/Card/HorizontalCard/types.d.ts +40 -40
  89. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  90. package/dist/Card/VerticalCard/Card.d.ts +16 -16
  91. package/dist/Card/VerticalCard/Card.js.map +1 -1
  92. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  93. package/dist/Card/VerticalCard/CardBottomSection.d.ts +31 -31
  94. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  95. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  96. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +27 -27
  97. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  98. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  99. package/dist/Card/VerticalCard/CardTopSection.d.ts +27 -27
  100. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  101. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  102. package/dist/Card/VerticalCard/index.d.ts +7 -7
  103. package/dist/Card/VerticalCard/index.js.map +1 -1
  104. package/dist/Card/index.cjs.map +1 -1
  105. package/dist/Card/index.d.ts +2 -2
  106. package/dist/Card/index.js.map +1 -1
  107. package/dist/Chips/ActionChip.cjs +8 -8
  108. package/dist/Chips/ActionChip.cjs.map +1 -1
  109. package/dist/Chips/ActionChip.d.ts +10 -10
  110. package/dist/Chips/ActionChip.js +10 -10
  111. package/dist/Chips/ActionChip.js.map +1 -1
  112. package/dist/Chips/ChipStyles.cjs.map +1 -1
  113. package/dist/Chips/ChipStyles.d.ts +3 -3
  114. package/dist/Chips/ChipStyles.js +4 -4
  115. package/dist/Chips/ChipStyles.js.map +1 -1
  116. package/dist/Chips/ChipTypes.d.ts +38 -38
  117. package/dist/Chips/ChoiceChips.cjs +13 -13
  118. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  119. package/dist/Chips/ChoiceChips.d.ts +10 -10
  120. package/dist/Chips/ChoiceChips.js +15 -15
  121. package/dist/Chips/ChoiceChips.js.map +1 -1
  122. package/dist/Chips/FilterChip.cjs +8 -8
  123. package/dist/Chips/FilterChip.cjs.map +1 -1
  124. package/dist/Chips/FilterChip.d.ts +10 -10
  125. package/dist/Chips/FilterChip.js +10 -10
  126. package/dist/Chips/FilterChip.js.map +1 -1
  127. package/dist/Chips/InputChip.cjs +11 -11
  128. package/dist/Chips/InputChip.cjs.map +1 -1
  129. package/dist/Chips/InputChip.d.ts +10 -10
  130. package/dist/Chips/InputChip.js +13 -13
  131. package/dist/Chips/InputChip.js.map +1 -1
  132. package/dist/Chips/index.cjs.map +1 -1
  133. package/dist/Chips/index.d.ts +5 -5
  134. package/dist/Chips/index.js.map +1 -1
  135. package/dist/ChipsInput/ChipDropdownInput.cjs +20 -20
  136. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  137. package/dist/ChipsInput/ChipDropdownInput.d.ts +21 -21
  138. package/dist/ChipsInput/ChipDropdownInput.js +26 -26
  139. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  140. package/dist/ChipsInput/ChipInput.cjs +16 -16
  141. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  142. package/dist/ChipsInput/ChipInput.d.ts +7 -7
  143. package/dist/ChipsInput/ChipInput.js +16 -16
  144. package/dist/ChipsInput/ChipInput.js.map +1 -1
  145. package/dist/ChipsInput/ChipInputField.cjs +4 -4
  146. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  147. package/dist/ChipsInput/ChipInputField.d.ts +25 -25
  148. package/dist/ChipsInput/ChipInputField.js +4 -4
  149. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  150. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -22
  151. package/dist/ChipsInput/index.cjs.map +1 -1
  152. package/dist/ChipsInput/index.d.ts +1 -1
  153. package/dist/ChipsInput/index.js.map +1 -1
  154. package/dist/Dropdown/BasicDropdown.cjs +57 -67
  155. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  156. package/dist/Dropdown/BasicDropdown.d.ts +35 -42
  157. package/dist/Dropdown/BasicDropdown.js +58 -67
  158. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  159. package/dist/Dropdown/CommonStyling.cjs +1 -1
  160. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  161. package/dist/Dropdown/CommonStyling.d.ts +22 -22
  162. package/dist/Dropdown/CommonStyling.js +1 -1
  163. package/dist/Dropdown/CommonStyling.js.map +1 -1
  164. package/dist/Dropdown/DropdownButton.cjs +3 -3
  165. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  166. package/dist/Dropdown/DropdownButton.d.ts +10 -10
  167. package/dist/Dropdown/DropdownButton.js +9 -9
  168. package/dist/Dropdown/DropdownButton.js.map +1 -1
  169. package/dist/Dropdown/DropdownButtonTypes.d.ts +33 -33
  170. package/dist/Dropdown/DropdownContent.cjs +6 -6
  171. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  172. package/dist/Dropdown/DropdownContent.d.ts +56 -56
  173. package/dist/Dropdown/DropdownContent.js +6 -6
  174. package/dist/Dropdown/DropdownContent.js.map +1 -1
  175. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  176. package/dist/Dropdown/DropdownFilter.d.ts +24 -24
  177. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  178. package/dist/Dropdown/index.cjs.map +1 -1
  179. package/dist/Dropdown/index.d.ts +6 -6
  180. package/dist/Dropdown/index.js.map +1 -1
  181. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
  182. package/dist/Footer/Components/FooterBottomLinks.d.ts +11 -11
  183. package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
  184. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  185. package/dist/Footer/Components/FooterDropdownLinks.d.ts +7 -7
  186. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  187. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
  188. package/dist/Footer/Components/FooterNavSection.d.ts +7 -7
  189. package/dist/Footer/Components/FooterNavSection.js.map +1 -1
  190. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  191. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +7 -7
  192. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  193. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  194. package/dist/Footer/Components/FooterTop.d.ts +7 -7
  195. package/dist/Footer/Components/FooterTop.js.map +1 -1
  196. package/dist/Footer/Footer.cjs.map +1 -1
  197. package/dist/Footer/Footer.d.ts +2 -2
  198. package/dist/Footer/Footer.js.map +1 -1
  199. package/dist/Footer/SiteFooter.cjs.map +1 -1
  200. package/dist/Footer/SiteFooter.d.ts +20 -20
  201. package/dist/Footer/SiteFooter.js +8 -8
  202. package/dist/Footer/SiteFooter.js.map +1 -1
  203. package/dist/Footer/index.cjs.map +1 -1
  204. package/dist/Footer/index.d.ts +2 -2
  205. package/dist/Footer/index.js.map +1 -1
  206. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +4 -4
  207. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  208. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +23 -23
  209. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +4 -4
  210. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  211. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  212. package/dist/GlobalNavigationBar/Logo.d.ts +14 -14
  213. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  214. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -1
  215. package/dist/GlobalNavigationBar/NavigationHelper.d.ts +4 -4
  216. package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -1
  217. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +8 -2
  218. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  219. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +15 -15
  220. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  221. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  222. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  223. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +7 -7
  224. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  225. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  226. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +8 -8
  227. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  228. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  229. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +8 -8
  230. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  231. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  232. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +7 -7
  233. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  234. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  235. package/dist/GlobalNavigationBar/index.d.ts +3 -3
  236. package/dist/GlobalNavigationBar/index.js.map +1 -1
  237. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  238. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +13 -13
  239. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  240. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  241. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +8 -8
  242. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  243. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  244. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +11 -11
  245. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  246. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  247. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +12 -12
  248. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  249. package/dist/GlobalNavigationBar/types.d.ts +120 -120
  250. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  251. package/dist/HyperLink/HyperLink.d.ts +16 -16
  252. package/dist/HyperLink/HyperLink.js.map +1 -1
  253. package/dist/HyperLink/index.cjs.map +1 -1
  254. package/dist/HyperLink/index.d.ts +3 -3
  255. package/dist/HyperLink/index.js.map +1 -1
  256. package/dist/HyperLink/styling.cjs.map +1 -1
  257. package/dist/HyperLink/styling.d.ts +2 -2
  258. package/dist/HyperLink/styling.js.map +1 -1
  259. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  260. package/dist/Image/ImageWithFallbacks.d.ts +21 -21
  261. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  262. package/dist/Image/index.cjs.map +1 -1
  263. package/dist/Image/index.d.ts +2 -2
  264. package/dist/Image/index.js.map +1 -1
  265. package/dist/InputFields/Checkbox.cjs.map +1 -1
  266. package/dist/InputFields/Checkbox.d.ts +25 -25
  267. package/dist/InputFields/Checkbox.js.map +1 -1
  268. package/dist/InputFields/DatepickerField.cjs +42 -48
  269. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  270. package/dist/InputFields/DatepickerField.d.ts +23 -20
  271. package/dist/InputFields/DatepickerField.js +32 -45
  272. package/dist/InputFields/DatepickerField.js.map +1 -1
  273. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  274. package/dist/InputFields/DatepickerFieldHeader.d.ts +18 -18
  275. package/dist/InputFields/DatepickerFieldHeader.js +2 -2
  276. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  277. package/dist/InputFields/Label.cjs +5 -5
  278. package/dist/InputFields/Label.cjs.map +1 -1
  279. package/dist/InputFields/Label.d.ts +13 -13
  280. package/dist/InputFields/Label.js +11 -11
  281. package/dist/InputFields/Label.js.map +1 -1
  282. package/dist/InputFields/NumberField.cjs +52 -63
  283. package/dist/InputFields/NumberField.cjs.map +1 -1
  284. package/dist/InputFields/NumberField.d.ts +24 -19
  285. package/dist/InputFields/NumberField.js +53 -60
  286. package/dist/InputFields/NumberField.js.map +1 -1
  287. package/dist/InputFields/PasswordField.cjs.map +1 -1
  288. package/dist/InputFields/PasswordField.d.ts +17 -17
  289. package/dist/InputFields/PasswordField.js.map +1 -1
  290. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  291. package/dist/InputFields/QuickSearch.d.ts +18 -18
  292. package/dist/InputFields/QuickSearch.js.map +1 -1
  293. package/dist/InputFields/RadioButton.cjs +1 -1
  294. package/dist/InputFields/RadioButton.cjs.map +1 -1
  295. package/dist/InputFields/RadioButton.d.ts +18 -18
  296. package/dist/InputFields/RadioButton.js +1 -1
  297. package/dist/InputFields/RadioButton.js.map +1 -1
  298. package/dist/InputFields/ResponsiveComponentWrapper.cjs +4 -4
  299. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
  300. package/dist/InputFields/ResponsiveComponentWrapper.d.ts +11 -11
  301. package/dist/InputFields/ResponsiveComponentWrapper.js +4 -4
  302. package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
  303. package/dist/InputFields/SearchBar.cjs.map +1 -1
  304. package/dist/InputFields/SearchBar.d.ts +18 -18
  305. package/dist/InputFields/SearchBar.js.map +1 -1
  306. package/dist/InputFields/TextField.cjs +3 -5
  307. package/dist/InputFields/TextField.cjs.map +1 -1
  308. package/dist/InputFields/TextField.d.ts +23 -24
  309. package/dist/InputFields/TextField.js +4 -5
  310. package/dist/InputFields/TextField.js.map +1 -1
  311. package/dist/InputFields/Textarea.cjs.map +1 -1
  312. package/dist/InputFields/Textarea.d.ts +7 -7
  313. package/dist/InputFields/Textarea.js +8 -8
  314. package/dist/InputFields/Textarea.js.map +1 -1
  315. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  316. package/dist/InputFields/components/SearchBarInput.d.ts +19 -19
  317. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  318. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  319. package/dist/InputFields/components/SearchField.d.ts +15 -15
  320. package/dist/InputFields/components/SearchField.js.map +1 -1
  321. package/dist/InputFields/index.cjs +0 -26
  322. package/dist/InputFields/index.cjs.map +1 -1
  323. package/dist/InputFields/index.d.ts +11 -12
  324. package/dist/InputFields/index.js +0 -1
  325. package/dist/InputFields/index.js.map +1 -1
  326. package/dist/InputFields/styling.cjs.map +1 -1
  327. package/dist/InputFields/styling.d.ts +24 -24
  328. package/dist/InputFields/styling.js.map +1 -1
  329. package/dist/InputFields/types.d.ts +38 -38
  330. package/dist/Layouts/index.cjs.map +1 -1
  331. package/dist/Layouts/index.d.ts +10 -10
  332. package/dist/Layouts/index.js.map +1 -1
  333. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  334. package/dist/LinearProgress/LinearProgress.d.ts +25 -25
  335. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  336. package/dist/LinearProgress/index.cjs.map +1 -1
  337. package/dist/LinearProgress/index.d.ts +3 -3
  338. package/dist/LinearProgress/index.js.map +1 -1
  339. package/dist/List/ListRow.cjs.map +1 -1
  340. package/dist/List/ListRow.d.ts +20 -20
  341. package/dist/List/ListRow.js.map +1 -1
  342. package/dist/List/__tests__/ListRow.tests.d.ts +1 -1
  343. package/dist/List/index.cjs.map +1 -1
  344. package/dist/List/index.d.ts +2 -2
  345. package/dist/List/index.js.map +1 -1
  346. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  347. package/dist/LoadingIndicator/LoadingIndicator.d.ts +8 -8
  348. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  349. package/dist/LoadingIndicator/index.cjs.map +1 -1
  350. package/dist/LoadingIndicator/index.d.ts +1 -1
  351. package/dist/LoadingIndicator/index.js.map +1 -1
  352. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  353. package/dist/LoadingPage/GlobalLoadingPage.d.ts +7 -7
  354. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  355. package/dist/LoadingPage/index.cjs.map +1 -1
  356. package/dist/LoadingPage/index.d.ts +1 -1
  357. package/dist/LoadingPage/index.js.map +1 -1
  358. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  359. package/dist/MenuItem/MenuItem.d.ts +25 -25
  360. package/dist/MenuItem/MenuItem.js.map +1 -1
  361. package/dist/MenuItem/index.d.ts +1 -1
  362. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  363. package/dist/MiniProductCard/MiniProductCard.d.ts +7 -7
  364. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  365. package/dist/MiniProductCard/index.cjs.map +1 -1
  366. package/dist/MiniProductCard/index.d.ts +1 -1
  367. package/dist/MiniProductCard/index.js.map +1 -1
  368. package/dist/Modals/Modal.cjs +2 -2
  369. package/dist/Modals/Modal.cjs.map +1 -1
  370. package/dist/Modals/Modal.d.ts +14 -14
  371. package/dist/Modals/Modal.js +2 -2
  372. package/dist/Modals/Modal.js.map +1 -1
  373. package/dist/Modals/ModalContainer.cjs.map +1 -1
  374. package/dist/Modals/ModalContainer.d.ts +32 -32
  375. package/dist/Modals/ModalContainer.js.map +1 -1
  376. package/dist/Modals/ModalContent.cjs.map +1 -1
  377. package/dist/Modals/ModalContent.d.ts +17 -17
  378. package/dist/Modals/ModalContent.js.map +1 -1
  379. package/dist/Modals/ModalDialog.cjs.map +1 -1
  380. package/dist/Modals/ModalDialog.d.ts +28 -28
  381. package/dist/Modals/ModalDialog.js.map +1 -1
  382. package/dist/Modals/ModalNote.cjs.map +1 -1
  383. package/dist/Modals/ModalNote.d.ts +9 -9
  384. package/dist/Modals/ModalNote.js.map +1 -1
  385. package/dist/Modals/ModalStyles.cjs +2 -2
  386. package/dist/Modals/ModalStyles.cjs.map +1 -1
  387. package/dist/Modals/ModalStyles.d.ts +53 -53
  388. package/dist/Modals/ModalStyles.js +2 -2
  389. package/dist/Modals/ModalStyles.js.map +1 -1
  390. package/dist/Modals/ModalTypes.d.ts +23 -23
  391. package/dist/Modals/index.cjs.map +1 -1
  392. package/dist/Modals/index.d.ts +7 -7
  393. package/dist/Modals/index.js.map +1 -1
  394. package/dist/NavItem/NavItem.cjs.map +1 -1
  395. package/dist/NavItem/NavItem.d.ts +2 -2
  396. package/dist/NavItem/NavItem.js.map +1 -1
  397. package/dist/NavItem/index.cjs.map +1 -1
  398. package/dist/NavItem/index.d.ts +1 -1
  399. package/dist/NavItem/index.js.map +1 -1
  400. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  401. package/dist/NotificationDot/NotificationDot.d.ts +9 -9
  402. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  403. package/dist/NotificationDot/index.d.ts +1 -1
  404. package/dist/Paginator/Paginator.cjs.map +1 -1
  405. package/dist/Paginator/Paginator.d.ts +8 -8
  406. package/dist/Paginator/Paginator.js.map +1 -1
  407. package/dist/Paginator/index.cjs.map +1 -1
  408. package/dist/Paginator/index.d.ts +2 -2
  409. package/dist/Paginator/index.js.map +1 -1
  410. package/dist/Popover/Popover.cjs.map +1 -1
  411. package/dist/Popover/Popover.d.ts +27 -27
  412. package/dist/Popover/Popover.js.map +1 -1
  413. package/dist/Popover/index.d.ts +1 -1
  414. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  415. package/dist/ProfileButton/ProfileButton.d.ts +14 -14
  416. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  417. package/dist/ProfileButton/index.d.ts +1 -1
  418. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  419. package/dist/QuizButton/QuizButton.d.ts +15 -15
  420. package/dist/QuizButton/QuizButton.js.map +1 -1
  421. package/dist/QuizButton/index.d.ts +1 -1
  422. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  423. package/dist/SegmentControl/SegmentControl.d.ts +19 -19
  424. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  425. package/dist/SegmentControl/index.cjs.map +1 -1
  426. package/dist/SegmentControl/index.d.ts +3 -3
  427. package/dist/SegmentControl/index.js.map +1 -1
  428. package/dist/Services/functions.cjs.map +1 -1
  429. package/dist/Services/functions.d.ts +1 -1
  430. package/dist/Services/functions.js.map +1 -1
  431. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  432. package/dist/SkipToContent/SkipToContent.d.ts +4 -4
  433. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  434. package/dist/SkipToContent/index.cjs.map +1 -1
  435. package/dist/SkipToContent/index.d.ts +1 -1
  436. package/dist/SkipToContent/index.js.map +1 -1
  437. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  438. package/dist/Switcher/MobileSwitcherMenu.d.ts +10 -10
  439. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  440. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  441. package/dist/Switcher/SwitcherMenuItem.d.ts +3 -3
  442. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  443. package/dist/Switcher/__tests__/SwitcherMenuItem.d.ts +1 -1
  444. package/dist/Switcher/index.cjs.map +1 -1
  445. package/dist/Switcher/index.d.ts +3 -3
  446. package/dist/Switcher/index.js.map +1 -1
  447. package/dist/Table/Table.cjs +31 -31
  448. package/dist/Table/Table.cjs.map +1 -1
  449. package/dist/Table/Table.d.ts +10 -10
  450. package/dist/Table/Table.js +39 -39
  451. package/dist/Table/Table.js.map +1 -1
  452. package/dist/Table/TableBody.cjs.map +1 -1
  453. package/dist/Table/TableBody.d.ts +9 -9
  454. package/dist/Table/TableBody.js.map +1 -1
  455. package/dist/Table/TableFooter.cjs.map +1 -1
  456. package/dist/Table/TableFooter.d.ts +15 -15
  457. package/dist/Table/TableFooter.js.map +1 -1
  458. package/dist/Table/TableHeaders.cjs.map +1 -1
  459. package/dist/Table/TableHeaders.d.ts +9 -9
  460. package/dist/Table/TableHeaders.js.map +1 -1
  461. package/dist/Table/TableStyles.cjs +2 -2
  462. package/dist/Table/TableStyles.cjs.map +1 -1
  463. package/dist/Table/TableStyles.d.ts +23 -23
  464. package/dist/Table/TableStyles.js +6 -6
  465. package/dist/Table/TableStyles.js.map +1 -1
  466. package/dist/Table/TableTypes.d.ts +56 -56
  467. package/dist/Table/index.cjs.map +1 -1
  468. package/dist/Table/index.d.ts +2 -2
  469. package/dist/Table/index.js.map +1 -1
  470. package/dist/Tabs/HorizontalTabs.cjs +3 -3
  471. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  472. package/dist/Tabs/HorizontalTabs.d.ts +16 -16
  473. package/dist/Tabs/HorizontalTabs.js +9 -9
  474. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  475. package/dist/Tabs/TabLink.cjs.map +1 -1
  476. package/dist/Tabs/TabLink.d.ts +16 -16
  477. package/dist/Tabs/TabLink.js.map +1 -1
  478. package/dist/Tabs/Tabs.cjs.map +1 -1
  479. package/dist/Tabs/Tabs.d.ts +8 -8
  480. package/dist/Tabs/Tabs.js.map +1 -1
  481. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  482. package/dist/Tabs/VerticalTabs.d.ts +20 -20
  483. package/dist/Tabs/VerticalTabs.js.map +1 -1
  484. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -1
  485. package/dist/Tabs/index.cjs.map +1 -1
  486. package/dist/Tabs/index.d.ts +5 -5
  487. package/dist/Tabs/index.js.map +1 -1
  488. package/dist/Tag/Tag.cjs.map +1 -1
  489. package/dist/Tag/Tag.d.ts +9 -9
  490. package/dist/Tag/Tag.js.map +1 -1
  491. package/dist/Tag/index.cjs.map +1 -1
  492. package/dist/Tag/index.d.ts +2 -2
  493. package/dist/Tag/index.js.map +1 -1
  494. package/dist/Tile/Tile.cjs.map +1 -1
  495. package/dist/Tile/Tile.d.ts +4 -4
  496. package/dist/Tile/Tile.js.map +1 -1
  497. package/dist/Tile/TileBody.cjs.map +1 -1
  498. package/dist/Tile/TileBody.d.ts +6 -6
  499. package/dist/Tile/TileBody.js.map +1 -1
  500. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  501. package/dist/Tile/TileCommonItems.d.ts +9 -9
  502. package/dist/Tile/TileCommonItems.js.map +1 -1
  503. package/dist/Tile/TileFooter.cjs.map +1 -1
  504. package/dist/Tile/TileFooter.d.ts +7 -7
  505. package/dist/Tile/TileFooter.js.map +1 -1
  506. package/dist/Tile/TileHeader.cjs.map +1 -1
  507. package/dist/Tile/TileHeader.d.ts +7 -7
  508. package/dist/Tile/TileHeader.js.map +1 -1
  509. package/dist/Tile/TileTypes.d.ts +57 -57
  510. package/dist/Tile/index.cjs.map +1 -1
  511. package/dist/Tile/index.d.ts +3 -3
  512. package/dist/Tile/index.js.map +1 -1
  513. package/dist/Toasters/Toast.cjs.map +1 -1
  514. package/dist/Toasters/Toast.d.ts +24 -24
  515. package/dist/Toasters/Toast.js.map +1 -1
  516. package/dist/Toasters/ToastContext.cjs.map +1 -1
  517. package/dist/Toasters/ToastContext.d.ts +18 -18
  518. package/dist/Toasters/ToastContext.js.map +1 -1
  519. package/dist/Toasters/index.cjs.map +1 -1
  520. package/dist/Toasters/index.d.ts +3 -3
  521. package/dist/Toasters/index.js.map +1 -1
  522. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  523. package/dist/Toggles/ToggleButton.d.ts +14 -14
  524. package/dist/Toggles/ToggleButton.js.map +1 -1
  525. package/dist/Toggles/ToggleSwitch.cjs +19 -26
  526. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  527. package/dist/Toggles/ToggleSwitch.d.ts +6 -10
  528. package/dist/Toggles/ToggleSwitch.js +20 -29
  529. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  530. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  531. package/dist/Toggles/TogglerStyles.d.ts +5 -5
  532. package/dist/Toggles/TogglerStyles.js +4 -4
  533. package/dist/Toggles/TogglerStyles.js.map +1 -1
  534. package/dist/Toggles/TogglerTypes.d.ts +13 -13
  535. package/dist/Toggles/index.cjs.map +1 -1
  536. package/dist/Toggles/index.d.ts +3 -3
  537. package/dist/Toggles/index.js.map +1 -1
  538. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  539. package/dist/Tooltips/TooltipStyles.d.ts +12 -12
  540. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  541. package/dist/Tooltips/TooltipTypes.cjs +2 -2
  542. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  543. package/dist/Tooltips/TooltipTypes.d.ts +16 -16
  544. package/dist/Tooltips/TooltipTypes.js +2 -2
  545. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  546. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  547. package/dist/Tooltips/TooltipWrapper.d.ts +3 -3
  548. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  549. package/dist/Tooltips/index.cjs.map +1 -1
  550. package/dist/Tooltips/index.d.ts +3 -3
  551. package/dist/Tooltips/index.js.map +1 -1
  552. package/dist/assets/index.cjs.map +1 -1
  553. package/dist/assets/index.d.ts +12 -12
  554. package/dist/assets/index.js.map +1 -1
  555. package/dist/common/ActionWithin.cjs.map +1 -1
  556. package/dist/common/ActionWithin.d.ts +2 -2
  557. package/dist/common/ActionWithin.js.map +1 -1
  558. package/dist/common/ClickOutside.cjs.map +1 -1
  559. package/dist/common/ClickOutside.d.ts +1 -1
  560. package/dist/common/ClickOutside.js.map +1 -1
  561. package/dist/common/EventHandlers.cjs.map +1 -1
  562. package/dist/common/EventHandlers.d.ts +1 -1
  563. package/dist/common/EventHandlers.js.map +1 -1
  564. package/dist/common/FocusOutside.cjs.map +1 -1
  565. package/dist/common/FocusOutside.d.ts +1 -1
  566. package/dist/common/FocusOutside.js.map +1 -1
  567. package/dist/common/FocusVisible.cjs.map +1 -1
  568. package/dist/common/FocusVisible.d.ts +2 -2
  569. package/dist/common/FocusVisible.js.map +1 -1
  570. package/dist/common/InputStyling.cjs.map +1 -1
  571. package/dist/common/InputStyling.d.ts +1 -1
  572. package/dist/common/InputStyling.js.map +1 -1
  573. package/dist/common/StackState.cjs.map +1 -1
  574. package/dist/common/StackState.d.ts +7 -7
  575. package/dist/common/StackState.js.map +1 -1
  576. package/dist/common/index.cjs.map +1 -1
  577. package/dist/common/index.d.ts +6 -6
  578. package/dist/common/index.js.map +1 -1
  579. package/dist/custom.d.ts +4 -4
  580. package/dist/declarations.d.ts +1 -1
  581. package/dist/hooks/useClickOutside.cjs +2 -2
  582. package/dist/hooks/useClickOutside.cjs.map +1 -1
  583. package/dist/hooks/useClickOutside.d.ts +5 -5
  584. package/dist/hooks/useClickOutside.js +2 -2
  585. package/dist/hooks/useClickOutside.js.map +1 -1
  586. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  587. package/dist/icons/contenticons/ContentIcons.d.ts +170 -170
  588. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  589. package/dist/icons/index.cjs +4 -4
  590. package/dist/icons/index.cjs.map +1 -1
  591. package/dist/icons/index.d.ts +25 -25
  592. package/dist/icons/index.js +4 -4
  593. package/dist/icons/index.js.map +1 -1
  594. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  595. package/dist/icons/systemicons/SystemIcons.d.ts +183 -183
  596. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  597. package/dist/index.cjs.map +1 -1
  598. package/dist/index.d.ts +43 -43
  599. package/dist/index.js.map +1 -1
  600. package/dist/styles/breakpoints.cjs.map +1 -1
  601. package/dist/styles/breakpoints.d.ts +8 -8
  602. package/dist/styles/breakpoints.js.map +1 -1
  603. package/dist/styles/colors.cjs.map +1 -1
  604. package/dist/styles/colors.d.ts +83 -83
  605. package/dist/styles/colors.js.map +1 -1
  606. package/dist/styles/focus-styles.cjs.map +1 -1
  607. package/dist/styles/focus-styles.d.ts +2 -2
  608. package/dist/styles/focus-styles.js.map +1 -1
  609. package/dist/styles/global.cjs.map +1 -1
  610. package/dist/styles/global.d.ts +2 -2
  611. package/dist/styles/global.js.map +1 -1
  612. package/dist/styles/index.cjs.map +1 -1
  613. package/dist/styles/index.d.ts +23 -23
  614. package/dist/styles/index.js.map +1 -1
  615. package/dist/styles/shadowstyles.cjs.map +1 -1
  616. package/dist/styles/shadowstyles.d.ts +7 -7
  617. package/dist/styles/shadowstyles.js.map +1 -1
  618. package/dist/styles/typography.cjs.map +1 -1
  619. package/dist/styles/typography.d.ts +89 -89
  620. package/dist/styles/typography.js.map +1 -1
  621. package/dist/styles/z-indexes.cjs.map +1 -1
  622. package/dist/styles/z-indexes.d.ts +15 -15
  623. package/dist/styles/z-indexes.js.map +1 -1
  624. package/dist/types.cjs.map +1 -1
  625. package/dist/types.d.ts +70 -70
  626. package/dist/types.js.map +1 -1
  627. package/package.json +107 -107
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownContent.tsx"],"names":["React","styled","Button","Size","ButtonDropdownContentStyling","ComponentLStyling","ComponentXLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","scrollBarStyling","Checkbox","RadioButton","Z_INDEXES","MenuItem","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DDContainer","div","white","props","width","dropdown","isButton","alignLeft","neutral_100","size","Large","Medium","scrollable","maxHeight","ItemsContainer","hover","active","focus","ListContainer","itemsType","Small","MenuContentContainer","Bold","neutral_500","Regular","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","DropdownContent","forwardRef","ref","id","customizationProps","isOpen","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","useState","isUp","setIsUp","locationDefined","setLocationDefined","dropdownContentRef","useRef","itemsListRef","actionButtonRef","determineDropUp","options","items","node","current","windowHeight","window","innerHeight","menuHeight","Math","min","length","instOffsetWithMenu","getBoundingClientRect","top","setNewFocusedElement","index","newFocusedElement","elRefs","oldFocusedElement","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","value","includes","displayLabel","findNextActiveIndex","direction","i","disabled","handleKeyDown","e","key","preventDefault","focusedNow","arrLength","haveTopItem","target","focusedElement","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","scrollTop","useLayoutEffect","getCorrectRef","createRef","setElRefs","Array","fill","map","_","pinTopItem","multiSelect","getSuggestions","suggestion","elRef","blur","handleItemClick","selected","item","newValue","onValueUpdate","getTopItem","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","undefined","selectedFirst","newValues","stopPropagation","getElements","customContent","cls","menuContent","action","actionLabel","actionIcon","actionLoading","actionDisabled","actionVariant","noteLabel","showDividerAbove","locked","icon"],"mappings":"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","sourcesContent":["import React, {MutableRefObject} from 'react';\r\nimport styled, {css} from 'styled-components';\r\nimport Button from '../Button/Button';\r\nimport {Size} from '../types';\r\nimport {ButtonDropdownContentStyling} from './CommonStyling';\r\nimport {\r\n ComponentLStyling,\r\n ComponentXLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle\r\n} from '../styles/typography';\r\nimport {COLORS, focusStyles, scrollBarStyling} from '../styles';\r\nimport {Checkbox, RadioButton} from '../InputFields';\r\nimport {Z_INDEXES} from '../styles/z-indexes';\r\nimport MenuItem from '../MenuItem/MenuItem';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nconst MAX_MENU_HEIGHT = 240;\r\nconst AVG_OPTION_HEIGHT = 48;\r\nconst OFFSET_BEFORE_SHOW = 1000000;\r\n\r\nexport const DDContainer = styled.div<{ isButton: boolean; width?: string; alignLeft?: boolean; size?: Size; scrollable?: boolean; maxHeight?: string }>`\r\n display: none;\r\n position: absolute;\r\n background-color: ${COLORS.white};\r\n\r\n width: ${(props) => (props.width ? props.width : '100%')};\r\n z-index: ${Z_INDEXES.dropdown};\r\n margin: ${(props) => (props.isButton ? '-4px' : '4px 0px')};\r\n\r\n &.show {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n }\r\n\r\n &.up {\r\n top: auto;\r\n bottom: 100%;\r\n }\r\n\r\n transform: translate(-${OFFSET_BEFORE_SHOW}px, -${OFFSET_BEFORE_SHOW}px);\r\n\r\n &.up,\r\n &.down {\r\n transform: translate(0, 0);\r\n }\r\n\r\n &.outline:focus:after {\r\n content: '';\r\n pointer-events: none;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n outline: 4px solid black;\r\n outline-offset: 2px;\r\n border-radius: 2px;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n ${(props) => (props.alignLeft ? 'left: 0px;' : '')}\r\n\r\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\r\n\r\n border: 1px solid ${COLORS.neutral_100};\r\n box-sizing: border-box;\r\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\r\n padding: 4px 0px;\r\n\r\n min-width: ${(props) => (props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\r\n border-radius: ${(props) => (props.size == Size.Large ? '10px' : props.size == Size.Medium ? '8px' : '6px')};\r\n\r\n max-height: ${(props) => (!props.scrollable ? 'auto' : props.maxHeight ? props.maxHeight : props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\r\n\r\n`;\r\n\r\nconst ItemsContainer = styled.div<{ size?: Size }>`\r\n > *:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n > *:active,\r\n > *.active {\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n > *:focus {\r\n z-index: ${Z_INDEXES.focus};\r\n }\r\n`;\r\n\r\nconst ListContainer = styled.div<{ scrollable?: boolean; size?: Size; itemsType?: string; outline?: boolean }>`\r\n ${(props) => (props.scrollable ? 'overflow-y: scroll;' : '')}\r\n ${(props) => (props.scrollable ? 'margin-right: 6px;' : '')}\r\n ${(props) => (props.scrollable ? 'padding-right: 6px;' : '')}\r\n ${(props) => (props.itemsType != 'normal' ? 'margin-left: 4px;' : '')}\r\n div.divider {\r\n display: block;\r\n width: calc(100% - 40px);\r\n margin-left: 16px;\r\n border-top: 1px solid #e5e5e5;\r\n position: absolute;\r\n top: 0px;\r\n }\r\n\r\n ${ItemsContainer} {\r\n padding-top: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px'};\r\n padding-bottom: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px'};\r\n\r\n word-break: break-word;\r\n }\r\n\r\n *:focus {\r\n outline: none !important;\r\n }\r\n\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\n\r\nconst MenuContentContainer = styled.div<{ size?: Size }>`\r\n h1, h2, h3 {\r\n margin-block-start: 0px;\r\n margin-block-end: 0px;\r\n ${props => props.size == Size.Large && ComponentXLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\r\n ${props => props.size == Size.Medium && ComponentLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\r\n ${props => (props.size == Size.Small || !props.size) && ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\r\n padding: ${props => props.size == Size.Small || !props.size ? '10px 16px 6px' :\r\n props.size == Size.Medium ? '16px 24px 8px' : '16px 32px 8px'};\r\n }\r\n\r\n p {\r\n margin-block-start: 0px;\r\n margin-block-end: 0px;\r\n ${props => props.size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\r\n ${props => props.size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\r\n ${props => (props.size == Size.Small || !props.size) && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\r\n padding: ${props => props.size == Size.Small || !props.size ? '8px 16px' :\r\n props.size == Size.Medium ? '12px 24px' : '16px 32px'};\r\n }\r\n`;\r\n\r\nconst DividerContainer = styled.div<{ size?: Size }>`\r\n position: relative;\r\n\r\n margin-top: ${props => props.size == Size.Large ? '16px' :\r\n props.size == Size.Medium ? '12px' :\r\n (props.size == Size.Small || !props.size) ? '8px' : '6px'};\r\n\r\n div.divider {\r\n width: 100%;\r\n margin: 0px;\r\n }\r\n`;\r\n\r\nconst TopItemContainer = styled.div<{ size?: Size }>`\r\n border-bottom-style: solid;\r\n border-bottom-color: ${COLORS.neutral_200};\r\n border-bottom-width: 1px;\r\n margin-right: 22px;\r\n`;\r\n\r\nconst ActionButtonContainer = styled.div<{ size?: Size, scrollable?: boolean }>`\r\n ${(props) => (props.scrollable ? `border-top: 1px solid ${COLORS.neutral_200};` : '')}\r\n ${(props) => (props.scrollable ? 'margin-top: 4px;' : '')}\r\n\r\n padding: ${(props) => props.size === Size.Small || !props.size\r\n ? '4px 16px 0px'\r\n : props.size === Size.Medium\r\n ? '12px 16px 8px'\r\n : '16px 16px 12px'};\r\n\r\n button {\r\n width: 100%;\r\n }\r\n`;\r\n\r\n\r\nexport interface DropdownItem {\r\n value: string;\r\n displayLabel?: string;\r\n noteLabel?: string;\r\n suggestion?: boolean;\r\n showDividerAbove?: boolean;\r\n disabled?: boolean;\r\n locked?: boolean;\r\n icon?: React.ReactNode;\r\n customContent?: React.ReactNode;\r\n}\r\n\r\nexport interface DropdownCustomizationProps {\r\n itemsType?: 'radio' | 'checkbox' | 'normal';\r\n menuContent?: React.ReactNode;\r\n scrollable?: boolean;\r\n multiSelect?: boolean;\r\n maxHeight?: string;\r\n actionLabel?: string;\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n actionIcon?: React.ReactNode;\r\n actionLoading?: boolean;\r\n actionDisabled?: boolean;\r\n action: () => boolean | void | undefined;\r\n pinTopItem?: boolean;\r\n onValueUpdate: (values: string[]) => boolean | void | undefined;\r\n items: DropdownItem[];\r\n}\r\n\r\nexport interface DropdownProps {\r\n isButton: boolean;\r\n customizationProps: DropdownCustomizationProps;\r\n alignLeft?: boolean;\r\n isOpen: boolean;\r\n setIsOpen: (open: boolean) => void;\r\n size?: Size;\r\n id: string;\r\n filter: string;\r\n width?: string;\r\n selectedValues: string[];\r\n setSelectedValues: (val: string[]) => void;\r\n messageOnNoResults: string;\r\n focused: number | null;\r\n setFocused: (focused: number | null) => void;\r\n outline?: boolean;\r\n}\r\n\r\nconst DropdownContent = React.forwardRef<HTMLDivElement, DropdownProps>(({\r\n id,\r\n customizationProps,\r\n alignLeft,\r\n isButton,\r\n size,\r\n isOpen,\r\n width,\r\n setIsOpen,\r\n filter,\r\n focused,\r\n setFocused,\r\n selectedValues,\r\n setSelectedValues,\r\n messageOnNoResults,\r\n outline\r\n }, ref) => {\r\n const [isUp, setIsUp] = React.useState<boolean>(false);\r\n const [locationDefined, setLocationDefined] = React.useState<boolean>(false);\r\n const dropdownContentRef = ref as MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\r\n\r\n if (!customizationProps.itemsType) customizationProps.itemsType = 'normal';\r\n if (!size) size = Size.Small;\r\n\r\n const itemsListRef = React.useRef<HTMLDivElement>(null);\r\n const actionButtonRef = React.useRef<HTMLButtonElement>(null);\r\n\r\n const determineDropUp = () => {\r\n const options = customizationProps.items;\r\n const node = dropdownContentRef.current;\r\n\r\n if (!node) return;\r\n\r\n const windowHeight = window.innerHeight;\r\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\r\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight + OFFSET_BEFORE_SHOW;\r\n setIsUp(instOffsetWithMenu >= windowHeight);\r\n setLocationDefined(true);\r\n };\r\n\r\n const setNewFocusedElement = (index: number) => {\r\n if (outline) dropdownContentRef.current?.focus();\r\n\r\n const newFocusedElement = elRefs[index];\r\n const oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;\r\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\r\n setFocused(index);\r\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\r\n\r\n newFocusedElement.current?.classList.add('dropdown-hover');\r\n newFocusedElement.current?.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest'\r\n });\r\n }\r\n };\r\n\r\n const getFilteredItems = () => {\r\n const filtrationString = (filter ?? '').toUpperCase();\r\n return customizationProps.items.filter((x) => x?.value?.toUpperCase().includes(filtrationString) || x?.displayLabel?.toUpperCase().includes(filtrationString));\r\n };\r\n\r\n const findNextActiveIndex = (index: number, direction: number, items: DropdownItem[]) => {\r\n for (let i = index + direction; i > 0 && i <= items.length; i += direction) {\r\n if (!items[i - 1]?.disabled) {\r\n return i;\r\n }\r\n }\r\n\r\n return index;\r\n }\r\n\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (isOpen) {\r\n if (e.key === 'ArrowUp' || e.key === 'Up') {\r\n e.preventDefault();\r\n let focusedNow = focused || focused === 0 ? focused : arrLength + 1;\r\n if (!!focusedNow) {\r\n\r\n focusedNow =\r\n focusedNow === 1 && haveTopItem()\r\n ? 0\r\n : findNextActiveIndex(focusedNow, -1, getFilteredItems());\r\n\r\n setNewFocusedElement(focusedNow);\r\n }\r\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\r\n e.preventDefault();\r\n let focusedNow = focused;\r\n\r\n focusedNow =\r\n !!focusedNow || focusedNow === 0\r\n ? findNextActiveIndex(focusedNow, 1, getFilteredItems())\r\n : haveTopItem() ? 0 : 1;\r\n\r\n setNewFocusedElement(focusedNow);\r\n } else if (e.key === 'Escape' || e.key === 'Esc') {\r\n setIsOpen(false);\r\n setFocused(null);\r\n } else if ((e.key === 'Enter' || e.key === ' ') && focused !== null && e.target !== actionButtonRef?.current) {\r\n e.preventDefault();\r\n const focusedElement = elRefs[focused];\r\n if (focusedElement) {\r\n focusedElement.current?.click();\r\n }\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n document.addEventListener('keydown', handleKeyDown);\r\n return () => {\r\n document.removeEventListener('keydown', handleKeyDown);\r\n };\r\n });\r\n\r\n const scrollPosition = React.useRef<number | undefined>(0);\r\n const handleScroll = () => {\r\n scrollPosition.current = itemsListRef.current?.scrollTop;\r\n };\r\n React.useLayoutEffect(() => {\r\n if (itemsListRef.current) itemsListRef.current.scrollTop = scrollPosition.current ?? 0;\r\n }, [selectedValues]);\r\n\r\n const getCorrectRef = (ref: React.RefObject<HTMLElement>): React.RefObject<HTMLElement> => {\r\n switch (customizationProps.itemsType) {\r\n case 'normal':\r\n return (ref as React.RefObject<HTMLButtonElement>) || React.createRef<HTMLButtonElement>();\r\n default:\r\n return (ref as React.RefObject<HTMLDivElement>) || React.createRef<HTMLDivElement>();\r\n }\r\n };\r\n\r\n const arrLength = getFilteredItems().length;\r\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\r\n\r\n React.useEffect(() => {\r\n if (elRefs?.length !== arrLength) {\r\n setFocused(null);\r\n }\r\n\r\n setElRefs((elRefs) =>\r\n Array(arrLength + 1)\r\n .fill(null)\r\n .map((_, i) => getCorrectRef(elRefs[i])),\r\n );\r\n }, [isOpen, arrLength]);\r\n\r\n React.useLayoutEffect(() => {\r\n isOpen && !locationDefined && determineDropUp();\r\n }, [isOpen, locationDefined]);\r\n\r\n const haveTopItem = () => {\r\n if (!customizationProps.pinTopItem) return false;\r\n\r\n if (customizationProps.itemsType === 'radio' && selectedValues && selectedValues?.length > 0) return true;\r\n else if (customizationProps.itemsType === 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) return true;\r\n else if (customizationProps.itemsType === 'normal' && getSuggestions()?.length > 0) return true;\r\n return false;\r\n };\r\n\r\n const getSuggestions = () => {\r\n return getFilteredItems().filter((x) => x.suggestion);\r\n };\r\n\r\n /**\r\n * when dropdown opens set correct position of focused item\r\n * */\r\n React.useLayoutEffect(() => {\r\n if (isOpen && (focused || focused === 0)) {\r\n setNewFocusedElement(focused === 0 && !haveTopItem() ? 1 : focused);\r\n }\r\n }, [isOpen, focused]);\r\n\r\n /**\r\n * Reset dropdown content state on close\r\n * */\r\n React.useEffect(() => {\r\n if (!isOpen) {\r\n setLocationDefined(false);\r\n for (let elRef of elRefs) {\r\n elRef.current?.classList.remove('dropdown-hover');\r\n\r\n }\r\n setFocused(null);\r\n dropdownContentRef.current?.classList.remove('outline');\r\n dropdownContentRef.current?.blur();\r\n } else {\r\n if (outline) {\r\n dropdownContentRef.current?.classList.add('outline');\r\n dropdownContentRef.current?.focus();\r\n }\r\n }\r\n }, [isOpen, dropdownContentRef, focused, outline]);\r\n\r\n /**\r\n * Scroll item container to top when dropdown opens\r\n * */\r\n React.useEffect(() => {\r\n if (isOpen && itemsListRef.current) {\r\n itemsListRef.current.scrollTop = 0;\r\n }\r\n }, [isOpen]);\r\n\r\n\r\n const handleItemClick = (selected: boolean, item: DropdownItem) => {\r\n let newValue: string[] = [];\r\n if (customizationProps.multiSelect) {\r\n if (selected) newValue = [...selectedValues, item.value];\r\n else newValue = selectedValues.filter((x) => x != item.value);\r\n } else newValue = selected ? [item.value] : [];\r\n\r\n setSelectedValues(newValue);\r\n if (customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValue)) {\r\n setIsOpen(false);\r\n }\r\n };\r\n\r\n const getTopItem = () => {\r\n if (!customizationProps.pinTopItem) return;\r\n const visibleItems = getFilteredItems();\r\n const allSelected = selectedValues?.filter((x) => visibleItems.some((y) => y.value == x)).length == visibleItems.length;\r\n let showTopItem = false;\r\n const suggestions = getSuggestions();\r\n const displayLabel = selectedValues[0] ? customizationProps.items?.find((c) => c.value === selectedValues[0])?.displayLabel : undefined;\r\n if (customizationProps.itemsType == 'radio' && selectedValues && selectedValues?.length > 0) showTopItem = true;\r\n else if (customizationProps.itemsType == 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) showTopItem = true;\r\n else if (customizationProps.itemsType == 'normal' && suggestions.length > 0) showTopItem = true;\r\n\r\n if (!showTopItem) return;\r\n\r\n const selectedFirst = selectedValues.length > 0 ? visibleItems.find(x => x.value == selectedValues[0]) : null;\r\n\r\n return (\r\n <TopItemContainer size={size}>\r\n {customizationProps.itemsType === 'radio' && (\r\n <RadioButton\r\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\r\n iconPointerEventsTransparent={true}\r\n tabIndexVal={-1}\r\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\r\n select={() => {\r\n }}\r\n label={selectedFirst?.displayLabel ?? selectedFirst?.value}\r\n size={size}\r\n id={`${id}_topitem`}\r\n selected={true}\r\n />\r\n )}\r\n {customizationProps.itemsType === 'checkbox' && (\r\n <Checkbox\r\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\r\n tabIndexVal={-1}\r\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\r\n select={(selected: boolean) => {\r\n if (!customizationProps.multiSelect) return;\r\n\r\n const newValues = selected ? visibleItems.map((x) => x.value) : [];\r\n setSelectedValues(newValues);\r\n if (customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValues))\r\n setIsOpen(false);\r\n }}\r\n iconPointerEventsTransparent={true}\r\n semiSelected={customizationProps.multiSelect && !allSelected && selectedValues?.length > 0}\r\n size={size}\r\n id={`${id}_checkbox_selectall`}\r\n label={customizationProps.multiSelect ? 'Select all' : (selectedFirst?.displayLabel ?? selectedFirst?.value)}\r\n selected={!customizationProps.multiSelect || allSelected}\r\n />\r\n )}\r\n {customizationProps.itemsType === 'normal' && (\r\n <>\r\n {suggestions.map((x) => (\r\n <MenuItem\r\n key={`${id}_topitem_${x.value}`}\r\n item={x}\r\n size={size}\r\n active={false}\r\n tabIndex={-1}\r\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\r\n ref={elRefs[0] as React.RefObject<HTMLButtonElement>}\r\n id={`${id}_topitem`}\r\n onClickHandler={(e: any) => {\r\n e.stopPropagation();\r\n customizationProps.onValueUpdate([x.value]);\r\n setSelectedValues([x.value]);\r\n setIsOpen(false);\r\n setFocused(null);\r\n }}/>\r\n ))}\r\n </>\r\n )}\r\n </TopItemContainer>\r\n );\r\n };\r\n\r\n const getElements = (messageOnNoResults: string, size: Size) => {\r\n if (getFilteredItems().length === 0) {\r\n return (\r\n <MenuItem item={{value:messageOnNoResults, disabled: true}} size={size} id='noResultsFound' active={false} onClickHandler={e => {}}/>\r\n );\r\n }\r\n return (\r\n <ItemsContainer size={size}>\r\n {getFilteredItems()\r\n .filter((x) => x && (customizationProps.itemsType != 'normal' || !x.suggestion))\r\n .map((item, index) => {\r\n return (\r\n <React.Fragment key={`key_${id}_${item.value}`}>\r\n {item.customContent}\r\n {!item.customContent && customizationProps.itemsType == 'radio' && (\r\n <RadioButton\r\n select={(selected: boolean) => handleItemClick(selected, item)}\r\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\r\n size={size}\r\n tabIndexVal={-1}\r\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\r\n iconPointerEventsTransparent={true}\r\n disabled={item?.disabled}\r\n key={`key_${id}_${index + 1}`}\r\n id={`${id}_${index + 1}`}\r\n label={item.displayLabel ?? item.value}\r\n selected={selectedValues?.includes(item.value)}\r\n />\r\n )}\r\n {!item.customContent && customizationProps.itemsType == 'checkbox' && (\r\n <Checkbox\r\n select={(selected: boolean) => handleItemClick(selected, item)}\r\n iconPointerEventsTransparent={true}\r\n disabled={item?.disabled}\r\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\r\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\r\n size={size}\r\n tabIndexVal={-1}\r\n key={`key_${id}_${index + 1}`}\r\n id={`${id}_${index + 1}`}\r\n label={item.displayLabel ?? item.value}\r\n selected={selectedValues?.includes(item.value)}\r\n />\r\n )}\r\n {!item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && (\r\n <MenuItem\r\n key={`key_${id}_${index + 1}`}\r\n id={`${id}_${index + 1}`}\r\n item={item}\r\n tabIndex={-1}\r\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\r\n size={size}\r\n active={selectedValues?.includes(item.value)}\r\n ref={elRefs[index + 1] as React.RefObject<HTMLButtonElement>}\r\n onClickHandler={(e: any) => {\r\n e.stopPropagation();\r\n customizationProps.onValueUpdate([item.value]);\r\n setSelectedValues([item.value]);\r\n setIsOpen(false);\r\n setFocused(null);\r\n }}/>\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </ItemsContainer>\r\n );\r\n };\r\n\r\n const cls = `${isOpen ? 'show' : ''} ${isOpen && outline ? 'outline' : ''} ${locationDefined ? isUp ? 'up' : 'down' : ''}`\r\n\r\n return (\r\n <DDContainer\r\n ref={dropdownContentRef}\r\n size={size}\r\n width={width}\r\n tabIndex={-1}\r\n isButton={isButton}\r\n alignLeft={alignLeft}\r\n scrollable={customizationProps.scrollable}\r\n maxHeight={customizationProps.maxHeight}\r\n className={cls}>\r\n <ListContainer size={size}\r\n itemsType={customizationProps.itemsType}\r\n onScroll={handleScroll}\r\n ref={itemsListRef}\r\n outline={outline}\r\n scrollable={customizationProps.scrollable}>\r\n {customizationProps.menuContent &&\r\n <MenuContentContainer size={size}>\r\n {customizationProps.menuContent}\r\n <DividerContainer size={size}>\r\n <div className=\"divider\"/>\r\n </DividerContainer>\r\n </MenuContentContainer>}\r\n {customizationProps.pinTopItem && getTopItem()}\r\n {getElements(messageOnNoResults, size)}\r\n </ListContainer>\r\n {customizationProps.action && customizationProps.actionLabel && (\r\n <ActionButtonContainer size={size} scrollable={customizationProps.scrollable}>\r\n <Button width=\"100%\"\r\n icon={customizationProps.actionIcon}\r\n ref={actionButtonRef}\r\n loading={customizationProps.actionLoading}\r\n disabled={customizationProps.actionDisabled}\r\n variant={customizationProps.actionVariant ?? 'primary'}\r\n size={size}\r\n onClick={() => customizationProps.action() && setIsOpen(false)}>\r\n {customizationProps.actionLabel}\r\n </Button>\r\n </ActionButtonContainer>\r\n )}\r\n </DDContainer>\r\n );\r\n});\r\n\r\nexport default DropdownContent;\r\n\r\n"],"file":"DropdownContent.js"}
1
+ {"version":3,"sources":["../../src/Dropdown/DropdownContent.tsx"],"names":["React","styled","Button","Size","ButtonDropdownContentStyling","ComponentLStyling","ComponentXLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","scrollBarStyling","Checkbox","RadioButton","Z_INDEXES","MenuItem","MAX_MENU_HEIGHT","AVG_OPTION_HEIGHT","OFFSET_BEFORE_SHOW","DDContainer","div","white","props","width","dropdown","isButton","alignLeft","neutral_100","size","Large","Medium","scrollable","maxHeight","ItemsContainer","hover","active","focus","ListContainer","itemsType","Small","MenuContentContainer","Bold","neutral_500","Regular","DividerContainer","TopItemContainer","neutral_200","ActionButtonContainer","DropdownContent","forwardRef","ref","id","customizationProps","isOpen","setIsOpen","filter","focused","setFocused","selectedValues","setSelectedValues","messageOnNoResults","outline","useState","isUp","setIsUp","locationDefined","setLocationDefined","dropdownContentRef","useRef","itemsListRef","actionButtonRef","determineDropUp","options","items","node","current","windowHeight","window","innerHeight","menuHeight","Math","min","length","instOffsetWithMenu","getBoundingClientRect","top","setNewFocusedElement","index","newFocusedElement","elRefs","oldFocusedElement","classList","remove","add","scrollIntoView","block","inline","getFilteredItems","filtrationString","toUpperCase","x","value","includes","displayLabel","findNextActiveIndex","direction","i","disabled","handleKeyDown","e","key","preventDefault","focusedNow","arrLength","haveTopItem","target","focusedElement","click","useEffect","document","addEventListener","removeEventListener","scrollPosition","handleScroll","scrollTop","useLayoutEffect","getCorrectRef","createRef","setElRefs","Array","fill","map","_","pinTopItem","multiSelect","getSuggestions","suggestion","elRef","blur","handleItemClick","selected","item","newValue","onValueUpdate","getTopItem","visibleItems","allSelected","some","y","showTopItem","suggestions","find","c","undefined","selectedFirst","newValues","stopPropagation","getElements","customContent","cls","menuContent","action","actionLabel","actionIcon","actionLoading","actionDisabled","actionVariant","noteLabel","showDividerAbove","locked","icon"],"mappings":"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","sourcesContent":["import React, {MutableRefObject} from 'react';\nimport styled, {css} from 'styled-components';\nimport Button from '../Button/Button';\nimport {Size} from '../types';\nimport {ButtonDropdownContentStyling} from './CommonStyling';\nimport {\n ComponentLStyling,\n ComponentXLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle\n} from '../styles/typography';\nimport {COLORS, focusStyles, scrollBarStyling} from '../styles';\nimport {Checkbox, RadioButton} from '../InputFields';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport MenuItem from '../MenuItem/MenuItem';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst MAX_MENU_HEIGHT = 240;\nconst AVG_OPTION_HEIGHT = 48;\nconst OFFSET_BEFORE_SHOW = 1000000;\n\nexport const DDContainer = styled.div<{ isButton: boolean; width?: string; alignLeft?: boolean; size?: Size; scrollable?: boolean; maxHeight?: string }>`\n display: none;\n position: absolute;\n background-color: ${COLORS.white};\n\n width: ${(props) => (props.width ? props.width : '100%')};\n z-index: ${Z_INDEXES.dropdown};\n margin: ${(props) => (props.isButton ? '-4px' : '4px 0px')};\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(-${OFFSET_BEFORE_SHOW}px, -${OFFSET_BEFORE_SHOW}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 ${(props) => (props.alignLeft ? 'left: 0px;' : '')}\n\n ${(props) => (props.isButton ? ButtonDropdownContentStyling : '')};\n\n border: 1px solid ${COLORS.neutral_100};\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: ${(props) => (props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\n border-radius: ${(props) => (props.size == Size.Large ? '10px' : props.size == Size.Medium ? '8px' : '6px')};\n\n max-height: ${(props) => (!props.scrollable ? 'auto' : props.maxHeight ? props.maxHeight : props.size == Size.Large ? '320px' : props.size == Size.Medium ? '280px' : '240px')};\n\n`;\n\nconst ItemsContainer = styled.div<{ size?: Size }>`\n > *:hover {\n z-index: ${Z_INDEXES.hover};\n }\n\n > *:active,\n > *.active {\n z-index: ${Z_INDEXES.active};\n }\n\n > *:focus {\n z-index: ${Z_INDEXES.focus};\n }\n`;\n\nconst ListContainer = styled.div<{ scrollable?: boolean; size?: Size; itemsType?: string; outline?: boolean }>`\n ${(props) => (props.scrollable ? 'overflow-y: scroll;' : '')}\n ${(props) => (props.scrollable ? 'margin-right: 6px;' : '')}\n ${(props) => (props.scrollable ? 'padding-right: 6px;' : '')}\n ${(props) => (props.itemsType != 'normal' ? 'margin-left: 4px;' : '')}\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 ${ItemsContainer} {\n padding-top: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px'};\n padding-bottom: ${props => props.size == Size.Large ? '8px' : props.size == Size.Medium ? '4px' : '0px'};\n\n word-break: break-word;\n }\n\n *:focus {\n outline: none !important;\n }\n\n ${scrollBarStyling(Size.Small)}\n`;\n\n\nconst MenuContentContainer = styled.div<{ size?: Size }>`\n h1, h2, h3 {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${props => props.size == Size.Large && ComponentXLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n ${props => props.size == Size.Medium && ComponentLStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n ${props => (props.size == Size.Small || !props.size) && ComponentMStyling(ComponentTextStyle.Bold, COLORS.neutral_500)}\n padding: ${props => props.size == Size.Small || !props.size ? '10px 16px 6px' :\n props.size == Size.Medium ? '16px 24px 8px' : '16px 32px 8px'};\n }\n\n p {\n margin-block-start: 0px;\n margin-block-end: 0px;\n ${props => props.size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n ${props => props.size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n ${props => (props.size == Size.Small || !props.size) && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_500)}\n padding: ${props => props.size == Size.Small || !props.size ? '8px 16px' :\n props.size == Size.Medium ? '12px 24px' : '16px 32px'};\n }\n`;\n\nconst DividerContainer = styled.div<{ size?: Size }>`\n position: relative;\n\n margin-top: ${props => props.size == Size.Large ? '16px' :\n props.size == Size.Medium ? '12px' :\n (props.size == Size.Small || !props.size) ? '8px' : '6px'};\n\n div.divider {\n width: 100%;\n margin: 0px;\n }\n`;\n\nconst TopItemContainer = styled.div<{ size?: Size }>`\n border-bottom-style: solid;\n border-bottom-color: ${COLORS.neutral_200};\n border-bottom-width: 1px;\n margin-right: 22px;\n`;\n\nconst ActionButtonContainer = styled.div<{ size?: Size, scrollable?: boolean }>`\n ${(props) => (props.scrollable ? `border-top: 1px solid ${COLORS.neutral_200};` : '')}\n ${(props) => (props.scrollable ? 'margin-top: 4px;' : '')}\n\n padding: ${(props) => props.size === Size.Small || !props.size\n ? '4px 16px 0px'\n : props.size === Size.Medium\n ? '12px 16px 8px'\n : '16px 16px 12px'};\n\n button {\n width: 100%;\n }\n`;\n\n\nexport interface DropdownItem {\n value: string;\n displayLabel?: string;\n noteLabel?: string;\n suggestion?: boolean;\n showDividerAbove?: boolean;\n disabled?: boolean;\n locked?: boolean;\n icon?: React.ReactNode;\n customContent?: React.ReactNode;\n}\n\nexport interface DropdownCustomizationProps {\n itemsType?: 'radio' | 'checkbox' | 'normal';\n menuContent?: React.ReactNode;\n scrollable?: boolean;\n multiSelect?: boolean;\n maxHeight?: string;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n action: () => boolean | void | undefined;\n pinTopItem?: boolean;\n onValueUpdate: (values: string[]) => boolean | void | undefined;\n items: DropdownItem[];\n}\n\nexport interface DropdownProps {\n isButton: boolean;\n customizationProps: DropdownCustomizationProps;\n alignLeft?: boolean;\n isOpen: boolean;\n setIsOpen: (open: boolean) => void;\n size?: Size;\n id: string;\n filter: string;\n width?: string;\n selectedValues: string[];\n setSelectedValues: (val: string[]) => void;\n messageOnNoResults: string;\n focused: number | null;\n setFocused: (focused: number | null) => void;\n outline?: boolean;\n}\n\nconst DropdownContent = React.forwardRef<HTMLDivElement, DropdownProps>(({\n id,\n customizationProps,\n alignLeft,\n isButton,\n size,\n isOpen,\n width,\n setIsOpen,\n filter,\n focused,\n setFocused,\n selectedValues,\n setSelectedValues,\n messageOnNoResults,\n outline\n }, ref) => {\n const [isUp, setIsUp] = React.useState<boolean>(false);\n const [locationDefined, setLocationDefined] = React.useState<boolean>(false);\n const dropdownContentRef = ref as MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n\n if (!customizationProps.itemsType) customizationProps.itemsType = 'normal';\n if (!size) size = Size.Small;\n\n const itemsListRef = React.useRef<HTMLDivElement>(null);\n const actionButtonRef = React.useRef<HTMLButtonElement>(null);\n\n const determineDropUp = () => {\n const options = customizationProps.items;\n const node = dropdownContentRef.current;\n\n if (!node) return;\n\n const windowHeight = window.innerHeight;\n const menuHeight = Math.min(MAX_MENU_HEIGHT, options.length * AVG_OPTION_HEIGHT);\n const instOffsetWithMenu = node.getBoundingClientRect().top + menuHeight + OFFSET_BEFORE_SHOW;\n setIsUp(instOffsetWithMenu >= windowHeight);\n setLocationDefined(true);\n };\n\n const setNewFocusedElement = (index: number) => {\n if (outline) dropdownContentRef.current?.focus();\n\n const newFocusedElement = elRefs[index];\n const oldFocusedElement = focused || focused === 0 ? elRefs[focused] : null;\n if (newFocusedElement && newFocusedElement !== oldFocusedElement) {\n setFocused(index);\n oldFocusedElement?.current?.classList.remove('dropdown-hover');\n\n newFocusedElement.current?.classList.add('dropdown-hover');\n newFocusedElement.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n };\n\n const getFilteredItems = () => {\n const filtrationString = (filter ?? '').toUpperCase();\n return customizationProps.items.filter((x) => x?.value?.toUpperCase().includes(filtrationString) || x?.displayLabel?.toUpperCase().includes(filtrationString));\n };\n\n const findNextActiveIndex = (index: number, direction: number, items: DropdownItem[]) => {\n for (let i = index + direction; i > 0 && i <= items.length; i += direction) {\n if (!items[i - 1]?.disabled) {\n return i;\n }\n }\n\n return index;\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isOpen) {\n if (e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n let focusedNow = focused || focused === 0 ? focused : arrLength + 1;\n if (!!focusedNow) {\n\n focusedNow =\n focusedNow === 1 && haveTopItem()\n ? 0\n : findNextActiveIndex(focusedNow, -1, getFilteredItems());\n\n setNewFocusedElement(focusedNow);\n }\n } else if (e.key === 'ArrowDown' || e.key === 'Down') {\n e.preventDefault();\n let focusedNow = focused;\n\n focusedNow =\n !!focusedNow || focusedNow === 0\n ? findNextActiveIndex(focusedNow, 1, getFilteredItems())\n : haveTopItem() ? 0 : 1;\n\n setNewFocusedElement(focusedNow);\n } else if (e.key === 'Escape' || e.key === 'Esc') {\n setIsOpen(false);\n setFocused(null);\n } else if ((e.key === 'Enter' || e.key === ' ') && focused !== null && e.target !== actionButtonRef?.current) {\n e.preventDefault();\n const focusedElement = elRefs[focused];\n if (focusedElement) {\n focusedElement.current?.click();\n }\n }\n }\n };\n\n React.useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n });\n\n const scrollPosition = React.useRef<number | undefined>(0);\n const handleScroll = () => {\n scrollPosition.current = itemsListRef.current?.scrollTop;\n };\n React.useLayoutEffect(() => {\n if (itemsListRef.current) itemsListRef.current.scrollTop = scrollPosition.current ?? 0;\n }, [selectedValues]);\n\n const getCorrectRef = (ref: React.RefObject<HTMLElement>): React.RefObject<HTMLElement> => {\n switch (customizationProps.itemsType) {\n case 'normal':\n return (ref as React.RefObject<HTMLButtonElement>) || React.createRef<HTMLButtonElement>();\n default:\n return (ref as React.RefObject<HTMLDivElement>) || React.createRef<HTMLDivElement>();\n }\n };\n\n const arrLength = getFilteredItems().length;\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n\n React.useEffect(() => {\n if (elRefs?.length !== arrLength) {\n setFocused(null);\n }\n\n setElRefs((elRefs) =>\n Array(arrLength + 1)\n .fill(null)\n .map((_, i) => getCorrectRef(elRefs[i])),\n );\n }, [isOpen, arrLength]);\n\n React.useLayoutEffect(() => {\n isOpen && !locationDefined && determineDropUp();\n }, [isOpen, locationDefined]);\n\n const haveTopItem = () => {\n if (!customizationProps.pinTopItem) return false;\n\n if (customizationProps.itemsType === 'radio' && selectedValues && selectedValues?.length > 0) return true;\n else if (customizationProps.itemsType === 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) return true;\n else if (customizationProps.itemsType === 'normal' && getSuggestions()?.length > 0) return true;\n return false;\n };\n\n const getSuggestions = () => {\n return getFilteredItems().filter((x) => x.suggestion);\n };\n\n /**\n * when dropdown opens set correct position of focused item\n * */\n React.useLayoutEffect(() => {\n if (isOpen && (focused || focused === 0)) {\n setNewFocusedElement(focused === 0 && !haveTopItem() ? 1 : focused);\n }\n }, [isOpen, focused]);\n\n /**\n * Reset dropdown content state on close\n * */\n React.useEffect(() => {\n if (!isOpen) {\n setLocationDefined(false);\n for (let elRef of elRefs) {\n elRef.current?.classList.remove('dropdown-hover');\n\n }\n setFocused(null);\n dropdownContentRef.current?.classList.remove('outline');\n dropdownContentRef.current?.blur();\n } else {\n if (outline) {\n dropdownContentRef.current?.classList.add('outline');\n dropdownContentRef.current?.focus();\n }\n }\n }, [isOpen, dropdownContentRef, focused, outline]);\n\n /**\n * Scroll item container to top when dropdown opens\n * */\n React.useEffect(() => {\n if (isOpen && itemsListRef.current) {\n itemsListRef.current.scrollTop = 0;\n }\n }, [isOpen]);\n\n\n const handleItemClick = (selected: boolean, item: DropdownItem) => {\n let newValue: string[] = [];\n if (customizationProps.multiSelect) {\n if (selected) newValue = [...selectedValues, item.value];\n else newValue = selectedValues.filter((x) => x != item.value);\n } else newValue = selected ? [item.value] : [];\n\n setSelectedValues(newValue);\n if (customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValue)) {\n setIsOpen(false);\n }\n };\n\n const getTopItem = () => {\n if (!customizationProps.pinTopItem) return;\n const visibleItems = getFilteredItems();\n const allSelected = selectedValues?.filter((x) => visibleItems.some((y) => y.value == x)).length == visibleItems.length;\n let showTopItem = false;\n const suggestions = getSuggestions();\n const displayLabel = selectedValues[0] ? customizationProps.items?.find((c) => c.value === selectedValues[0])?.displayLabel : undefined;\n if (customizationProps.itemsType == 'radio' && selectedValues && selectedValues?.length > 0) showTopItem = true;\n else if (customizationProps.itemsType == 'checkbox' && (customizationProps.multiSelect || selectedValues?.length > 0)) showTopItem = true;\n else if (customizationProps.itemsType == 'normal' && suggestions.length > 0) showTopItem = true;\n\n if (!showTopItem) return;\n\n const selectedFirst = selectedValues.length > 0 ? visibleItems.find(x => x.value == selectedValues[0]) : null;\n\n return (\n <TopItemContainer size={size}>\n {customizationProps.itemsType === 'radio' && (\n <RadioButton\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n iconPointerEventsTransparent={true}\n tabIndexVal={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n select={() => {\n }}\n label={selectedFirst?.displayLabel ?? selectedFirst?.value}\n size={size}\n id={`${id}_topitem`}\n selected={true}\n />\n )}\n {customizationProps.itemsType === 'checkbox' && (\n <Checkbox\n ref={elRefs[0] as React.RefObject<HTMLDivElement>}\n tabIndexVal={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n select={(selected: boolean) => {\n if (!customizationProps.multiSelect) return;\n\n const newValues = selected ? visibleItems.map((x) => x.value) : [];\n setSelectedValues(newValues);\n if (customizationProps.onValueUpdate && customizationProps.onValueUpdate(newValues))\n setIsOpen(false);\n }}\n iconPointerEventsTransparent={true}\n semiSelected={customizationProps.multiSelect && !allSelected && selectedValues?.length > 0}\n size={size}\n id={`${id}_checkbox_selectall`}\n label={customizationProps.multiSelect ? 'Select all' : (selectedFirst?.displayLabel ?? selectedFirst?.value)}\n selected={!customizationProps.multiSelect || allSelected}\n />\n )}\n {customizationProps.itemsType === 'normal' && (\n <>\n {suggestions.map((x) => (\n <MenuItem\n key={`${id}_topitem_${x.value}`}\n item={x}\n size={size}\n active={false}\n tabIndex={-1}\n className={`${focused === 0 ? 'dropdown-hover' : ''}`}\n ref={elRefs[0] as React.RefObject<HTMLButtonElement>}\n id={`${id}_topitem`}\n onClickHandler={(e: any) => {\n e.stopPropagation();\n customizationProps.onValueUpdate([x.value]);\n setSelectedValues([x.value]);\n setIsOpen(false);\n setFocused(null);\n }}/>\n ))}\n </>\n )}\n </TopItemContainer>\n );\n };\n\n const getElements = (messageOnNoResults: string, size: Size) => {\n if (getFilteredItems().length === 0) {\n return (\n <MenuItem item={{value:messageOnNoResults, disabled: true}} size={size} id='noResultsFound' active={false} onClickHandler={e => {}}/>\n );\n }\n return (\n <ItemsContainer size={size}>\n {getFilteredItems()\n .filter((x) => x && (customizationProps.itemsType != 'normal' || !x.suggestion))\n .map((item, index) => {\n return (\n <React.Fragment key={`key_${id}_${item.value}`}>\n {item.customContent}\n {!item.customContent && customizationProps.itemsType == 'radio' && (\n <RadioButton\n select={(selected: boolean) => handleItemClick(selected, item)}\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n tabIndexVal={-1}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n key={`key_${id}_${index + 1}`}\n id={`${id}_${index + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && customizationProps.itemsType == 'checkbox' && (\n <Checkbox\n select={(selected: boolean) => handleItemClick(selected, item)}\n iconPointerEventsTransparent={true}\n disabled={item?.disabled}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n ref={elRefs[index + 1] as React.RefObject<HTMLDivElement>}\n size={size}\n tabIndexVal={-1}\n key={`key_${id}_${index + 1}`}\n id={`${id}_${index + 1}`}\n label={item.displayLabel ?? item.value}\n selected={selectedValues?.includes(item.value)}\n />\n )}\n {!item.customContent && (customizationProps.itemsType == 'normal' || !customizationProps.itemsType) && (\n <MenuItem\n key={`key_${id}_${index + 1}`}\n id={`${id}_${index + 1}`}\n item={item}\n tabIndex={-1}\n className={`${index + 1 === focused ? 'dropdown-hover' : ''}`}\n size={size}\n active={selectedValues?.includes(item.value)}\n ref={elRefs[index + 1] as React.RefObject<HTMLButtonElement>}\n onClickHandler={(e: any) => {\n e.stopPropagation();\n customizationProps.onValueUpdate([item.value]);\n setSelectedValues([item.value]);\n setIsOpen(false);\n setFocused(null);\n }}/>\n )}\n </React.Fragment>\n );\n })}\n </ItemsContainer>\n );\n };\n\n const cls = `${isOpen ? 'show' : ''} ${isOpen && outline ? 'outline' : ''} ${locationDefined ? isUp ? 'up' : 'down' : ''}`\n\n return (\n <DDContainer\n ref={dropdownContentRef}\n size={size}\n width={width}\n tabIndex={-1}\n isButton={isButton}\n alignLeft={alignLeft}\n scrollable={customizationProps.scrollable}\n maxHeight={customizationProps.maxHeight}\n className={cls}>\n <ListContainer size={size}\n itemsType={customizationProps.itemsType}\n onScroll={handleScroll}\n ref={itemsListRef}\n outline={outline}\n scrollable={customizationProps.scrollable}>\n {customizationProps.menuContent &&\n <MenuContentContainer size={size}>\n {customizationProps.menuContent}\n <DividerContainer size={size}>\n <div className=\"divider\"/>\n </DividerContainer>\n </MenuContentContainer>}\n {customizationProps.pinTopItem && getTopItem()}\n {getElements(messageOnNoResults, size)}\n </ListContainer>\n {customizationProps.action && customizationProps.actionLabel && (\n <ActionButtonContainer size={size} scrollable={customizationProps.scrollable}>\n <Button width=\"100%\"\n icon={customizationProps.actionIcon}\n ref={actionButtonRef}\n loading={customizationProps.actionLoading}\n disabled={customizationProps.actionDisabled}\n variant={customizationProps.actionVariant ?? 'primary'}\n size={size}\n onClick={() => customizationProps.action() && setIsOpen(false)}>\n {customizationProps.actionLabel}\n </Button>\n </ActionButtonContainer>\n )}\n </DDContainer>\n );\n});\n\nexport default DropdownContent;\n\n"],"file":"DropdownContent.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownFilter.tsx"],"names":["DropdownFilter","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","buttonFontSize","margin","loading","React","useState","isOpen","setIsOpen","input","setInput","placeholderSearch","setPlaceholderSearch","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","current","focus","focusVisible","detail","renderInput","stopPropagation","blur","defaultOnMouseDownHandler","Math","floor","random","target","marginLeft","Size","Small","COLORS","neutral_600","itemsType","multiSelect","action","onValueUpdate","values","items","critical_400"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AA4BA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAmBI;AAAA,MAlBzBC,EAkByB,QAlBzBA,EAkByB;AAAA,MAjBzBC,IAiByB,QAjBzBA,IAiByB;AAAA,MAhBzBC,WAgByB,QAhBzBA,WAgByB;AAAA,MAfzBC,QAeyB,QAfzBA,QAeyB;AAAA,MAdzBC,aAcyB,QAdzBA,aAcyB;AAAA,MAbzBC,KAayB,QAbzBA,KAayB;AAAA,MAZzBC,QAYyB,QAZzBA,QAYyB;AAAA,MAXzBC,kBAWyB,QAXzBA,kBAWyB;AAAA,MAVzBC,QAUyB,QAVzBA,QAUyB;AAAA,MATzBC,QASyB,QATzBA,QASyB;AAAA,MARzBC,UAQyB,QARzBA,UAQyB;AAAA,MAPzBC,uBAOyB,QAPzBA,uBAOyB;AAAA,MANzBC,iBAMyB,QANzBA,iBAMyB;AAAA,MALzBC,IAKyB,QALzBA,IAKyB;AAAA,MAJzBC,gBAIyB,QAJzBA,gBAIyB;AAAA,MAHzBC,cAGyB,QAHzBA,cAGyB;AAAA,yBAFzBC,MAEyB;AAAA,MAFzBA,MAEyB,4BAFhB,OAEgB;AAAA,MADzBC,OACyB,QADzBA,OACyB;;AACzB,wBAA4BC,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,yBAA0BH,KAAK,CAACC,QAAN,EAA1B;AAAA;AAAA,MAAOG,KAAP;AAAA,MAAcC,QAAd;;AACA,yBAAkDL,KAAK,CAACC,QAAN,CAAuBjB,WAAW,IAAI,EAAtC,CAAlD;AAAA;AAAA,MAAOsB,iBAAP;AAAA,MAA0BC,oBAA1B;;AACA,yBAA0CP,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA1C;AAAA;AAAA,MAAOO,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,yBAAwCT,KAAK,CAACC,QAAN,EAAxC;AAAA;AAAA,MAAOS,YAAP;AAAA,MAAqBC,eAArB;;AACA,0BAA4CX,KAAK,CAACC,QAAN,CAAyB,EAAzB,CAA5C;AAAA;AAAA,MAAOW,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,0BAA8Bb,KAAK,CAACC,QAAN,CAA8B,IAA9B,CAA9B;AAAA;AAAA,MAAOa,OAAP;AAAA,MAAgBC,UAAhB;;AACA,0BAAwBf,KAAK,CAACC,QAAN,CAAwB,IAAxB,CAAxB;AAAA;AAAA,MAAOe,IAAP;AAAA,MAAaC,OAAb;;AAEA,MAAMC,cAAc,GAAG,iCAAvB;AACA,MAAMC,QAAQ,GAAG,gCAAmB,CAACD,cAAD,CAAnB,CAAjB;AACA,MAAME,cAAc,GAAGpB,KAAK,CAACqB,MAAN,CAAgC,IAAhC,CAAvB;AAEA,+BAAgBH,cAAhB,EAAgCd,KAAK,IAAI,CAACb,QAAV,IAAsB,CAACD,QAAvB,GAAkC,CAAC8B,cAAD,CAAlC,GAAqD,EAArF;AAEA,MAAME,YAAY,GAAG,gCACnB;AAAA,WAAMnB,SAAS,CAAC,KAAD,CAAf;AAAA,GADmB,EAEnB,EAFmB,EAGnB,gCAAmB;AAAA,WAAMA,SAAS,CAAC,KAAD,CAAf;AAAA,GAAnB,CAHmB,CAArB;;AAMA,MAAMoB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,CAAD,EAA8C;AACvE,QAAIA,CAAC,CAACC,GAAF,KAAU,KAAV,IAAmBD,CAAC,CAACC,GAAF,KAAU,QAAjC,EAA2C;AACzCD,MAAAA,CAAC,CAACE,cAAF;AACD;;AACD,QAAIF,CAAC,CAACC,GAAF,KAAU,WAAV,IAAyBD,CAAC,CAACC,GAAF,KAAU,MAAnC,IAA6CD,CAAC,CAACC,GAAF,KAAU,SAAvD,IAAoED,CAAC,CAACC,GAAF,KAAU,IAAlF,EAAwF;AACtFD,MAAAA,CAAC,CAACE,cAAF;;AACA,UAAI,CAACxB,MAAL,EAAa;AACXC,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF;AACF,GAVD;;AAYAH,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpBV,IAAAA,OAAO,CAAC,IAAD,CAAP;AACAJ,IAAAA,iBAAiB,CAAC,CAAC,CAAC1B,KAAF,GAAU,CAACA,KAAD,CAAV,GAAoB,EAArB,CAAjB;AACD,GAHD,EAGG,CAACA,KAAD,CAHH;AAKAa,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpB,QAAIf,cAAJ,aAAIA,cAAJ,eAAIA,cAAc,CAAEgB,MAApB,EAA4B;AAAA;;AAC1B,UAAMC,GAAG,GAAGjB,cAAc,CAAC,CAAD,CAA1B;AACA,UAAMkB,IAAI,GAAG/C,IAAI,CAACgD,IAAL,CAAU,UAACC,CAAD;AAAA,eAAOA,CAAC,CAAC7C,KAAF,KAAY0C,GAAnB;AAAA,OAAV,CAAb;AACAlB,MAAAA,eAAe,CAACmB,IAAD,CAAf;AACAzB,MAAAA,QAAQ,gCAACyB,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEG,YAAP,mEAAuBH,IAAvB,aAAuBA,IAAvB,uBAAuBA,IAAI,CAAE3C,KAA7B,yCAAsC,EAAtC,CAAR;AACAF,MAAAA,QAAQ,IAAI,CAAC+B,IAAb,IAAqB/B,QAAQ,CAAC4C,GAAD,CAA7B;AACD,KAND,MAMO;AACLlB,MAAAA,eAAe,CAACuB,SAAD,CAAf;AACAjD,MAAAA,QAAQ,IAAI,CAAC+B,IAAb,IAAqB/B,QAAQ,CAAC,EAAD,CAA7B;AACAoB,MAAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF,GAZD,EAYG,CAACO,cAAD,CAZH;AAcAZ,EAAAA,KAAK,CAAC2B,SAAN,CAAgB,YAAM;AACpB,QAAI,CAACzB,MAAL,EAAe;AACb,UAAI,CAAC,CAACQ,YAAN,EAAmB;AAAA;;AACjBL,QAAAA,QAAQ,mCAACK,YAAD,aAACA,YAAD,uBAACA,YAAY,CAAEuB,YAAf,yEAA+BvB,YAA/B,aAA+BA,YAA/B,uBAA+BA,YAAY,CAAEvB,KAA7C,yCAAsD,EAAtD,CAAR;AACD,OAFD,MAEO;AACLkB,QAAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF;;AAEDI,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,GAVD,EAUG,CAACP,MAAD,EAASQ,YAAT,CAVH;;AAYA,MAAMyB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACX,CAAD,EAAY;AAAA;;AACnCnB,IAAAA,QAAQ,CAAC,EAAD,CAAR;AACAQ,IAAAA,iBAAiB,CAAC,EAAD,CAAjB;AACA5B,IAAAA,QAAQ,IAAIA,QAAQ,CAAC,EAAD,CAApB;AACA,yBAAAkC,QAAQ,CAACiB,OAAT,wEAAkBC,KAAlB,CAAwB;AAAEC,MAAAA,YAAY,EAAE,CAAAd,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEe,MAAH,MAAc;AAA9B,KAAxB;AACD,GALD;;AAOA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,wBACE,sBAAC,0BAAD;AACE,MAAA,GAAG,EAAEtB,cADP;AAEE,MAAA,SAAS,EAAEvB,IAAI,GAAGA,IAAH,GAAU,EAF3B;AAGE,MAAA,OAAO,EAAE,iBAAC6B,CAAD,EAAY;AACnB,YAAI,CAACjC,QAAD,IAAa,CAACD,QAAlB,EAA4B;AAC1BkC,UAAAA,CAAC,CAACiB,eAAF;AACAtC,UAAAA,SAAS,CAAC,CAACD,MAAF,CAAT;;AACA,cAAIA,MAAJ,EAAY;AAAA;;AACV,kCAAAiB,QAAQ,CAACiB,OAAT,0EAAkBM,IAAlB;AACD,WAFD,MAEO;AAAA;;AACL,kCAAAvB,QAAQ,CAACiB,OAAT,0EAAkBC,KAAlB;AACD;AACF;AACF,OAbH;AAcE,MAAA,QAAQ,EAAE/C,QAAQ,IAAI,KAdxB;AAeE,MAAA,QAAQ,EAAEC,QAAQ,IAAI,KAfxB;AAgBE,MAAA,aAAa,EAAE,CAACa,KAhBlB;AAiBE,MAAA,QAAQ,EAAEP,cAjBZ;AAkBE,MAAA,qBAAqB,EAAE,CAAC,CAACJ,uBAlB3B;AAmBE,MAAA,WAAW,EAAEkD,iCAnBf;AAoBE,wCAAyB7D,EAAzB,CApBF;AAAA,8BAqBE,qBAAC,yBAAD;AACE,QAAA,EAAE,EAAEA,EADN;AAEE,QAAA,GAAG,EAAEqC,QAFP;AAGE,QAAA,YAAY,EAAE,SAASyB,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,YAA3B,CAHzB;AAIE,QAAA,IAAI,EAAC,QAJP;AAKE,QAAA,WAAW,EAAExC,iBALf;AAME,QAAA,SAAS,EAAEiB,kBANb;AAOE,QAAA,KAAK,EAAEnB,KAPT;AAQE,QAAA,QAAQ,EAAE,kBAACoB,CAAD,EAAY;AACpB,cAAI,CAACA,CAAC,CAACuB,MAAF,CAAS5D,KAAd,EAAqB;AACnB0B,YAAAA,iBAAiB,CAAC,EAAD,CAAjB;AACD;;AACD,cAAI,CAACtB,QAAD,IAAa,CAACD,QAAd,IAA0BkC,CAAC,CAACuB,MAAF,CAAS5D,KAAT,KAAmBiB,KAAjD,EAAwD;AACtDK,YAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACAN,YAAAA,SAAS,CAAC,IAAD,CAAT;AACAE,YAAAA,QAAQ,CAACmB,CAAC,CAACuB,MAAF,CAAS5D,KAAV,CAAR;;AACA,gBAAID,aAAJ,EAAmB;AACjBA,cAAAA,aAAa,CAACsC,CAAC,CAACuB,MAAF,CAAS5D,KAAT,IAAkB,EAAnB,CAAb;AACD;AACF;AACF,SApBH;AAqBE,QAAA,OAAO,EAAE;AAAA,iBAAMoB,oBAAoB,CAAC,EAAD,CAA1B;AAAA,SArBX;AAsBE,QAAA,MAAM,EAAE;AAAA,iBAAMA,oBAAoB,CAACvB,WAAW,IAAI,EAAhB,CAA1B;AAAA,SAtBV;AAuBE,QAAA,QAAQ,EAAEI,QAvBZ;AAwBE,QAAA,QAAQ,EAAEE,QAAQ,IAAIC,QAAZ,GAAuB,CAAC,CAAxB,GAA4B,CAxBxC;AAyBE,QAAA,QAAQ,EAAED,QAAQ,IAAI;AAzBxB,QArBF,EAgDGc,KAAK,IAAI,CAACb,QAAV,IAAsB,CAACD,QAAvB,IAAmC,CAACS,OAApC,iBACC,qBAAC,kBAAD;AAAY,QAAA,MAAM,EAAEoC,gBAApB;AAAsC,QAAA,GAAG,EAAEf,cAA3C;AAA2D,QAAA,wBAAwB,EAAE,IAArF;AAA2F,QAAA,KAAK,EAAE,UAAlG;AAA8G,QAAA,KAAK,EAAE;AAAE4B,UAAAA,UAAU,EAAE;AAAd,SAArH;AAA6I,QAAA,OAAO,EAAE,WAAtJ;AAAA,+BACE,qBAAC,kBAAD,CAAa,KAAb;AADF,QAjDJ,EAsDG,CAAC1D,QAAD,IAAa,CAACC,QAAd,IAA0BQ,OAA1B,iBACC;AAAK,QAAA,KAAK,EAAE;AAAEiD,UAAAA,UAAU,EAAE;AAAd,SAAZ;AAAA,+BACE,qBAAC,kCAAD;AAAkB,UAAA,IAAI,EAAEC,YAAKC,KAA7B;AAAoC,UAAA,KAAK,EAAEC,eAAOC;AAAlD;AADF,QAvDJ,eA4DE;AAAK,QAAA,SAAS,EAAE,gBAAhB;AAAA,kBACGlD,MAAM,IAAI,CAACX,QAAX,IAAuB,CAACD,QAAxB,gBAAmC,qBAAC,wBAAD;AAAa,UAAA,IAAI,EAAC,MAAlB;AAAyB,UAAA,SAAS,EAAEK,IAAI,GAAGA,IAAH,GAAU;AAAlD,UAAnC,gBAA8F,qBAAC,0BAAD;AAAe,UAAA,IAAI,EAAC,MAApB;AAA2B,UAAA,SAAS,EAAEA,IAAI,GAAGA,IAAH,GAAU;AAApD;AADjG,QA5DF;AAAA,MADF;AAkED,GAnED;;AAqEA,sBACE;AAAA,4BACE,sBAAC,uBAAD;AAAU,MAAA,GAAG,EAAE2B,YAAf;AAA6B,MAAA,QAAQ,EAAEhC,QAAvC;AAAiD,MAAA,QAAQ,EAAE,KAA3D;AAAkE,MAAA,QAAQ,EAAEC,QAA5E;AAAsF,MAAA,SAAS,EAAEI,IAAI,GAAGA,IAAH,GAAU,EAA/G;AAAmH,MAAA,MAAM,EAAEG,MAA3H;AAAA,iBACG0C,WAAW,EADd,EAEG,CAACjD,QAAD,IAAa,CAACD,QAAd,iBACC,qBAAC,wBAAD;AACE,QAAA,MAAM,EAAEY,MAAM,IAAI,CAACH,OADrB;AAEE,QAAA,kBAAkB,EAAEV,kBAAF,aAAEA,kBAAF,cAAEA,kBAAF,GAAwB,EAF5C;AAGE,QAAA,cAAc,EAAEuB,cAHlB;AAIE,QAAA,iBAAiB,EAAEC,iBAJrB;AAKE,QAAA,IAAI,EAAElB,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUsD,YAAKC,KALrB;AAME,QAAA,OAAO,EAAEpC,OANX;AAOE,QAAA,UAAU,EAAEC,UAPd;AAQE,QAAA,OAAO,EAAE,KARX;AASE,QAAA,kBAAkB,EAAE;AAClBsC,UAAAA,SAAS,EAAE,QADO;AAElB7D,UAAAA,UAAU,EAAEA,UAFM;AAGlB8D,UAAAA,WAAW,EAAE,KAHK;AAIlBC,UAAAA,MAAM,EAAE,kBAAM,CAAE,CAJE;AAKlBC,UAAAA,aAAa,EAAE,uBAACC,MAAD,EAAsB;AACnChD,YAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACAQ,YAAAA,OAAO,CAAC,KAAD,CAAP;AACD,WARiB;AASlByC,UAAAA,KAAK,EAAE3E;AATW,SATtB;AAoBE,QAAA,MAAM,EAAE,CAACa,gBAAD,IAAqB,CAACY,aAAtB,GAAsCJ,KAAK,IAAI,EAA/C,GAAoD,EApB9D;AAqBE,QAAA,SAAS,EAAED,SArBb;AAsBE,QAAA,SAAS,EAAE,KAtBb;AAuBE,QAAA,QAAQ,EAAE,KAvBZ;AAwBE,QAAA,EAAE,YAAKrB,EAAL;AAxBJ,QAHJ;AAAA,MADF,EAgCGW,uBAAuB,iBACtB,sBAAC,qBAAD;AAAc,MAAA,SAAS,EAAEE,IAAI,IAAI,EAAjC;AAAA,8BACE,qBAAC,6BAAD;AAAkB,QAAA,KAAK,EAAEwD,eAAOQ;AAAhC,QADF,eAEE;AAAA,kBAAOlE;AAAP,QAFF;AAAA,MAjCJ,EAsCGC,iBAAiB,iBAChB,sBAAC,0BAAD;AAAmB,MAAA,SAAS,EAAEC,IAAI,IAAI,EAAtC;AAAA,8BACE,qBAAC,wBAAD;AAAa,QAAA,KAAK,EAAEwD,eAAOC;AAA3B,QADF,eAEE;AAAA,kBAAO1D;AAAP,QAFF;AAAA,MAvCJ;AAAA,IADF;AA+CD,CA/MD;;;AAzBEZ,EAAAA,E;AACAC,EAAAA,I;AACAC,EAAAA,W;AAEAG,EAAAA,K;AACAF,EAAAA,Q;AACAC,EAAAA,a;AAEAE,EAAAA,Q;AACAE,EAAAA,Q;AACAC,EAAAA,Q;AACAQ,EAAAA,O;AAEAH,EAAAA,gB;AAEAP,EAAAA,kB;AACAI,EAAAA,uB;AACAC,EAAAA,iB;AAGAG,EAAAA,c;AACAC,EAAAA,M;AACAN,EAAAA,U;;eAoNaX,c","sourcesContent":["import * as React from 'react';\r\nimport { COLORS } from '../styles';\r\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { StyledField, Dropdown, InputField } from './CommonStyling';\r\nimport DropdownContent, { DropdownItem } from './DropdownContent';\r\nimport { Size } from '../types';\r\nimport { AutofilledMessage, ErrorMessage } from '../InputFields/styling';\r\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\n\r\ninterface DropdownFilterProps {\r\n id: string;\r\n list: DropdownItem[];\r\n placeholder?: string;\r\n\r\n value?: string;\r\n onSelect?: (value: string) => void;\r\n onInputChange?: (input: string) => void;\r\n\r\n required?: boolean;\r\n disabled?: boolean;\r\n readOnly?: boolean;\r\n loading?: boolean;\r\n\r\n disableFiltering?: boolean;\r\n\r\n messageOnNoResults?: string;\r\n activeValidationMessage?: string;\r\n autofilledMessage?: string;\r\n size?: Size.Small | Size.Medium;\r\n\r\n buttonFontSize?: string;\r\n margin?: string;\r\n scrollable?: boolean;\r\n}\r\n\r\nconst DropdownFilter = ({\r\n id,\r\n list,\r\n placeholder,\r\n onSelect,\r\n onInputChange,\r\n value,\r\n required,\r\n messageOnNoResults,\r\n disabled,\r\n readOnly,\r\n scrollable,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n disableFiltering,\r\n buttonFontSize,\r\n margin = '4px 0',\r\n loading,\r\n}: DropdownFilterProps) => {\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>();\r\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [init, setInit] = React.useState<boolean>(true);\r\n\r\n const styledFieldRef = useFocusVisibleRef();\r\n const inputRef = useFocusVisibleRef([styledFieldRef]);\r\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\r\n\r\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\r\n\r\n const containerRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [],\r\n useFocusOutsideRef(() => setIsOpen(false)),\r\n );\r\n\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Esc' || e.key === 'Escape') {\r\n e.preventDefault();\r\n }\r\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\r\n e.preventDefault();\r\n if (!isOpen) {\r\n setIsOpen(true);\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n setInit(true);\r\n setSelectedValues(!!value ? [value] : []);\r\n }, [value]);\r\n\r\n React.useEffect(() => {\r\n if (selectedValues?.length) {\r\n const val = selectedValues[0];\r\n const item = list.find((a) => a.value === val);\r\n setSelectedItem(item);\r\n setInput(item?.displayLabel ?? item?.value ?? '');\r\n onSelect && !init && onSelect(val);\r\n } else {\r\n setSelectedItem(undefined);\r\n onSelect && !init && onSelect('');\r\n setInput('');\r\n }\r\n }, [selectedValues]);\r\n\r\n React.useEffect(() => {\r\n if (!isOpen ) {\r\n if (!!selectedItem){\r\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\r\n } else {\r\n setInput('');\r\n }\r\n }\r\n\r\n setRestartFilter(true);\r\n }, [isOpen, selectedItem]);\r\n\r\n const handleInputClear = (e: any) => {\r\n setInput('');\r\n setSelectedValues([]);\r\n onSelect && onSelect('');\r\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\r\n };\r\n\r\n const renderInput = () => {\r\n return (\r\n <StyledField\r\n ref={styledFieldRef}\r\n className={size ? size : ''}\r\n onClick={(e: any) => {\r\n if (!readOnly && !disabled) {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n if (isOpen) {\r\n inputRef.current?.blur();\r\n } else {\r\n inputRef.current?.focus();\r\n }\r\n }\r\n }}\r\n disabled={disabled || false}\r\n readOnly={readOnly || false}\r\n isPlaceholder={!input}\r\n fontSize={buttonFontSize}\r\n showValidationMessage={!!activeValidationMessage}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n data-testid={`otherdiv_${id}`}>\r\n <InputField\r\n id={id}\r\n ref={inputRef}\r\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\r\n type=\"search\"\r\n placeholder={placeholderSearch}\r\n onKeyDown={handleInputKeyDown}\r\n value={input}\r\n onChange={(e: any) => {\r\n if (!e.target.value) {\r\n setSelectedValues([]);\r\n }\r\n if (!readOnly && !disabled && e.target.value !== input) {\r\n setRestartFilter(false);\r\n setIsOpen(true);\r\n setInput(e.target.value);\r\n if (onInputChange) {\r\n onInputChange(e.target.value || '');\r\n }\r\n }\r\n }}\r\n onFocus={() => setPlaceholderSearch('')}\r\n onBlur={() => setPlaceholderSearch(placeholder || '')}\r\n required={required}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n disabled={disabled || false}\r\n />\r\n {input && !readOnly && !disabled && !loading && (\r\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\r\n <SystemIcons.Clear />\r\n </IconButton>\r\n )}\r\n\r\n {!disabled && !readOnly && loading && (\r\n <div style={{ marginLeft: '-4xp' }}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\r\n </div>\r\n )}\r\n\r\n <div className={'dropdown-arrow'}>\r\n {isOpen && !readOnly && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\r\n </div>\r\n </StyledField>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <Dropdown ref={containerRef} disabled={disabled} isButton={false} readOnly={readOnly} className={size ? size : ''} margin={margin}>\r\n {renderInput()}\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n isOpen={isOpen && !loading}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n selectedValues={selectedValues}\r\n setSelectedValues={setSelectedValues}\r\n size={size ?? Size.Small}\r\n focused={focused}\r\n setFocused={setFocused}\r\n outline={false}\r\n customizationProps={{\r\n itemsType: 'normal',\r\n scrollable: scrollable,\r\n multiSelect: false,\r\n action: () => {},\r\n onValueUpdate: (values: string[]) => {\r\n setRestartFilter(true);\r\n setInit(false);\r\n },\r\n items: list,\r\n }}\r\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\r\n setIsOpen={setIsOpen}\r\n alignLeft={false}\r\n isButton={false}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </Dropdown>\r\n {activeValidationMessage && (\r\n <ErrorMessage className={size || ''}>\r\n <TechnicalWarning color={COLORS.critical_400} />\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage className={size || ''}>\r\n <Information color={COLORS.neutral_600} />\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nexport default DropdownFilter;\r\n"],"file":"DropdownFilter.cjs"}
1
+ {"version":3,"sources":["../../src/Dropdown/DropdownFilter.tsx"],"names":["DropdownFilter","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","buttonFontSize","margin","loading","React","useState","isOpen","setIsOpen","input","setInput","placeholderSearch","setPlaceholderSearch","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","current","focus","focusVisible","detail","renderInput","stopPropagation","blur","defaultOnMouseDownHandler","Math","floor","random","target","marginLeft","Size","Small","COLORS","neutral_600","itemsType","multiSelect","action","onValueUpdate","values","items","critical_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { COLORS } from '../styles';\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { StyledField, Dropdown, InputField } from './CommonStyling';\nimport DropdownContent, { DropdownItem } from './DropdownContent';\nimport { Size } from '../types';\nimport { AutofilledMessage, ErrorMessage } from '../InputFields/styling';\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\nimport { IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\n\ninterface DropdownFilterProps {\n id: string;\n list: DropdownItem[];\n placeholder?: string;\n\n value?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n loading?: boolean;\n\n disableFiltering?: boolean;\n\n messageOnNoResults?: string;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n\n buttonFontSize?: string;\n margin?: string;\n scrollable?: boolean;\n}\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n value,\n required,\n messageOnNoResults,\n disabled,\n readOnly,\n scrollable,\n activeValidationMessage,\n autofilledMessage,\n size,\n disableFiltering,\n buttonFontSize,\n margin = '4px 0',\n loading,\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>();\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [init, setInit] = React.useState<boolean>(true);\n\n const styledFieldRef = useFocusVisibleRef();\n const inputRef = useFocusVisibleRef([styledFieldRef]);\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\n\n const containerRef = useClickOutsideRef(\n () => setIsOpen(false),\n [],\n useFocusOutsideRef(() => setIsOpen(false)),\n );\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.preventDefault();\n }\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n }\n }\n };\n\n React.useEffect(() => {\n setInit(true);\n setSelectedValues(!!value ? [value] : []);\n }, [value]);\n\n React.useEffect(() => {\n if (selectedValues?.length) {\n const val = selectedValues[0];\n const item = list.find((a) => a.value === val);\n setSelectedItem(item);\n setInput(item?.displayLabel ?? item?.value ?? '');\n onSelect && !init && onSelect(val);\n } else {\n setSelectedItem(undefined);\n onSelect && !init && onSelect('');\n setInput('');\n }\n }, [selectedValues]);\n\n React.useEffect(() => {\n if (!isOpen ) {\n if (!!selectedItem){\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\n } else {\n setInput('');\n }\n }\n\n setRestartFilter(true);\n }, [isOpen, selectedItem]);\n\n const handleInputClear = (e: any) => {\n setInput('');\n setSelectedValues([]);\n onSelect && onSelect('');\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\n };\n\n const renderInput = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={size ? size : ''}\n onClick={(e: any) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n fontSize={buttonFontSize}\n showValidationMessage={!!activeValidationMessage}\n onMouseDown={defaultOnMouseDownHandler}\n data-testid={`otherdiv_${id}`}>\n <InputField\n id={id}\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n onKeyDown={handleInputKeyDown}\n value={input}\n onChange={(e: any) => {\n if (!e.target.value) {\n setSelectedValues([]);\n }\n if (!readOnly && !disabled && e.target.value !== input) {\n setRestartFilter(false);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n />\n {input && !readOnly && !disabled && !loading && (\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\n <SystemIcons.Clear />\n </IconButton>\n )}\n\n {!disabled && !readOnly && loading && (\n <div style={{ marginLeft: '-4xp' }}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </div>\n )}\n\n <div className={'dropdown-arrow'}>\n {isOpen && !readOnly && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n return (\n <>\n <Dropdown ref={containerRef} disabled={disabled} isButton={false} readOnly={readOnly} className={size ? size : ''} margin={margin}>\n {renderInput()}\n {!readOnly && !disabled && (\n <DropdownContent\n isOpen={isOpen && !loading}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n size={size ?? Size.Small}\n focused={focused}\n setFocused={setFocused}\n outline={false}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n setRestartFilter(true);\n setInit(false);\n },\n items: list,\n }}\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\n setIsOpen={setIsOpen}\n alignLeft={false}\n isButton={false}\n id={`${id}_dropdowncontent`}\n />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning color={COLORS.critical_400} />\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.cjs"}
@@ -1,24 +1,24 @@
1
- import { DropdownItem } from './DropdownContent';
2
- import { Size } from '../types';
3
- interface DropdownFilterProps {
4
- id: string;
5
- list: DropdownItem[];
6
- placeholder?: string;
7
- value?: string;
8
- onSelect?: (value: string) => void;
9
- onInputChange?: (input: string) => void;
10
- required?: boolean;
11
- disabled?: boolean;
12
- readOnly?: boolean;
13
- loading?: boolean;
14
- disableFiltering?: boolean;
15
- messageOnNoResults?: string;
16
- activeValidationMessage?: string;
17
- autofilledMessage?: string;
18
- size?: Size.Small | Size.Medium;
19
- buttonFontSize?: string;
20
- margin?: string;
21
- scrollable?: boolean;
22
- }
23
- declare const DropdownFilter: ({ id, list, placeholder, onSelect, onInputChange, value, required, messageOnNoResults, disabled, readOnly, scrollable, activeValidationMessage, autofilledMessage, size, disableFiltering, buttonFontSize, margin, loading, }: DropdownFilterProps) => JSX.Element;
24
- export default DropdownFilter;
1
+ import { DropdownItem } from './DropdownContent';
2
+ import { Size } from '../types';
3
+ interface DropdownFilterProps {
4
+ id: string;
5
+ list: DropdownItem[];
6
+ placeholder?: string;
7
+ value?: string;
8
+ onSelect?: (value: string) => void;
9
+ onInputChange?: (input: string) => void;
10
+ required?: boolean;
11
+ disabled?: boolean;
12
+ readOnly?: boolean;
13
+ loading?: boolean;
14
+ disableFiltering?: boolean;
15
+ messageOnNoResults?: string;
16
+ activeValidationMessage?: string;
17
+ autofilledMessage?: string;
18
+ size?: Size.Small | Size.Medium;
19
+ buttonFontSize?: string;
20
+ margin?: string;
21
+ scrollable?: boolean;
22
+ }
23
+ declare const DropdownFilter: ({ id, list, placeholder, onSelect, onInputChange, value, required, messageOnNoResults, disabled, readOnly, scrollable, activeValidationMessage, autofilledMessage, size, disableFiltering, buttonFontSize, margin, loading, }: DropdownFilterProps) => JSX.Element;
24
+ export default DropdownFilter;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownFilter.tsx"],"names":["React","COLORS","ArrowDropDown","ArrowDropUp","Information","TechnicalWarning","LoadingIndicator","StyledField","Dropdown","InputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","SystemIcons","DropdownFilter","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","buttonFontSize","margin","loading","useState","isOpen","setIsOpen","input","setInput","placeholderSearch","setPlaceholderSearch","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","current","focus","focusVisible","detail","renderInput","stopPropagation","blur","Math","floor","random","target","marginLeft","Small","neutral_600","itemsType","multiSelect","action","onValueUpdate","values","items","critical_400"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,aAAT,EAAwBC,WAAxB,EAAqCC,WAArC,EAAkDC,gBAAlD,QAA0E,kCAA1E;AACA,SAASC,gBAAT,QAAiC,qBAAjC;AACA,SAASC,WAAT,EAAsBC,QAAtB,EAAgCC,UAAhC,QAAkD,iBAAlD;AACA,OAAOC,eAAP,MAA8C,mBAA9C;AACA,SAASC,IAAT,QAAqB,UAArB;AACA,SAASC,iBAAT,EAA4BC,YAA5B,QAAgD,wBAAhD;AACA,SAASC,yBAAT,EAAoCC,eAApC,EAAqDC,kBAArD,EAAyEC,kBAAzE,EAA6FC,kBAA7F,QAAuH,WAAvH;AACA,SAASC,UAAT,QAA2B,WAA3B;AACA,SAASC,WAAT,QAA4B,UAA5B;;;;;AA4BA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,OAmBI;AAAA,MAlBzBC,EAkByB,QAlBzBA,EAkByB;AAAA,MAjBzBC,IAiByB,QAjBzBA,IAiByB;AAAA,MAhBzBC,WAgByB,QAhBzBA,WAgByB;AAAA,MAfzBC,QAeyB,QAfzBA,QAeyB;AAAA,MAdzBC,aAcyB,QAdzBA,aAcyB;AAAA,MAbzBC,KAayB,QAbzBA,KAayB;AAAA,MAZzBC,QAYyB,QAZzBA,QAYyB;AAAA,MAXzBC,kBAWyB,QAXzBA,kBAWyB;AAAA,MAVzBC,QAUyB,QAVzBA,QAUyB;AAAA,MATzBC,QASyB,QATzBA,QASyB;AAAA,MARzBC,UAQyB,QARzBA,UAQyB;AAAA,MAPzBC,uBAOyB,QAPzBA,uBAOyB;AAAA,MANzBC,iBAMyB,QANzBA,iBAMyB;AAAA,MALzBC,IAKyB,QALzBA,IAKyB;AAAA,MAJzBC,gBAIyB,QAJzBA,gBAIyB;AAAA,MAHzBC,cAGyB,QAHzBA,cAGyB;AAAA,yBAFzBC,MAEyB;AAAA,MAFzBA,MAEyB,4BAFhB,OAEgB;AAAA,MADzBC,OACyB,QADzBA,OACyB;;AACzB,wBAA4BvC,KAAK,CAACwC,QAAN,CAAwB,KAAxB,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AACA,yBAA0B1C,KAAK,CAACwC,QAAN,EAA1B;AAAA;AAAA,MAAOG,KAAP;AAAA,MAAcC,QAAd;;AACA,yBAAkD5C,KAAK,CAACwC,QAAN,CAAuBhB,WAAW,IAAI,EAAtC,CAAlD;AAAA;AAAA,MAAOqB,iBAAP;AAAA,MAA0BC,oBAA1B;;AACA,yBAA0C9C,KAAK,CAACwC,QAAN,CAAwB,KAAxB,CAA1C;AAAA;AAAA,MAAOO,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,yBAAwChD,KAAK,CAACwC,QAAN,EAAxC;AAAA;AAAA,MAAOS,YAAP;AAAA,MAAqBC,eAArB;;AACA,0BAA4ClD,KAAK,CAACwC,QAAN,CAAyB,EAAzB,CAA5C;AAAA;AAAA,MAAOW,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,0BAA8BpD,KAAK,CAACwC,QAAN,CAA8B,IAA9B,CAA9B;AAAA;AAAA,MAAOa,OAAP;AAAA,MAAgBC,UAAhB;;AACA,0BAAwBtD,KAAK,CAACwC,QAAN,CAAwB,IAAxB,CAAxB;AAAA;AAAA,MAAOe,IAAP;AAAA,MAAaC,OAAb;;AAEA,MAAMC,cAAc,GAAGvC,kBAAkB,EAAzC;AACA,MAAMwC,QAAQ,GAAGxC,kBAAkB,CAAC,CAACuC,cAAD,CAAD,CAAnC;AACA,MAAME,cAAc,GAAG3D,KAAK,CAAC4D,MAAN,CAAgC,IAAhC,CAAvB;AAEA7C,EAAAA,eAAe,CAAC0C,cAAD,EAAiBd,KAAK,IAAI,CAACZ,QAAV,IAAsB,CAACD,QAAvB,GAAkC,CAAC6B,cAAD,CAAlC,GAAqD,EAAtE,CAAf;AAEA,MAAME,YAAY,GAAG7C,kBAAkB,CACrC;AAAA,WAAM0B,SAAS,CAAC,KAAD,CAAf;AAAA,GADqC,EAErC,EAFqC,EAGrCzB,kBAAkB,CAAC;AAAA,WAAMyB,SAAS,CAAC,KAAD,CAAf;AAAA,GAAD,CAHmB,CAAvC;;AAMA,MAAMoB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,CAAD,EAA8C;AACvE,QAAIA,CAAC,CAACC,GAAF,KAAU,KAAV,IAAmBD,CAAC,CAACC,GAAF,KAAU,QAAjC,EAA2C;AACzCD,MAAAA,CAAC,CAACE,cAAF;AACD;;AACD,QAAIF,CAAC,CAACC,GAAF,KAAU,WAAV,IAAyBD,CAAC,CAACC,GAAF,KAAU,MAAnC,IAA6CD,CAAC,CAACC,GAAF,KAAU,SAAvD,IAAoED,CAAC,CAACC,GAAF,KAAU,IAAlF,EAAwF;AACtFD,MAAAA,CAAC,CAACE,cAAF;;AACA,UAAI,CAACxB,MAAL,EAAa;AACXC,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD;AACF;AACF,GAVD;;AAYA1C,EAAAA,KAAK,CAACkE,SAAN,CAAgB,YAAM;AACpBV,IAAAA,OAAO,CAAC,IAAD,CAAP;AACAJ,IAAAA,iBAAiB,CAAC,CAAC,CAACzB,KAAF,GAAU,CAACA,KAAD,CAAV,GAAoB,EAArB,CAAjB;AACD,GAHD,EAGG,CAACA,KAAD,CAHH;AAKA3B,EAAAA,KAAK,CAACkE,SAAN,CAAgB,YAAM;AACpB,QAAIf,cAAJ,aAAIA,cAAJ,eAAIA,cAAc,CAAEgB,MAApB,EAA4B;AAAA;;AAC1B,UAAMC,GAAG,GAAGjB,cAAc,CAAC,CAAD,CAA1B;AACA,UAAMkB,IAAI,GAAG9C,IAAI,CAAC+C,IAAL,CAAU,UAACC,CAAD;AAAA,eAAOA,CAAC,CAAC5C,KAAF,KAAYyC,GAAnB;AAAA,OAAV,CAAb;AACAlB,MAAAA,eAAe,CAACmB,IAAD,CAAf;AACAzB,MAAAA,QAAQ,gCAACyB,IAAD,aAACA,IAAD,uBAACA,IAAI,CAAEG,YAAP,mEAAuBH,IAAvB,aAAuBA,IAAvB,uBAAuBA,IAAI,CAAE1C,KAA7B,yCAAsC,EAAtC,CAAR;AACAF,MAAAA,QAAQ,IAAI,CAAC8B,IAAb,IAAqB9B,QAAQ,CAAC2C,GAAD,CAA7B;AACD,KAND,MAMO;AACLlB,MAAAA,eAAe,CAACuB,SAAD,CAAf;AACAhD,MAAAA,QAAQ,IAAI,CAAC8B,IAAb,IAAqB9B,QAAQ,CAAC,EAAD,CAA7B;AACAmB,MAAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF,GAZD,EAYG,CAACO,cAAD,CAZH;AAcAnD,EAAAA,KAAK,CAACkE,SAAN,CAAgB,YAAM;AACpB,QAAI,CAACzB,MAAL,EAAe;AACb,UAAI,CAAC,CAACQ,YAAN,EAAmB;AAAA;;AACjBL,QAAAA,QAAQ,mCAACK,YAAD,aAACA,YAAD,uBAACA,YAAY,CAAEuB,YAAf,yEAA+BvB,YAA/B,aAA+BA,YAA/B,uBAA+BA,YAAY,CAAEtB,KAA7C,yCAAsD,EAAtD,CAAR;AACD,OAFD,MAEO;AACLiB,QAAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF;;AAEDI,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,GAVD,EAUG,CAACP,MAAD,EAASQ,YAAT,CAVH;;AAYA,MAAMyB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACX,CAAD,EAAY;AAAA;;AACnCnB,IAAAA,QAAQ,CAAC,EAAD,CAAR;AACAQ,IAAAA,iBAAiB,CAAC,EAAD,CAAjB;AACA3B,IAAAA,QAAQ,IAAIA,QAAQ,CAAC,EAAD,CAApB;AACA,yBAAAiC,QAAQ,CAACiB,OAAT,wEAAkBC,KAAlB,CAAwB;AAAEC,MAAAA,YAAY,EAAE,CAAAd,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEe,MAAH,MAAc;AAA9B,KAAxB;AACD,GALD;;AAOA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,wBACE,MAAC,WAAD;AACE,MAAA,GAAG,EAAEtB,cADP;AAEE,MAAA,SAAS,EAAEtB,IAAI,GAAGA,IAAH,GAAU,EAF3B;AAGE,MAAA,OAAO,EAAE,iBAAC4B,CAAD,EAAY;AACnB,YAAI,CAAChC,QAAD,IAAa,CAACD,QAAlB,EAA4B;AAC1BiC,UAAAA,CAAC,CAACiB,eAAF;AACAtC,UAAAA,SAAS,CAAC,CAACD,MAAF,CAAT;;AACA,cAAIA,MAAJ,EAAY;AAAA;;AACV,kCAAAiB,QAAQ,CAACiB,OAAT,0EAAkBM,IAAlB;AACD,WAFD,MAEO;AAAA;;AACL,kCAAAvB,QAAQ,CAACiB,OAAT,0EAAkBC,KAAlB;AACD;AACF;AACF,OAbH;AAcE,MAAA,QAAQ,EAAE9C,QAAQ,IAAI,KAdxB;AAeE,MAAA,QAAQ,EAAEC,QAAQ,IAAI,KAfxB;AAgBE,MAAA,aAAa,EAAE,CAACY,KAhBlB;AAiBE,MAAA,QAAQ,EAAEN,cAjBZ;AAkBE,MAAA,qBAAqB,EAAE,CAAC,CAACJ,uBAlB3B;AAmBE,MAAA,WAAW,EAAEnB,yBAnBf;AAoBE,wCAAyBQ,EAAzB,CApBF;AAAA,8BAqBE,KAAC,UAAD;AACE,QAAA,EAAE,EAAEA,EADN;AAEE,QAAA,GAAG,EAAEoC,QAFP;AAGE,QAAA,YAAY,EAAE,SAASwB,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,YAA3B,CAHzB;AAIE,QAAA,IAAI,EAAC,QAJP;AAKE,QAAA,WAAW,EAAEvC,iBALf;AAME,QAAA,SAAS,EAAEiB,kBANb;AAOE,QAAA,KAAK,EAAEnB,KAPT;AAQE,QAAA,QAAQ,EAAE,kBAACoB,CAAD,EAAY;AACpB,cAAI,CAACA,CAAC,CAACsB,MAAF,CAAS1D,KAAd,EAAqB;AACnByB,YAAAA,iBAAiB,CAAC,EAAD,CAAjB;AACD;;AACD,cAAI,CAACrB,QAAD,IAAa,CAACD,QAAd,IAA0BiC,CAAC,CAACsB,MAAF,CAAS1D,KAAT,KAAmBgB,KAAjD,EAAwD;AACtDK,YAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACAN,YAAAA,SAAS,CAAC,IAAD,CAAT;AACAE,YAAAA,QAAQ,CAACmB,CAAC,CAACsB,MAAF,CAAS1D,KAAV,CAAR;;AACA,gBAAID,aAAJ,EAAmB;AACjBA,cAAAA,aAAa,CAACqC,CAAC,CAACsB,MAAF,CAAS1D,KAAT,IAAkB,EAAnB,CAAb;AACD;AACF;AACF,SApBH;AAqBE,QAAA,OAAO,EAAE;AAAA,iBAAMmB,oBAAoB,CAAC,EAAD,CAA1B;AAAA,SArBX;AAsBE,QAAA,MAAM,EAAE;AAAA,iBAAMA,oBAAoB,CAACtB,WAAW,IAAI,EAAhB,CAA1B;AAAA,SAtBV;AAuBE,QAAA,QAAQ,EAAEI,QAvBZ;AAwBE,QAAA,QAAQ,EAAEE,QAAQ,IAAIC,QAAZ,GAAuB,CAAC,CAAxB,GAA4B,CAxBxC;AAyBE,QAAA,QAAQ,EAAED,QAAQ,IAAI;AAzBxB,QArBF,EAgDGa,KAAK,IAAI,CAACZ,QAAV,IAAsB,CAACD,QAAvB,IAAmC,CAACS,OAApC,iBACC,KAAC,UAAD;AAAY,QAAA,MAAM,EAAEmC,gBAApB;AAAsC,QAAA,GAAG,EAAEf,cAA3C;AAA2D,QAAA,wBAAwB,EAAE,IAArF;AAA2F,QAAA,KAAK,EAAE,UAAlG;AAA8G,QAAA,KAAK,EAAE;AAAE2B,UAAAA,UAAU,EAAE;AAAd,SAArH;AAA6I,QAAA,OAAO,EAAE,WAAtJ;AAAA,+BACE,KAAC,WAAD,CAAa,KAAb;AADF,QAjDJ,EAsDG,CAACxD,QAAD,IAAa,CAACC,QAAd,IAA0BQ,OAA1B,iBACC;AAAK,QAAA,KAAK,EAAE;AAAE+C,UAAAA,UAAU,EAAE;AAAd,SAAZ;AAAA,+BACE,KAAC,gBAAD;AAAkB,UAAA,IAAI,EAAE3E,IAAI,CAAC4E,KAA7B;AAAoC,UAAA,KAAK,EAAEtF,MAAM,CAACuF;AAAlD;AADF,QAvDJ,eA4DE;AAAK,QAAA,SAAS,EAAE,gBAAhB;AAAA,kBACG/C,MAAM,IAAI,CAACV,QAAX,IAAuB,CAACD,QAAxB,gBAAmC,KAAC,WAAD;AAAa,UAAA,IAAI,EAAC,MAAlB;AAAyB,UAAA,SAAS,EAAEK,IAAI,GAAGA,IAAH,GAAU;AAAlD,UAAnC,gBAA8F,KAAC,aAAD;AAAe,UAAA,IAAI,EAAC,MAApB;AAA2B,UAAA,SAAS,EAAEA,IAAI,GAAGA,IAAH,GAAU;AAApD;AADjG,QA5DF;AAAA,MADF;AAkED,GAnED;;AAqEA,sBACE;AAAA,4BACE,MAAC,QAAD;AAAU,MAAA,GAAG,EAAE0B,YAAf;AAA6B,MAAA,QAAQ,EAAE/B,QAAvC;AAAiD,MAAA,QAAQ,EAAE,KAA3D;AAAkE,MAAA,QAAQ,EAAEC,QAA5E;AAAsF,MAAA,SAAS,EAAEI,IAAI,GAAGA,IAAH,GAAU,EAA/G;AAAmH,MAAA,MAAM,EAAEG,MAA3H;AAAA,iBACGyC,WAAW,EADd,EAEG,CAAChD,QAAD,IAAa,CAACD,QAAd,iBACC,KAAC,eAAD;AACE,QAAA,MAAM,EAAEW,MAAM,IAAI,CAACF,OADrB;AAEE,QAAA,kBAAkB,EAAEV,kBAAF,aAAEA,kBAAF,cAAEA,kBAAF,GAAwB,EAF5C;AAGE,QAAA,cAAc,EAAEsB,cAHlB;AAIE,QAAA,iBAAiB,EAAEC,iBAJrB;AAKE,QAAA,IAAI,EAAEjB,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUxB,IAAI,CAAC4E,KALrB;AAME,QAAA,OAAO,EAAElC,OANX;AAOE,QAAA,UAAU,EAAEC,UAPd;AAQE,QAAA,OAAO,EAAE,KARX;AASE,QAAA,kBAAkB,EAAE;AAClBmC,UAAAA,SAAS,EAAE,QADO;AAElBzD,UAAAA,UAAU,EAAEA,UAFM;AAGlB0D,UAAAA,WAAW,EAAE,KAHK;AAIlBC,UAAAA,MAAM,EAAE,kBAAM,CAAE,CAJE;AAKlBC,UAAAA,aAAa,EAAE,uBAACC,MAAD,EAAsB;AACnC7C,YAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACAQ,YAAAA,OAAO,CAAC,KAAD,CAAP;AACD,WARiB;AASlBsC,UAAAA,KAAK,EAAEvE;AATW,SATtB;AAoBE,QAAA,MAAM,EAAE,CAACa,gBAAD,IAAqB,CAACW,aAAtB,GAAsCJ,KAAK,IAAI,EAA/C,GAAoD,EApB9D;AAqBE,QAAA,SAAS,EAAED,SArBb;AAsBE,QAAA,SAAS,EAAE,KAtBb;AAuBE,QAAA,QAAQ,EAAE,KAvBZ;AAwBE,QAAA,EAAE,YAAKpB,EAAL;AAxBJ,QAHJ;AAAA,MADF,EAgCGW,uBAAuB,iBACtB,MAAC,YAAD;AAAc,MAAA,SAAS,EAAEE,IAAI,IAAI,EAAjC;AAAA,8BACE,KAAC,gBAAD;AAAkB,QAAA,KAAK,EAAElC,MAAM,CAAC8F;AAAhC,QADF,eAEE;AAAA,kBAAO9D;AAAP,QAFF;AAAA,MAjCJ,EAsCGC,iBAAiB,iBAChB,MAAC,iBAAD;AAAmB,MAAA,SAAS,EAAEC,IAAI,IAAI,EAAtC;AAAA,8BACE,KAAC,WAAD;AAAa,QAAA,KAAK,EAAElC,MAAM,CAACuF;AAA3B,QADF,eAEE;AAAA,kBAAOtD;AAAP,QAFF;AAAA,MAvCJ;AAAA,IADF;AA+CD,CA/MD;;;AAzBEZ,EAAAA,E;AACAC,EAAAA,I;AACAC,EAAAA,W;AAEAG,EAAAA,K;AACAF,EAAAA,Q;AACAC,EAAAA,a;AAEAE,EAAAA,Q;AACAE,EAAAA,Q;AACAC,EAAAA,Q;AACAQ,EAAAA,O;AAEAH,EAAAA,gB;AAEAP,EAAAA,kB;AACAI,EAAAA,uB;AACAC,EAAAA,iB;AAGAG,EAAAA,c;AACAC,EAAAA,M;AACAN,EAAAA,U;;AAoNF,eAAeX,cAAf","sourcesContent":["import * as React from 'react';\r\nimport { COLORS } from '../styles';\r\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { StyledField, Dropdown, InputField } from './CommonStyling';\r\nimport DropdownContent, { DropdownItem } from './DropdownContent';\r\nimport { Size } from '../types';\r\nimport { AutofilledMessage, ErrorMessage } from '../InputFields/styling';\r\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\n\r\ninterface DropdownFilterProps {\r\n id: string;\r\n list: DropdownItem[];\r\n placeholder?: string;\r\n\r\n value?: string;\r\n onSelect?: (value: string) => void;\r\n onInputChange?: (input: string) => void;\r\n\r\n required?: boolean;\r\n disabled?: boolean;\r\n readOnly?: boolean;\r\n loading?: boolean;\r\n\r\n disableFiltering?: boolean;\r\n\r\n messageOnNoResults?: string;\r\n activeValidationMessage?: string;\r\n autofilledMessage?: string;\r\n size?: Size.Small | Size.Medium;\r\n\r\n buttonFontSize?: string;\r\n margin?: string;\r\n scrollable?: boolean;\r\n}\r\n\r\nconst DropdownFilter = ({\r\n id,\r\n list,\r\n placeholder,\r\n onSelect,\r\n onInputChange,\r\n value,\r\n required,\r\n messageOnNoResults,\r\n disabled,\r\n readOnly,\r\n scrollable,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n disableFiltering,\r\n buttonFontSize,\r\n margin = '4px 0',\r\n loading,\r\n}: DropdownFilterProps) => {\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>();\r\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [init, setInit] = React.useState<boolean>(true);\r\n\r\n const styledFieldRef = useFocusVisibleRef();\r\n const inputRef = useFocusVisibleRef([styledFieldRef]);\r\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\r\n\r\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\r\n\r\n const containerRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [],\r\n useFocusOutsideRef(() => setIsOpen(false)),\r\n );\r\n\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Esc' || e.key === 'Escape') {\r\n e.preventDefault();\r\n }\r\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\r\n e.preventDefault();\r\n if (!isOpen) {\r\n setIsOpen(true);\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n setInit(true);\r\n setSelectedValues(!!value ? [value] : []);\r\n }, [value]);\r\n\r\n React.useEffect(() => {\r\n if (selectedValues?.length) {\r\n const val = selectedValues[0];\r\n const item = list.find((a) => a.value === val);\r\n setSelectedItem(item);\r\n setInput(item?.displayLabel ?? item?.value ?? '');\r\n onSelect && !init && onSelect(val);\r\n } else {\r\n setSelectedItem(undefined);\r\n onSelect && !init && onSelect('');\r\n setInput('');\r\n }\r\n }, [selectedValues]);\r\n\r\n React.useEffect(() => {\r\n if (!isOpen ) {\r\n if (!!selectedItem){\r\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\r\n } else {\r\n setInput('');\r\n }\r\n }\r\n\r\n setRestartFilter(true);\r\n }, [isOpen, selectedItem]);\r\n\r\n const handleInputClear = (e: any) => {\r\n setInput('');\r\n setSelectedValues([]);\r\n onSelect && onSelect('');\r\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\r\n };\r\n\r\n const renderInput = () => {\r\n return (\r\n <StyledField\r\n ref={styledFieldRef}\r\n className={size ? size : ''}\r\n onClick={(e: any) => {\r\n if (!readOnly && !disabled) {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n if (isOpen) {\r\n inputRef.current?.blur();\r\n } else {\r\n inputRef.current?.focus();\r\n }\r\n }\r\n }}\r\n disabled={disabled || false}\r\n readOnly={readOnly || false}\r\n isPlaceholder={!input}\r\n fontSize={buttonFontSize}\r\n showValidationMessage={!!activeValidationMessage}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n data-testid={`otherdiv_${id}`}>\r\n <InputField\r\n id={id}\r\n ref={inputRef}\r\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\r\n type=\"search\"\r\n placeholder={placeholderSearch}\r\n onKeyDown={handleInputKeyDown}\r\n value={input}\r\n onChange={(e: any) => {\r\n if (!e.target.value) {\r\n setSelectedValues([]);\r\n }\r\n if (!readOnly && !disabled && e.target.value !== input) {\r\n setRestartFilter(false);\r\n setIsOpen(true);\r\n setInput(e.target.value);\r\n if (onInputChange) {\r\n onInputChange(e.target.value || '');\r\n }\r\n }\r\n }}\r\n onFocus={() => setPlaceholderSearch('')}\r\n onBlur={() => setPlaceholderSearch(placeholder || '')}\r\n required={required}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n disabled={disabled || false}\r\n />\r\n {input && !readOnly && !disabled && !loading && (\r\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\r\n <SystemIcons.Clear />\r\n </IconButton>\r\n )}\r\n\r\n {!disabled && !readOnly && loading && (\r\n <div style={{ marginLeft: '-4xp' }}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\r\n </div>\r\n )}\r\n\r\n <div className={'dropdown-arrow'}>\r\n {isOpen && !readOnly && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\r\n </div>\r\n </StyledField>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <Dropdown ref={containerRef} disabled={disabled} isButton={false} readOnly={readOnly} className={size ? size : ''} margin={margin}>\r\n {renderInput()}\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n isOpen={isOpen && !loading}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n selectedValues={selectedValues}\r\n setSelectedValues={setSelectedValues}\r\n size={size ?? Size.Small}\r\n focused={focused}\r\n setFocused={setFocused}\r\n outline={false}\r\n customizationProps={{\r\n itemsType: 'normal',\r\n scrollable: scrollable,\r\n multiSelect: false,\r\n action: () => {},\r\n onValueUpdate: (values: string[]) => {\r\n setRestartFilter(true);\r\n setInit(false);\r\n },\r\n items: list,\r\n }}\r\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\r\n setIsOpen={setIsOpen}\r\n alignLeft={false}\r\n isButton={false}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </Dropdown>\r\n {activeValidationMessage && (\r\n <ErrorMessage className={size || ''}>\r\n <TechnicalWarning color={COLORS.critical_400} />\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage className={size || ''}>\r\n <Information color={COLORS.neutral_600} />\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nexport default DropdownFilter;\r\n"],"file":"DropdownFilter.js"}
1
+ {"version":3,"sources":["../../src/Dropdown/DropdownFilter.tsx"],"names":["React","COLORS","ArrowDropDown","ArrowDropUp","Information","TechnicalWarning","LoadingIndicator","StyledField","Dropdown","InputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","SystemIcons","DropdownFilter","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","buttonFontSize","margin","loading","useState","isOpen","setIsOpen","input","setInput","placeholderSearch","setPlaceholderSearch","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","current","focus","focusVisible","detail","renderInput","stopPropagation","blur","Math","floor","random","target","marginLeft","Small","neutral_600","itemsType","multiSelect","action","onValueUpdate","values","items","critical_400"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { COLORS } from '../styles';\nimport { ArrowDropDown, ArrowDropUp, Information, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { StyledField, Dropdown, InputField } from './CommonStyling';\nimport DropdownContent, { DropdownItem } from './DropdownContent';\nimport { Size } from '../types';\nimport { AutofilledMessage, ErrorMessage } from '../InputFields/styling';\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\nimport { IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\n\ninterface DropdownFilterProps {\n id: string;\n list: DropdownItem[];\n placeholder?: string;\n\n value?: string;\n onSelect?: (value: string) => void;\n onInputChange?: (input: string) => void;\n\n required?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n loading?: boolean;\n\n disableFiltering?: boolean;\n\n messageOnNoResults?: string;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n\n buttonFontSize?: string;\n margin?: string;\n scrollable?: boolean;\n}\n\nconst DropdownFilter = ({\n id,\n list,\n placeholder,\n onSelect,\n onInputChange,\n value,\n required,\n messageOnNoResults,\n disabled,\n readOnly,\n scrollable,\n activeValidationMessage,\n autofilledMessage,\n size,\n disableFiltering,\n buttonFontSize,\n margin = '4px 0',\n loading,\n}: DropdownFilterProps) => {\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>();\n const [placeholderSearch, setPlaceholderSearch] = React.useState<string>(placeholder || '');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [init, setInit] = React.useState<boolean>(true);\n\n const styledFieldRef = useFocusVisibleRef();\n const inputRef = useFocusVisibleRef([styledFieldRef]);\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\n\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\n\n const containerRef = useClickOutsideRef(\n () => setIsOpen(false),\n [],\n useFocusOutsideRef(() => setIsOpen(false)),\n );\n\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Esc' || e.key === 'Escape') {\n e.preventDefault();\n }\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\n e.preventDefault();\n if (!isOpen) {\n setIsOpen(true);\n }\n }\n };\n\n React.useEffect(() => {\n setInit(true);\n setSelectedValues(!!value ? [value] : []);\n }, [value]);\n\n React.useEffect(() => {\n if (selectedValues?.length) {\n const val = selectedValues[0];\n const item = list.find((a) => a.value === val);\n setSelectedItem(item);\n setInput(item?.displayLabel ?? item?.value ?? '');\n onSelect && !init && onSelect(val);\n } else {\n setSelectedItem(undefined);\n onSelect && !init && onSelect('');\n setInput('');\n }\n }, [selectedValues]);\n\n React.useEffect(() => {\n if (!isOpen ) {\n if (!!selectedItem){\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\n } else {\n setInput('');\n }\n }\n\n setRestartFilter(true);\n }, [isOpen, selectedItem]);\n\n const handleInputClear = (e: any) => {\n setInput('');\n setSelectedValues([]);\n onSelect && onSelect('');\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\n };\n\n const renderInput = () => {\n return (\n <StyledField\n ref={styledFieldRef}\n className={size ? size : ''}\n onClick={(e: any) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n fontSize={buttonFontSize}\n showValidationMessage={!!activeValidationMessage}\n onMouseDown={defaultOnMouseDownHandler}\n data-testid={`otherdiv_${id}`}>\n <InputField\n id={id}\n ref={inputRef}\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\n type=\"search\"\n placeholder={placeholderSearch}\n onKeyDown={handleInputKeyDown}\n value={input}\n onChange={(e: any) => {\n if (!e.target.value) {\n setSelectedValues([]);\n }\n if (!readOnly && !disabled && e.target.value !== input) {\n setRestartFilter(false);\n setIsOpen(true);\n setInput(e.target.value);\n if (onInputChange) {\n onInputChange(e.target.value || '');\n }\n }\n }}\n onFocus={() => setPlaceholderSearch('')}\n onBlur={() => setPlaceholderSearch(placeholder || '')}\n required={required}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n />\n {input && !readOnly && !disabled && !loading && (\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\n <SystemIcons.Clear />\n </IconButton>\n )}\n\n {!disabled && !readOnly && loading && (\n <div style={{ marginLeft: '-4xp' }}>\n <LoadingIndicator size={Size.Small} color={COLORS.neutral_600} />\n </div>\n )}\n\n <div className={'dropdown-arrow'}>\n {isOpen && !readOnly && !disabled ? <ArrowDropUp size=\"24px\" className={size ? size : ''} /> : <ArrowDropDown size=\"24px\" className={size ? size : ''} />}\n </div>\n </StyledField>\n );\n };\n\n return (\n <>\n <Dropdown ref={containerRef} disabled={disabled} isButton={false} readOnly={readOnly} className={size ? size : ''} margin={margin}>\n {renderInput()}\n {!readOnly && !disabled && (\n <DropdownContent\n isOpen={isOpen && !loading}\n messageOnNoResults={messageOnNoResults ?? ''}\n selectedValues={selectedValues}\n setSelectedValues={setSelectedValues}\n size={size ?? Size.Small}\n focused={focused}\n setFocused={setFocused}\n outline={false}\n customizationProps={{\n itemsType: 'normal',\n scrollable: scrollable,\n multiSelect: false,\n action: () => {},\n onValueUpdate: (values: string[]) => {\n setRestartFilter(true);\n setInit(false);\n },\n items: list,\n }}\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\n setIsOpen={setIsOpen}\n alignLeft={false}\n isButton={false}\n id={`${id}_dropdowncontent`}\n />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <ErrorMessage className={size || ''}>\n <TechnicalWarning color={COLORS.critical_400} />\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage className={size || ''}>\n <Information color={COLORS.neutral_600} />\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n};\n\nexport default DropdownFilter;\n"],"file":"DropdownFilter.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["import DropdownFilter from './DropdownFilter';\r\nimport BasicDropdown from './BasicDropdown';\r\nimport DropdownButton from './DropdownButton';\r\nimport DropdownContent from './DropdownContent';\r\n\r\nexport type {DropdownItem} from './DropdownContent'\r\n\r\n\r\nexport { DropdownFilter, BasicDropdown, DropdownButton, DropdownContent };\r\n"],"file":"index.cjs"}
1
+ {"version":3,"sources":["../../src/Dropdown/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["import DropdownFilter from './DropdownFilter';\nimport BasicDropdown from './BasicDropdown';\nimport DropdownButton from './DropdownButton';\nimport DropdownContent from './DropdownContent';\n\nexport type {DropdownItem} from './DropdownContent'\n\n\nexport { DropdownFilter, BasicDropdown, DropdownButton, DropdownContent };\n"],"file":"index.cjs"}
@@ -1,6 +1,6 @@
1
- import DropdownFilter from './DropdownFilter';
2
- import BasicDropdown from './BasicDropdown';
3
- import DropdownButton from './DropdownButton';
4
- import DropdownContent from './DropdownContent';
5
- export type { DropdownItem } from './DropdownContent';
6
- export { DropdownFilter, BasicDropdown, DropdownButton, DropdownContent };
1
+ import DropdownFilter from './DropdownFilter';
2
+ import BasicDropdown from './BasicDropdown';
3
+ import DropdownButton from './DropdownButton';
4
+ import DropdownContent from './DropdownContent';
5
+ export type { DropdownItem } from './DropdownContent';
6
+ export { DropdownFilter, BasicDropdown, DropdownButton, DropdownContent };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/index.ts"],"names":["DropdownFilter","BasicDropdown","DropdownButton","DropdownContent"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AAKA,SAASH,cAAT,EAAyBC,aAAzB,EAAwCC,cAAxC,EAAwDC,eAAxD","sourcesContent":["import DropdownFilter from './DropdownFilter';\r\nimport BasicDropdown from './BasicDropdown';\r\nimport DropdownButton from './DropdownButton';\r\nimport DropdownContent from './DropdownContent';\r\n\r\nexport type {DropdownItem} from './DropdownContent'\r\n\r\n\r\nexport { DropdownFilter, BasicDropdown, DropdownButton, DropdownContent };\r\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/Dropdown/index.ts"],"names":["DropdownFilter","BasicDropdown","DropdownButton","DropdownContent"],"mappings":"AAAA,OAAOA,cAAP,MAA2B,kBAA3B;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AAKA,SAASH,cAAT,EAAyBC,aAAzB,EAAwCC,cAAxC,EAAwDC,eAAxD","sourcesContent":["import DropdownFilter from './DropdownFilter';\nimport BasicDropdown from './BasicDropdown';\nimport DropdownButton from './DropdownButton';\nimport DropdownContent from './DropdownContent';\n\nexport type {DropdownItem} from './DropdownContent'\n\n\nexport { DropdownFilter, BasicDropdown, DropdownButton, DropdownContent };\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Footer/Components/FooterBottomLinks.tsx"],"names":["FooterLinkSection","styled","section","BREAKPOINTS","MEDIUM","FooterLinks","div","ComponentTextStyle","Bold","Copyright","Regular","COLORS","white","FooterBottomLinks","bottomLinks","copyrightText","map","bl","i","Math","floor","random","to","label","target"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,iBAAiB,GAAGC,0BAAOC,OAAV,oNAMnBC,oBAAYC,MANO,CAAvB;;AAWA,IAAMC,WAAW,GAAGJ,0BAAOK,GAAV,2WAKbH,oBAAYC,MALC,EAWX,oCAAmBG,+BAAmBC,IAAtC,EAA4C,IAA5C,CAXW,EAcTL,oBAAYC,MAdH,CAAjB;;AAqBA,IAAMK,SAAS,GAAGR,0BAAOK,GAAV,6KACX,oCAAmBC,+BAAmBG,OAAtC,EAA+CC,eAAOC,KAAtD,CADW,EAIXT,oBAAYC,MAJD,CAAf;;AAoBA,IAAMS,iBAAiB,GAAG,SAApBA,iBAAoB,OAAqD;AAAA,MAAlDC,WAAkD,QAAlDA,WAAkD;AAAA,MAArCC,aAAqC,QAArCA,aAAqC;AAC7E,sBACE,sBAAC,iBAAD;AAAA,4BACE,qBAAC,WAAD;AAAA,gBACGD,WADH,aACGA,WADH,uBACGA,WAAW,CAAEE,GAAb,CAAiB,UAACC,EAAD,EAAKC,CAAL;AAAA,4BAChB,qBAAC,oBAAD;AAAW,UAAA,EAAE,uBAAgBC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,YAA3B,CAAhB,CAAb;AAEW,UAAA,IAAI,EAAEJ,EAAE,CAACK,EAFpB;AAEwB,UAAA,OAAO,EAAC,UAFhC;AAAA,oBAGGL,EAAE,CAACM;AAHN,WACgBL,CADhB,CADgB;AAAA,OAAjB;AADH,MADF,eAUE,qBAAC,SAAD;AAAA,gBAAYH;AAAZ,MAVF;AAAA,IADF;AAcD,CAfD;;;AAJED,EAAAA,W;AANAS,IAAAA,K;AACAD,IAAAA,E;AACAE,IAAAA,M;;AAKAT,EAAAA,a;;eAoBaF,iB","sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {HyperLink} from '../../HyperLink';\r\n\r\nimport {BREAKPOINTS, COLORS} from '../../styles';\r\nimport {ComponentTextStyle, ComponentXSStyling} from '../../styles/typography';\r\n\r\nconst FooterLinkSection = styled.section`\r\n min-height: 64px;\r\n color: white;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst FooterLinks = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n margin: auto auto auto 0;\r\n }\r\n\r\n a {\r\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\r\n &:not(:first-child) {\r\n margin: 16px 0 0 0;\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 0 0 0 16px;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst Copyright = styled.div`\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.white)}\r\n margin: 16px auto 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: auto 0 auto auto;\r\n }\r\n`;\r\n\r\ninterface Link {\r\n label: string;\r\n to: string;\r\n target?: string;\r\n}\r\n\r\ninterface FooterLinkProps {\r\n bottomLinks?: Link[];\r\n copyrightText?: string;\r\n}\r\n\r\nconst FooterBottomLinks = ({ bottomLinks, copyrightText }: FooterLinkProps) => {\r\n return (\r\n <FooterLinkSection>\r\n <FooterLinks>\r\n {bottomLinks?.map((bl, i) => (\r\n <HyperLink id={`FooterLink_${Math.floor(Math.random() * 999999999999)}`}\r\n key={i}\r\n href={bl.to} variant=\"inverted\">\r\n {bl.label}\r\n </HyperLink>\r\n ))}\r\n </FooterLinks>\r\n <Copyright>{copyrightText}</Copyright>\r\n </FooterLinkSection>\r\n );\r\n};\r\n\r\nexport default FooterBottomLinks;\r\n"],"file":"FooterBottomLinks.cjs"}
1
+ {"version":3,"sources":["../../../src/Footer/Components/FooterBottomLinks.tsx"],"names":["FooterLinkSection","styled","section","BREAKPOINTS","MEDIUM","FooterLinks","div","ComponentTextStyle","Bold","Copyright","Regular","COLORS","white","FooterBottomLinks","bottomLinks","copyrightText","map","bl","i","Math","floor","random","to","label","target"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,iBAAiB,GAAGC,0BAAOC,OAAV,oNAMnBC,oBAAYC,MANO,CAAvB;;AAWA,IAAMC,WAAW,GAAGJ,0BAAOK,GAAV,2WAKbH,oBAAYC,MALC,EAWX,oCAAmBG,+BAAmBC,IAAtC,EAA4C,IAA5C,CAXW,EAcTL,oBAAYC,MAdH,CAAjB;;AAqBA,IAAMK,SAAS,GAAGR,0BAAOK,GAAV,6KACX,oCAAmBC,+BAAmBG,OAAtC,EAA+CC,eAAOC,KAAtD,CADW,EAIXT,oBAAYC,MAJD,CAAf;;AAoBA,IAAMS,iBAAiB,GAAG,SAApBA,iBAAoB,OAAqD;AAAA,MAAlDC,WAAkD,QAAlDA,WAAkD;AAAA,MAArCC,aAAqC,QAArCA,aAAqC;AAC7E,sBACE,sBAAC,iBAAD;AAAA,4BACE,qBAAC,WAAD;AAAA,gBACGD,WADH,aACGA,WADH,uBACGA,WAAW,CAAEE,GAAb,CAAiB,UAACC,EAAD,EAAKC,CAAL;AAAA,4BAChB,qBAAC,oBAAD;AAAW,UAAA,EAAE,uBAAgBC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,YAA3B,CAAhB,CAAb;AAEW,UAAA,IAAI,EAAEJ,EAAE,CAACK,EAFpB;AAEwB,UAAA,OAAO,EAAC,UAFhC;AAAA,oBAGGL,EAAE,CAACM;AAHN,WACgBL,CADhB,CADgB;AAAA,OAAjB;AADH,MADF,eAUE,qBAAC,SAAD;AAAA,gBAAYH;AAAZ,MAVF;AAAA,IADF;AAcD,CAfD;;;AAJED,EAAAA,W;AANAS,IAAAA,K;AACAD,IAAAA,E;AACAE,IAAAA,M;;AAKAT,EAAAA,a;;eAoBaF,iB","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {HyperLink} from '../../HyperLink';\n\nimport {BREAKPOINTS, COLORS} from '../../styles';\nimport {ComponentTextStyle, ComponentXSStyling} from '../../styles/typography';\n\nconst FooterLinkSection = styled.section`\n min-height: 64px;\n color: white;\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst FooterLinks = styled.div`\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n margin: auto auto auto 0;\n }\n\n a {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n &:not(:first-child) {\n margin: 16px 0 0 0;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n }\n }\n`;\n\nconst Copyright = styled.div`\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.white)}\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: auto 0 auto auto;\n }\n`;\n\ninterface Link {\n label: string;\n to: string;\n target?: string;\n}\n\ninterface FooterLinkProps {\n bottomLinks?: Link[];\n copyrightText?: string;\n}\n\nconst FooterBottomLinks = ({ bottomLinks, copyrightText }: FooterLinkProps) => {\n return (\n <FooterLinkSection>\n <FooterLinks>\n {bottomLinks?.map((bl, i) => (\n <HyperLink id={`FooterLink_${Math.floor(Math.random() * 999999999999)}`}\n key={i}\n href={bl.to} variant=\"inverted\">\n {bl.label}\n </HyperLink>\n ))}\n </FooterLinks>\n <Copyright>{copyrightText}</Copyright>\n </FooterLinkSection>\n );\n};\n\nexport default FooterBottomLinks;\n"],"file":"FooterBottomLinks.cjs"}
@@ -1,11 +1,11 @@
1
- interface Link {
2
- label: string;
3
- to: string;
4
- target?: string;
5
- }
6
- interface FooterLinkProps {
7
- bottomLinks?: Link[];
8
- copyrightText?: string;
9
- }
10
- declare const FooterBottomLinks: ({ bottomLinks, copyrightText }: FooterLinkProps) => JSX.Element;
11
- export default FooterBottomLinks;
1
+ interface Link {
2
+ label: string;
3
+ to: string;
4
+ target?: string;
5
+ }
6
+ interface FooterLinkProps {
7
+ bottomLinks?: Link[];
8
+ copyrightText?: string;
9
+ }
10
+ declare const FooterBottomLinks: ({ bottomLinks, copyrightText }: FooterLinkProps) => JSX.Element;
11
+ export default FooterBottomLinks;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Footer/Components/FooterBottomLinks.tsx"],"names":["React","styled","HyperLink","BREAKPOINTS","COLORS","ComponentTextStyle","ComponentXSStyling","FooterLinkSection","section","MEDIUM","FooterLinks","div","Bold","Copyright","Regular","white","FooterBottomLinks","bottomLinks","copyrightText","map","bl","i","Math","floor","random","to","label","target"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,SAAR,QAAwB,iBAAxB;AAEA,SAAQC,WAAR,EAAqBC,MAArB,QAAkC,cAAlC;AACA,SAAQC,kBAAR,EAA4BC,kBAA5B,QAAqD,yBAArD;;;AAEA,IAAMC,iBAAiB,GAAGN,MAAM,CAACO,OAAV,sMAMnBL,WAAW,CAACM,MANO,CAAvB;AAWA,IAAMC,WAAW,GAAGT,MAAM,CAACU,GAAV,6VAKbR,WAAW,CAACM,MALC,EAWXH,kBAAkB,CAACD,kBAAkB,CAACO,IAApB,EAA0B,IAA1B,CAXP,EAcTT,WAAW,CAACM,MAdH,CAAjB;AAqBA,IAAMI,SAAS,GAAGZ,MAAM,CAACU,GAAV,+JACXL,kBAAkB,CAACD,kBAAkB,CAACS,OAApB,EAA6BV,MAAM,CAACW,KAApC,CADP,EAIXZ,WAAW,CAACM,MAJD,CAAf;;AAoBA,IAAMO,iBAAiB,GAAG,SAApBA,iBAAoB,OAAqD;AAAA,MAAlDC,WAAkD,QAAlDA,WAAkD;AAAA,MAArCC,aAAqC,QAArCA,aAAqC;AAC7E,sBACE,MAAC,iBAAD;AAAA,4BACE,KAAC,WAAD;AAAA,gBACGD,WADH,aACGA,WADH,uBACGA,WAAW,CAAEE,GAAb,CAAiB,UAACC,EAAD,EAAKC,CAAL;AAAA,4BAChB,KAAC,SAAD;AAAW,UAAA,EAAE,uBAAgBC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,YAA3B,CAAhB,CAAb;AAEW,UAAA,IAAI,EAAEJ,EAAE,CAACK,EAFpB;AAEwB,UAAA,OAAO,EAAC,UAFhC;AAAA,oBAGGL,EAAE,CAACM;AAHN,WACgBL,CADhB,CADgB;AAAA,OAAjB;AADH,MADF,eAUE,KAAC,SAAD;AAAA,gBAAYH;AAAZ,MAVF;AAAA,IADF;AAcD,CAfD;;;AAJED,EAAAA,W;AANAS,IAAAA,K;AACAD,IAAAA,E;AACAE,IAAAA,M;;AAKAT,EAAAA,a;;AAoBF,eAAeF,iBAAf","sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {HyperLink} from '../../HyperLink';\r\n\r\nimport {BREAKPOINTS, COLORS} from '../../styles';\r\nimport {ComponentTextStyle, ComponentXSStyling} from '../../styles/typography';\r\n\r\nconst FooterLinkSection = styled.section`\r\n min-height: 64px;\r\n color: white;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst FooterLinks = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n margin: auto auto auto 0;\r\n }\r\n\r\n a {\r\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\r\n &:not(:first-child) {\r\n margin: 16px 0 0 0;\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 0 0 0 16px;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst Copyright = styled.div`\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.white)}\r\n margin: 16px auto 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: auto 0 auto auto;\r\n }\r\n`;\r\n\r\ninterface Link {\r\n label: string;\r\n to: string;\r\n target?: string;\r\n}\r\n\r\ninterface FooterLinkProps {\r\n bottomLinks?: Link[];\r\n copyrightText?: string;\r\n}\r\n\r\nconst FooterBottomLinks = ({ bottomLinks, copyrightText }: FooterLinkProps) => {\r\n return (\r\n <FooterLinkSection>\r\n <FooterLinks>\r\n {bottomLinks?.map((bl, i) => (\r\n <HyperLink id={`FooterLink_${Math.floor(Math.random() * 999999999999)}`}\r\n key={i}\r\n href={bl.to} variant=\"inverted\">\r\n {bl.label}\r\n </HyperLink>\r\n ))}\r\n </FooterLinks>\r\n <Copyright>{copyrightText}</Copyright>\r\n </FooterLinkSection>\r\n );\r\n};\r\n\r\nexport default FooterBottomLinks;\r\n"],"file":"FooterBottomLinks.js"}
1
+ {"version":3,"sources":["../../../src/Footer/Components/FooterBottomLinks.tsx"],"names":["React","styled","HyperLink","BREAKPOINTS","COLORS","ComponentTextStyle","ComponentXSStyling","FooterLinkSection","section","MEDIUM","FooterLinks","div","Bold","Copyright","Regular","white","FooterBottomLinks","bottomLinks","copyrightText","map","bl","i","Math","floor","random","to","label","target"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,SAAR,QAAwB,iBAAxB;AAEA,SAAQC,WAAR,EAAqBC,MAArB,QAAkC,cAAlC;AACA,SAAQC,kBAAR,EAA4BC,kBAA5B,QAAqD,yBAArD;;;AAEA,IAAMC,iBAAiB,GAAGN,MAAM,CAACO,OAAV,sMAMnBL,WAAW,CAACM,MANO,CAAvB;AAWA,IAAMC,WAAW,GAAGT,MAAM,CAACU,GAAV,6VAKbR,WAAW,CAACM,MALC,EAWXH,kBAAkB,CAACD,kBAAkB,CAACO,IAApB,EAA0B,IAA1B,CAXP,EAcTT,WAAW,CAACM,MAdH,CAAjB;AAqBA,IAAMI,SAAS,GAAGZ,MAAM,CAACU,GAAV,+JACXL,kBAAkB,CAACD,kBAAkB,CAACS,OAApB,EAA6BV,MAAM,CAACW,KAApC,CADP,EAIXZ,WAAW,CAACM,MAJD,CAAf;;AAoBA,IAAMO,iBAAiB,GAAG,SAApBA,iBAAoB,OAAqD;AAAA,MAAlDC,WAAkD,QAAlDA,WAAkD;AAAA,MAArCC,aAAqC,QAArCA,aAAqC;AAC7E,sBACE,MAAC,iBAAD;AAAA,4BACE,KAAC,WAAD;AAAA,gBACGD,WADH,aACGA,WADH,uBACGA,WAAW,CAAEE,GAAb,CAAiB,UAACC,EAAD,EAAKC,CAAL;AAAA,4BAChB,KAAC,SAAD;AAAW,UAAA,EAAE,uBAAgBC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,MAAL,KAAgB,YAA3B,CAAhB,CAAb;AAEW,UAAA,IAAI,EAAEJ,EAAE,CAACK,EAFpB;AAEwB,UAAA,OAAO,EAAC,UAFhC;AAAA,oBAGGL,EAAE,CAACM;AAHN,WACgBL,CADhB,CADgB;AAAA,OAAjB;AADH,MADF,eAUE,KAAC,SAAD;AAAA,gBAAYH;AAAZ,MAVF;AAAA,IADF;AAcD,CAfD;;;AAJED,EAAAA,W;AANAS,IAAAA,K;AACAD,IAAAA,E;AACAE,IAAAA,M;;AAKAT,EAAAA,a;;AAoBF,eAAeF,iBAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {HyperLink} from '../../HyperLink';\n\nimport {BREAKPOINTS, COLORS} from '../../styles';\nimport {ComponentTextStyle, ComponentXSStyling} from '../../styles/typography';\n\nconst FooterLinkSection = styled.section`\n min-height: 64px;\n color: white;\n display: flex;\n flex-direction: column;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n }\n`;\n\nconst FooterLinks = styled.div`\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n flex-direction: row;\n margin: auto auto auto 0;\n }\n\n a {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n &:not(:first-child) {\n margin: 16px 0 0 0;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n }\n }\n`;\n\nconst Copyright = styled.div`\n ${ComponentXSStyling(ComponentTextStyle.Regular, COLORS.white)}\n margin: 16px auto 0 auto;\n\n ${BREAKPOINTS.MEDIUM} {\n margin: auto 0 auto auto;\n }\n`;\n\ninterface Link {\n label: string;\n to: string;\n target?: string;\n}\n\ninterface FooterLinkProps {\n bottomLinks?: Link[];\n copyrightText?: string;\n}\n\nconst FooterBottomLinks = ({ bottomLinks, copyrightText }: FooterLinkProps) => {\n return (\n <FooterLinkSection>\n <FooterLinks>\n {bottomLinks?.map((bl, i) => (\n <HyperLink id={`FooterLink_${Math.floor(Math.random() * 999999999999)}`}\n key={i}\n href={bl.to} variant=\"inverted\">\n {bl.label}\n </HyperLink>\n ))}\n </FooterLinks>\n <Copyright>{copyrightText}</Copyright>\n </FooterLinkSection>\n );\n};\n\nexport default FooterBottomLinks;\n"],"file":"FooterBottomLinks.js"}