@laerdal/life-react-components 6.0.0-dev.2.full → 6.0.0-dev.21.full.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 (417) 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 +67 -16
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.d.ts +1 -0
  65. package/dist/Card/VerticalCard/Card.js +67 -16
  66. package/dist/Card/VerticalCard/Card.js.map +1 -1
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs +34 -7
  68. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  69. package/dist/Card/VerticalCard/CardBottomSection.js +34 -7
  70. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs +27 -8
  72. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  73. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +5 -0
  74. package/dist/Card/VerticalCard/CardMiddleSection.js +27 -8
  75. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  76. package/dist/Card/VerticalCard/CardTopSection.cjs +12 -3
  77. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  78. package/dist/Card/VerticalCard/CardTopSection.js +12 -3
  79. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  80. package/dist/Card/__tests__/Card.test.tsx +146 -0
  81. package/dist/Chips/ChipStyles.cjs +4 -1
  82. package/dist/Chips/ChipStyles.cjs.map +1 -1
  83. package/dist/Chips/ChipStyles.js +4 -1
  84. package/dist/Chips/ChipStyles.js.map +1 -1
  85. package/dist/Chips/FilterChip.cjs +1 -0
  86. package/dist/Chips/FilterChip.cjs.map +1 -1
  87. package/dist/Chips/FilterChip.js +1 -0
  88. package/dist/Chips/FilterChip.js.map +1 -1
  89. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  90. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  91. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  92. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  93. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  94. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  95. package/dist/ChipsInput/ChipInputField.js +16 -4
  96. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  97. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  98. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  99. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  100. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  101. package/dist/Dropdown/BasicDropdown.js +12 -3
  102. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  103. package/dist/Dropdown/CommonStyling.cjs +172 -42
  104. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  105. package/dist/Dropdown/CommonStyling.js +172 -42
  106. package/dist/Dropdown/CommonStyling.js.map +1 -1
  107. package/dist/Dropdown/DropdownContent.cjs +36 -10
  108. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  109. package/dist/Dropdown/DropdownContent.js +36 -10
  110. package/dist/Dropdown/DropdownContent.js.map +1 -1
  111. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  112. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  113. package/dist/Dropdown/DropdownFilter.js +12 -3
  114. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  115. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  116. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  117. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  118. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  119. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  120. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  121. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  122. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  123. package/dist/GlobalNavigationBar/Logo.js +2 -1
  124. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  125. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  126. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  127. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  128. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  129. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  130. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +3 -2
  131. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  132. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +3 -2
  133. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  134. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  135. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  136. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  137. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  138. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  139. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  140. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  141. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  142. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  143. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  144. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  145. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  146. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  147. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  148. package/dist/HyperLink/HyperLink.cjs +18 -2
  149. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  150. package/dist/HyperLink/HyperLink.d.ts +2 -0
  151. package/dist/HyperLink/HyperLink.js +18 -2
  152. package/dist/HyperLink/HyperLink.js.map +1 -1
  153. package/dist/HyperLink/styling.cjs +38 -8
  154. package/dist/HyperLink/styling.cjs.map +1 -1
  155. package/dist/HyperLink/styling.js +38 -8
  156. package/dist/HyperLink/styling.js.map +1 -1
  157. package/dist/InputFields/Checkbox.cjs +54 -14
  158. package/dist/InputFields/Checkbox.cjs.map +1 -1
  159. package/dist/InputFields/Checkbox.js +54 -14
  160. package/dist/InputFields/Checkbox.js.map +1 -1
  161. package/dist/InputFields/DatepickerField.cjs +149 -43
  162. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  163. package/dist/InputFields/DatepickerField.d.ts +1 -1
  164. package/dist/InputFields/DatepickerField.js +150 -44
  165. package/dist/InputFields/DatepickerField.js.map +1 -1
  166. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  167. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  168. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  169. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  170. package/dist/InputFields/Label.cjs +38 -11
  171. package/dist/InputFields/Label.cjs.map +1 -1
  172. package/dist/InputFields/Label.js +38 -11
  173. package/dist/InputFields/Label.js.map +1 -1
  174. package/dist/InputFields/NumberField.cjs +66 -16
  175. package/dist/InputFields/NumberField.cjs.map +1 -1
  176. package/dist/InputFields/NumberField.js +66 -16
  177. package/dist/InputFields/NumberField.js.map +1 -1
  178. package/dist/InputFields/PasswordField.cjs +4 -1
  179. package/dist/InputFields/PasswordField.cjs.map +1 -1
  180. package/dist/InputFields/PasswordField.d.ts +1 -1
  181. package/dist/InputFields/PasswordField.js +4 -1
  182. package/dist/InputFields/PasswordField.js.map +1 -1
  183. package/dist/InputFields/QuickSearch.cjs +30 -6
  184. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  185. package/dist/InputFields/QuickSearch.js +30 -6
  186. package/dist/InputFields/QuickSearch.js.map +1 -1
  187. package/dist/InputFields/RadioButton.cjs +63 -15
  188. package/dist/InputFields/RadioButton.cjs.map +1 -1
  189. package/dist/InputFields/RadioButton.js +63 -15
  190. package/dist/InputFields/RadioButton.js.map +1 -1
  191. package/dist/InputFields/RichTextField.cjs +60 -15
  192. package/dist/InputFields/RichTextField.cjs.map +1 -1
  193. package/dist/InputFields/RichTextField.js +60 -15
  194. package/dist/InputFields/RichTextField.js.map +1 -1
  195. package/dist/InputFields/SearchBar.cjs +4 -1
  196. package/dist/InputFields/SearchBar.cjs.map +1 -1
  197. package/dist/InputFields/SearchBar.js +4 -1
  198. package/dist/InputFields/SearchBar.js.map +1 -1
  199. package/dist/InputFields/TextField.cjs +9 -3
  200. package/dist/InputFields/TextField.cjs.map +1 -1
  201. package/dist/InputFields/TextField.d.ts +1 -1
  202. package/dist/InputFields/TextField.js +9 -3
  203. package/dist/InputFields/TextField.js.map +1 -1
  204. package/dist/InputFields/Textarea.cjs +68 -17
  205. package/dist/InputFields/Textarea.cjs.map +1 -1
  206. package/dist/InputFields/Textarea.js +68 -17
  207. package/dist/InputFields/Textarea.js.map +1 -1
  208. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  209. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  210. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  211. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  212. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  213. package/dist/InputFields/components/SearchBarInput.js +28 -7
  214. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  215. package/dist/InputFields/components/SearchField.cjs +60 -15
  216. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  217. package/dist/InputFields/components/SearchField.js +60 -15
  218. package/dist/InputFields/components/SearchField.js.map +1 -1
  219. package/dist/InputFields/styling.cjs +95 -39
  220. package/dist/InputFields/styling.cjs.map +1 -1
  221. package/dist/InputFields/styling.d.ts +1 -2
  222. package/dist/InputFields/styling.js +95 -39
  223. package/dist/InputFields/styling.js.map +1 -1
  224. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  225. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  226. package/dist/LinearProgress/LinearProgress.js +161 -53
  227. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  228. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  229. package/dist/List/ListRow.cjs +36 -9
  230. package/dist/List/ListRow.cjs.map +1 -1
  231. package/dist/List/ListRow.js +36 -9
  232. package/dist/List/ListRow.js.map +1 -1
  233. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  234. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  235. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  236. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  237. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  238. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  239. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  240. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  241. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  242. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  243. package/dist/MenuItem/MenuItem.cjs +101 -26
  244. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  245. package/dist/MenuItem/MenuItem.js +101 -26
  246. package/dist/MenuItem/MenuItem.js.map +1 -1
  247. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  248. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  249. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  250. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  251. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  252. package/dist/Modals/Modal.cjs +4 -1
  253. package/dist/Modals/Modal.cjs.map +1 -1
  254. package/dist/Modals/Modal.js +4 -1
  255. package/dist/Modals/Modal.js.map +1 -1
  256. package/dist/Modals/ModalContent.cjs +24 -6
  257. package/dist/Modals/ModalContent.cjs.map +1 -1
  258. package/dist/Modals/ModalContent.js +24 -6
  259. package/dist/Modals/ModalContent.js.map +1 -1
  260. package/dist/Modals/ModalDialog.cjs +12 -3
  261. package/dist/Modals/ModalDialog.cjs.map +1 -1
  262. package/dist/Modals/ModalDialog.js +12 -3
  263. package/dist/Modals/ModalDialog.js.map +1 -1
  264. package/dist/Modals/ModalNote.cjs +16 -4
  265. package/dist/Modals/ModalNote.cjs.map +1 -1
  266. package/dist/Modals/ModalNote.js +16 -4
  267. package/dist/Modals/ModalNote.js.map +1 -1
  268. package/dist/Modals/ModalStyles.cjs +44 -11
  269. package/dist/Modals/ModalStyles.cjs.map +1 -1
  270. package/dist/Modals/ModalStyles.js +44 -11
  271. package/dist/Modals/ModalStyles.js.map +1 -1
  272. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  273. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  274. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  275. package/dist/NavItem/NavItem.cjs +11 -2
  276. package/dist/NavItem/NavItem.cjs.map +1 -1
  277. package/dist/NavItem/NavItem.js +11 -2
  278. package/dist/NavItem/NavItem.js.map +1 -1
  279. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  280. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  281. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  282. package/dist/NotificationDot/NotificationDot.js +17 -2
  283. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  284. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  285. package/dist/Paginator/Paginator.cjs +86 -35
  286. package/dist/Paginator/Paginator.cjs.map +1 -1
  287. package/dist/Paginator/Paginator.d.ts +1 -5
  288. package/dist/Paginator/Paginator.js +86 -35
  289. package/dist/Paginator/Paginator.js.map +1 -1
  290. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  291. package/dist/Panel/Panel.cjs +4 -1
  292. package/dist/Panel/Panel.cjs.map +1 -1
  293. package/dist/Panel/Panel.js +4 -1
  294. package/dist/Panel/Panel.js.map +1 -1
  295. package/dist/Popover/Popover.cjs +22 -3
  296. package/dist/Popover/Popover.cjs.map +1 -1
  297. package/dist/Popover/Popover.js +22 -3
  298. package/dist/Popover/Popover.js.map +1 -1
  299. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  300. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  301. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  302. package/dist/ProfileButton/ProfileButton.js +9 -2
  303. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  304. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  305. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  306. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  307. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  308. package/dist/SegmentControl/SegmentControl.js +46 -11
  309. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  310. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  311. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  312. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  313. package/dist/SideMenu/SideMenuHeader.js +12 -3
  314. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  315. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  316. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  317. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  318. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  319. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  320. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  321. package/dist/Table/TableFooter.cjs +8 -2
  322. package/dist/Table/TableFooter.cjs.map +1 -1
  323. package/dist/Table/TableFooter.js +8 -2
  324. package/dist/Table/TableFooter.js.map +1 -1
  325. package/dist/Table/TableStyles.cjs +132 -33
  326. package/dist/Table/TableStyles.cjs.map +1 -1
  327. package/dist/Table/TableStyles.js +132 -33
  328. package/dist/Table/TableStyles.js.map +1 -1
  329. package/dist/Table/__tests__/Table.test.tsx +499 -0
  330. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  331. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  332. package/dist/Tabs/HorizontalTabs.js +68 -18
  333. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  334. package/dist/Tabs/TabLink.cjs +4 -1
  335. package/dist/Tabs/TabLink.cjs.map +1 -1
  336. package/dist/Tabs/TabLink.js +4 -1
  337. package/dist/Tabs/TabLink.js.map +1 -1
  338. package/dist/Tabs/VerticalTabs.cjs +1 -0
  339. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  340. package/dist/Tabs/VerticalTabs.js +1 -0
  341. package/dist/Tabs/VerticalTabs.js.map +1 -1
  342. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  343. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  344. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  345. package/dist/Tag/Tag.cjs +2 -2
  346. package/dist/Tag/Tag.cjs.map +1 -1
  347. package/dist/Tag/Tag.js +2 -2
  348. package/dist/Tag/Tag.js.map +1 -1
  349. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  350. package/dist/Tile/Tile.cjs +8 -2
  351. package/dist/Tile/Tile.cjs.map +1 -1
  352. package/dist/Tile/Tile.js +8 -2
  353. package/dist/Tile/Tile.js.map +1 -1
  354. package/dist/Tile/TileCommonItems.cjs +8 -2
  355. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  356. package/dist/Tile/TileCommonItems.js +8 -2
  357. package/dist/Tile/TileCommonItems.js.map +1 -1
  358. package/dist/Tile/TileFooter.cjs +4 -1
  359. package/dist/Tile/TileFooter.cjs.map +1 -1
  360. package/dist/Tile/TileFooter.js +4 -1
  361. package/dist/Tile/TileFooter.js.map +1 -1
  362. package/dist/Tile/TileHeader.cjs +12 -3
  363. package/dist/Tile/TileHeader.cjs.map +1 -1
  364. package/dist/Tile/TileHeader.js +12 -3
  365. package/dist/Tile/TileHeader.js.map +1 -1
  366. package/dist/Toasters/Toast.cjs +62 -13
  367. package/dist/Toasters/Toast.cjs.map +1 -1
  368. package/dist/Toasters/Toast.js +62 -13
  369. package/dist/Toasters/Toast.js.map +1 -1
  370. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  371. package/dist/Toggles/ToggleButton.cjs +9 -3
  372. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  373. package/dist/Toggles/ToggleButton.d.ts +1 -1
  374. package/dist/Toggles/ToggleButton.js +9 -3
  375. package/dist/Toggles/ToggleButton.js.map +1 -1
  376. package/dist/Toggles/TogglerStyles.cjs +22 -8
  377. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  378. package/dist/Toggles/TogglerStyles.js +22 -8
  379. package/dist/Toggles/TogglerStyles.js.map +1 -1
  380. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  381. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  382. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  383. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  384. package/dist/Tooltips/TooltipStyles.js +28 -6
  385. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  386. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  387. package/dist/common/InputStyling.cjs +30 -7
  388. package/dist/common/InputStyling.cjs.map +1 -1
  389. package/dist/common/InputStyling.js +30 -7
  390. package/dist/common/InputStyling.js.map +1 -1
  391. package/dist/custom.d.ts +2 -0
  392. package/dist/styles/colors.cjs +439 -84
  393. package/dist/styles/colors.cjs.map +1 -1
  394. package/dist/styles/colors.d.ts +200 -11
  395. package/dist/styles/colors.js +439 -84
  396. package/dist/styles/colors.js.map +1 -1
  397. package/dist/styles/global.cjs +19 -2
  398. package/dist/styles/global.cjs.map +1 -1
  399. package/dist/styles/global.d.ts +3 -2
  400. package/dist/styles/global.js +18 -3
  401. package/dist/styles/global.js.map +1 -1
  402. package/dist/styles/index.cjs +21 -9
  403. package/dist/styles/index.cjs.map +1 -1
  404. package/dist/styles/index.d.ts +2 -2
  405. package/dist/styles/index.js +18 -6
  406. package/dist/styles/index.js.map +1 -1
  407. package/dist/styles/react-datepicker.css +766 -0
  408. package/dist/test-utils.cjs +7 -1
  409. package/dist/test-utils.cjs.map +1 -1
  410. package/dist/test-utils.js +7 -1
  411. package/dist/test-utils.js.map +1 -1
  412. package/dist/utils/color-tokens.cjs +91 -0
  413. package/dist/utils/color-tokens.cjs.map +1 -0
  414. package/dist/utils/color-tokens.d.ts +19 -0
  415. package/dist/utils/color-tokens.js +82 -0
  416. package/dist/utils/color-tokens.js.map +1 -0
  417. package/package.json +12 -5
@@ -1 +1 @@
1
- {"version":3,"file":"ChipInputField.js","names":["React","Size","States","InputChip","ErrorMessage","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","scrollBarStyling","styled","useTheme","LoadingIndicator","useFocusVisibleRef","IconButton","SystemIcons","jsx","_jsx","jsxs","_jsxs","Wrapper","div","Loading","ChipInputBoundItems","ChipInputContentContainer","Small","ChipInputEl","input","Regular","props","getColor","theme","Italic","ChipInputContainer","ChipInputField","forwardRef","_ref","ref","inputId","items","disabled","placeholder","altPlaceholder","multiLine","size","Medium","validationMessage","loading","onRemoveItem","onInputValueChange","onInputKeyDown","onActivationChange","inputValue","required","onBlur","rest","_objectWithoutProperties","_excluded","containerRef","useRef","inputRef","useImperativeHandle","current","useEffect","document","activeElement","scrollIntoView","block","inline","handleInputKeyDown","e","key","value","repeat","length","handleItemRemove","event","item","index","focus","focusVisible","detail","handleInputClear","handleContainerKeyDown","querySelectorAll","currentIndex","Array","from","indexOf","target","direction","cls","children","onKeyDown","onClick","className","map","chip","icon","variant","Default","text","label","onRemove","_objectSpread","type","id","tabIndex","onChange","stopPropagation","dataTestId","action","useTransparentBackground","shape","style","marginLeft","focusOnClick","Clear","color","TechnicalWarning","propTypes","_pt","string","isRequired","array","bool","func"],"sources":["../../src/ChipsInput/ChipInputField.tsx"],"sourcesContent":["import React from 'react';\r\nimport {ChipItem} from './ChipInputTypes';\r\nimport {Size, States} from '../types';\r\nimport {InputChip} from '../Chips';\r\nimport {ErrorMessage} from '../InputFields';\r\nimport {\r\n COLORS,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n scrollBarStyling\r\n} from '../styles';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {useFocusVisibleRef} from '../common';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst Loading = styled.div`\r\n height: 20px;\r\n width: 20px;\r\n`;\r\n\r\nexport const ChipInputBoundItems = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 8px;\r\n flex: 1;\r\n min-width: 40px;\r\n`;\r\n\r\nexport const ChipInputContentContainer = styled.div`\r\n width: 100%;\r\n background: transparent;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 8px;\r\n margin-right: 6px;\r\n padding-right: 10px;\r\n padding-left: 16px;\r\n flex-wrap: nowrap;\r\n overflow-x: scroll;\r\n min-height: 48px;\r\n\r\n ${scrollBarStyling(Size.Small)}\r\n ::-webkit-scrollbar:horizontal {\r\n display: none;\r\n }\r\n\r\n .action-right:focus,\r\n button:focus {\r\n outline-offset: -4px !important;\r\n }\r\n`;\r\n\r\nexport const ChipInputEl = styled.input`\r\n border: none;\r\n outline: none;\r\n\r\n height: 40px;\r\n min-width: 40px;\r\n display: inline-flex;\r\n flex: 1;\r\n background: transparent;\r\n\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n color: ${props => COLORS.getColor('black', props.theme)} !important;\r\n\r\n &::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n`;\r\n\r\nexport const ChipInputContainer = styled.div`\r\n width: 100%;\r\n height: auto;\r\n border-radius: 4px;\r\n margin-bottom: 4px;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n cursor: text;\r\n outline: none;\r\n display: flex;\r\n align-items: center;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n &.small {\r\n padding: 0;\r\n min-height: 48px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentSStyling(ComponentTextStyle.Italic, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n }\r\n\r\n &.medium {\r\n padding: 4px 0;\r\n min-height: 56px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n }\r\n\r\n &.multiline.medium {\r\n ${ChipInputContentContainer} {\r\n max-height: calc(48px * 3);\r\n flex-wrap: wrap;\r\n overflow-y: auto;\r\n overflow-x: unset;\r\n }\r\n }\r\n\r\n &.focus-visible-within,\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.invalid,\r\n &.invalid:hover,\r\n &.invalid:focus {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &.disabled {\r\n ${ChipInputContentContainer} {\r\n pointer-events: none;\r\n }\r\n\r\n cursor: not-allowed;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n }\r\n`;\r\n\r\nexport interface ChipInputFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'id' | 'required' | 'tabIndex' | 'value' | 'onChange' | 'onKeyDown' | 'placeholder' | 'onClick' | 'disabled' | 'size'> {\r\n inputId: string;\r\n items: ChipItem[];\r\n disabled?: boolean;\r\n placeholder?: string;\r\n altPlaceholder?: string;\r\n multiLine?: boolean;\r\n size?: Size.Large | Size.Medium | Size.Small;\r\n loading?: boolean;\r\n required?: boolean;\r\n\r\n validationMessage?: string;\r\n\r\n onRemoveItem: (item: ChipItem, index: number) => void;\r\n inputValue: string;\r\n onInputValueChange: (value: string) => void;\r\n onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onActivationChange?: (active: boolean) => void;\r\n}\r\n\r\nexport const ChipInputField = React.forwardRef<HTMLInputElement, ChipInputFieldProps>(\r\n (\r\n {\r\n inputId,\r\n items,\r\n disabled = false,\r\n placeholder,\r\n altPlaceholder,\r\n multiLine = true,\r\n size = Size.Medium,\r\n validationMessage,\r\n loading,\r\n onRemoveItem,\r\n onInputValueChange,\r\n onInputKeyDown,\r\n onActivationChange,\r\n inputValue,\r\n required,\r\n onBlur,\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const theme = useTheme();\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const inputRef = useFocusVisibleRef([containerRef]);\r\n \r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef])\r\n\r\n /**\r\n * Scroll container to last item on change\r\n * */\r\n React.useEffect(() => {\r\n if (inputRef.current && document.activeElement === inputRef.current) {\r\n inputRef.current.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }\r\n }, [containerRef, inputRef, items]);\r\n\r\n /**\r\n * Remove last cheap on backspace\r\n * */\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Backspace' && !inputRef.current?.value && !e.repeat && items.length > 0) {\r\n onRemoveItem(items[items.length - 1], items.length - 1);\r\n } else {\r\n onInputKeyDown(e);\r\n }\r\n };\r\n\r\n const handleItemRemove = (event: any, item: ChipItem, index: number) => {\r\n onRemoveItem(item, index);\r\n inputRef.current?.focus({focusVisible: event.detail !== 1} as any);\r\n };\r\n\r\n const handleInputClear = (e: any) => {\r\n onInputValueChange('');\r\n inputRef.current?.focus({focusVisible: e?.detail !== 1} as any);\r\n };\r\n\r\n const handleContainerKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (!containerRef.current || (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight')) return;\r\n\r\n const items = containerRef.current.querySelectorAll('[tabindex=\"0\"]') as NodeListOf<HTMLElement>;\r\n const currentIndex = Array.from(items).indexOf(e.target as any);\r\n const direction = e.key === 'ArrowLeft' ? -1 : 1;\r\n const item = items[currentIndex + direction];\r\n item?.focus({focusVisible: true} as any);\r\n\r\n onActivationChange && onActivationChange(false);\r\n };\r\n\r\n const cls = `${multiLine ? 'multiline' : ''} ${validationMessage ? 'invalid' : ''} ${size} ${loading ? 'loading' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper onBlur={onBlur}>\r\n <ChipInputContainer\r\n data-testid=\"chip-input-container\"\r\n ref={containerRef}\r\n onKeyDown={handleContainerKeyDown}\r\n onClick={() => !disabled && inputRef.current?.focus()}\r\n className={cls}>\r\n <ChipInputContentContainer>\r\n {items?.map((chip: ChipItem, index: number) => (\r\n <InputChip\r\n key={`chip_${index}`}\r\n icon={chip?.icon}\r\n size={size}\r\n disabled={chip.disabled || disabled}\r\n variant={chip.variant || States.Default}\r\n text={chip.label}\r\n onRemove={(e) => handleItemRemove(e, chip, index)}\r\n />\r\n ))}\r\n <ChipInputBoundItems>\r\n <ChipInputEl\r\n ref={inputRef}\r\n type=\"text\"\r\n id={inputId}\r\n required={required}\r\n tabIndex={disabled ? -1 : 0}\r\n value={inputValue}\r\n onChange={(e) => onInputValueChange(e.target.value)}\r\n onKeyDown={handleInputKeyDown}\r\n placeholder={items?.length === 0 ? placeholder : altPlaceholder || ''}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n onActivationChange && onActivationChange(true);\r\n }}\r\n {...rest}\r\n />\r\n {inputValue && !disabled && (\r\n <IconButton\r\n id={`clear-btn-${inputId}`}\r\n dataTestId={`clear-btn-${inputId}`}\r\n action={handleInputClear}\r\n ref={(ref) => {\r\n ref?.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n style={{marginLeft: '-8px'}}\r\n focusOnClick={true}\r\n variant={'secondary'}>\r\n <SystemIcons.Clear/>\r\n </IconButton>\r\n )}\r\n\r\n {loading && (\r\n <Loading className={size}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)}/>\r\n </Loading>\r\n )}\r\n </ChipInputBoundItems>\r\n </ChipInputContentContainer>\r\n </ChipInputContainer>\r\n {validationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{validationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n </Wrapper>\r\n );\r\n },\r\n);\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ChipInputField.js","names":["React","Size","States","InputChip","ErrorMessage","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","scrollBarStyling","styled","useTheme","LoadingIndicator","useFocusVisibleRef","IconButton","SystemIcons","jsx","_jsx","jsxs","_jsxs","Wrapper","div","Loading","ChipInputBoundItems","ChipInputContentContainer","Small","ChipInputEl","input","Regular","props","getColor","theme","Italic","generateToken","componentType","defaultVariant","ChipInputContainer","ChipInputField","forwardRef","_ref","ref","inputId","items","disabled","placeholder","altPlaceholder","multiLine","size","Medium","validationMessage","loading","onRemoveItem","onInputValueChange","onInputKeyDown","onActivationChange","inputValue","required","onBlur","rest","_objectWithoutProperties","_excluded","containerRef","useRef","inputRef","useImperativeHandle","current","useEffect","document","activeElement","scrollIntoView","block","inline","handleInputKeyDown","e","key","value","repeat","length","handleItemRemove","event","item","index","focus","focusVisible","detail","handleInputClear","handleContainerKeyDown","querySelectorAll","currentIndex","Array","from","indexOf","target","direction","cls","children","onKeyDown","onClick","className","map","chip","icon","variant","Default","text","label","onRemove","_objectSpread","type","id","tabIndex","onChange","stopPropagation","dataTestId","action","useTransparentBackground","shape","style","marginLeft","focusOnClick","Clear","color","TechnicalWarning","propTypes","_pt","string","isRequired","array","bool","func"],"sources":["../../src/ChipsInput/ChipInputField.tsx"],"sourcesContent":["import React from 'react';\r\nimport {ChipItem} from './ChipInputTypes';\r\nimport {Size, States} from '../types';\r\nimport {InputChip} from '../Chips';\r\nimport {ErrorMessage} from '../InputFields';\r\nimport {\r\n COLORS,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n scrollBarStyling\r\n} from '../styles';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport {useFocusVisibleRef} from '../common';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst Loading = styled.div`\r\n height: 20px;\r\n width: 20px;\r\n`;\r\n\r\nexport const ChipInputBoundItems = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n gap: 8px;\r\n flex: 1;\r\n min-width: 40px;\r\n`;\r\n\r\nexport const ChipInputContentContainer = styled.div`\r\n width: 100%;\r\n background: transparent;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n column-gap: 8px;\r\n margin-right: 6px;\r\n padding-right: 10px;\r\n padding-left: 16px;\r\n flex-wrap: nowrap;\r\n overflow-x: scroll;\r\n min-height: 48px;\r\n\r\n ${scrollBarStyling(Size.Small)}\r\n ::-webkit-scrollbar:horizontal {\r\n display: none;\r\n }\r\n\r\n .action-right:focus,\r\n button:focus {\r\n outline-offset: -4px !important;\r\n }\r\n`;\r\n\r\nexport const ChipInputEl = styled.input`\r\n border: none;\r\n outline: none;\r\n\r\n height: 40px;\r\n min-width: 40px;\r\n display: inline-flex;\r\n flex: 1;\r\n background: transparent;\r\n\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n color: ${props => COLORS.getColor('black', props.theme)} !important;\r\n\r\n &::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n`;\r\n\r\nexport const ChipInputContainer = styled.div`\r\n width: 100%;\r\n height: auto;\r\n border-radius: 4px;\r\n margin-bottom: 4px;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n cursor: text;\r\n outline: none;\r\n display: flex;\r\n align-items: center;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n &.small {\r\n padding: 0;\r\n min-height: 48px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentSStyling(ComponentTextStyle.Italic, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n }\r\n\r\n &.medium {\r\n padding: 4px 0;\r\n min-height: 56px;\r\n\r\n ${ChipInputEl}::placeholder {\r\n ${props => ComponentMStyling(ComponentTextStyle.Italic, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n }\r\n\r\n &.multiline.medium {\r\n ${ChipInputContentContainer} {\r\n max-height: calc(48px * 3);\r\n flex-wrap: wrap;\r\n overflow-y: auto;\r\n overflow-x: unset;\r\n }\r\n }\r\n\r\n &.focus-visible-within,\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.invalid,\r\n &.invalid:hover,\r\n &.invalid:focus {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &.disabled {\r\n ${ChipInputContentContainer} {\r\n pointer-events: none;\r\n }\r\n\r\n cursor: not-allowed;\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_100', props.theme)};\r\n outline: none;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n }\r\n`;\r\n\r\nexport interface ChipInputFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'id' | 'required' | 'tabIndex' | 'value' | 'onChange' | 'onKeyDown' | 'placeholder' | 'onClick' | 'disabled' | 'size'> {\r\n inputId: string;\r\n items: ChipItem[];\r\n disabled?: boolean;\r\n placeholder?: string;\r\n altPlaceholder?: string;\r\n multiLine?: boolean;\r\n size?: Size.Large | Size.Medium | Size.Small;\r\n loading?: boolean;\r\n required?: boolean;\r\n\r\n validationMessage?: string;\r\n\r\n onRemoveItem: (item: ChipItem, index: number) => void;\r\n inputValue: string;\r\n onInputValueChange: (value: string) => void;\r\n onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onActivationChange?: (active: boolean) => void;\r\n}\r\n\r\nexport const ChipInputField = React.forwardRef<HTMLInputElement, ChipInputFieldProps>(\r\n (\r\n {\r\n inputId,\r\n items,\r\n disabled = false,\r\n placeholder,\r\n altPlaceholder,\r\n multiLine = true,\r\n size = Size.Medium,\r\n validationMessage,\r\n loading,\r\n onRemoveItem,\r\n onInputValueChange,\r\n onInputKeyDown,\r\n onActivationChange,\r\n inputValue,\r\n required,\r\n onBlur,\r\n ...rest\r\n },\r\n ref,\r\n ) => {\r\n const theme = useTheme();\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const inputRef = useFocusVisibleRef([containerRef]);\r\n \r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef])\r\n\r\n /**\r\n * Scroll container to last item on change\r\n * */\r\n React.useEffect(() => {\r\n if (inputRef.current && document.activeElement === inputRef.current) {\r\n inputRef.current.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }\r\n }, [containerRef, inputRef, items]);\r\n\r\n /**\r\n * Remove last cheap on backspace\r\n * */\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Backspace' && !inputRef.current?.value && !e.repeat && items.length > 0) {\r\n onRemoveItem(items[items.length - 1], items.length - 1);\r\n } else {\r\n onInputKeyDown(e);\r\n }\r\n };\r\n\r\n const handleItemRemove = (event: any, item: ChipItem, index: number) => {\r\n onRemoveItem(item, index);\r\n inputRef.current?.focus({focusVisible: event.detail !== 1} as any);\r\n };\r\n\r\n const handleInputClear = (e: any) => {\r\n onInputValueChange('');\r\n inputRef.current?.focus({focusVisible: e?.detail !== 1} as any);\r\n };\r\n\r\n const handleContainerKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (!containerRef.current || (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight')) return;\r\n\r\n const items = containerRef.current.querySelectorAll('[tabindex=\"0\"]') as NodeListOf<HTMLElement>;\r\n const currentIndex = Array.from(items).indexOf(e.target as any);\r\n const direction = e.key === 'ArrowLeft' ? -1 : 1;\r\n const item = items[currentIndex + direction];\r\n item?.focus({focusVisible: true} as any);\r\n\r\n onActivationChange && onActivationChange(false);\r\n };\r\n\r\n const cls = `${multiLine ? 'multiline' : ''} ${validationMessage ? 'invalid' : ''} ${size} ${loading ? 'loading' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper onBlur={onBlur}>\r\n <ChipInputContainer\r\n data-testid=\"chip-input-container\"\r\n ref={containerRef}\r\n onKeyDown={handleContainerKeyDown}\r\n onClick={() => !disabled && inputRef.current?.focus()}\r\n className={cls}>\r\n <ChipInputContentContainer>\r\n {items?.map((chip: ChipItem, index: number) => (\r\n <InputChip\r\n key={`chip_${index}`}\r\n icon={chip?.icon}\r\n size={size}\r\n disabled={chip.disabled || disabled}\r\n variant={chip.variant || States.Default}\r\n text={chip.label}\r\n onRemove={(e) => handleItemRemove(e, chip, index)}\r\n />\r\n ))}\r\n <ChipInputBoundItems>\r\n <ChipInputEl\r\n ref={inputRef}\r\n type=\"text\"\r\n id={inputId}\r\n required={required}\r\n tabIndex={disabled ? -1 : 0}\r\n value={inputValue}\r\n onChange={(e) => onInputValueChange(e.target.value)}\r\n onKeyDown={handleInputKeyDown}\r\n placeholder={items?.length === 0 ? placeholder : altPlaceholder || ''}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n onActivationChange && onActivationChange(true);\r\n }}\r\n {...rest}\r\n />\r\n {inputValue && !disabled && (\r\n <IconButton\r\n id={`clear-btn-${inputId}`}\r\n dataTestId={`clear-btn-${inputId}`}\r\n action={handleInputClear}\r\n ref={(ref) => {\r\n ref?.scrollIntoView({\r\n block: 'nearest',\r\n inline: 'nearest',\r\n });\r\n }}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n style={{marginLeft: '-8px'}}\r\n focusOnClick={true}\r\n variant={'secondary'}>\r\n <SystemIcons.Clear/>\r\n </IconButton>\r\n )}\r\n\r\n {loading && (\r\n <Loading className={size}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, theme)}/>\r\n </Loading>\r\n )}\r\n </ChipInputBoundItems>\r\n </ChipInputContentContainer>\r\n </ChipInputContainer>\r\n {validationMessage && (\r\n <ErrorMessage>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)}/>\r\n <span>{validationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n </Wrapper>\r\n );\r\n },\r\n);\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ import React from 'react';
2
+ import {act, fireEvent, render, RenderResult} from '../../test-utils';
3
+ import {ChipDropdownInput} from '../..';
4
+ import '../../../jest.setup';
5
+
6
+ const list = ['Contact', 'About', 'Base', 'Blog', 'Custom', 'Support', 'Tools'];
7
+
8
+
9
+
10
+ describe('<ChipDropdownInput />', () => {
11
+ it('Renders with no default values and no items available', 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
+ <ChipDropdownInput inputId="test_chip" list={[]} values={[]} onValueChange={(input) => {
19
+ }} placeholder="Search" altPlaceholder="" messageOnNoResults="No results found"/>,
20
+ );
21
+ });
22
+ //check correct placeholder displayed
23
+ expect(componentResult!.getByPlaceholderText('Search') as HTMLInputElement).toBeTruthy();
24
+ //check chip input with provided id rendered
25
+ expect(componentResult!.container.querySelector('input[id="test_chip"]')).toBeTruthy();
26
+ //check no initial value displayed
27
+ expect((componentResult!.getByPlaceholderText('Search') as HTMLInputElement).value).toBe('');
28
+ });
29
+
30
+ it('Renders with default values and items available', async () => {
31
+ let componentResult: RenderResult;
32
+ await act(async () => {
33
+ componentResult = render(
34
+ <ChipDropdownInput
35
+ inputId="test_chip"
36
+ list={list}
37
+ values={['Support']}
38
+ onValueChange={(input) => {
39
+ }}
40
+ placeholder="Search"
41
+ altPlaceholder="Type to search"
42
+ messageOnNoResults="No results found"
43
+ />,
44
+ );
45
+ });
46
+ //check alt placeholder displayed when list values
47
+ expect(componentResult!.getByPlaceholderText('Type to search') as HTMLInputElement).toBeTruthy();
48
+ //check correct initial value displayed
49
+ expect(componentResult!.getByText('Support')).toBeTruthy();
50
+ });
51
+
52
+ it('Renders dropdown on input click', async () => {
53
+ const wrapper = render(
54
+ <ChipDropdownInput
55
+ inputId="test_chip"
56
+ list={list}
57
+ values={['Support']}
58
+ onValueChange={(input) => {
59
+ }}
60
+ placeholder="Search"
61
+ altPlaceholder="Type to search"
62
+ messageOnNoResults="No results found"
63
+ />,
64
+ );
65
+
66
+ act(() => {
67
+ fireEvent.click(wrapper.getByPlaceholderText('Type to search'));
68
+ });
69
+
70
+ expect(wrapper.container.querySelector('.show')).toBeInTheDocument();
71
+ });
72
+
73
+ it('Renders dropdown and items are filtered by search criteria', () => {
74
+ const changeMock = jest.fn();
75
+
76
+ const wrapper = render(
77
+ <ChipDropdownInput
78
+ inputId="test_chip"
79
+ list={list}
80
+ values={[]}
81
+ onValueChange={changeMock}
82
+ placeholder="Search"
83
+ altPlaceholder="Type to search"
84
+ messageOnNoResults="No results found"
85
+ />,
86
+ );
87
+
88
+ act(() => {
89
+ fireEvent.change(wrapper.getByPlaceholderText('Search'), {target: {value: 'b'}});
90
+ });
91
+
92
+ list.filter((item) => item.toLowerCase().includes('b')).forEach((item) => {
93
+ expect(wrapper.queryByText(item)).toBeInTheDocument();
94
+ });
95
+
96
+ list.filter((item) => !item.toLowerCase().includes('b')).forEach((item) => {
97
+ expect(wrapper.queryByText(item)).not.toBeInTheDocument();
98
+ });
99
+ });
100
+ });
@@ -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
  })]