@laerdal/life-react-components 6.0.0-dev.1.full → 6.0.0-dev.12.full

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +40 -11
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +40 -11
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  6. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  7. package/dist/Accordion/styles.cjs +51 -13
  8. package/dist/Accordion/styles.cjs.map +1 -1
  9. package/dist/Accordion/styles.js +51 -13
  10. package/dist/Accordion/styles.js.map +1 -1
  11. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  12. package/dist/Banners/Banner.cjs +38 -34
  13. package/dist/Banners/Banner.cjs.map +1 -1
  14. package/dist/Banners/Banner.d.ts +2 -3
  15. package/dist/Banners/Banner.js +38 -34
  16. package/dist/Banners/Banner.js.map +1 -1
  17. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  18. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  19. package/dist/Banners/styles.cjs +8 -16
  20. package/dist/Banners/styles.cjs.map +1 -1
  21. package/dist/Banners/styles.js +8 -16
  22. package/dist/Banners/styles.js.map +1 -1
  23. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  24. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  25. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  26. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  27. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  28. package/dist/Breadcrumb/styles.cjs +15 -4
  29. package/dist/Breadcrumb/styles.cjs.map +1 -1
  30. package/dist/Breadcrumb/styles.js +15 -4
  31. package/dist/Breadcrumb/styles.js.map +1 -1
  32. package/dist/Button/BackButton.cjs +27 -6
  33. package/dist/Button/BackButton.cjs.map +1 -1
  34. package/dist/Button/BackButton.js +27 -6
  35. package/dist/Button/BackButton.js.map +1 -1
  36. package/dist/Button/Button.cjs +179 -47
  37. package/dist/Button/Button.cjs.map +1 -1
  38. package/dist/Button/Button.d.ts +2 -0
  39. package/dist/Button/Button.js +179 -47
  40. package/dist/Button/Button.js.map +1 -1
  41. package/dist/Button/Iconbutton.cjs +83 -21
  42. package/dist/Button/Iconbutton.cjs.map +1 -1
  43. package/dist/Button/Iconbutton.js +83 -21
  44. package/dist/Button/Iconbutton.js.map +1 -1
  45. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  46. package/dist/Button/__tests__/Button.test.tsx +45 -0
  47. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  48. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  49. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  50. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  51. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  52. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  53. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  54. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  55. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  56. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  57. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  58. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  59. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  60. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  61. package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
  62. package/dist/Card/VerticalCard/Card.cjs +20 -5
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.js +20 -5
  65. package/dist/Card/VerticalCard/Card.js.map +1 -1
  66. package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  68. package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
  69. package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
  70. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  72. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  73. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  74. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  75. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  76. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  77. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  78. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  79. package/dist/Card/__tests__/Card.test.tsx +146 -0
  80. package/dist/Chips/ChipStyles.cjs +4 -1
  81. package/dist/Chips/ChipStyles.cjs.map +1 -1
  82. package/dist/Chips/ChipStyles.js +4 -1
  83. package/dist/Chips/ChipStyles.js.map +1 -1
  84. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  85. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  86. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  87. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  88. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  89. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  90. package/dist/ChipsInput/ChipInputField.js +16 -4
  91. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  92. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  93. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  94. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  95. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  96. package/dist/Dropdown/BasicDropdown.js +12 -3
  97. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  98. package/dist/Dropdown/CommonStyling.cjs +172 -42
  99. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  100. package/dist/Dropdown/CommonStyling.js +172 -42
  101. package/dist/Dropdown/CommonStyling.js.map +1 -1
  102. package/dist/Dropdown/DropdownContent.cjs +36 -10
  103. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  104. package/dist/Dropdown/DropdownContent.js +36 -10
  105. package/dist/Dropdown/DropdownContent.js.map +1 -1
  106. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  107. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  108. package/dist/Dropdown/DropdownFilter.js +12 -3
  109. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  110. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  111. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  112. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  113. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  114. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  115. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  116. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  117. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  118. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  119. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  120. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  121. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  122. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  123. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  124. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  125. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  126. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  127. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  128. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  129. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  130. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  131. package/dist/HyperLink/styling.cjs +38 -8
  132. package/dist/HyperLink/styling.cjs.map +1 -1
  133. package/dist/HyperLink/styling.js +38 -8
  134. package/dist/HyperLink/styling.js.map +1 -1
  135. package/dist/InputFields/Checkbox.cjs +54 -14
  136. package/dist/InputFields/Checkbox.cjs.map +1 -1
  137. package/dist/InputFields/Checkbox.js +54 -14
  138. package/dist/InputFields/Checkbox.js.map +1 -1
  139. package/dist/InputFields/DatepickerField.cjs +149 -43
  140. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  141. package/dist/InputFields/DatepickerField.d.ts +1 -1
  142. package/dist/InputFields/DatepickerField.js +150 -44
  143. package/dist/InputFields/DatepickerField.js.map +1 -1
  144. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  145. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  146. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  147. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  148. package/dist/InputFields/Label.cjs +38 -11
  149. package/dist/InputFields/Label.cjs.map +1 -1
  150. package/dist/InputFields/Label.js +38 -11
  151. package/dist/InputFields/Label.js.map +1 -1
  152. package/dist/InputFields/NumberField.cjs +66 -16
  153. package/dist/InputFields/NumberField.cjs.map +1 -1
  154. package/dist/InputFields/NumberField.js +66 -16
  155. package/dist/InputFields/NumberField.js.map +1 -1
  156. package/dist/InputFields/PasswordField.cjs +4 -1
  157. package/dist/InputFields/PasswordField.cjs.map +1 -1
  158. package/dist/InputFields/PasswordField.d.ts +1 -1
  159. package/dist/InputFields/PasswordField.js +4 -1
  160. package/dist/InputFields/PasswordField.js.map +1 -1
  161. package/dist/InputFields/QuickSearch.cjs +30 -6
  162. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  163. package/dist/InputFields/QuickSearch.js +30 -6
  164. package/dist/InputFields/QuickSearch.js.map +1 -1
  165. package/dist/InputFields/RadioButton.cjs +63 -15
  166. package/dist/InputFields/RadioButton.cjs.map +1 -1
  167. package/dist/InputFields/RadioButton.js +63 -15
  168. package/dist/InputFields/RadioButton.js.map +1 -1
  169. package/dist/InputFields/RichTextField.cjs +60 -15
  170. package/dist/InputFields/RichTextField.cjs.map +1 -1
  171. package/dist/InputFields/RichTextField.js +60 -15
  172. package/dist/InputFields/RichTextField.js.map +1 -1
  173. package/dist/InputFields/SearchBar.cjs +4 -1
  174. package/dist/InputFields/SearchBar.cjs.map +1 -1
  175. package/dist/InputFields/SearchBar.js +4 -1
  176. package/dist/InputFields/SearchBar.js.map +1 -1
  177. package/dist/InputFields/TextField.cjs +9 -3
  178. package/dist/InputFields/TextField.cjs.map +1 -1
  179. package/dist/InputFields/TextField.d.ts +1 -1
  180. package/dist/InputFields/TextField.js +9 -3
  181. package/dist/InputFields/TextField.js.map +1 -1
  182. package/dist/InputFields/Textarea.cjs +68 -17
  183. package/dist/InputFields/Textarea.cjs.map +1 -1
  184. package/dist/InputFields/Textarea.js +68 -17
  185. package/dist/InputFields/Textarea.js.map +1 -1
  186. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  187. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  188. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  189. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  190. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  191. package/dist/InputFields/components/SearchBarInput.js +28 -7
  192. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  193. package/dist/InputFields/components/SearchField.cjs +60 -15
  194. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  195. package/dist/InputFields/components/SearchField.js +60 -15
  196. package/dist/InputFields/components/SearchField.js.map +1 -1
  197. package/dist/InputFields/styling.cjs +95 -39
  198. package/dist/InputFields/styling.cjs.map +1 -1
  199. package/dist/InputFields/styling.d.ts +1 -2
  200. package/dist/InputFields/styling.js +95 -39
  201. package/dist/InputFields/styling.js.map +1 -1
  202. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  203. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  204. package/dist/LinearProgress/LinearProgress.js +161 -53
  205. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  206. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  207. package/dist/List/ListRow.cjs +36 -9
  208. package/dist/List/ListRow.cjs.map +1 -1
  209. package/dist/List/ListRow.js +36 -9
  210. package/dist/List/ListRow.js.map +1 -1
  211. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  212. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  213. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  214. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  215. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  216. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  217. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  218. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  219. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  220. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  221. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  222. package/dist/MenuItem/MenuItem.cjs +101 -26
  223. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  224. package/dist/MenuItem/MenuItem.js +101 -26
  225. package/dist/MenuItem/MenuItem.js.map +1 -1
  226. package/dist/Modals/Modal.cjs +4 -1
  227. package/dist/Modals/Modal.cjs.map +1 -1
  228. package/dist/Modals/Modal.js +4 -1
  229. package/dist/Modals/Modal.js.map +1 -1
  230. package/dist/Modals/ModalContent.cjs +24 -6
  231. package/dist/Modals/ModalContent.cjs.map +1 -1
  232. package/dist/Modals/ModalContent.js +24 -6
  233. package/dist/Modals/ModalContent.js.map +1 -1
  234. package/dist/Modals/ModalDialog.cjs +12 -3
  235. package/dist/Modals/ModalDialog.cjs.map +1 -1
  236. package/dist/Modals/ModalDialog.js +12 -3
  237. package/dist/Modals/ModalDialog.js.map +1 -1
  238. package/dist/Modals/ModalNote.cjs +16 -4
  239. package/dist/Modals/ModalNote.cjs.map +1 -1
  240. package/dist/Modals/ModalNote.js +16 -4
  241. package/dist/Modals/ModalNote.js.map +1 -1
  242. package/dist/Modals/ModalStyles.cjs +44 -11
  243. package/dist/Modals/ModalStyles.cjs.map +1 -1
  244. package/dist/Modals/ModalStyles.js +44 -11
  245. package/dist/Modals/ModalStyles.js.map +1 -1
  246. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  247. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  248. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  249. package/dist/NavItem/NavItem.cjs +4 -1
  250. package/dist/NavItem/NavItem.cjs.map +1 -1
  251. package/dist/NavItem/NavItem.js +4 -1
  252. package/dist/NavItem/NavItem.js.map +1 -1
  253. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  254. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  255. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  256. package/dist/NotificationDot/NotificationDot.js +17 -2
  257. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  258. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  259. package/dist/Paginator/Paginator.cjs +76 -29
  260. package/dist/Paginator/Paginator.cjs.map +1 -1
  261. package/dist/Paginator/Paginator.js +76 -29
  262. package/dist/Paginator/Paginator.js.map +1 -1
  263. package/dist/Paginator/__tests__/Paginator.test.tsx +39 -0
  264. package/dist/Panel/Panel.cjs +4 -1
  265. package/dist/Panel/Panel.cjs.map +1 -1
  266. package/dist/Panel/Panel.js +4 -1
  267. package/dist/Panel/Panel.js.map +1 -1
  268. package/dist/Popover/Popover.cjs +22 -3
  269. package/dist/Popover/Popover.cjs.map +1 -1
  270. package/dist/Popover/Popover.js +22 -3
  271. package/dist/Popover/Popover.js.map +1 -1
  272. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  273. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  274. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  275. package/dist/ProfileButton/ProfileButton.js +9 -2
  276. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  277. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  278. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  279. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  280. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  281. package/dist/SegmentControl/SegmentControl.js +46 -11
  282. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  283. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  284. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  285. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  286. package/dist/SideMenu/SideMenuHeader.js +12 -3
  287. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  288. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  289. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  290. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  291. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  292. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  293. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  294. package/dist/Table/TableFooter.cjs +8 -2
  295. package/dist/Table/TableFooter.cjs.map +1 -1
  296. package/dist/Table/TableFooter.js +8 -2
  297. package/dist/Table/TableFooter.js.map +1 -1
  298. package/dist/Table/TableStyles.cjs +132 -33
  299. package/dist/Table/TableStyles.cjs.map +1 -1
  300. package/dist/Table/TableStyles.js +132 -33
  301. package/dist/Table/TableStyles.js.map +1 -1
  302. package/dist/Table/__tests__/Table.test.tsx +499 -0
  303. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  304. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  305. package/dist/Tabs/HorizontalTabs.js +68 -18
  306. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  307. package/dist/Tabs/TabLink.cjs +4 -1
  308. package/dist/Tabs/TabLink.cjs.map +1 -1
  309. package/dist/Tabs/TabLink.js +4 -1
  310. package/dist/Tabs/TabLink.js.map +1 -1
  311. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  312. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  313. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  314. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  315. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  316. package/dist/Tag/Tag.cjs +2 -2
  317. package/dist/Tag/Tag.cjs.map +1 -1
  318. package/dist/Tag/Tag.js +2 -2
  319. package/dist/Tag/Tag.js.map +1 -1
  320. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  321. package/dist/Tile/Tile.cjs +8 -2
  322. package/dist/Tile/Tile.cjs.map +1 -1
  323. package/dist/Tile/Tile.js +8 -2
  324. package/dist/Tile/Tile.js.map +1 -1
  325. package/dist/Tile/TileCommonItems.cjs +8 -2
  326. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  327. package/dist/Tile/TileCommonItems.js +8 -2
  328. package/dist/Tile/TileCommonItems.js.map +1 -1
  329. package/dist/Tile/TileFooter.cjs +4 -1
  330. package/dist/Tile/TileFooter.cjs.map +1 -1
  331. package/dist/Tile/TileFooter.js +4 -1
  332. package/dist/Tile/TileFooter.js.map +1 -1
  333. package/dist/Tile/TileHeader.cjs +12 -3
  334. package/dist/Tile/TileHeader.cjs.map +1 -1
  335. package/dist/Tile/TileHeader.js +12 -3
  336. package/dist/Tile/TileHeader.js.map +1 -1
  337. package/dist/Toasters/Toast.cjs +62 -13
  338. package/dist/Toasters/Toast.cjs.map +1 -1
  339. package/dist/Toasters/Toast.js +62 -13
  340. package/dist/Toasters/Toast.js.map +1 -1
  341. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  342. package/dist/Toggles/ToggleButton.cjs +9 -3
  343. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  344. package/dist/Toggles/ToggleButton.d.ts +1 -1
  345. package/dist/Toggles/ToggleButton.js +9 -3
  346. package/dist/Toggles/ToggleButton.js.map +1 -1
  347. package/dist/Toggles/TogglerStyles.cjs +22 -8
  348. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  349. package/dist/Toggles/TogglerStyles.js +22 -8
  350. package/dist/Toggles/TogglerStyles.js.map +1 -1
  351. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  352. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  353. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  354. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  355. package/dist/Tooltips/TooltipStyles.js +28 -6
  356. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  357. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  358. package/dist/common/InputStyling.cjs +30 -7
  359. package/dist/common/InputStyling.cjs.map +1 -1
  360. package/dist/common/InputStyling.js +30 -7
  361. package/dist/common/InputStyling.js.map +1 -1
  362. package/dist/common/Link.cjs +45 -0
  363. package/dist/common/Link.cjs.map +1 -0
  364. package/dist/common/Link.d.ts +9 -0
  365. package/dist/common/Link.js +37 -0
  366. package/dist/common/Link.js.map +1 -0
  367. package/dist/common/NavigationHelper.cjs +30 -0
  368. package/dist/common/NavigationHelper.cjs.map +1 -0
  369. package/dist/common/NavigationHelper.d.ts +4 -0
  370. package/dist/common/NavigationHelper.js +23 -0
  371. package/dist/common/NavigationHelper.js.map +1 -0
  372. package/dist/custom.d.ts +2 -0
  373. package/dist/styles/colors.cjs +439 -84
  374. package/dist/styles/colors.cjs.map +1 -1
  375. package/dist/styles/colors.d.ts +200 -11
  376. package/dist/styles/colors.js +439 -84
  377. package/dist/styles/colors.js.map +1 -1
  378. package/dist/styles/global.cjs +19 -2
  379. package/dist/styles/global.cjs.map +1 -1
  380. package/dist/styles/global.d.ts +3 -2
  381. package/dist/styles/global.js +18 -3
  382. package/dist/styles/global.js.map +1 -1
  383. package/dist/styles/index.cjs +21 -9
  384. package/dist/styles/index.cjs.map +1 -1
  385. package/dist/styles/index.d.ts +2 -2
  386. package/dist/styles/index.js +18 -6
  387. package/dist/styles/index.js.map +1 -1
  388. package/dist/styles/react-datepicker.css +766 -0
  389. package/dist/utils/color-tokens.cjs +91 -0
  390. package/dist/utils/color-tokens.cjs.map +1 -0
  391. package/dist/utils/color-tokens.d.ts +19 -0
  392. package/dist/utils/color-tokens.js +82 -0
  393. package/dist/utils/color-tokens.js.map +1 -0
  394. package/package.json +144 -141
@@ -0,0 +1,155 @@
1
+ import React from 'react';
2
+ import { act, fireEvent, render, RenderResult } from '../../test-utils';
3
+ import { ChipInput, Size } from '../..';
4
+ import '../../../jest.setup';
5
+
6
+ const list = ['Contact', 'About', 'Base', 'Blog', 'Custom', 'Support', 'Tools'];
7
+
8
+
9
+
10
+ describe('<ChipInput />', () => {
11
+ it('Render component correctly', async () => {
12
+ let componentResult: RenderResult;
13
+
14
+ //initial values are determined by using multiple hooks (useEffect)
15
+ //in order to be sure we get the last rendered version of the component, we need to wait for it
16
+ await act(async () => {
17
+ componentResult = render(
18
+ <ChipInput size={Size.Medium} inputId="utest" values={[list[0]]} onValueChange={() => {}} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
19
+ );
20
+ });
21
+ //check element wrapper component rendered
22
+ expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
23
+ //check correct placeholder displayed
24
+ expect(componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement).toBeTruthy();
25
+ //check chip input with provided id rendered
26
+ expect(componentResult!.container.querySelector('input[id="utest"]')).toBeTruthy();
27
+ });
28
+
29
+ it('Render component with correct size', async () => {
30
+ let componentResult: RenderResult;
31
+
32
+ await act(async () => {
33
+ componentResult = render(
34
+ <ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={() => {}} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
35
+ );
36
+ });
37
+ //check element wrapper component rendered
38
+ expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
39
+
40
+ //check element has correct class size present
41
+ expect(componentResult!.getByTestId('chip-input-container')).toHaveClass('small');
42
+ });
43
+
44
+ it('Test component focused on click', async () => {
45
+ let componentResult: RenderResult;
46
+
47
+ //initial values are determined by using multiple hooks (useEffect)
48
+ //in order to be sure we get the last rendered version of the component, we need to wait for it
49
+ await act(async () => {
50
+ componentResult = render(
51
+ <ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={() => {}} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
52
+ );
53
+ });
54
+ //check element wrapper component rendered
55
+ expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
56
+
57
+ //check focus not present
58
+ expect(componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement).not.toHaveFocus();
59
+
60
+ //trigger click for chip input
61
+ fireEvent.click(componentResult!.getByTestId('chip-input-container'));
62
+
63
+ //check focus present
64
+ expect(componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement).toHaveFocus();
65
+ });
66
+
67
+ it('Test component callbacks', async () => {
68
+ const onValueChange = jest.fn();
69
+ let componentResult: RenderResult;
70
+
71
+ //initial values are determined by using multiple hooks (useEffect)
72
+ //in order to be sure we get the last rendered version of the component, we need to wait for it
73
+ await act(async () => {
74
+ componentResult = render(
75
+ <ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={onValueChange} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
76
+ );
77
+ });
78
+
79
+ //mock scrollIntoView otherwise test will fail when selecting an item
80
+ window.HTMLElement.prototype.scrollIntoView = function () {};
81
+
82
+ const inputElem = componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement;
83
+
84
+ //check element wrapper component rendered
85
+ expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
86
+
87
+ //trigger click for chip input
88
+ fireEvent.click(componentResult!.getByTestId('chip-input-container'));
89
+
90
+ //trigger value change
91
+ fireEvent.change(inputElem, { target: { value: list[1] } });
92
+
93
+ //pressing enter will automatically select the found item
94
+ fireEvent.keyDown(inputElem, { key: 'Enter', code: 'Enter', charCode: 13 });
95
+
96
+ expect(onValueChange).toHaveBeenCalledTimes(1);
97
+
98
+ //two items present, default and the new selected one
99
+ expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(2);
100
+
101
+ //pressing on the x button, the item will be removed from selection
102
+ const removeItemElem = componentResult!.getByTestId('chip-input-container').querySelector('div.chip-icon') as HTMLDivElement;
103
+
104
+ fireEvent.click(removeItemElem);
105
+
106
+ //change callback should be called
107
+ expect(onValueChange).toHaveBeenCalledTimes(2);
108
+ //only one item should be present at the moment
109
+ expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(1);
110
+
111
+ //expect that on pressing backspace the added item will be deleted
112
+ fireEvent.keyDown(inputElem, { key: 'Backspace', charCode: 8 });
113
+
114
+ //no item should be present at the moment
115
+ expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(0);
116
+ });
117
+
118
+ it('Test component chips are removed when clear all button toggled', async () => {
119
+ const onValueChange = jest.fn();
120
+ let componentResult: RenderResult;
121
+
122
+ //initial values are determined by using multiple hooks (useEffect)
123
+ //in order to be sure we get the last rendered version of the component, we need to wait for it
124
+ await act(async () => {
125
+ componentResult = render(
126
+ <ChipInput size={Size.Small} inputId="utest" values={[list[0]]} onValueChange={onValueChange} placeholder="Plchd label" altPlaceholder="Alt plchd label" />,
127
+ );
128
+ });
129
+
130
+ //check element wrapper component rendered
131
+ expect(componentResult!.getByTestId('chip-input-container')).toBeTruthy();
132
+
133
+ //one item present, the default one
134
+ expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(1);
135
+ const input = componentResult!.getByPlaceholderText('Alt plchd label') as HTMLInputElement;
136
+
137
+ const mockInputData = 'mock data';
138
+ //trigger value change
139
+ fireEvent.change(input, { target: { value: mockInputData } });
140
+
141
+ expect(input).toHaveValue(mockInputData);
142
+
143
+ //expect clear button to be displayed
144
+ expect(componentResult!.getByTestId('clear-btn-utest')).toBeTruthy();
145
+
146
+ //press on clear button
147
+ fireEvent.click(componentResult!.getByTestId('clear-btn-utest'));
148
+
149
+ //expect input to have no value
150
+ expect(input).toHaveValue('');
151
+
152
+ //one chip selected
153
+ expect(componentResult!.container.querySelectorAll('.chip-icon')).toHaveLength(1);
154
+ });
155
+ });
@@ -191,7 +191,10 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
191
191
  children: getDisplayItems()
192
192
  }) : null, isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
193
193
  size: _types.Size.Small,
194
- color: _styles.COLORS.getColor('neutral_600', theme)
194
+ color: _styles.COLORS.generateToken({
195
+ componentType: 'icon',
196
+ defaultVariant: 'subtle'
197
+ }, theme)
195
198
  }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
196
199
  className: 'icon dropdown-arrow',
197
200
  children: isOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {
@@ -239,13 +242,19 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
239
242
  })]
240
243
  }), activeValidationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_InputFields.ErrorMessage, {
241
244
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.TechnicalWarning, {
242
- color: _styles.COLORS.getColor('critical_400', theme)
245
+ color: _styles.COLORS.generateToken({
246
+ componentType: 'icon',
247
+ defaultVariant: 'critical'
248
+ }, theme)
243
249
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
244
250
  children: activeValidationMessage
245
251
  })]
246
252
  }), autofilledMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_InputFields.AutofilledMessage, {
247
253
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.Information, {
248
- color: _styles.COLORS.getColor('neutral_600', theme)
254
+ color: _styles.COLORS.generateToken({
255
+ componentType: 'icon',
256
+ defaultVariant: 'subtle'
257
+ }, theme)
249
258
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
250
259
  children: autofilledMessage
251
260
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"BasicDropdown.cjs","names":["React","_interopRequireWildcard","require","_styles","_icons","_LoadingIndicator","_CommonStyling","_DropdownContent","_interopRequireDefault","_InputFields","_TooltipOverflow","_types","_common","_styledComponents","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","textOverflow","dropdownIcon","rest","_objectWithoutProperties2","theme","useTheme","isOpen","setIsOpen","useState","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","jsxs","Fragment","children","DropdownContainer","role","$isButton","$readOnly","$disabled","DropdownInputFieldStyles","onMouseDown","defaultOnMouseDownHandler","onClick","stopPropagation","blur","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","jsx","DropdownInputField","type","$ellipsis","position","withArrow","maxWidth","align","LoadingIndicator","Size","Small","color","COLORS","getColor","SystemIcons","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","ErrorMessage","TechnicalWarning","AutofilledMessage","Information","propTypes","_propTypes","array","isRequired","oneOf","func","string","node","bool","disableSorting","_default","exports"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {COLORS} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\r\nimport DropdownContent, {DropdownItem} from './DropdownContent';\r\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport {Size, Testable} from '../types';\r\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\r\nimport {useFocusOutsideRef} from '../common';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\r\n /**\r\n * Required. An array of DropdownItem objects representing the items in the dropdown.\r\n */\r\n list: DropdownItem[];\r\n /**\r\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\r\n */\r\n itemsType?: 'normal' | 'checkbox' | 'radio';\r\n /**\r\n * Optional. A function to be called when the action button in the dropdown is clicked.\r\n */\r\n action?: () => void;\r\n /**\r\n * Optional. The label for the action button in the dropdown.\r\n */\r\n actionLabel?: string;\r\n /**\r\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\r\n */\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n /**\r\n * Optional. The icon for the action button in the dropdown.\r\n */\r\n actionIcon?: React.ReactNode;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\r\n */\r\n actionLoading?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\r\n */\r\n actionDisabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\r\n */\r\n pinTopItem?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown content is scrollable.\r\n */\r\n scrollable?: boolean;\r\n /**\r\n * Optional. The maximum height of the dropdown.\r\n */\r\n maxHeight?: string;\r\n /*\r\n * Optional. Placeholder text to be shown when none of the items is selected is selected\r\n */\r\n placeholder?: string;\r\n /**\r\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\r\n */\r\n disableSorting?: boolean;\r\n /**\r\n * Optional. The message to be displayed when there are no results in the dropdown.\r\n */\r\n messageOnNoResults?: string;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is read-only.\r\n */\r\n readOnly?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is a button.\r\n */\r\n isButton?: boolean;\r\n /**\r\n * Optional. The validation message to be displayed when the dropdown is active.\r\n */\r\n activeValidationMessage?: string;\r\n /**\r\n * Optional. The message to be displayed when the dropdown is autofilled.\r\n */\r\n autofilledMessage?: string;\r\n /**\r\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\r\n */ \r\n size?: Size.Small | Size.Medium;\r\n /**\r\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n /**\r\n * Optional. The minimum width of the dropdown.\r\n */\r\n minWidth?: string;\r\n /**\r\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\r\n */\r\n textOverflow?: 'ellipsis' | 'default';\r\n /**\r\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /**\r\n * Optional. The action icon to be shown on the rightside of the dropdown that opens dropdown content.\r\n */\r\n dropdownIcon?: React.ReactNode;\r\n}\r\n\r\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect: true;\r\n /** Required. Selected items. */\r\n value?: string[];\r\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\r\n onSelect: (value: string[]) => void;\r\n}\r\n\r\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect?: false;\r\n /** Required. Selected item. */\r\n value?: string;\r\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\r\n onSelect: (value: string) => void;\r\n}\r\n\r\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\r\n\r\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\r\n const {\r\n id,\r\n list,\r\n placeholder,\r\n messageOnNoResults,\r\n itemsType = 'normal',\r\n action,\r\n actionLabel,\r\n actionVariant,\r\n actionIcon,\r\n actionLoading,\r\n actionDisabled,\r\n pinTopItem,\r\n scrollable = true,\r\n maxHeight,\r\n disabled,\r\n readOnly,\r\n isButton,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n margin,\r\n minWidth,\r\n className,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n onSelect,\r\n textOverflow = 'ellipsis',\r\n dropdownIcon,\r\n ...rest\r\n } = props;\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>('');\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n \r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const styledFieldRef = useFocusVisibleRef([inputRef]);\r\n const dropdownRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const resetDropdown = () => {\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\r\n\r\n useClickOutsideRef(resetDropdown, [], containerRef);\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setIsOpen(!isOpen);\r\n setKeyboardNavigated(true);\r\n }\r\n };\r\n\r\n const handleValueSelect = (values: string[]) => {\r\n setInput(values.join(', '));\r\n\r\n if (props.multiSelect === true) {\r\n props.onSelect(values);\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n props.onSelect(values[0]);\r\n }\r\n\r\n //don't close dropdown on item select if have custom action or multiselect\r\n if (actionLabel || props.multiSelect) return;\r\n\r\n if (keyboardNavigated) {\r\n styledFieldRef.current?.focus({focusVisible: true} as any);\r\n }\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (props.value) {\r\n if (props.multiSelect) {\r\n setInput(props.value.join(', '));\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n setInput(props.value);\r\n }\r\n } else {\r\n setInput('');\r\n }\r\n }, [props.value, props.multiSelect]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(false);\r\n }, [input]);\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const customSetIsOpen = (isOpen: boolean) => {\r\n setIsOpen(isOpen);\r\n };\r\n\r\n const getDisplayItems = () => {\r\n const values = input.split(',').map((val) => val.trim());\r\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\r\n return listDisplayLabels.join(', ');\r\n };\r\n\r\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\r\n // @ts-ignore\r\n if (!e.currentTarget.contains(e.relatedTarget)) {\r\n onBlur && onBlur(e);\r\n }\r\n };\r\n\r\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\r\n \r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n aria-expanded={isOpen ? true : false}\r\n aria-activedescendant={activeDescendant}\r\n aria-controls={`${id}_dropdowncontent`}\r\n role=\"listbox\"\r\n aria-multiselectable={props.multiSelect}\r\n $isButton={isButton || false}\r\n className={size ? size : ''}\r\n $readOnly={readOnly}\r\n $disabled={disabled}\r\n margin={margin}\r\n onBlur={handleBlur}\r\n minWidth={minWidth}>\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={cls}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => {\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 tabIndex={disabled || readOnly ? -1 : 0}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input}\r\n $showValidationMessage={!!activeValidationMessage}\r\n onKeyDown={handleKeyDown}\r\n $minWidth={minWidth}\r\n {...rest}>\r\n <DropdownInputField\r\n ref={inputRef}\r\n type=\"search\"\r\n $ellipsis={textOverflow == 'ellipsis'}\r\n id={id}\r\n data-testid={dataTestId}\r\n readOnly\r\n placeholder={placeholder}\r\n value={getDisplayItems()}\r\n className={size ? `${size} value` : 'value'}\r\n tabIndex={-1}\r\n disabled={disabled || false}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {getDisplayItems()}\r\n </TooltipOverflow> : null}\r\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/> : null}\r\n <div className={'icon dropdown-arrow'}>\r\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\r\n (dropdownIcon ?? <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>)}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n ref={dropdownRef}\r\n containerRef={containerRef}\r\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\r\n customizationProps={{\r\n itemsType: itemsType,\r\n action: action ?? (() => {\r\n }),\r\n actionLabel: actionLabel,\r\n actionVariant: actionVariant,\r\n actionDisabled: actionDisabled,\r\n scrollable: scrollable,\r\n onValueUpdate: handleValueSelect,\r\n items: list,\r\n multiSelect: props.multiSelect,\r\n pinTopItem: pinTopItem,\r\n maxHeight: maxHeight,\r\n actionIcon: actionIcon,\r\n actionLoading: actionLoading,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n size={size ?? Size.Small}\r\n filter={''}\r\n isOpen={isOpen}\r\n setIsOpen={customSetIsOpen}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n outline={keyboardNavigated}\r\n isButton={isButton || false}\r\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\r\n setSelectedValues={handleValueSelect}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage>\r\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)}/>\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default BasicDropdown;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BasicDropdown.cjs","names":["React","_interopRequireWildcard","require","_styles","_icons","_LoadingIndicator","_CommonStyling","_DropdownContent","_interopRequireDefault","_InputFields","_TooltipOverflow","_types","_common","_styledComponents","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","textOverflow","dropdownIcon","rest","_objectWithoutProperties2","theme","useTheme","isOpen","setIsOpen","useState","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","jsxs","Fragment","children","DropdownContainer","role","$isButton","$readOnly","$disabled","DropdownInputFieldStyles","onMouseDown","defaultOnMouseDownHandler","onClick","stopPropagation","blur","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","jsx","DropdownInputField","type","$ellipsis","position","withArrow","maxWidth","align","LoadingIndicator","Size","Small","color","COLORS","generateToken","componentType","defaultVariant","SystemIcons","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","ErrorMessage","TechnicalWarning","AutofilledMessage","Information","propTypes","_propTypes","array","isRequired","oneOf","func","string","node","bool","disableSorting","_default","exports"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {COLORS} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\r\nimport DropdownContent, {DropdownItem} from './DropdownContent';\r\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport {Size, Testable} from '../types';\r\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\r\nimport {useFocusOutsideRef} from '../common';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\r\n /**\r\n * Required. An array of DropdownItem objects representing the items in the dropdown.\r\n */\r\n list: DropdownItem[];\r\n /**\r\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\r\n */\r\n itemsType?: 'normal' | 'checkbox' | 'radio';\r\n /**\r\n * Optional. A function to be called when the action button in the dropdown is clicked.\r\n */\r\n action?: () => void;\r\n /**\r\n * Optional. The label for the action button in the dropdown.\r\n */\r\n actionLabel?: string;\r\n /**\r\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\r\n */\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n /**\r\n * Optional. The icon for the action button in the dropdown.\r\n */\r\n actionIcon?: React.ReactNode;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\r\n */\r\n actionLoading?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\r\n */\r\n actionDisabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\r\n */\r\n pinTopItem?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown content is scrollable.\r\n */\r\n scrollable?: boolean;\r\n /**\r\n * Optional. The maximum height of the dropdown.\r\n */\r\n maxHeight?: string;\r\n /*\r\n * Optional. Placeholder text to be shown when none of the items is selected is selected\r\n */\r\n placeholder?: string;\r\n /**\r\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\r\n */\r\n disableSorting?: boolean;\r\n /**\r\n * Optional. The message to be displayed when there are no results in the dropdown.\r\n */\r\n messageOnNoResults?: string;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is read-only.\r\n */\r\n readOnly?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is a button.\r\n */\r\n isButton?: boolean;\r\n /**\r\n * Optional. The validation message to be displayed when the dropdown is active.\r\n */\r\n activeValidationMessage?: string;\r\n /**\r\n * Optional. The message to be displayed when the dropdown is autofilled.\r\n */\r\n autofilledMessage?: string;\r\n /**\r\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\r\n */ \r\n size?: Size.Small | Size.Medium;\r\n /**\r\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n /**\r\n * Optional. The minimum width of the dropdown.\r\n */\r\n minWidth?: string;\r\n /**\r\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\r\n */\r\n textOverflow?: 'ellipsis' | 'default';\r\n /**\r\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /**\r\n * Optional. The action icon to be shown on the rightside of the dropdown that opens dropdown content.\r\n */\r\n dropdownIcon?: React.ReactNode;\r\n}\r\n\r\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect: true;\r\n /** Required. Selected items. */\r\n value?: string[];\r\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\r\n onSelect: (value: string[]) => void;\r\n}\r\n\r\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect?: false;\r\n /** Required. Selected item. */\r\n value?: string;\r\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\r\n onSelect: (value: string) => void;\r\n}\r\n\r\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\r\n\r\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\r\n const {\r\n id,\r\n list,\r\n placeholder,\r\n messageOnNoResults,\r\n itemsType = 'normal',\r\n action,\r\n actionLabel,\r\n actionVariant,\r\n actionIcon,\r\n actionLoading,\r\n actionDisabled,\r\n pinTopItem,\r\n scrollable = true,\r\n maxHeight,\r\n disabled,\r\n readOnly,\r\n isButton,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n margin,\r\n minWidth,\r\n className,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n onSelect,\r\n textOverflow = 'ellipsis',\r\n dropdownIcon,\r\n ...rest\r\n } = props;\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>('');\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n \r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const styledFieldRef = useFocusVisibleRef([inputRef]);\r\n const dropdownRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const resetDropdown = () => {\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\r\n\r\n useClickOutsideRef(resetDropdown, [], containerRef);\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setIsOpen(!isOpen);\r\n setKeyboardNavigated(true);\r\n }\r\n };\r\n\r\n const handleValueSelect = (values: string[]) => {\r\n setInput(values.join(', '));\r\n\r\n if (props.multiSelect === true) {\r\n props.onSelect(values);\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n props.onSelect(values[0]);\r\n }\r\n\r\n //don't close dropdown on item select if have custom action or multiselect\r\n if (actionLabel || props.multiSelect) return;\r\n\r\n if (keyboardNavigated) {\r\n styledFieldRef.current?.focus({focusVisible: true} as any);\r\n }\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (props.value) {\r\n if (props.multiSelect) {\r\n setInput(props.value.join(', '));\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n setInput(props.value);\r\n }\r\n } else {\r\n setInput('');\r\n }\r\n }, [props.value, props.multiSelect]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(false);\r\n }, [input]);\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const customSetIsOpen = (isOpen: boolean) => {\r\n setIsOpen(isOpen);\r\n };\r\n\r\n const getDisplayItems = () => {\r\n const values = input.split(',').map((val) => val.trim());\r\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\r\n return listDisplayLabels.join(', ');\r\n };\r\n\r\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\r\n // @ts-ignore\r\n if (!e.currentTarget.contains(e.relatedTarget)) {\r\n onBlur && onBlur(e);\r\n }\r\n };\r\n\r\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\r\n \r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n aria-expanded={isOpen ? true : false}\r\n aria-activedescendant={activeDescendant}\r\n aria-controls={`${id}_dropdowncontent`}\r\n role=\"listbox\"\r\n aria-multiselectable={props.multiSelect}\r\n $isButton={isButton || false}\r\n className={size ? size : ''}\r\n $readOnly={readOnly}\r\n $disabled={disabled}\r\n margin={margin}\r\n onBlur={handleBlur}\r\n minWidth={minWidth}>\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={cls}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => {\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 tabIndex={disabled || readOnly ? -1 : 0}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input}\r\n $showValidationMessage={!!activeValidationMessage}\r\n onKeyDown={handleKeyDown}\r\n $minWidth={minWidth}\r\n {...rest}>\r\n <DropdownInputField\r\n ref={inputRef}\r\n type=\"search\"\r\n $ellipsis={textOverflow == 'ellipsis'}\r\n id={id}\r\n data-testid={dataTestId}\r\n readOnly\r\n placeholder={placeholder}\r\n value={getDisplayItems()}\r\n className={size ? `${size} value` : 'value'}\r\n tabIndex={-1}\r\n disabled={disabled || false}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {getDisplayItems()}\r\n </TooltipOverflow> : null}\r\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)}/> : null}\r\n <div className={'icon dropdown-arrow'}>\r\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\r\n (dropdownIcon ?? <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>)}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n ref={dropdownRef}\r\n containerRef={containerRef}\r\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\r\n customizationProps={{\r\n itemsType: itemsType,\r\n action: action ?? (() => {\r\n }),\r\n actionLabel: actionLabel,\r\n actionVariant: actionVariant,\r\n actionDisabled: actionDisabled,\r\n scrollable: scrollable,\r\n onValueUpdate: handleValueSelect,\r\n items: list,\r\n multiSelect: props.multiSelect,\r\n pinTopItem: pinTopItem,\r\n maxHeight: maxHeight,\r\n actionIcon: actionIcon,\r\n actionLoading: actionLoading,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n size={size ?? Size.Small}\r\n filter={''}\r\n isOpen={isOpen}\r\n setIsOpen={customSetIsOpen}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n outline={keyboardNavigated}\r\n isButton={isButton || false}\r\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\r\n setSelectedValues={handleValueSelect}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.generateToken({ componentType:'icon', defaultVariant:'critical' }, theme)}/>\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage>\r\n <SystemIcons.Information color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)}/>\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default BasicDropdown;\r\n"],"mappings":"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","ignoreList":[]}
@@ -183,7 +183,10 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
183
183
  children: getDisplayItems()
184
184
  }) : null, isLoading ? /*#__PURE__*/_jsx(LoadingIndicator, {
185
185
  size: Size.Small,
186
- color: COLORS.getColor('neutral_600', theme)
186
+ color: COLORS.generateToken({
187
+ componentType: 'icon',
188
+ defaultVariant: 'subtle'
189
+ }, theme)
187
190
  }) : null, /*#__PURE__*/_jsx("div", {
188
191
  className: 'icon dropdown-arrow',
189
192
  children: isOpen ? /*#__PURE__*/_jsx(SystemIcons.ArrowDropUp, {
@@ -231,13 +234,19 @@ const BasicDropdown = /*#__PURE__*/React.forwardRef((props, ref) => {
231
234
  })]
232
235
  }), activeValidationMessage && /*#__PURE__*/_jsxs(ErrorMessage, {
233
236
  children: [/*#__PURE__*/_jsx(SystemIcons.TechnicalWarning, {
234
- color: COLORS.getColor('critical_400', theme)
237
+ color: COLORS.generateToken({
238
+ componentType: 'icon',
239
+ defaultVariant: 'critical'
240
+ }, theme)
235
241
  }), /*#__PURE__*/_jsx("span", {
236
242
  children: activeValidationMessage
237
243
  })]
238
244
  }), autofilledMessage && /*#__PURE__*/_jsxs(AutofilledMessage, {
239
245
  children: [/*#__PURE__*/_jsx(SystemIcons.Information, {
240
- color: COLORS.getColor('neutral_600', theme)
246
+ color: COLORS.generateToken({
247
+ componentType: 'icon',
248
+ defaultVariant: 'subtle'
249
+ }, theme)
241
250
  }), /*#__PURE__*/_jsx("span", {
242
251
  children: autofilledMessage
243
252
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","textOverflow","dropdownIcon","rest","_objectWithoutProperties","_excluded","theme","isOpen","setIsOpen","useState","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","children","role","$isButton","$readOnly","$disabled","_objectSpread","onMouseDown","onClick","stopPropagation","blur","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","type","$ellipsis","position","withArrow","maxWidth","align","Small","color","getColor","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","TechnicalWarning","Information","propTypes","_pt","array","isRequired","oneOf","func","string","node","bool","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {COLORS} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\r\nimport DropdownContent, {DropdownItem} from './DropdownContent';\r\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport {Size, Testable} from '../types';\r\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\r\nimport {useFocusOutsideRef} from '../common';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\r\n /**\r\n * Required. An array of DropdownItem objects representing the items in the dropdown.\r\n */\r\n list: DropdownItem[];\r\n /**\r\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\r\n */\r\n itemsType?: 'normal' | 'checkbox' | 'radio';\r\n /**\r\n * Optional. A function to be called when the action button in the dropdown is clicked.\r\n */\r\n action?: () => void;\r\n /**\r\n * Optional. The label for the action button in the dropdown.\r\n */\r\n actionLabel?: string;\r\n /**\r\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\r\n */\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n /**\r\n * Optional. The icon for the action button in the dropdown.\r\n */\r\n actionIcon?: React.ReactNode;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\r\n */\r\n actionLoading?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\r\n */\r\n actionDisabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\r\n */\r\n pinTopItem?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown content is scrollable.\r\n */\r\n scrollable?: boolean;\r\n /**\r\n * Optional. The maximum height of the dropdown.\r\n */\r\n maxHeight?: string;\r\n /*\r\n * Optional. Placeholder text to be shown when none of the items is selected is selected\r\n */\r\n placeholder?: string;\r\n /**\r\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\r\n */\r\n disableSorting?: boolean;\r\n /**\r\n * Optional. The message to be displayed when there are no results in the dropdown.\r\n */\r\n messageOnNoResults?: string;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is read-only.\r\n */\r\n readOnly?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is a button.\r\n */\r\n isButton?: boolean;\r\n /**\r\n * Optional. The validation message to be displayed when the dropdown is active.\r\n */\r\n activeValidationMessage?: string;\r\n /**\r\n * Optional. The message to be displayed when the dropdown is autofilled.\r\n */\r\n autofilledMessage?: string;\r\n /**\r\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\r\n */ \r\n size?: Size.Small | Size.Medium;\r\n /**\r\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n /**\r\n * Optional. The minimum width of the dropdown.\r\n */\r\n minWidth?: string;\r\n /**\r\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\r\n */\r\n textOverflow?: 'ellipsis' | 'default';\r\n /**\r\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /**\r\n * Optional. The action icon to be shown on the rightside of the dropdown that opens dropdown content.\r\n */\r\n dropdownIcon?: React.ReactNode;\r\n}\r\n\r\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect: true;\r\n /** Required. Selected items. */\r\n value?: string[];\r\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\r\n onSelect: (value: string[]) => void;\r\n}\r\n\r\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect?: false;\r\n /** Required. Selected item. */\r\n value?: string;\r\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\r\n onSelect: (value: string) => void;\r\n}\r\n\r\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\r\n\r\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\r\n const {\r\n id,\r\n list,\r\n placeholder,\r\n messageOnNoResults,\r\n itemsType = 'normal',\r\n action,\r\n actionLabel,\r\n actionVariant,\r\n actionIcon,\r\n actionLoading,\r\n actionDisabled,\r\n pinTopItem,\r\n scrollable = true,\r\n maxHeight,\r\n disabled,\r\n readOnly,\r\n isButton,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n margin,\r\n minWidth,\r\n className,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n onSelect,\r\n textOverflow = 'ellipsis',\r\n dropdownIcon,\r\n ...rest\r\n } = props;\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>('');\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n \r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const styledFieldRef = useFocusVisibleRef([inputRef]);\r\n const dropdownRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const resetDropdown = () => {\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\r\n\r\n useClickOutsideRef(resetDropdown, [], containerRef);\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setIsOpen(!isOpen);\r\n setKeyboardNavigated(true);\r\n }\r\n };\r\n\r\n const handleValueSelect = (values: string[]) => {\r\n setInput(values.join(', '));\r\n\r\n if (props.multiSelect === true) {\r\n props.onSelect(values);\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n props.onSelect(values[0]);\r\n }\r\n\r\n //don't close dropdown on item select if have custom action or multiselect\r\n if (actionLabel || props.multiSelect) return;\r\n\r\n if (keyboardNavigated) {\r\n styledFieldRef.current?.focus({focusVisible: true} as any);\r\n }\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (props.value) {\r\n if (props.multiSelect) {\r\n setInput(props.value.join(', '));\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n setInput(props.value);\r\n }\r\n } else {\r\n setInput('');\r\n }\r\n }, [props.value, props.multiSelect]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(false);\r\n }, [input]);\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const customSetIsOpen = (isOpen: boolean) => {\r\n setIsOpen(isOpen);\r\n };\r\n\r\n const getDisplayItems = () => {\r\n const values = input.split(',').map((val) => val.trim());\r\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\r\n return listDisplayLabels.join(', ');\r\n };\r\n\r\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\r\n // @ts-ignore\r\n if (!e.currentTarget.contains(e.relatedTarget)) {\r\n onBlur && onBlur(e);\r\n }\r\n };\r\n\r\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\r\n \r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n aria-expanded={isOpen ? true : false}\r\n aria-activedescendant={activeDescendant}\r\n aria-controls={`${id}_dropdowncontent`}\r\n role=\"listbox\"\r\n aria-multiselectable={props.multiSelect}\r\n $isButton={isButton || false}\r\n className={size ? size : ''}\r\n $readOnly={readOnly}\r\n $disabled={disabled}\r\n margin={margin}\r\n onBlur={handleBlur}\r\n minWidth={minWidth}>\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={cls}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => {\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 tabIndex={disabled || readOnly ? -1 : 0}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input}\r\n $showValidationMessage={!!activeValidationMessage}\r\n onKeyDown={handleKeyDown}\r\n $minWidth={minWidth}\r\n {...rest}>\r\n <DropdownInputField\r\n ref={inputRef}\r\n type=\"search\"\r\n $ellipsis={textOverflow == 'ellipsis'}\r\n id={id}\r\n data-testid={dataTestId}\r\n readOnly\r\n placeholder={placeholder}\r\n value={getDisplayItems()}\r\n className={size ? `${size} value` : 'value'}\r\n tabIndex={-1}\r\n disabled={disabled || false}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {getDisplayItems()}\r\n </TooltipOverflow> : null}\r\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/> : null}\r\n <div className={'icon dropdown-arrow'}>\r\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\r\n (dropdownIcon ?? <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>)}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n ref={dropdownRef}\r\n containerRef={containerRef}\r\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\r\n customizationProps={{\r\n itemsType: itemsType,\r\n action: action ?? (() => {\r\n }),\r\n actionLabel: actionLabel,\r\n actionVariant: actionVariant,\r\n actionDisabled: actionDisabled,\r\n scrollable: scrollable,\r\n onValueUpdate: handleValueSelect,\r\n items: list,\r\n multiSelect: props.multiSelect,\r\n pinTopItem: pinTopItem,\r\n maxHeight: maxHeight,\r\n actionIcon: actionIcon,\r\n actionLoading: actionLoading,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n size={size ?? Size.Small}\r\n filter={''}\r\n isOpen={isOpen}\r\n setIsOpen={customSetIsOpen}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n outline={keyboardNavigated}\r\n isButton={isButton || false}\r\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\r\n setSelectedValues={handleValueSelect}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage>\r\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)}/>\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default BasicDropdown;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","overflowTooltipPosition","onBlur","dataTestId","onSelect","textOverflow","dropdownIcon","rest","_objectWithoutProperties","_excluded","theme","isOpen","setIsOpen","useState","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","children","role","$isButton","$readOnly","$disabled","_objectSpread","onMouseDown","onClick","stopPropagation","blur","tabIndex","$isPlaceholder","$showValidationMessage","onKeyDown","$minWidth","type","$ellipsis","position","withArrow","maxWidth","align","Small","color","generateToken","componentType","defaultVariant","ArrowDropUp","ArrowDropDown","onActiveDescendantChanged","customizationProps","onValueUpdate","items","ariaRolesType","outline","selectedValues","setSelectedValues","TechnicalWarning","Information","propTypes","_pt","array","isRequired","oneOf","func","string","node","bool","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {COLORS} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\r\nimport DropdownContent, {DropdownItem} from './DropdownContent';\r\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport {Size, Testable} from '../types';\r\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\r\nimport {useFocusOutsideRef} from '../common';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\r\n /**\r\n * Required. An array of DropdownItem objects representing the items in the dropdown.\r\n */\r\n list: DropdownItem[];\r\n /**\r\n * Optional. The type of the items in the dropdown. Can be 'normal', 'checkbox', or 'radio'.\r\n */\r\n itemsType?: 'normal' | 'checkbox' | 'radio';\r\n /**\r\n * Optional. A function to be called when the action button in the dropdown is clicked.\r\n */\r\n action?: () => void;\r\n /**\r\n * Optional. The label for the action button in the dropdown.\r\n */\r\n actionLabel?: string;\r\n /**\r\n * Optional. The variant of the action button in the dropdown. Can be 'primary', 'secondary', 'tertiary', or undefined.\r\n */\r\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\r\n /**\r\n * Optional. The icon for the action button in the dropdown.\r\n */\r\n actionIcon?: React.ReactNode;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is loading.\r\n */\r\n actionLoading?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the action button in the dropdown is disabled.\r\n */\r\n actionDisabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the top item in the dropdown should be pinned.\r\n */\r\n pinTopItem?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown content is scrollable.\r\n */\r\n scrollable?: boolean;\r\n /**\r\n * Optional. The maximum height of the dropdown.\r\n */\r\n maxHeight?: string;\r\n /*\r\n * Optional. Placeholder text to be shown when none of the items is selected is selected\r\n */\r\n placeholder?: string;\r\n /**\r\n * Optional. A boolean indicating whether sorting is disabled in the dropdown.\r\n */\r\n disableSorting?: boolean;\r\n /**\r\n * Optional. The message to be displayed when there are no results in the dropdown.\r\n */\r\n messageOnNoResults?: string;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is disabled.\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is read-only.\r\n */\r\n readOnly?: boolean;\r\n /**\r\n * Optional. A boolean indicating whether the dropdown is a button.\r\n */\r\n isButton?: boolean;\r\n /**\r\n * Optional. The validation message to be displayed when the dropdown is active.\r\n */\r\n activeValidationMessage?: string;\r\n /**\r\n * Optional. The message to be displayed when the dropdown is autofilled.\r\n */\r\n autofilledMessage?: string;\r\n /**\r\n * Optional. The size of the dropdown. Can be 'Small' or 'Medium'.\r\n */ \r\n size?: Size.Small | Size.Medium;\r\n /**\r\n * Optional. The margin of the dropdown. Can be any valid CSS margin value.\r\n */\r\n margin?: string;\r\n /**\r\n * Optional. The minimum width of the dropdown.\r\n */\r\n minWidth?: string;\r\n /**\r\n * Optional. The text overflow behavior of the dropdown. Can be 'ellipsis' or 'default'.\r\n */\r\n textOverflow?: 'ellipsis' | 'default';\r\n /**\r\n * Optional. The position of the tooltip when dropdown is closed. Can be 'top' or 'bottom'.\r\n */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /**\r\n * Optional. The action icon to be shown on the rightside of the dropdown that opens dropdown content.\r\n */\r\n dropdownIcon?: React.ReactNode;\r\n}\r\n\r\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect: true;\r\n /** Required. Selected items. */\r\n value?: string[];\r\n /** Required. Callback handler to call when user selects one of the items. Provides all selected items after last change. */\r\n onSelect: (value: string[]) => void;\r\n}\r\n\r\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\r\n /** Required. If this flag is set then user can select multiple items. */\r\n multiSelect?: false;\r\n /** Required. Selected item. */\r\n value?: string;\r\n /** Required. Callback handler to call when user selects one of the items. Provides value of selected item. */\r\n onSelect: (value: string) => void;\r\n}\r\n\r\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\r\n\r\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\r\n const {\r\n id,\r\n list,\r\n placeholder,\r\n messageOnNoResults,\r\n itemsType = 'normal',\r\n action,\r\n actionLabel,\r\n actionVariant,\r\n actionIcon,\r\n actionLoading,\r\n actionDisabled,\r\n pinTopItem,\r\n scrollable = true,\r\n maxHeight,\r\n disabled,\r\n readOnly,\r\n isButton,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n margin,\r\n minWidth,\r\n className,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n onSelect,\r\n textOverflow = 'ellipsis',\r\n dropdownIcon,\r\n ...rest\r\n } = props;\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>('');\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n \r\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const styledFieldRef = useFocusVisibleRef([inputRef]);\r\n const dropdownRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const resetDropdown = () => {\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\r\n\r\n useClickOutsideRef(resetDropdown, [], containerRef);\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n setIsOpen(!isOpen);\r\n setKeyboardNavigated(true);\r\n }\r\n };\r\n\r\n const handleValueSelect = (values: string[]) => {\r\n setInput(values.join(', '));\r\n\r\n if (props.multiSelect === true) {\r\n props.onSelect(values);\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n props.onSelect(values[0]);\r\n }\r\n\r\n //don't close dropdown on item select if have custom action or multiselect\r\n if (actionLabel || props.multiSelect) return;\r\n\r\n if (keyboardNavigated) {\r\n styledFieldRef.current?.focus({focusVisible: true} as any);\r\n }\r\n setIsOpen(false);\r\n setFocused(null);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (props.value) {\r\n if (props.multiSelect) {\r\n setInput(props.value.join(', '));\r\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\r\n setInput(props.value);\r\n }\r\n } else {\r\n setInput('');\r\n }\r\n }, [props.value, props.multiSelect]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(false);\r\n }, [input]);\r\n\r\n React.useEffect(() => {\r\n !isOpen && setKeyboardNavigated(false);\r\n }, [isOpen]);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const customSetIsOpen = (isOpen: boolean) => {\r\n setIsOpen(isOpen);\r\n };\r\n\r\n const getDisplayItems = () => {\r\n const values = input.split(',').map((val) => val.trim());\r\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\r\n return listDisplayLabels.join(', ');\r\n };\r\n\r\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\r\n // @ts-ignore\r\n if (!e.currentTarget.contains(e.relatedTarget)) {\r\n onBlur && onBlur(e);\r\n }\r\n };\r\n\r\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\r\n \r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n aria-expanded={isOpen ? true : false}\r\n aria-activedescendant={activeDescendant}\r\n aria-controls={`${id}_dropdowncontent`}\r\n role=\"listbox\"\r\n aria-multiselectable={props.multiSelect}\r\n $isButton={isButton || false}\r\n className={size ? size : ''}\r\n $readOnly={readOnly}\r\n $disabled={disabled}\r\n margin={margin}\r\n onBlur={handleBlur}\r\n minWidth={minWidth}>\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={cls}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => {\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 tabIndex={disabled || readOnly ? -1 : 0}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input}\r\n $showValidationMessage={!!activeValidationMessage}\r\n onKeyDown={handleKeyDown}\r\n $minWidth={minWidth}\r\n {...rest}>\r\n <DropdownInputField\r\n ref={inputRef}\r\n type=\"search\"\r\n $ellipsis={textOverflow == 'ellipsis'}\r\n id={id}\r\n data-testid={dataTestId}\r\n readOnly\r\n placeholder={placeholder}\r\n value={getDisplayItems()}\r\n className={size ? `${size} value` : 'value'}\r\n tabIndex={-1}\r\n disabled={disabled || false}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {getDisplayItems()}\r\n </TooltipOverflow> : null}\r\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)}/> : null}\r\n <div className={'icon dropdown-arrow'}>\r\n {isOpen ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''}/> :\r\n (dropdownIcon ?? <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''}/>)}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n ref={dropdownRef}\r\n containerRef={containerRef}\r\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\r\n customizationProps={{\r\n itemsType: itemsType,\r\n action: action ?? (() => {\r\n }),\r\n actionLabel: actionLabel,\r\n actionVariant: actionVariant,\r\n actionDisabled: actionDisabled,\r\n scrollable: scrollable,\r\n onValueUpdate: handleValueSelect,\r\n items: list,\r\n multiSelect: props.multiSelect,\r\n pinTopItem: pinTopItem,\r\n maxHeight: maxHeight,\r\n actionIcon: actionIcon,\r\n actionLoading: actionLoading,\r\n }}\r\n ariaRolesType=\"input\"\r\n focused={focused}\r\n setFocused={setFocused}\r\n size={size ?? Size.Small}\r\n filter={''}\r\n isOpen={isOpen}\r\n setIsOpen={customSetIsOpen}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n outline={keyboardNavigated}\r\n isButton={isButton || false}\r\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\r\n setSelectedValues={handleValueSelect}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.generateToken({ componentType:'icon', defaultVariant:'critical' }, theme)}/>\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage>\r\n <SystemIcons.Information color={COLORS.generateToken({componentType:'icon', defaultVariant:'subtle'}, theme)}/>\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default BasicDropdown;\r\n"],"mappings":"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","ignoreList":[]}