@laerdal/life-react-components 1.7.0 → 1.8.0-dev.10

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 (471) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +1 -1
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +2 -2
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +1 -1
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +2 -2
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +3 -3
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.js +3 -3
  12. package/dist/Banners/Banner.js.map +1 -1
  13. package/dist/Banners/styles.cjs +1 -1
  14. package/dist/Banners/styles.cjs.map +1 -1
  15. package/dist/Banners/styles.js +1 -1
  16. package/dist/Banners/styles.js.map +1 -1
  17. package/dist/Breadcrumb/Breadcrumb.cjs +1 -0
  18. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  19. package/dist/Breadcrumb/Breadcrumb.js +1 -0
  20. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  21. package/dist/Button/BackButton.cjs +5 -2
  22. package/dist/Button/BackButton.cjs.map +1 -1
  23. package/dist/Button/BackButton.js +5 -3
  24. package/dist/Button/BackButton.js.map +1 -1
  25. package/dist/Button/Button.cjs +14 -28
  26. package/dist/Button/Button.cjs.map +1 -1
  27. package/dist/Button/Button.d.ts +3 -2
  28. package/dist/Button/Button.js +15 -29
  29. package/dist/Button/Button.js.map +1 -1
  30. package/dist/Button/DualFunctionButton.cjs +30 -8
  31. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  32. package/dist/Button/DualFunctionButton.js +28 -7
  33. package/dist/Button/DualFunctionButton.js.map +1 -1
  34. package/dist/Button/Iconbutton.cjs +23 -32
  35. package/dist/Button/Iconbutton.cjs.map +1 -1
  36. package/dist/Button/Iconbutton.d.ts +3 -0
  37. package/dist/Button/Iconbutton.js +20 -32
  38. package/dist/Button/Iconbutton.js.map +1 -1
  39. package/dist/Card/Card.cjs +28 -44
  40. package/dist/Card/Card.cjs.map +1 -1
  41. package/dist/Card/Card.d.ts +3 -11
  42. package/dist/Card/Card.js +26 -44
  43. package/dist/Card/Card.js.map +1 -1
  44. package/dist/Card/CardBottomSection.cjs +33 -24
  45. package/dist/Card/CardBottomSection.cjs.map +1 -1
  46. package/dist/Card/CardBottomSection.d.ts +11 -2
  47. package/dist/Card/CardBottomSection.js +17 -24
  48. package/dist/Card/CardBottomSection.js.map +1 -1
  49. package/dist/Card/CardMiddleSection.cjs +38 -17
  50. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  51. package/dist/Card/CardMiddleSection.d.ts +16 -3
  52. package/dist/Card/CardMiddleSection.js +30 -17
  53. package/dist/Card/CardMiddleSection.js.map +1 -1
  54. package/dist/Card/CardTopSection.cjs +27 -20
  55. package/dist/Card/CardTopSection.cjs.map +1 -1
  56. package/dist/Card/CardTopSection.d.ts +12 -4
  57. package/dist/Card/CardTopSection.js +17 -20
  58. package/dist/Card/CardTopSection.js.map +1 -1
  59. package/dist/Card/index.cjs +45 -9
  60. package/dist/Card/index.cjs.map +1 -1
  61. package/dist/Card/index.d.ts +3 -1
  62. package/dist/Card/index.js +3 -1
  63. package/dist/Card/index.js.map +1 -1
  64. package/dist/Chips/ActionChip.cjs +4 -4
  65. package/dist/Chips/ActionChip.cjs.map +1 -1
  66. package/dist/Chips/ActionChip.js +4 -4
  67. package/dist/Chips/ActionChip.js.map +1 -1
  68. package/dist/Chips/ChipStyles.cjs +5 -17
  69. package/dist/Chips/ChipStyles.cjs.map +1 -1
  70. package/dist/Chips/ChipStyles.d.ts +0 -3
  71. package/dist/Chips/ChipStyles.js +5 -8
  72. package/dist/Chips/ChipStyles.js.map +1 -1
  73. package/dist/Chips/ChipTypes.d.ts +8 -20
  74. package/dist/Chips/ChoiceChips.cjs +2 -2
  75. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  76. package/dist/Chips/ChoiceChips.js +2 -2
  77. package/dist/Chips/ChoiceChips.js.map +1 -1
  78. package/dist/Chips/FilterChip.cjs +3 -3
  79. package/dist/Chips/FilterChip.cjs.map +1 -1
  80. package/dist/Chips/FilterChip.js +3 -3
  81. package/dist/Chips/FilterChip.js.map +1 -1
  82. package/dist/Chips/InputChip.cjs +21 -12
  83. package/dist/Chips/InputChip.cjs.map +1 -1
  84. package/dist/Chips/InputChip.js +21 -13
  85. package/dist/Chips/InputChip.js.map +1 -1
  86. package/dist/Chips/index.cjs +1 -1
  87. package/dist/Chips/index.cjs.map +1 -1
  88. package/dist/Chips/index.d.ts +1 -1
  89. package/dist/Chips/index.js +1 -1
  90. package/dist/Chips/index.js.map +1 -1
  91. package/dist/ChipsInput/ChipDropdownInput.cjs +400 -0
  92. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -0
  93. package/dist/ChipsInput/ChipDropdownInput.d.ts +21 -0
  94. package/dist/ChipsInput/ChipDropdownInput.js +382 -0
  95. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -0
  96. package/dist/ChipsInput/ChipInput.cjs +139 -0
  97. package/dist/ChipsInput/ChipInput.cjs.map +1 -0
  98. package/dist/{Chips → ChipsInput}/ChipInput.d.ts +1 -4
  99. package/dist/ChipsInput/ChipInput.js +120 -0
  100. package/dist/ChipsInput/ChipInput.js.map +1 -0
  101. package/dist/ChipsInput/ChipInputField.cjs +232 -0
  102. package/dist/ChipsInput/ChipInputField.cjs.map +1 -0
  103. package/dist/ChipsInput/ChipInputField.d.ts +25 -0
  104. package/dist/ChipsInput/ChipInputField.js +192 -0
  105. package/dist/ChipsInput/ChipInputField.js.map +1 -0
  106. package/dist/ChipsInput/ChipInputTypes.cjs +6 -0
  107. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -0
  108. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -0
  109. package/dist/ChipsInput/ChipInputTypes.js +2 -0
  110. package/dist/ChipsInput/ChipInputTypes.js.map +1 -0
  111. package/dist/ChipsInput/index.cjs +19 -0
  112. package/dist/ChipsInput/index.cjs.map +1 -0
  113. package/dist/ChipsInput/index.d.ts +1 -0
  114. package/dist/ChipsInput/index.js +2 -0
  115. package/dist/ChipsInput/index.js.map +1 -0
  116. package/dist/Dropdown/BasicDropdown.cjs +40 -20
  117. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  118. package/dist/Dropdown/BasicDropdown.d.ts +2 -2
  119. package/dist/Dropdown/BasicDropdown.js +43 -22
  120. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  121. package/dist/Dropdown/CommonStyling.cjs +32 -18
  122. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  123. package/dist/Dropdown/CommonStyling.d.ts +7 -6
  124. package/dist/Dropdown/CommonStyling.js +18 -17
  125. package/dist/Dropdown/CommonStyling.js.map +1 -1
  126. package/dist/Dropdown/DropdownButton.cjs +94 -29
  127. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  128. package/dist/Dropdown/DropdownButton.d.ts +1 -1
  129. package/dist/Dropdown/DropdownButton.js +89 -29
  130. package/dist/Dropdown/DropdownButton.js.map +1 -1
  131. package/dist/Dropdown/DropdownButtonTypes.d.ts +16 -5
  132. package/dist/Dropdown/DropdownContent.cjs +167 -132
  133. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  134. package/dist/Dropdown/DropdownContent.d.ts +2 -2
  135. package/dist/Dropdown/DropdownContent.js +164 -133
  136. package/dist/Dropdown/DropdownContent.js.map +1 -1
  137. package/dist/Dropdown/DropdownFilter.cjs +135 -153
  138. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  139. package/dist/Dropdown/DropdownFilter.d.ts +9 -15
  140. package/dist/Dropdown/DropdownFilter.js +133 -153
  141. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  142. package/dist/Dropdown/index.cjs +0 -8
  143. package/dist/Dropdown/index.cjs.map +1 -1
  144. package/dist/Dropdown/index.d.ts +1 -2
  145. package/dist/Dropdown/index.js +1 -2
  146. package/dist/Dropdown/index.js.map +1 -1
  147. package/dist/Footer/Components/FooterDropdownLinks.cjs +6 -3
  148. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  149. package/dist/Footer/Components/FooterDropdownLinks.js +6 -4
  150. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  151. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +5 -3
  152. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  153. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +5 -4
  154. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  155. package/dist/Footer/Components/FooterTop.cjs +2 -1
  156. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  157. package/dist/Footer/Components/FooterTop.js +3 -2
  158. package/dist/Footer/Components/FooterTop.js.map +1 -1
  159. package/dist/GlobalNavigationBar/Avatar.cjs +5 -7
  160. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
  161. package/dist/GlobalNavigationBar/Avatar.js +5 -8
  162. package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
  163. package/dist/GlobalNavigationBar/Logo.cjs +9 -6
  164. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  165. package/dist/GlobalNavigationBar/Logo.d.ts +2 -1
  166. package/dist/GlobalNavigationBar/Logo.js +9 -7
  167. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  168. package/dist/GlobalNavigationBar/MainMenu.cjs +10 -13
  169. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
  170. package/dist/GlobalNavigationBar/MainMenu.js +9 -13
  171. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
  172. package/dist/GlobalNavigationBar/RightSideNav.cjs +3 -5
  173. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
  174. package/dist/GlobalNavigationBar/RightSideNav.js +2 -5
  175. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
  176. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +4 -0
  177. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -1
  178. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +3 -0
  179. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +1 -1
  180. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
  181. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  182. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  183. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  184. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  185. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  186. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  187. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  188. package/dist/HyperLink/styling.cjs +1 -1
  189. package/dist/HyperLink/styling.cjs.map +1 -1
  190. package/dist/HyperLink/styling.js +1 -1
  191. package/dist/HyperLink/styling.js.map +1 -1
  192. package/dist/Image/ImageWithFallbacks.cjs +3 -1
  193. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  194. package/dist/Image/ImageWithFallbacks.js +3 -1
  195. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  196. package/dist/InputFields/Checkbox.cjs +20 -17
  197. package/dist/InputFields/Checkbox.cjs.map +1 -1
  198. package/dist/InputFields/Checkbox.d.ts +4 -3
  199. package/dist/InputFields/Checkbox.js +21 -18
  200. package/dist/InputFields/Checkbox.js.map +1 -1
  201. package/dist/InputFields/DatepickerField.cjs +15 -17
  202. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  203. package/dist/InputFields/DatepickerField.d.ts +3 -3
  204. package/dist/InputFields/DatepickerField.js +16 -22
  205. package/dist/InputFields/DatepickerField.js.map +1 -1
  206. package/dist/InputFields/NumberField.cjs +276 -0
  207. package/dist/InputFields/NumberField.cjs.map +1 -0
  208. package/dist/InputFields/NumberField.d.ts +21 -0
  209. package/dist/InputFields/NumberField.js +240 -0
  210. package/dist/InputFields/NumberField.js.map +1 -0
  211. package/dist/InputFields/PasswordField.cjs +21 -17
  212. package/dist/InputFields/PasswordField.cjs.map +1 -1
  213. package/dist/InputFields/PasswordField.d.ts +2 -3
  214. package/dist/InputFields/PasswordField.js +19 -15
  215. package/dist/InputFields/PasswordField.js.map +1 -1
  216. package/dist/InputFields/QuickSearch.cjs +119 -96
  217. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  218. package/dist/InputFields/QuickSearch.js +119 -96
  219. package/dist/InputFields/QuickSearch.js.map +1 -1
  220. package/dist/InputFields/RadioButton.cjs +14 -13
  221. package/dist/InputFields/RadioButton.cjs.map +1 -1
  222. package/dist/InputFields/RadioButton.d.ts +2 -1
  223. package/dist/InputFields/RadioButton.js +16 -13
  224. package/dist/InputFields/RadioButton.js.map +1 -1
  225. package/dist/InputFields/SearchBar.cjs +5 -5
  226. package/dist/InputFields/SearchBar.cjs.map +1 -1
  227. package/dist/InputFields/SearchBar.js +6 -6
  228. package/dist/InputFields/SearchBar.js.map +1 -1
  229. package/dist/InputFields/TextField.cjs +12 -27
  230. package/dist/InputFields/TextField.cjs.map +1 -1
  231. package/dist/InputFields/TextField.d.ts +4 -6
  232. package/dist/InputFields/TextField.js +12 -27
  233. package/dist/InputFields/TextField.js.map +1 -1
  234. package/dist/InputFields/Textarea.cjs +3 -14
  235. package/dist/InputFields/Textarea.cjs.map +1 -1
  236. package/dist/InputFields/Textarea.d.ts +0 -1
  237. package/dist/InputFields/Textarea.js +5 -14
  238. package/dist/InputFields/Textarea.js.map +1 -1
  239. package/dist/InputFields/components/SearchBarInput.cjs +6 -8
  240. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  241. package/dist/InputFields/components/SearchBarInput.d.ts +0 -3
  242. package/dist/InputFields/components/SearchBarInput.js +4 -5
  243. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  244. package/dist/InputFields/components/SearchField.cjs +29 -21
  245. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  246. package/dist/InputFields/components/SearchField.d.ts +8 -8
  247. package/dist/InputFields/components/SearchField.js +25 -19
  248. package/dist/InputFields/components/SearchField.js.map +1 -1
  249. package/dist/InputFields/index.cjs +8 -0
  250. package/dist/InputFields/index.cjs.map +1 -1
  251. package/dist/InputFields/index.d.ts +2 -1
  252. package/dist/InputFields/index.js +2 -1
  253. package/dist/InputFields/index.js.map +1 -1
  254. package/dist/InputFields/styling.cjs +16 -26
  255. package/dist/InputFields/styling.cjs.map +1 -1
  256. package/dist/InputFields/styling.d.ts +3 -6
  257. package/dist/InputFields/styling.js +15 -23
  258. package/dist/InputFields/styling.js.map +1 -1
  259. package/dist/List/ListRow.cjs +6 -5
  260. package/dist/List/ListRow.cjs.map +1 -1
  261. package/dist/List/ListRow.js +9 -5
  262. package/dist/List/ListRow.js.map +1 -1
  263. package/dist/LoadingIndicator/LoadingIndicator.cjs +6 -1
  264. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  265. package/dist/LoadingIndicator/LoadingIndicator.d.ts +2 -1
  266. package/dist/LoadingIndicator/LoadingIndicator.js +6 -1
  267. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  268. package/dist/MenuItem/MenuItem.cjs +6 -2
  269. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  270. package/dist/MenuItem/MenuItem.d.ts +1 -0
  271. package/dist/MenuItem/MenuItem.js +7 -3
  272. package/dist/MenuItem/MenuItem.js.map +1 -1
  273. package/dist/Modals/ModalContainer.cjs +78 -38
  274. package/dist/Modals/ModalContainer.cjs.map +1 -1
  275. package/dist/Modals/ModalContainer.d.ts +15 -8
  276. package/dist/Modals/ModalContainer.js +78 -36
  277. package/dist/Modals/ModalContainer.js.map +1 -1
  278. package/dist/Modals/ModalContent.cjs +0 -1
  279. package/dist/Modals/ModalContent.cjs.map +1 -1
  280. package/dist/Modals/ModalContent.d.ts +0 -1
  281. package/dist/Modals/ModalContent.js +0 -1
  282. package/dist/Modals/ModalContent.js.map +1 -1
  283. package/dist/Modals/ModalDialog.cjs +18 -26
  284. package/dist/Modals/ModalDialog.cjs.map +1 -1
  285. package/dist/Modals/ModalDialog.d.ts +1 -1
  286. package/dist/Modals/ModalDialog.js +19 -26
  287. package/dist/Modals/ModalDialog.js.map +1 -1
  288. package/dist/Modals/ModalStyles.cjs +33 -25
  289. package/dist/Modals/ModalStyles.cjs.map +1 -1
  290. package/dist/Modals/ModalStyles.d.ts +7 -1
  291. package/dist/Modals/ModalStyles.js +26 -24
  292. package/dist/Modals/ModalStyles.js.map +1 -1
  293. package/dist/NavItem/NavItem.cjs +1 -1
  294. package/dist/NavItem/NavItem.cjs.map +1 -1
  295. package/dist/NavItem/NavItem.js +2 -2
  296. package/dist/NavItem/NavItem.js.map +1 -1
  297. package/dist/Paginator/Paginator.cjs +1 -1
  298. package/dist/Paginator/Paginator.cjs.map +1 -1
  299. package/dist/Paginator/Paginator.js +2 -2
  300. package/dist/Paginator/Paginator.js.map +1 -1
  301. package/dist/QuizButton/QuizButton.cjs +4 -8
  302. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  303. package/dist/QuizButton/QuizButton.js +5 -9
  304. package/dist/QuizButton/QuizButton.js.map +1 -1
  305. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  306. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  307. package/dist/SegmentControl/SegmentControl.js +2 -2
  308. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  309. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  310. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  311. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  312. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  313. package/dist/Table/TableBody.cjs +1 -1
  314. package/dist/Table/TableBody.cjs.map +1 -1
  315. package/dist/Table/TableBody.js +1 -1
  316. package/dist/Table/TableBody.js.map +1 -1
  317. package/dist/Table/TableFooter.cjs +12 -14
  318. package/dist/Table/TableFooter.cjs.map +1 -1
  319. package/dist/Table/TableFooter.js +13 -15
  320. package/dist/Table/TableFooter.js.map +1 -1
  321. package/dist/Table/TableHeaders.cjs +1 -0
  322. package/dist/Table/TableHeaders.cjs.map +1 -1
  323. package/dist/Table/TableHeaders.js +1 -0
  324. package/dist/Table/TableHeaders.js.map +1 -1
  325. package/dist/Table/TableStyles.cjs +4 -4
  326. package/dist/Table/TableStyles.cjs.map +1 -1
  327. package/dist/Table/TableStyles.js +5 -5
  328. package/dist/Table/TableStyles.js.map +1 -1
  329. package/dist/Tabs/HorizontalTabs.cjs +5 -1
  330. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  331. package/dist/Tabs/HorizontalTabs.js +6 -3
  332. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  333. package/dist/Tabs/TabLink.cjs +48 -45
  334. package/dist/Tabs/TabLink.cjs.map +1 -1
  335. package/dist/Tabs/TabLink.js +47 -46
  336. package/dist/Tabs/TabLink.js.map +1 -1
  337. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  338. package/dist/Tabs/VerticalTabs.js.map +1 -1
  339. package/dist/Tile/Tile.cjs +61 -0
  340. package/dist/Tile/Tile.cjs.map +1 -0
  341. package/dist/Tile/Tile.d.ts +4 -0
  342. package/dist/Tile/Tile.js +43 -0
  343. package/dist/Tile/Tile.js.map +1 -0
  344. package/dist/Tile/TileBody.cjs +37 -0
  345. package/dist/Tile/TileBody.cjs.map +1 -0
  346. package/dist/Tile/TileBody.d.ts +6 -0
  347. package/dist/Tile/TileBody.js +22 -0
  348. package/dist/Tile/TileBody.js.map +1 -0
  349. package/dist/Tile/TileCommonItems.cjs +165 -0
  350. package/dist/Tile/TileCommonItems.cjs.map +1 -0
  351. package/dist/Tile/TileCommonItems.d.ts +9 -0
  352. package/dist/Tile/TileCommonItems.js +126 -0
  353. package/dist/Tile/TileCommonItems.js.map +1 -0
  354. package/dist/Tile/TileFooter.cjs +48 -0
  355. package/dist/Tile/TileFooter.cjs.map +1 -0
  356. package/dist/Tile/TileFooter.d.ts +7 -0
  357. package/dist/Tile/TileFooter.js +32 -0
  358. package/dist/Tile/TileFooter.js.map +1 -0
  359. package/dist/Tile/TileHeader.cjs +90 -0
  360. package/dist/Tile/TileHeader.cjs.map +1 -0
  361. package/dist/Tile/TileHeader.d.ts +7 -0
  362. package/dist/Tile/TileHeader.js +68 -0
  363. package/dist/Tile/TileHeader.js.map +1 -0
  364. package/dist/Tile/TileTypes.cjs +6 -0
  365. package/dist/Tile/TileTypes.cjs.map +1 -0
  366. package/dist/Tile/TileTypes.d.ts +57 -0
  367. package/dist/Tile/TileTypes.js +2 -0
  368. package/dist/Tile/TileTypes.js.map +1 -0
  369. package/dist/Tile/index.cjs +33 -0
  370. package/dist/Tile/index.cjs.map +1 -0
  371. package/dist/Tile/index.d.ts +3 -0
  372. package/dist/Tile/index.js +4 -0
  373. package/dist/Tile/index.js.map +1 -0
  374. package/dist/Toasters/Toast.cjs +2 -0
  375. package/dist/Toasters/Toast.cjs.map +1 -1
  376. package/dist/Toasters/Toast.js +2 -0
  377. package/dist/Toasters/Toast.js.map +1 -1
  378. package/dist/Toggles/ToggleButton.cjs +81 -0
  379. package/dist/Toggles/ToggleButton.cjs.map +1 -0
  380. package/dist/Toggles/ToggleButton.d.ts +14 -0
  381. package/dist/Toggles/ToggleButton.js +59 -0
  382. package/dist/Toggles/ToggleButton.js.map +1 -0
  383. package/dist/Toggles/ToggleSwitch.cjs +12 -6
  384. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  385. package/dist/Toggles/ToggleSwitch.js +11 -6
  386. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  387. package/dist/Toggles/TogglerStyles.cjs +2 -2
  388. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  389. package/dist/Toggles/TogglerStyles.js +3 -3
  390. package/dist/Toggles/TogglerStyles.js.map +1 -1
  391. package/dist/Toggles/index.cjs +8 -0
  392. package/dist/Toggles/index.cjs.map +1 -1
  393. package/dist/Toggles/index.d.ts +2 -1
  394. package/dist/Toggles/index.js +2 -1
  395. package/dist/Toggles/index.js.map +1 -1
  396. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  397. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  398. package/dist/Tooltips/TooltipStyles.js +3 -3
  399. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  400. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  401. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  402. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  403. package/dist/Tooltips/TooltipWrapper.cjs +2 -0
  404. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  405. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  406. package/dist/Tooltips/TooltipWrapper.js +2 -0
  407. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  408. package/dist/common/{HoverWithin.cjs → ActionWithin.cjs} +9 -5
  409. package/dist/common/ActionWithin.cjs.map +1 -0
  410. package/dist/common/{HoverWithin.d.ts → ActionWithin.d.ts} +0 -0
  411. package/dist/common/{HoverWithin.js → ActionWithin.js} +9 -5
  412. package/dist/common/ActionWithin.js.map +1 -0
  413. package/dist/common/ClickOutside.cjs +39 -0
  414. package/dist/common/ClickOutside.cjs.map +1 -0
  415. package/dist/common/ClickOutside.d.ts +1 -0
  416. package/dist/common/ClickOutside.js +25 -0
  417. package/dist/common/ClickOutside.js.map +1 -0
  418. package/dist/common/FocusOutside.cjs +39 -0
  419. package/dist/common/FocusOutside.cjs.map +1 -0
  420. package/dist/common/FocusOutside.d.ts +1 -0
  421. package/dist/common/FocusOutside.js +25 -0
  422. package/dist/common/FocusOutside.js.map +1 -0
  423. package/dist/common/FocusVisible.cjs +67 -19
  424. package/dist/common/FocusVisible.cjs.map +1 -1
  425. package/dist/common/FocusVisible.js +66 -19
  426. package/dist/common/FocusVisible.js.map +1 -1
  427. package/dist/common/InputStyling.cjs +1 -1
  428. package/dist/common/InputStyling.cjs.map +1 -1
  429. package/dist/common/InputStyling.js +2 -2
  430. package/dist/common/InputStyling.js.map +1 -1
  431. package/dist/common/index.cjs +18 -2
  432. package/dist/common/index.cjs.map +1 -1
  433. package/dist/common/index.d.ts +3 -1
  434. package/dist/common/index.js +3 -1
  435. package/dist/common/index.js.map +1 -1
  436. package/dist/icons/index.cjs +1 -1
  437. package/dist/icons/index.cjs.map +1 -1
  438. package/dist/icons/index.js +1 -1
  439. package/dist/icons/index.js.map +1 -1
  440. package/dist/index.cjs +28 -0
  441. package/dist/index.cjs.map +1 -1
  442. package/dist/index.d.ts +2 -0
  443. package/dist/index.js +2 -0
  444. package/dist/index.js.map +1 -1
  445. package/dist/styles/focus-styles.cjs +22 -0
  446. package/dist/styles/focus-styles.cjs.map +1 -0
  447. package/dist/styles/focus-styles.d.ts +2 -0
  448. package/dist/styles/focus-styles.js +9 -0
  449. package/dist/styles/focus-styles.js.map +1 -0
  450. package/dist/styles/index.cjs +60 -0
  451. package/dist/styles/index.cjs.map +1 -1
  452. package/dist/styles/index.d.ts +1 -0
  453. package/dist/styles/index.js +1 -0
  454. package/dist/styles/index.js.map +1 -1
  455. package/dist/types.cjs +10 -1
  456. package/dist/types.cjs.map +1 -1
  457. package/dist/types.d.ts +5 -0
  458. package/dist/types.js +8 -0
  459. package/dist/types.js.map +1 -1
  460. package/package.json +1 -1
  461. package/dist/Chips/ChipInput.cjs +0 -199
  462. package/dist/Chips/ChipInput.cjs.map +0 -1
  463. package/dist/Chips/ChipInput.js +0 -182
  464. package/dist/Chips/ChipInput.js.map +0 -1
  465. package/dist/Dropdown/ChipDropdownInput.cjs +0 -431
  466. package/dist/Dropdown/ChipDropdownInput.cjs.map +0 -1
  467. package/dist/Dropdown/ChipDropdownInput.d.ts +0 -24
  468. package/dist/Dropdown/ChipDropdownInput.js +0 -418
  469. package/dist/Dropdown/ChipDropdownInput.js.map +0 -1
  470. package/dist/common/HoverWithin.cjs.map +0 -1
  471. package/dist/common/HoverWithin.js.map +0 -1
@@ -1,5 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
+ var _excluded = ["items", "icon", "disabled", "onClick", "itemsType", "action", "actionLabel", "actionVariant", "actionIcon", "actionLoading", "size", "width", "alignLeft", "multiSelect", "scrollable", "pinTopItem", "maxHeight", "className", "value"];
3
5
 
4
6
  var _templateObject;
5
7
 
@@ -18,6 +20,9 @@ import styled from 'styled-components';
18
20
  * Import custom types.
19
21
  */
20
22
 
23
+ import { defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef } from '../common';
24
+ import { TextButtonDropdownArrow, TextButtonDropdownContent, TextButtonDropdownIcon, TextButtonDropdownText, TextButtonDropdownWrapper } from './CommonStyling';
25
+ import { ArrowDropDown, ArrowDropUp } from '../icons/systemicons/SystemIcons';
21
26
  import { jsx as _jsx } from "react/jsx-runtime";
22
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
23
28
  var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n display: inline-block;\n"])));
@@ -35,8 +40,8 @@ var DropdownButton = function DropdownButton(_ref) {
35
40
  actionVariant = _ref.actionVariant,
36
41
  actionIcon = _ref.actionIcon,
37
42
  actionLoading = _ref.actionLoading,
38
- width = _ref.width,
39
43
  size = _ref.size,
44
+ width = _ref.width,
40
45
  alignLeft = _ref.alignLeft,
41
46
  _ref$multiSelect = _ref.multiSelect,
42
47
  multiSelect = _ref$multiSelect === void 0 ? false : _ref$multiSelect,
@@ -45,7 +50,9 @@ var DropdownButton = function DropdownButton(_ref) {
45
50
  _ref$pinTopItem = _ref.pinTopItem,
46
51
  pinTopItem = _ref$pinTopItem === void 0 ? false : _ref$pinTopItem,
47
52
  maxHeight = _ref.maxHeight,
48
- className = _ref.className;
53
+ className = _ref.className,
54
+ value = _ref.value,
55
+ rest = _objectWithoutProperties(_ref, _excluded);
49
56
 
50
57
  // Globally used variables within the view.
51
58
  var _React$useState = React.useState(false),
@@ -63,45 +70,98 @@ var DropdownButton = function DropdownButton(_ref) {
63
70
  focused = _React$useState6[0],
64
71
  setFocused = _React$useState6[1];
65
72
 
73
+ var _React$useState7 = React.useState(false),
74
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
75
+ keyboardNavigated = _React$useState8[0],
76
+ setKeyboardNavigated = _React$useState8[1];
77
+
78
+ var containerRef = useClickOutsideRef(function () {
79
+ return setDropdownOpen(false);
80
+ }, [], useFocusOutsideRef(function () {
81
+ return setDropdownOpen(false);
82
+ }));
83
+ React.useEffect(function () {
84
+ !dropdownOpen && setKeyboardNavigated(false);
85
+ }, [dropdownOpen]);
86
+ React.useEffect(function () {
87
+ disabled && setDropdownOpen(false);
88
+ }, [disabled]);
89
+ React.useEffect(function () {
90
+ setSelectedValues(value || []);
91
+ }, [value]);
92
+
66
93
  var handleValueSelect = function handleValueSelect(values) {
67
94
  // Do all required actions
68
95
  onClick(values);
69
96
  };
70
-
71
- var handeKeyPress = function handeKeyPress(e) {
72
- if (e.key === 'Enter' || e.key === ' ') {
73
- if (!dropdownOpen) {
74
- setFocused(0);
75
- }
76
-
77
- setDropdownOpen(!dropdownOpen);
78
- }
79
- };
80
97
  /**
81
98
  * Renders Icon Button dropdown menu.
82
99
  * @returns HTML View for the Icon button dropdown menu.
83
100
  */
84
101
 
85
102
 
86
- var renderIconButton = function renderIconButton() {
87
- return /*#__PURE__*/_jsx(IconButton, {
88
- variant: "secondary",
89
- shape: "circular",
90
- onKeyPress: handeKeyPress,
91
- action: function action(event) {
92
- if ((event === null || event === void 0 ? void 0 : event.detail) === 1) {
93
- // Only if the click is triggered by a mouse click this will be one
94
- setDropdownOpen(!dropdownOpen);
95
- }
96
- },
97
- disabled: disabled,
98
- children: icon
99
- });
103
+ var renderButton = function renderButton() {
104
+ switch (rest.type) {
105
+ case 'icon':
106
+ return /*#__PURE__*/_jsx(IconButton, {
107
+ variant: "secondary",
108
+ shape: "circular",
109
+ action: function action(event) {
110
+ setDropdownOpen(!dropdownOpen);
111
+
112
+ if ((event === null || event === void 0 ? void 0 : event.detail) !== 1) {
113
+ setKeyboardNavigated(true);
114
+ }
115
+ },
116
+ disabled: disabled,
117
+ children: icon
118
+ });
119
+
120
+ case 'text':
121
+ var label = rest.keepLabel || !(selectedValues !== null && selectedValues !== void 0 && selectedValues.length) ? rest.label : items.filter(function (a) {
122
+ return selectedValues.includes(a.value);
123
+ }).map(function (a) {
124
+ var _a$displayLabel;
125
+
126
+ return (_a$displayLabel = a.displayLabel) !== null && _a$displayLabel !== void 0 ? _a$displayLabel : a.value;
127
+ }).join(', ');
128
+ var cls = "".concat(disabled && 'disabled', " ").concat(dropdownOpen && 'expanded', " ").concat(className);
129
+ return /*#__PURE__*/_jsx(TextButtonDropdownWrapper, {
130
+ tabIndex: !disabled ? 0 : -1,
131
+ className: cls,
132
+ onMouseDown: defaultOnMouseDownHandler,
133
+ onKeyDown: function onKeyDown(e) {
134
+ if (e.key === 'Enter' || e.key === ' ') {
135
+ e.preventDefault();
136
+ e.stopPropagation();
137
+ setDropdownOpen(!dropdownOpen);
138
+ setKeyboardNavigated(true);
139
+ }
140
+ },
141
+ onClick: function onClick() {
142
+ return !disabled && setDropdownOpen(!dropdownOpen);
143
+ },
144
+ children: /*#__PURE__*/_jsxs(TextButtonDropdownContent, {
145
+ children: [icon && /*#__PURE__*/_jsx(TextButtonDropdownIcon, {
146
+ children: icon
147
+ }), /*#__PURE__*/_jsx(TextButtonDropdownText, {
148
+ children: label
149
+ }), /*#__PURE__*/_jsx(TextButtonDropdownArrow, {
150
+ children: dropdownOpen ? /*#__PURE__*/_jsx(ArrowDropUp, {
151
+ size: "24px"
152
+ }) : /*#__PURE__*/_jsx(ArrowDropDown, {
153
+ size: "24px"
154
+ })
155
+ })]
156
+ })
157
+ });
158
+ }
100
159
  };
101
160
 
102
161
  return /*#__PURE__*/_jsxs(Wrapper, {
103
162
  className: className,
104
- children: [renderIconButton(), /*#__PURE__*/_jsx(DropdownContent, {
163
+ ref: containerRef,
164
+ children: [renderButton(), /*#__PURE__*/_jsx(DropdownContent, {
105
165
  customizationProps: {
106
166
  itemsType: itemsType,
107
167
  action: action !== null && action !== void 0 ? action : function () {},
@@ -123,9 +183,9 @@ var DropdownButton = function DropdownButton(_ref) {
123
183
  alignLeft: alignLeft,
124
184
  isOpen: dropdownOpen,
125
185
  setIsOpen: setDropdownOpen,
126
- hideOnClickOutside: true,
186
+ outline: keyboardNavigated,
127
187
  filter: "",
128
- selectedValues: itemsType == 'normal' ? [] : selectedValues,
188
+ selectedValues: rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues,
129
189
  setSelectedValues: setSelectedValues,
130
190
  messageOnNoResults: "No results",
131
191
  isButton: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["React","IconButton","DropdownContent","styled","Wrapper","div","DropdownButton","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","width","size","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","handleValueSelect","values","handeKeyPress","e","key","renderIconButton","event","detail","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n width,\n size,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className\n }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n\n const handeKeyPress = (e: React.KeyboardEvent<any>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n if (!dropdownOpen) {\n setFocused(0);\n }\n setDropdownOpen(!dropdownOpen);\n }\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderIconButton = () => {\n return (\n <IconButton variant=\"secondary\"\n shape=\"circular\"\n onKeyPress={handeKeyPress}\n action={(event: any) => {\n if (event?.detail === 1) { // Only if the click is triggered by a mouse click this will be one\n setDropdownOpen(!dropdownOpen);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n };\n\n return (\n <Wrapper className={className}>\n {renderIconButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n hideOnClickOutside={true}\n filter=\"\"\n selectedValues={itemsType == 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
1
+ {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","TextButtonDropdownArrow","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownText","TextButtonDropdownWrapper","ArrowDropDown","ArrowDropUp","Wrapper","div","DropdownButton","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const containerRef = useClickOutsideRef(() => setDropdownOpen(false), [], useFocusOutsideRef(() => setDropdownOpen(false)));\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
@@ -1,10 +1,9 @@
1
1
  import { Size } from '../types';
2
2
  import { DropdownItem } from './DropdownContent';
3
- export interface DropdownButtonProps {
3
+ export interface DropdownButtonBaseProps {
4
4
  items: DropdownItem[];
5
+ value?: string[];
5
6
  onClick: (value: string[]) => void;
6
- icon?: React.ReactNode;
7
- width?: string;
8
7
  disabled?: boolean;
9
8
  size?: Size;
10
9
  itemsType?: 'normal' | 'radio' | 'checkbox';
@@ -15,8 +14,20 @@ export interface DropdownButtonProps {
15
14
  actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;
16
15
  multiSelect?: boolean;
17
16
  scrollable?: boolean;
18
- pinTopItem?: boolean;
19
- alignLeft?: boolean;
20
17
  maxHeight?: string;
18
+ pinTopItem?: boolean;
21
19
  className?: string;
20
+ icon?: React.ReactNode;
21
+ width?: string;
22
+ alignLeft?: boolean;
22
23
  }
24
+ export declare type IconDropdownButtonProps = DropdownButtonBaseProps & {
25
+ type: 'icon';
26
+ icon: React.ReactNode;
27
+ };
28
+ export declare type TextDropdownButtonProps = DropdownButtonBaseProps & {
29
+ type: 'text';
30
+ label?: string;
31
+ keepLabel?: boolean;
32
+ };
33
+ export declare type DropdownButtonProps = IconDropdownButtonProps | TextDropdownButtonProps;