@laerdal/life-react-components 6.0.0-dev.1.full → 6.0.0-dev.10.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 (337) 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/styles.cjs +51 -13
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +51 -13
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +38 -34
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.d.ts +2 -3
  12. package/dist/Banners/Banner.js +38 -34
  13. package/dist/Banners/Banner.js.map +1 -1
  14. package/dist/Banners/styles.cjs +8 -16
  15. package/dist/Banners/styles.cjs.map +1 -1
  16. package/dist/Banners/styles.js +8 -16
  17. package/dist/Banners/styles.js.map +1 -1
  18. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  19. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  20. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  21. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  22. package/dist/Breadcrumb/styles.cjs +15 -4
  23. package/dist/Breadcrumb/styles.cjs.map +1 -1
  24. package/dist/Breadcrumb/styles.js +15 -4
  25. package/dist/Breadcrumb/styles.js.map +1 -1
  26. package/dist/Button/BackButton.cjs +27 -6
  27. package/dist/Button/BackButton.cjs.map +1 -1
  28. package/dist/Button/BackButton.js +27 -6
  29. package/dist/Button/BackButton.js.map +1 -1
  30. package/dist/Button/Button.cjs +179 -47
  31. package/dist/Button/Button.cjs.map +1 -1
  32. package/dist/Button/Button.d.ts +2 -0
  33. package/dist/Button/Button.js +179 -47
  34. package/dist/Button/Button.js.map +1 -1
  35. package/dist/Button/Iconbutton.cjs +83 -21
  36. package/dist/Button/Iconbutton.cjs.map +1 -1
  37. package/dist/Button/Iconbutton.js +83 -21
  38. package/dist/Button/Iconbutton.js.map +1 -1
  39. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  40. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  41. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  42. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  43. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  44. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  45. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  46. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  47. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  48. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  49. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  50. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  51. package/dist/Card/VerticalCard/Card.cjs +20 -5
  52. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  53. package/dist/Card/VerticalCard/Card.js +20 -5
  54. package/dist/Card/VerticalCard/Card.js.map +1 -1
  55. package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
  56. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  57. package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
  58. package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
  59. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  60. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  61. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  62. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  63. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  64. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  65. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  66. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  67. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  68. package/dist/Chips/ChipStyles.cjs +4 -1
  69. package/dist/Chips/ChipStyles.cjs.map +1 -1
  70. package/dist/Chips/ChipStyles.js +4 -1
  71. package/dist/Chips/ChipStyles.js.map +1 -1
  72. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  73. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  74. package/dist/ChipsInput/ChipInputField.js +16 -4
  75. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  76. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  77. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  78. package/dist/Dropdown/BasicDropdown.js +12 -3
  79. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  80. package/dist/Dropdown/CommonStyling.cjs +172 -42
  81. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  82. package/dist/Dropdown/CommonStyling.js +172 -42
  83. package/dist/Dropdown/CommonStyling.js.map +1 -1
  84. package/dist/Dropdown/DropdownContent.cjs +36 -10
  85. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  86. package/dist/Dropdown/DropdownContent.js +36 -10
  87. package/dist/Dropdown/DropdownContent.js.map +1 -1
  88. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  89. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  90. package/dist/Dropdown/DropdownFilter.js +12 -3
  91. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  92. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  93. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  94. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  95. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  96. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  97. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  98. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  99. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  100. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  101. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  102. package/dist/HyperLink/styling.cjs +38 -8
  103. package/dist/HyperLink/styling.cjs.map +1 -1
  104. package/dist/HyperLink/styling.js +38 -8
  105. package/dist/HyperLink/styling.js.map +1 -1
  106. package/dist/InputFields/Checkbox.cjs +54 -14
  107. package/dist/InputFields/Checkbox.cjs.map +1 -1
  108. package/dist/InputFields/Checkbox.js +54 -14
  109. package/dist/InputFields/Checkbox.js.map +1 -1
  110. package/dist/InputFields/DatepickerField.cjs +149 -43
  111. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  112. package/dist/InputFields/DatepickerField.d.ts +1 -1
  113. package/dist/InputFields/DatepickerField.js +150 -44
  114. package/dist/InputFields/DatepickerField.js.map +1 -1
  115. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  116. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  117. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  118. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  119. package/dist/InputFields/Label.cjs +38 -11
  120. package/dist/InputFields/Label.cjs.map +1 -1
  121. package/dist/InputFields/Label.js +38 -11
  122. package/dist/InputFields/Label.js.map +1 -1
  123. package/dist/InputFields/NumberField.cjs +66 -16
  124. package/dist/InputFields/NumberField.cjs.map +1 -1
  125. package/dist/InputFields/NumberField.js +66 -16
  126. package/dist/InputFields/NumberField.js.map +1 -1
  127. package/dist/InputFields/PasswordField.cjs +4 -1
  128. package/dist/InputFields/PasswordField.cjs.map +1 -1
  129. package/dist/InputFields/PasswordField.d.ts +1 -1
  130. package/dist/InputFields/PasswordField.js +4 -1
  131. package/dist/InputFields/PasswordField.js.map +1 -1
  132. package/dist/InputFields/QuickSearch.cjs +30 -6
  133. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  134. package/dist/InputFields/QuickSearch.js +30 -6
  135. package/dist/InputFields/QuickSearch.js.map +1 -1
  136. package/dist/InputFields/RadioButton.cjs +63 -15
  137. package/dist/InputFields/RadioButton.cjs.map +1 -1
  138. package/dist/InputFields/RadioButton.js +63 -15
  139. package/dist/InputFields/RadioButton.js.map +1 -1
  140. package/dist/InputFields/RichTextField.cjs +60 -15
  141. package/dist/InputFields/RichTextField.cjs.map +1 -1
  142. package/dist/InputFields/RichTextField.js +60 -15
  143. package/dist/InputFields/RichTextField.js.map +1 -1
  144. package/dist/InputFields/SearchBar.cjs +4 -1
  145. package/dist/InputFields/SearchBar.cjs.map +1 -1
  146. package/dist/InputFields/SearchBar.js +4 -1
  147. package/dist/InputFields/SearchBar.js.map +1 -1
  148. package/dist/InputFields/TextField.cjs +9 -3
  149. package/dist/InputFields/TextField.cjs.map +1 -1
  150. package/dist/InputFields/TextField.d.ts +1 -1
  151. package/dist/InputFields/TextField.js +9 -3
  152. package/dist/InputFields/TextField.js.map +1 -1
  153. package/dist/InputFields/Textarea.cjs +68 -17
  154. package/dist/InputFields/Textarea.cjs.map +1 -1
  155. package/dist/InputFields/Textarea.js +68 -17
  156. package/dist/InputFields/Textarea.js.map +1 -1
  157. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  158. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  159. package/dist/InputFields/components/SearchBarInput.js +28 -7
  160. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  161. package/dist/InputFields/components/SearchField.cjs +60 -15
  162. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  163. package/dist/InputFields/components/SearchField.js +60 -15
  164. package/dist/InputFields/components/SearchField.js.map +1 -1
  165. package/dist/InputFields/styling.cjs +95 -39
  166. package/dist/InputFields/styling.cjs.map +1 -1
  167. package/dist/InputFields/styling.d.ts +1 -2
  168. package/dist/InputFields/styling.js +95 -39
  169. package/dist/InputFields/styling.js.map +1 -1
  170. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  171. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  172. package/dist/LinearProgress/LinearProgress.js +161 -53
  173. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  174. package/dist/List/ListRow.cjs +36 -9
  175. package/dist/List/ListRow.cjs.map +1 -1
  176. package/dist/List/ListRow.js +36 -9
  177. package/dist/List/ListRow.js.map +1 -1
  178. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  179. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  180. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  181. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  182. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  183. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  184. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  185. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  186. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  187. package/dist/MenuItem/MenuItem.cjs +101 -26
  188. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  189. package/dist/MenuItem/MenuItem.js +101 -26
  190. package/dist/MenuItem/MenuItem.js.map +1 -1
  191. package/dist/Modals/Modal.cjs +4 -1
  192. package/dist/Modals/Modal.cjs.map +1 -1
  193. package/dist/Modals/Modal.js +4 -1
  194. package/dist/Modals/Modal.js.map +1 -1
  195. package/dist/Modals/ModalContent.cjs +24 -6
  196. package/dist/Modals/ModalContent.cjs.map +1 -1
  197. package/dist/Modals/ModalContent.js +24 -6
  198. package/dist/Modals/ModalContent.js.map +1 -1
  199. package/dist/Modals/ModalDialog.cjs +12 -3
  200. package/dist/Modals/ModalDialog.cjs.map +1 -1
  201. package/dist/Modals/ModalDialog.js +12 -3
  202. package/dist/Modals/ModalDialog.js.map +1 -1
  203. package/dist/Modals/ModalNote.cjs +16 -4
  204. package/dist/Modals/ModalNote.cjs.map +1 -1
  205. package/dist/Modals/ModalNote.js +16 -4
  206. package/dist/Modals/ModalNote.js.map +1 -1
  207. package/dist/Modals/ModalStyles.cjs +44 -11
  208. package/dist/Modals/ModalStyles.cjs.map +1 -1
  209. package/dist/Modals/ModalStyles.js +44 -11
  210. package/dist/Modals/ModalStyles.js.map +1 -1
  211. package/dist/NavItem/NavItem.cjs +4 -1
  212. package/dist/NavItem/NavItem.cjs.map +1 -1
  213. package/dist/NavItem/NavItem.js +4 -1
  214. package/dist/NavItem/NavItem.js.map +1 -1
  215. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  216. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  217. package/dist/NotificationDot/NotificationDot.js +17 -2
  218. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  219. package/dist/Paginator/Paginator.cjs +76 -29
  220. package/dist/Paginator/Paginator.cjs.map +1 -1
  221. package/dist/Paginator/Paginator.js +76 -29
  222. package/dist/Paginator/Paginator.js.map +1 -1
  223. package/dist/Panel/Panel.cjs +4 -1
  224. package/dist/Panel/Panel.cjs.map +1 -1
  225. package/dist/Panel/Panel.js +4 -1
  226. package/dist/Panel/Panel.js.map +1 -1
  227. package/dist/Popover/Popover.cjs +22 -3
  228. package/dist/Popover/Popover.cjs.map +1 -1
  229. package/dist/Popover/Popover.js +22 -3
  230. package/dist/Popover/Popover.js.map +1 -1
  231. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  232. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  233. package/dist/ProfileButton/ProfileButton.js +9 -2
  234. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  235. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  236. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  237. package/dist/SegmentControl/SegmentControl.js +46 -11
  238. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  239. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  240. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  241. package/dist/SideMenu/SideMenuHeader.js +12 -3
  242. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  243. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  244. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  245. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  246. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  247. package/dist/Table/TableFooter.cjs +8 -2
  248. package/dist/Table/TableFooter.cjs.map +1 -1
  249. package/dist/Table/TableFooter.js +8 -2
  250. package/dist/Table/TableFooter.js.map +1 -1
  251. package/dist/Table/TableStyles.cjs +132 -33
  252. package/dist/Table/TableStyles.cjs.map +1 -1
  253. package/dist/Table/TableStyles.js +132 -33
  254. package/dist/Table/TableStyles.js.map +1 -1
  255. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  256. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  257. package/dist/Tabs/HorizontalTabs.js +68 -18
  258. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  259. package/dist/Tabs/TabLink.cjs +4 -1
  260. package/dist/Tabs/TabLink.cjs.map +1 -1
  261. package/dist/Tabs/TabLink.js +4 -1
  262. package/dist/Tabs/TabLink.js.map +1 -1
  263. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  264. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  265. package/dist/Tag/Tag.cjs +2 -2
  266. package/dist/Tag/Tag.cjs.map +1 -1
  267. package/dist/Tag/Tag.js +2 -2
  268. package/dist/Tag/Tag.js.map +1 -1
  269. package/dist/Tile/Tile.cjs +8 -2
  270. package/dist/Tile/Tile.cjs.map +1 -1
  271. package/dist/Tile/Tile.js +8 -2
  272. package/dist/Tile/Tile.js.map +1 -1
  273. package/dist/Tile/TileCommonItems.cjs +8 -2
  274. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  275. package/dist/Tile/TileCommonItems.js +8 -2
  276. package/dist/Tile/TileCommonItems.js.map +1 -1
  277. package/dist/Tile/TileFooter.cjs +4 -1
  278. package/dist/Tile/TileFooter.cjs.map +1 -1
  279. package/dist/Tile/TileFooter.js +4 -1
  280. package/dist/Tile/TileFooter.js.map +1 -1
  281. package/dist/Tile/TileHeader.cjs +12 -3
  282. package/dist/Tile/TileHeader.cjs.map +1 -1
  283. package/dist/Tile/TileHeader.js +12 -3
  284. package/dist/Tile/TileHeader.js.map +1 -1
  285. package/dist/Toasters/Toast.cjs +62 -13
  286. package/dist/Toasters/Toast.cjs.map +1 -1
  287. package/dist/Toasters/Toast.js +62 -13
  288. package/dist/Toasters/Toast.js.map +1 -1
  289. package/dist/Toggles/ToggleButton.cjs +9 -3
  290. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  291. package/dist/Toggles/ToggleButton.d.ts +1 -1
  292. package/dist/Toggles/ToggleButton.js +9 -3
  293. package/dist/Toggles/ToggleButton.js.map +1 -1
  294. package/dist/Toggles/TogglerStyles.cjs +22 -8
  295. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  296. package/dist/Toggles/TogglerStyles.js +22 -8
  297. package/dist/Toggles/TogglerStyles.js.map +1 -1
  298. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  299. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  300. package/dist/Tooltips/TooltipStyles.js +28 -6
  301. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  302. package/dist/common/InputStyling.cjs +30 -7
  303. package/dist/common/InputStyling.cjs.map +1 -1
  304. package/dist/common/InputStyling.js +30 -7
  305. package/dist/common/InputStyling.js.map +1 -1
  306. package/dist/common/Link.cjs +45 -0
  307. package/dist/common/Link.cjs.map +1 -0
  308. package/dist/common/Link.d.ts +9 -0
  309. package/dist/common/Link.js +37 -0
  310. package/dist/common/Link.js.map +1 -0
  311. package/dist/common/NavigationHelper.cjs +30 -0
  312. package/dist/common/NavigationHelper.cjs.map +1 -0
  313. package/dist/common/NavigationHelper.d.ts +4 -0
  314. package/dist/common/NavigationHelper.js +23 -0
  315. package/dist/common/NavigationHelper.js.map +1 -0
  316. package/dist/custom.d.ts +2 -0
  317. package/dist/styles/colors.cjs +439 -84
  318. package/dist/styles/colors.cjs.map +1 -1
  319. package/dist/styles/colors.d.ts +200 -11
  320. package/dist/styles/colors.js +439 -84
  321. package/dist/styles/colors.js.map +1 -1
  322. package/dist/styles/global.cjs +19 -2
  323. package/dist/styles/global.cjs.map +1 -1
  324. package/dist/styles/global.d.ts +3 -2
  325. package/dist/styles/global.js +18 -3
  326. package/dist/styles/global.js.map +1 -1
  327. package/dist/styles/index.cjs +21 -9
  328. package/dist/styles/index.cjs.map +1 -1
  329. package/dist/styles/index.d.ts +2 -2
  330. package/dist/styles/index.js +18 -6
  331. package/dist/styles/index.js.map +1 -1
  332. package/dist/utils/color-tokens.cjs +91 -0
  333. package/dist/utils/color-tokens.cjs.map +1 -0
  334. package/dist/utils/color-tokens.d.ts +19 -0
  335. package/dist/utils/color-tokens.js +82 -0
  336. package/dist/utils/color-tokens.js.map +1 -0
  337. package/package.json +143 -141
@@ -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":[]}