@laerdal/life-react-components 1.4.1-dev.9 → 1.5.1-dev.1.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 (367) hide show
  1. package/dist/Accordion/AccordionItem.cjs +77 -0
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -0
  3. package/dist/Accordion/AccordionItem.d.ts +2 -0
  4. package/dist/Accordion/AccordionItem.js +8 -7
  5. package/dist/Accordion/AccordionItem.js.map +1 -1
  6. package/dist/Accordion/AccordionMenu.cjs +105 -0
  7. package/dist/Accordion/AccordionMenu.cjs.map +1 -0
  8. package/dist/Accordion/AccordionMenu.d.ts +2 -0
  9. package/dist/Accordion/AccordionMenu.js +8 -2
  10. package/dist/Accordion/AccordionMenu.js.map +1 -1
  11. package/dist/Accordion/ContentAccordion.cjs +172 -0
  12. package/dist/Accordion/ContentAccordion.cjs.map +1 -0
  13. package/dist/Accordion/index.cjs +38 -0
  14. package/dist/Accordion/index.cjs.map +1 -0
  15. package/dist/Accordion/styles.cjs +45 -0
  16. package/dist/Accordion/styles.cjs.map +1 -0
  17. package/dist/Accordion/styles.d.ts +5 -5
  18. package/dist/Accordion/styles.js +9 -10
  19. package/dist/Accordion/styles.js.map +1 -1
  20. package/dist/AuthPage/AuthPage.cjs +80 -0
  21. package/dist/AuthPage/AuthPage.cjs.map +1 -0
  22. package/dist/AuthPage/Information.cjs +42 -0
  23. package/dist/AuthPage/Information.cjs.map +1 -0
  24. package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
  25. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
  26. package/dist/AuthPage/_AuthPageSection.cjs +22 -0
  27. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
  28. package/dist/AuthPage/index.cjs +64 -0
  29. package/dist/AuthPage/index.cjs.map +1 -0
  30. package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
  31. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
  32. package/dist/Banners/Banner.cjs +190 -0
  33. package/dist/Banners/Banner.cjs.map +1 -0
  34. package/dist/Banners/Banner.d.ts +1 -0
  35. package/dist/Banners/Banner.js +84 -189
  36. package/dist/Banners/Banner.js.map +1 -1
  37. package/dist/Banners/OverviewBanner.cjs +55 -0
  38. package/dist/Banners/OverviewBanner.cjs.map +1 -0
  39. package/dist/Banners/index.cjs +24 -0
  40. package/dist/Banners/index.cjs.map +1 -0
  41. package/dist/Banners/styles.cjs +73 -0
  42. package/dist/Banners/styles.cjs.map +1 -0
  43. package/dist/Banners/styles.js +44 -7
  44. package/dist/Banners/styles.js.map +1 -1
  45. package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
  46. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
  47. package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
  48. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
  49. package/dist/Breadcrumb/index.cjs +16 -0
  50. package/dist/Breadcrumb/index.cjs.map +1 -0
  51. package/dist/Button/BackButton.cjs +75 -0
  52. package/dist/Button/BackButton.cjs.map +1 -0
  53. package/dist/Button/Button.cjs +266 -0
  54. package/dist/Button/Button.cjs.map +1 -0
  55. package/dist/Button/Button.js +27 -101
  56. package/dist/Button/Button.js.map +1 -1
  57. package/dist/Button/DualFunctionButton.cjs +162 -0
  58. package/dist/Button/DualFunctionButton.cjs.map +1 -0
  59. package/dist/Button/Iconbutton.cjs +195 -0
  60. package/dist/Button/Iconbutton.cjs.map +1 -0
  61. package/dist/Button/Iconbutton.d.ts +13 -0
  62. package/dist/Button/Iconbutton.js +2 -2
  63. package/dist/Button/Iconbutton.js.map +1 -1
  64. package/dist/Button/index.cjs +40 -0
  65. package/dist/Button/index.cjs.map +1 -0
  66. package/dist/Chips/ActionChip.cjs +81 -0
  67. package/dist/Chips/ActionChip.cjs.map +1 -0
  68. package/dist/Chips/ChipInput.cjs +199 -0
  69. package/dist/Chips/ChipInput.cjs.map +1 -0
  70. package/dist/Chips/ChipStyles.cjs +43 -0
  71. package/dist/Chips/ChipStyles.cjs.map +1 -0
  72. package/dist/Chips/ChipTypes.cjs +6 -0
  73. package/dist/Chips/ChipTypes.cjs.map +1 -0
  74. package/dist/Chips/ChoiceChips.cjs +94 -0
  75. package/dist/Chips/ChoiceChips.cjs.map +1 -0
  76. package/dist/Chips/FilterChip.cjs +81 -0
  77. package/dist/Chips/FilterChip.cjs.map +1 -0
  78. package/dist/Chips/InputChip.cjs +109 -0
  79. package/dist/Chips/InputChip.cjs.map +1 -0
  80. package/dist/Chips/index.cjs +48 -0
  81. package/dist/Chips/index.cjs.map +1 -0
  82. package/dist/Dropdown/BasicDropdown.cjs +300 -0
  83. package/dist/Dropdown/BasicDropdown.cjs.map +1 -0
  84. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  85. package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
  86. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  87. package/dist/Dropdown/ChipDropdownInput.js +2 -4
  88. package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
  89. package/dist/Dropdown/CommonStyling.cjs +81 -0
  90. package/dist/Dropdown/CommonStyling.cjs.map +1 -0
  91. package/dist/Dropdown/CommonStyling.d.ts +0 -5
  92. package/dist/Dropdown/CommonStyling.js +3 -10
  93. package/dist/Dropdown/CommonStyling.js.map +1 -1
  94. package/dist/Dropdown/DropdownButton.cjs +161 -0
  95. package/dist/Dropdown/DropdownButton.cjs.map +1 -0
  96. package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
  97. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
  98. package/dist/Dropdown/DropdownContent.cjs +566 -0
  99. package/dist/Dropdown/DropdownContent.cjs.map +1 -0
  100. package/dist/Dropdown/DropdownContent.js +19 -54
  101. package/dist/Dropdown/DropdownContent.js.map +1 -1
  102. package/dist/Dropdown/DropdownFilter.cjs +357 -0
  103. package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
  104. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  105. package/dist/Dropdown/index.cjs +40 -0
  106. package/dist/Dropdown/index.cjs.map +1 -0
  107. package/dist/Dropdown/index.d.ts +1 -0
  108. package/dist/Dropdown/index.js.map +1 -1
  109. package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
  110. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
  111. package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
  112. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
  113. package/dist/Footer/Components/FooterNavSection.cjs +90 -0
  114. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
  115. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
  116. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
  117. package/dist/Footer/Components/FooterTop.cjs +91 -0
  118. package/dist/Footer/Components/FooterTop.cjs.map +1 -0
  119. package/dist/Footer/Footer.cjs +41 -0
  120. package/dist/Footer/Footer.cjs.map +1 -0
  121. package/dist/Footer/SiteFooter.cjs +89 -0
  122. package/dist/Footer/SiteFooter.cjs.map +1 -0
  123. package/dist/Footer/index.cjs +24 -0
  124. package/dist/Footer/index.cjs.map +1 -0
  125. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  126. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  127. package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
  128. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  129. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
  130. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  131. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
  132. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
  133. package/dist/GlobalNavigationBar/Logo.cjs +102 -0
  134. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
  135. package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
  136. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  137. package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
  138. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  139. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
  140. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  141. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
  142. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  143. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  144. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  145. package/dist/GlobalNavigationBar/index.cjs +36 -0
  146. package/dist/GlobalNavigationBar/index.cjs.map +1 -0
  147. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
  148. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
  149. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  150. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  151. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  152. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  153. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
  154. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
  155. package/dist/HyperLink/HyperLink.cjs +72 -0
  156. package/dist/HyperLink/HyperLink.cjs.map +1 -0
  157. package/dist/HyperLink/index.cjs +30 -0
  158. package/dist/HyperLink/index.cjs.map +1 -0
  159. package/dist/HyperLink/styling.cjs +22 -0
  160. package/dist/HyperLink/styling.cjs.map +1 -0
  161. package/dist/InputFields/Checkbox.cjs +126 -0
  162. package/dist/InputFields/Checkbox.cjs.map +1 -0
  163. package/dist/InputFields/DatepickerField.cjs +252 -0
  164. package/dist/InputFields/DatepickerField.cjs.map +1 -0
  165. package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
  166. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
  167. package/dist/InputFields/Label.cjs +104 -0
  168. package/dist/InputFields/Label.cjs.map +1 -0
  169. package/dist/InputFields/PasswordField.cjs +150 -0
  170. package/dist/InputFields/PasswordField.cjs.map +1 -0
  171. package/dist/InputFields/QuickSearch.cjs +201 -0
  172. package/dist/InputFields/QuickSearch.cjs.map +1 -0
  173. package/dist/InputFields/RadioButton.cjs +114 -0
  174. package/dist/InputFields/RadioButton.cjs.map +1 -0
  175. package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
  176. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
  177. package/dist/InputFields/SearchBar.cjs +146 -0
  178. package/dist/InputFields/SearchBar.cjs.map +1 -0
  179. package/dist/InputFields/TextField.cjs +126 -0
  180. package/dist/InputFields/TextField.cjs.map +1 -0
  181. package/dist/InputFields/Textarea.cjs +96 -0
  182. package/dist/InputFields/Textarea.cjs.map +1 -0
  183. package/dist/InputFields/components/SearchBarInput.cjs +99 -0
  184. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
  185. package/dist/InputFields/components/SearchField.cjs +71 -0
  186. package/dist/InputFields/components/SearchField.cjs.map +1 -0
  187. package/dist/InputFields/index.cjs +80 -0
  188. package/dist/InputFields/index.cjs.map +1 -0
  189. package/dist/InputFields/styling.cjs +76 -0
  190. package/dist/InputFields/styling.cjs.map +1 -0
  191. package/dist/Layouts/index.cjs +56 -0
  192. package/dist/Layouts/index.cjs.map +1 -0
  193. package/dist/List/ListRow.cjs +143 -0
  194. package/dist/List/ListRow.cjs.map +1 -0
  195. package/dist/List/index.cjs +16 -0
  196. package/dist/List/index.cjs.map +1 -0
  197. package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
  198. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
  199. package/dist/LoadingIndicator/index.cjs +16 -0
  200. package/dist/LoadingIndicator/index.cjs.map +1 -0
  201. package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
  202. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
  203. package/dist/LoadingPage/index.cjs +16 -0
  204. package/dist/LoadingPage/index.cjs.map +1 -0
  205. package/dist/MenuItem/MenuItem.cjs +104 -0
  206. package/dist/MenuItem/MenuItem.cjs.map +1 -0
  207. package/dist/MenuItem/MenuItem.d.ts +21 -0
  208. package/dist/MenuItem/MenuItem.js +64 -0
  209. package/dist/MenuItem/MenuItem.js.map +1 -0
  210. package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
  211. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
  212. package/dist/MiniProductCard/index.cjs +16 -0
  213. package/dist/MiniProductCard/index.cjs.map +1 -0
  214. package/dist/Modals/Modal.cjs +92 -0
  215. package/dist/Modals/Modal.cjs.map +1 -0
  216. package/dist/Modals/ModalContainer.cjs +176 -0
  217. package/dist/Modals/ModalContainer.cjs.map +1 -0
  218. package/dist/Modals/ModalContainer.js +1 -1
  219. package/dist/Modals/ModalContainer.js.map +1 -1
  220. package/dist/Modals/ModalDialog.cjs +363 -0
  221. package/dist/Modals/ModalDialog.cjs.map +1 -0
  222. package/dist/Modals/ModalDialog.d.ts +1 -0
  223. package/dist/Modals/ModalDialog.js +16 -2
  224. package/dist/Modals/ModalDialog.js.map +1 -1
  225. package/dist/Modals/ModalNote.cjs +93 -0
  226. package/dist/Modals/ModalNote.cjs.map +1 -0
  227. package/dist/Modals/ModalStyles.cjs +154 -0
  228. package/dist/Modals/ModalStyles.cjs.map +1 -0
  229. package/dist/Modals/ModalStyles.js +1 -1
  230. package/dist/Modals/ModalStyles.js.map +1 -1
  231. package/dist/Modals/ModalTypes.cjs +6 -0
  232. package/dist/Modals/ModalTypes.cjs.map +1 -0
  233. package/dist/Modals/index.cjs +70 -0
  234. package/dist/Modals/index.cjs.map +1 -0
  235. package/dist/Modals/index.d.ts +1 -0
  236. package/dist/Modals/index.js.map +1 -1
  237. package/dist/NavItem/NavItem.cjs +26 -0
  238. package/dist/NavItem/NavItem.cjs.map +1 -0
  239. package/dist/NavItem/index.cjs +16 -0
  240. package/dist/NavItem/index.cjs.map +1 -0
  241. package/dist/NotificationDot/NotificationDot.cjs +74 -0
  242. package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
  243. package/dist/NotificationDot/index.cjs +16 -0
  244. package/dist/NotificationDot/index.cjs.map +1 -0
  245. package/dist/Paginator/Paginator.cjs +191 -0
  246. package/dist/Paginator/Paginator.cjs.map +1 -0
  247. package/dist/Paginator/index.cjs +16 -0
  248. package/dist/Paginator/index.cjs.map +1 -0
  249. package/dist/QuizButton/QuizButton.cjs +150 -0
  250. package/dist/QuizButton/QuizButton.cjs.map +1 -0
  251. package/dist/QuizButton/QuizButton.js +6 -6
  252. package/dist/QuizButton/QuizButton.js.map +1 -1
  253. package/dist/QuizButton/index.cjs +16 -0
  254. package/dist/QuizButton/index.cjs.map +1 -0
  255. package/dist/Services/functions.cjs +19 -0
  256. package/dist/Services/functions.cjs.map +1 -0
  257. package/dist/SkipToContent/SkipToContent.cjs +46 -0
  258. package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
  259. package/dist/SkipToContent/index.cjs +16 -0
  260. package/dist/SkipToContent/index.cjs.map +1 -0
  261. package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
  262. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
  263. package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
  264. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
  265. package/dist/Switcher/index.cjs +24 -0
  266. package/dist/Switcher/index.cjs.map +1 -0
  267. package/dist/Table/Table.cjs +463 -0
  268. package/dist/Table/Table.cjs.map +1 -0
  269. package/dist/Table/TableBody.cjs +186 -0
  270. package/dist/Table/TableBody.cjs.map +1 -0
  271. package/dist/Table/TableFooter.cjs +119 -0
  272. package/dist/Table/TableFooter.cjs.map +1 -0
  273. package/dist/Table/TableHeaders.cjs +100 -0
  274. package/dist/Table/TableHeaders.cjs.map +1 -0
  275. package/dist/Table/TableStyles.cjs +104 -0
  276. package/dist/Table/TableStyles.cjs.map +1 -0
  277. package/dist/Table/TableTypes.cjs +6 -0
  278. package/dist/Table/TableTypes.cjs.map +1 -0
  279. package/dist/Table/index.cjs +16 -0
  280. package/dist/Table/index.cjs.map +1 -0
  281. package/dist/Table/index.d.ts +1 -0
  282. package/dist/Table/index.js.map +1 -1
  283. package/dist/Tabs/HorizontalTabs.cjs +98 -0
  284. package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
  285. package/dist/Tabs/HorizontalTabs.d.ts +1 -1
  286. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  287. package/dist/Tabs/TabLink.cjs +128 -0
  288. package/dist/Tabs/TabLink.cjs.map +1 -0
  289. package/dist/Tabs/Tabs.cjs +121 -0
  290. package/dist/Tabs/Tabs.cjs.map +1 -0
  291. package/dist/Tabs/VerticalTabs.cjs +68 -0
  292. package/dist/Tabs/VerticalTabs.cjs.map +1 -0
  293. package/dist/Tabs/index.cjs +24 -0
  294. package/dist/Tabs/index.cjs.map +1 -0
  295. package/dist/Tabs/index.d.ts +2 -0
  296. package/dist/Tabs/index.js.map +1 -1
  297. package/dist/Toasters/Toast.cjs +289 -0
  298. package/dist/Toasters/Toast.cjs.map +1 -0
  299. package/dist/Toasters/ToastContext.cjs +179 -0
  300. package/dist/Toasters/ToastContext.cjs.map +1 -0
  301. package/dist/Toasters/index.cjs +36 -0
  302. package/dist/Toasters/index.cjs.map +1 -0
  303. package/dist/Toggles/ToggleSwitch.cjs +73 -0
  304. package/dist/Toggles/ToggleSwitch.cjs.map +1 -0
  305. package/dist/Toggles/TogglerStyles.cjs +39 -0
  306. package/dist/Toggles/TogglerStyles.cjs.map +1 -0
  307. package/dist/Toggles/TogglerTypes.cjs +6 -0
  308. package/dist/Toggles/TogglerTypes.cjs.map +1 -0
  309. package/dist/Toggles/index.cjs +16 -0
  310. package/dist/Toggles/index.cjs.map +1 -0
  311. package/dist/Tooltips/TooltipStyles.cjs +96 -0
  312. package/dist/Tooltips/TooltipStyles.cjs.map +1 -0
  313. package/dist/Tooltips/TooltipTypes.cjs +11 -0
  314. package/dist/Tooltips/TooltipTypes.cjs.map +1 -0
  315. package/dist/Tooltips/TooltipWrapper.cjs +51 -0
  316. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -0
  317. package/dist/Tooltips/index.cjs +36 -0
  318. package/dist/Tooltips/index.cjs.map +1 -0
  319. package/dist/Tooltips/index.d.ts +2 -2
  320. package/dist/Tooltips/index.js +2 -2
  321. package/dist/Tooltips/index.js.map +1 -1
  322. package/dist/assets/index.cjs +173 -0
  323. package/dist/assets/index.cjs.map +1 -0
  324. package/dist/common/EventHandlers.cjs +20 -0
  325. package/dist/common/EventHandlers.cjs.map +1 -0
  326. package/dist/common/FocusVisible.cjs +77 -0
  327. package/dist/common/FocusVisible.cjs.map +1 -0
  328. package/dist/common/InputStyling.cjs +20 -0
  329. package/dist/common/InputStyling.cjs.map +1 -0
  330. package/dist/common/index.cjs +30 -0
  331. package/dist/common/index.cjs.map +1 -0
  332. package/dist/common/index.d.ts +1 -0
  333. package/dist/common/index.js +1 -0
  334. package/dist/common/index.js.map +1 -1
  335. package/dist/hooks/useClickOutside.cjs +35 -0
  336. package/dist/hooks/useClickOutside.cjs.map +1 -0
  337. package/dist/icons/contenticons/ContentIcons.cjs +4530 -0
  338. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -0
  339. package/dist/icons/index.cjs +147 -0
  340. package/dist/icons/index.cjs.map +1 -0
  341. package/dist/icons/systemicons/SystemIcons.cjs +4134 -0
  342. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -0
  343. package/dist/index.cjs +422 -0
  344. package/dist/index.cjs.map +1 -0
  345. package/dist/index.d.ts +1 -0
  346. package/dist/index.js +1 -0
  347. package/dist/index.js.map +1 -1
  348. package/dist/styles/breakpoints.cjs +16 -0
  349. package/dist/styles/breakpoints.cjs.map +1 -0
  350. package/dist/styles/colors.cjs +108 -0
  351. package/dist/styles/colors.cjs.map +1 -0
  352. package/dist/styles/global.cjs +15 -0
  353. package/dist/styles/global.cjs.map +1 -0
  354. package/dist/styles/index.cjs +288 -0
  355. package/dist/styles/index.cjs.map +1 -0
  356. package/dist/styles/index.d.ts +1 -0
  357. package/dist/styles/index.js +1 -0
  358. package/dist/styles/index.js.map +1 -1
  359. package/dist/styles/shadowstyles.cjs +14 -0
  360. package/dist/styles/shadowstyles.cjs.map +1 -0
  361. package/dist/styles/typography.cjs +640 -0
  362. package/dist/styles/typography.cjs.map +1 -0
  363. package/dist/styles/z-indexes.cjs +22 -0
  364. package/dist/styles/z-indexes.cjs.map +1 -0
  365. package/dist/types.cjs +59 -0
  366. package/dist/types.cjs.map +1 -0
  367. package/package.json +13 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Button/Button.tsx"],"names":["React","styled","LoadingIndicator","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","Size","defaultOnMouseDownHandler","getBorderRadius","flatEdge","radius","Primary","button","props","size","Large","Bold","colorTheme","primary_800","white","Small","accent1","primary","width","minWidth","Medium","iconOnly","accent1_700","primary_100","primary_700","primary_600","accent1_800","primary_200","focus_25","focus","neutral_100","neutral_300","Secondary","primary_300","primary_500","Tertiary","accent1_20","primary_20","accent1_100","accent1_500","Correct","correct_500","correct_700","correct_800","Critical","critical_500","critical_700","critical_800","Button","children","variant","type","testId","disabled","icon","loading","renderProps","renderContent","className","role","title"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS } from '../styles';\nimport { Size } from '../types';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst getBorderRadius = (flatEdge : string | undefined, radius: number) => {\n switch(flatEdge)\n {\n case 'left':\n return `0px ${radius}px ${radius}px 0px`;\n \n case 'right':\n return `${radius}px 0px 0px ${radius}px`;\n\n case 'none':\n default:\n return `${radius}px`;\n }\n}\n\nconst Primary = styled.button<ButtonProps>`\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\n &.loading-state {\n cursor: wait;\n }\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n div.button-content {\n ${(props) =>\n props.size === Size.Large\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : props.size === Size.Small\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-radius: ${props => getBorderRadius(props.flatEdge, 8)};\n border-width: 2px;\n border-style: solid;\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n\n width: ${(props) => props.width};\n position: relative;\n\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\n min-width: ${props => props.minWidth};\n\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n // paddings have -2px for border\n padding: ${(props) => (props.size === Size.Large ? '14px 18px' : props.size === Size.Small ? '4px 10px' : '6px 14px')};\n\n span.loading {\n opacity: 0;\n }\n .icon {\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '-2px -4px' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '-2px -4px' : '-2px -8px' ))};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n svg {\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n }\n }\n\n .extramargin {\n margin-right: 4px;\n }\n\n div {\n position: absolute;\n width: 100%;\n svg {\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n path {\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\n }\n }\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n box-shadow: none !important;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n }\n\n &:focus,\n &.focus-state {\n outline: none;\n\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n border-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n color: ${props => props.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white};\n }\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n pointer-events: none;\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\n border-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n`;\n\nconst Secondary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n background-color: transparent;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n\n\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: transparent;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\n border-color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n \n &:focus,\n &.focus-state {\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${props => props.colorTheme === 'dark' ? 'transparent' : COLORS.white};\n border-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.primary};\n color: ${props => props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500};\n }\n }\n`;\n\nconst Tertiary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary_500)};\n border-color: transparent;\n background-color: transparent;\n border-width: 1px;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: white !important;\n color: ${COLORS.neutral_300};\n border-color: transparent !important;\n }\n\n &:focus,\n &.focus-state {\n outline: none;\n\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${COLORS.white};\n border-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary};\n color: ${props => props.colorTheme === 'teal' ? COLORS.accent1_500 : COLORS.primary_500};\n }\n }\n`;\n\nconst Correct = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.correct_500};\n background-color: ${COLORS.correct_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.correct_800};\n background-color: ${COLORS.correct_800};\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n`;\n\nconst Critical = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.critical_500};\n background-color: ${COLORS.critical_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.critical_800};\n background-color: ${COLORS.critical_800};\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n`;\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'secondary' | 'tertiary' | 'correct' | 'critical';\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n role?: 'button' | string;\n title?: string;\n size?: Size;\n colorTheme?: 'teal' | 'dark';\n width?: 'auto' | string;\n loading?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n minWidth?: string;\n iconOnly?: boolean;\n}\n\nconst Button: React.FunctionComponent<ButtonProps> = ({\n children = '',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n minWidth = '64px',\n testId,\n disabled,\n flatEdge,\n icon,\n ...props\n}) => {\n // Let's filter out properties that we don't need to render.\n const { loading, ...renderProps } = props;\n\n const renderContent = () => (\n <>\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\n {loading && <LoadingIndicator/>}\n </>\n );\n\n // Let's render button\n switch (variant) {\n case 'primary':\n return (\n <Primary\n {...renderProps}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </Primary>\n );\n case 'secondary':\n return (\n <Secondary\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n iconOnly={!children}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </Secondary>\n );\n case 'tertiary':\n return (\n <Tertiary\n {...renderProps}\n disabled={disabled}\n type={type}\n flatEdge={flatEdge}\n size={size}\n width={width}\n iconOnly={!children}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </Tertiary>\n );\n case 'correct':\n return (\n <Correct\n {...renderProps}\n disabled={disabled}\n type={type}\n size={size}\n iconOnly={!children}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </Correct>\n );\n case 'critical':\n return (\n <Critical\n {...renderProps}\n disabled={disabled}\n flatEdge={flatEdge}\n iconOnly={!children}\n type={type}\n size={size}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </Critical>\n );\n default:\n return (\n <Primary\n {...renderProps}\n flatEdge={flatEdge}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </Primary>\n );\n }\n};\n\nexport default Button;\n"],"file":"Button.js"}
1
+ {"version":3,"sources":["../../src/Button/Button.tsx"],"names":["React","styled","LoadingIndicator","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","COLORS","Size","defaultOnMouseDownHandler","getBorderRadius","flatEdge","radius","Primary","button","props","size","Large","Bold","colorTheme","primary_800","white","Small","accent1","primary","width","minWidth","Medium","iconOnly","accent1_700","primary_100","primary_700","primary_600","accent1_800","primary_200","focus_25","focus","neutral_100","neutral_300","Secondary","primary_300","primary_500","Tertiary","accent1_20","primary_20","accent1_100","accent1_500","Correct","correct_500","correct_700","correct_800","Critical","critical_500","critical_700","critical_800","Button","children","variant","type","testId","disabled","icon","loading","renderProps","renderContent","ButtonStyled","className","role","title"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport { COLORS } from '../styles';\nimport { Size } from '../types';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst getBorderRadius = (flatEdge : string | undefined, radius: number) => {\n switch(flatEdge)\n {\n case 'left':\n return `0px ${radius}px ${radius}px 0px`;\n \n case 'right':\n return `${radius}px 0px 0px ${radius}px`;\n\n case 'none':\n default:\n return `${radius}px`;\n }\n}\n\nconst Primary = styled.button<ButtonProps>`\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n min-height: ${(props) => (props.size === Size.Large ? '56px' : '48px')};\n &.loading-state {\n cursor: wait;\n }\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n div.button-content {\n ${(props) =>\n props.size === Size.Large\n ? ComponentLStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : props.size === Size.Small\n ? ComponentSStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)\n : ComponentMStyling(ComponentTextStyle.Bold, props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-radius: ${props => getBorderRadius(props.flatEdge, 8)};\n border-width: 2px;\n border-style: solid;\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n\n width: ${(props) => props.width};\n position: relative;\n\n min-height: ${(props) => (props.size === Size.Large ? '56px' : props.size === Size.Small ? '32px' : '40px')};\n min-width: ${props => props.minWidth};\n\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n // paddings have -2px for border\n padding: ${(props) => (props.size === Size.Large ? '14px 18px' : props.size === Size.Small ? '4px 10px' : '6px 14px')};\n\n span.loading {\n opacity: 0;\n }\n .icon {\n margin: ${(props) => (props.size === Size.Medium ? props.iconOnly ? '-2px -8px' : '-2px -4px' : (props.size === Size.Small ? props.iconOnly ? '-2px -6px' : '-2px -4px' : '-2px -8px' ))};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n svg {\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')} !important;\n }\n }\n\n .extramargin {\n margin-right: 4px;\n }\n\n div {\n position: absolute;\n width: 100%;\n svg {\n height: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n width: ${(props) => (props.size === Size.Large ? '28px' : props.size === Size.Small ? '20px' : '24px')};\n path {\n fill: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary : COLORS.white)};\n }\n }\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700)};\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white)};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_800)};\n box-shadow: none !important;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.white)};\n }\n\n &:focus,\n &.focus-state {\n outline: none;\n\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n border-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1_700 : props.colorTheme === 'dark' ? COLORS.primary_100 : COLORS.primary_700};\n color: ${props => props.colorTheme === 'dark' ? COLORS.primary_600 : COLORS.white};\n }\n }\n &:disabled,\n &.disabled-state {\n cursor: not-allowed;\n }\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n pointer-events: none;\n background-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.neutral_300)};\n border-color: ${(props) => (props.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n`;\n\nconst Secondary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary)};\n background-color: transparent;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n\n &:focus:not(:focus-visible),\n &:focus:not(:focus-visible) > div.button-content {\n outline: none !important;\n }\n\n\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : props?.colorTheme === 'dark' ? COLORS.primary_200 : COLORS.primary_700)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.primary_300 : COLORS.primary_800)};\n background-color: transparent;\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : props?.colorTheme === 'dark' ? COLORS.white : COLORS.primary_800)};\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: transparent;\n color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_300)};\n border-color: ${(props) => (props?.colorTheme === 'dark' ? COLORS.primary_700 : COLORS.neutral_100)};\n }\n \n &:focus,\n &.focus-state {\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${props => props.colorTheme === 'dark' ? 'transparent' : COLORS.white};\n border-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1 : props.colorTheme === 'dark' ? COLORS.primary_800 : COLORS.primary};\n color: ${props => props.colorTheme === 'dark' ? COLORS.white : COLORS.primary_500};\n }\n }\n`;\n\nconst Tertiary = styled(Primary)<ButtonProps>`\n div.button-content {\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary_500)};\n border-color: transparent;\n background-color: transparent;\n border-width: 1px;\n div svg path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary)};\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_20 : COLORS.primary_20)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_700 : COLORS.primary_700)};\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n border-color: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_100 : COLORS.primary_100)};\n div {\n svg {\n path {\n fill: ${(props) => (props.colorTheme === 'teal' ? COLORS.accent1_800 : COLORS.primary_800)};\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: white !important;\n color: ${COLORS.neutral_300};\n border-color: transparent !important;\n }\n\n &:focus,\n &.focus-state {\n outline: none;\n\n div {\n outline: none;\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n background-color: ${COLORS.white};\n border-color: ${props => props.colorTheme === 'teal' ? COLORS.accent1 : COLORS.primary};\n color: ${props => props.colorTheme === 'teal' ? COLORS.accent1_500 : COLORS.primary_500};\n }\n }\n`;\n\nconst Correct = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.correct_500};\n background-color: ${COLORS.correct_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.correct_700};\n background-color: ${COLORS.correct_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.correct_800};\n background-color: ${COLORS.correct_800};\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n`;\n\nconst Critical = styled(Primary)<ButtonProps>`\n div.button-content {\n color: white;\n border-color: ${COLORS.critical_500};\n background-color: ${COLORS.critical_500};\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ${COLORS.critical_700};\n background-color: ${COLORS.critical_700};\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ${COLORS.critical_800};\n background-color: ${COLORS.critical_800};\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ${COLORS.neutral_100};\n color: ${COLORS.neutral_300};\n border-color: ${COLORS.neutral_100};\n }\n`;\n\nexport interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'secondary' | 'tertiary' | 'correct' | 'critical';\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n role?: 'button' | string;\n title?: string;\n size?: Size;\n colorTheme?: 'teal' | 'dark';\n width?: 'auto' | string;\n loading?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n minWidth?: string;\n iconOnly?: boolean;\n}\n\nconst Button: React.FunctionComponent<ButtonProps> = ({\n children = '',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n minWidth = '64px',\n testId,\n disabled,\n flatEdge,\n icon,\n ...props\n}) => {\n // Let's filter out properties that we don't need to render.\n const { loading, ...renderProps } = props;\n\n const renderContent = () => (\n <>\n {icon && <span className={(children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon')}>{icon}</span>}\n {children && <span className={loading ? 'label loading' : 'label'}>{children}</span>}\n {loading && <LoadingIndicator/>}\n </>\n );\n\n let ButtonStyled = Primary;\n switch(variant)\n {\n case 'secondary':\n ButtonStyled = Secondary;\n break;\n case 'tertiary':\n ButtonStyled = Tertiary;\n break;\n case 'correct':\n ButtonStyled = Correct;\n break;\n case 'critical':\n ButtonStyled = Critical;\n break;\n }\n\n return (\n <ButtonStyled\n {...renderProps}\n disabled={disabled}\n iconOnly={!children}\n type={type}\n size={size}\n flatEdge={flatEdge}\n width={width}\n minWidth={minWidth}\n data-testid={testId}\n className={props.loading ? 'loading-state ' + props.className : ' ' + props.className}\n onMouseDown={defaultOnMouseDownHandler}>\n <div className=\"button-content\">{renderContent()}</div>\n </ButtonStyled>\n );\n};\n\nexport default Button;\n"],"file":"Button.js"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var React = _interopRequireWildcard(require("react"));
23
+
24
+ var _Button = _interopRequireDefault(require("./Button"));
25
+
26
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
27
+
28
+ var _CommonStyling = require("../Dropdown/CommonStyling");
29
+
30
+ var _types = require("../types");
31
+
32
+ var _DropdownContent = _interopRequireDefault(require("../Dropdown/DropdownContent"));
33
+
34
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
35
+
36
+ var _jsxRuntime = require("react/jsx-runtime");
37
+
38
+ var _excluded = ["children", "variant", "type", "size", "width", "testId", "disabled", "id", "dropdownMenuValues", "setDropdownMenuValues", "dropdownCustomizationProps"],
39
+ _excluded2 = ["loading", "icon", "onClick"];
40
+
41
+ var _templateObject;
42
+
43
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
44
+
45
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
46
+
47
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
48
+
49
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
50
+
51
+ var ButtonsContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n\n button:first-child {\n margin-right: 2px;\n }\n\n div.button-content {\n gap: 0px;\n padding: ", ";\n }\n"])), function (props) {
52
+ return props.size == _types.Size.Large ? '4px 18px' : props.size == _types.Size.Medium ? '4px 14px' : '4px 10px';
53
+ });
54
+
55
+ var DualFunctionButton = function DualFunctionButton(_ref) {
56
+ var _ref$children = _ref.children,
57
+ children = _ref$children === void 0 ? 'Primary Button' : _ref$children,
58
+ _ref$variant = _ref.variant,
59
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
60
+ _ref$type = _ref.type,
61
+ type = _ref$type === void 0 ? 'button' : _ref$type,
62
+ _ref$size = _ref.size,
63
+ size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
64
+ _ref$width = _ref.width,
65
+ width = _ref$width === void 0 ? 'auto' : _ref$width,
66
+ testId = _ref.testId,
67
+ disabled = _ref.disabled,
68
+ id = _ref.id,
69
+ dropdownMenuValues = _ref.dropdownMenuValues,
70
+ setDropdownMenuValues = _ref.setDropdownMenuValues,
71
+ dropdownCustomizationProps = _ref.dropdownCustomizationProps,
72
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
73
+ // Let's filter out properties that we don't need to render.
74
+ var loading = props.loading,
75
+ icon = props.icon,
76
+ onClick = props.onClick,
77
+ renderProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
78
+
79
+ var _React$useState = React.useState(false),
80
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
81
+ isOpen = _React$useState2[0],
82
+ setIsOpen = _React$useState2[1];
83
+
84
+ var _React$useState3 = React.useState(null),
85
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
86
+ focused = _React$useState4[0],
87
+ setFocused = _React$useState4[1];
88
+
89
+ var dropdownContainerRef = React.useRef(null);
90
+
91
+ var _React$useState5 = React.useState([]),
92
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
93
+ selectedValues = _React$useState6[0],
94
+ setSelectedValues = _React$useState6[1];
95
+
96
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(ButtonsContainer, {
97
+ ref: dropdownContainerRef,
98
+ size: size,
99
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyling.Dropdown, {
100
+ isButton: true,
101
+ locked: false,
102
+ disabled: false,
103
+ margin: "",
104
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, _objectSpread(_objectSpread({}, renderProps), {}, {
105
+ onClick: onClick,
106
+ disabled: disabled,
107
+ type: type,
108
+ loading: loading,
109
+ icon: icon,
110
+ size: size,
111
+ width: width,
112
+ variant: variant,
113
+ flatEdge: "right",
114
+ children: children
115
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DropdownContent.default, {
116
+ customizationProps: dropdownCustomizationProps,
117
+ filter: "",
118
+ selectedValues: dropdownCustomizationProps.itemsType == 'normal' ? [] : dropdownMenuValues !== null && dropdownMenuValues !== void 0 ? dropdownMenuValues : selectedValues,
119
+ setSelectedValues: setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues,
120
+ isButton: true,
121
+ setIsOpen: setIsOpen,
122
+ focused: focused,
123
+ setFocused: setFocused,
124
+ hideOnClickOutside: true,
125
+ size: size,
126
+ isOpen: isOpen,
127
+ id: id !== null && id !== void 0 ? id : 'dropdownId',
128
+ messageOnNoResults: "",
129
+ alignLeft: true
130
+ })]
131
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, _objectSpread(_objectSpread({
132
+ variant: variant
133
+ }, renderProps), {}, {
134
+ onKeyPress: function onKeyPress(e) {
135
+ if (isOpen) return;
136
+ if (e.key === 'Enter' || e.key === ' ') setFocused(0);
137
+ },
138
+ disabled: disabled,
139
+ type: type,
140
+ size: size,
141
+ minWidth: 'unset',
142
+ onClick: function onClick(e) {
143
+ e.stopPropagation();
144
+ setIsOpen(!isOpen);
145
+ },
146
+ icon: isOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ArrowDropUp, {
147
+ size: "16px"
148
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ArrowDropDown, {
149
+ size: "16px"
150
+ }),
151
+ flatEdge: "left"
152
+ }))]
153
+ });
154
+ };
155
+
156
+ DualFunctionButton.propTypes = {
157
+ dropdownMenuValues: _propTypes.default.arrayOf(_propTypes.default.string),
158
+ setDropdownMenuValues: _propTypes.default.func
159
+ };
160
+ var _default = DualFunctionButton;
161
+ exports.default = _default;
162
+ //# sourceMappingURL=DualFunctionButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Button/DualFunctionButton.tsx"],"names":["ButtonsContainer","styled","div","props","size","Size","Large","Medium","DualFunctionButton","children","variant","type","width","testId","disabled","id","dropdownMenuValues","setDropdownMenuValues","dropdownCustomizationProps","loading","icon","onClick","renderProps","React","useState","isOpen","setIsOpen","focused","setFocused","dropdownContainerRef","useRef","selectedValues","setSelectedValues","itemsType","e","key","stopPropagation"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport Button, {ButtonProps} from './Button'\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\nimport {Dropdown} from '../Dropdown/CommonStyling';\nimport {Size} from '../types';\nimport DropdownContent, {DropdownCustomizationProps} from '../Dropdown/DropdownContent';\nimport styled from 'styled-components';\n\nconst ButtonsContainer = styled.div<{ size?: Size }>`\n display: flex;\n align-items: center;\n\n button:first-child {\n margin-right: 2px;\n }\n\n div.button-content {\n gap: 0px;\n padding: ${props => props.size == Size.Large ? '4px 18px' : props.size == Size.Medium ? '4px 14px' : '4px 10px'};\n }\n`;\n\nexport interface ButtonOption {\n label: string;\n}\n\nexport interface DualButtonProps extends ButtonProps {\n dropdownCustomizationProps: DropdownCustomizationProps;\n dropdownMenuValues?: string[];\n setDropdownMenuValues?: (values: string[]) => void | boolean | undefined;\n}\n\nconst DualFunctionButton: React.FunctionComponent<DualButtonProps> = ({\n children = 'Primary Button',\n variant = 'primary',\n type = 'button',\n size = Size.Medium,\n width = 'auto',\n testId,\n disabled,\n id,\n dropdownMenuValues,\n setDropdownMenuValues,\n dropdownCustomizationProps,\n ...props\n }) => {\n // Let's filter out properties that we don't need to render.\n const {loading, icon, onClick, ...renderProps} = props;\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [focused, setFocused] = React.useState<number | null>(null);\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n\n return <ButtonsContainer ref={dropdownContainerRef} size={size}>\n <Dropdown isButton={true} locked={false} disabled={false} margin=\"\">\n <Button\n {...renderProps}\n onClick={onClick}\n disabled={disabled}\n type={type}\n loading={loading}\n icon={icon}\n size={size}\n width={width}\n variant={variant}\n flatEdge=\"right\">\n {children}\n </Button>\n <DropdownContent\n customizationProps={dropdownCustomizationProps}\n filter=\"\"\n selectedValues={dropdownCustomizationProps.itemsType == 'normal' ? [] : (dropdownMenuValues ?? selectedValues)}\n setSelectedValues={setDropdownMenuValues ? setDropdownMenuValues : setSelectedValues}\n isButton={true}\n setIsOpen={setIsOpen}\n focused={focused}\n setFocused={setFocused}\n hideOnClickOutside={true}\n size={size}\n isOpen={isOpen}\n id={id ?? 'dropdownId'}\n messageOnNoResults=\"\"\n alignLeft={true}/>\n </Dropdown>\n <Button variant={variant}\n {...renderProps}\n onKeyPress={(e:any) => {\n if(isOpen)\n return;\n\n if (e.key === 'Enter' || e.key === ' ')\n setFocused(0);\n }}\n\n disabled={disabled}\n type={type}\n size={size}\n minWidth={'unset'}\n onClick={(e) => {e.stopPropagation(); setIsOpen(!isOpen);}}\n icon={isOpen ? <ArrowDropUp size=\"16px\"/> : <ArrowDropDown size=\"16px\"/>}\n flatEdge=\"left\"/>\n </ButtonsContainer>;\n};\n\n\nexport default DualFunctionButton;\n"],"file":"DualFunctionButton.cjs"}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.StyledSecondaryIconButton = exports.StyledPrimaryIconButton = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
18
+ var _styles = require("../styles");
19
+
20
+ var _common = require("../common");
21
+
22
+ var _jsxRuntime = require("react/jsx-runtime");
23
+
24
+ var _templateObject, _templateObject2, _templateObject3;
25
+
26
+ var getBorderRadius = function getBorderRadius(props) {
27
+ return props.borderRadius ? "".concat(props.borderRadius, "px") : '4px';
28
+ };
29
+
30
+ var getBorderRadiusStyle = function getBorderRadiusStyle(props) {
31
+ var radius = getBorderRadius(props);
32
+
33
+ switch (props.flatEdge) {
34
+ case 'left':
35
+ return "0px ".concat(radius, " ").concat(radius, " 0px");
36
+
37
+ case 'right':
38
+ return "".concat(radius, " 0px 0px ").concat(radius);
39
+
40
+ case 'none':
41
+ default:
42
+ return "".concat(radius);
43
+ }
44
+ };
45
+
46
+ var StyledIconButton = _styledComponents.default.button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ", ";\n ", " {\n display: block;\n }\n\n border-radius: ", ";\n div {\n height: 36px;\n width: 36px;\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ", ";\n width: ", ";\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none !important;\n }\n }\n"])), function (props) {
47
+ return props.hideOnLowWidth ? 'none' : 'block';
48
+ }, _styles.BREAKPOINTS.MEDIUM, function (props) {
49
+ return props.borderRadius ? "".concat(props.borderRadius, "px") : '4px';
50
+ }, getBorderRadiusStyle, function (props) {
51
+ return props.unsetIconSize ? 'unset' : '24px';
52
+ }, function (props) {
53
+ return props.unsetIconSize ? 'unset' : '24px';
54
+ });
55
+
56
+ var StyledPrimaryIconButton = (0, _styledComponents.default)(StyledIconButton)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
57
+ return props.useTransparentBackground ? 'transparent' : _styles.COLORS.primary_500;
58
+ }, function (props) {
59
+ return props.iconColor || _styles.COLORS.white;
60
+ }, function (props) {
61
+ return props.iconColor || _styles.COLORS.white;
62
+ }, _styles.COLORS.primary_700, _styles.COLORS.white, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.neutral_200, _styles.COLORS.white, _styles.COLORS.white, function (props) {
63
+ return props.focusBackgroundColor || _styles.COLORS.primary_700;
64
+ }, _styles.COLORS.white);
65
+ exports.StyledPrimaryIconButton = StyledPrimaryIconButton;
66
+ var StyledSecondaryIconButton = (0, _styledComponents.default)(StyledIconButton)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", ";\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
67
+ return props.useTransparentBackground ? 'transparent' : _styles.COLORS.white;
68
+ }, function (props) {
69
+ return props.iconColor || _styles.COLORS.neutral_600;
70
+ }, function (props) {
71
+ return props.iconColor || _styles.COLORS.neutral_600;
72
+ }, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _styles.COLORS.primary_100, _styles.COLORS.primary_800, function (props) {
73
+ return props.useTransparentBackground ? 'transparent' : _styles.COLORS.white;
74
+ }, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300, function (props) {
75
+ return props.focusBackgroundColor || 'transparent';
76
+ }, _styles.COLORS.primary_500, _styles.COLORS.neutral_600);
77
+ exports.StyledSecondaryIconButton = StyledSecondaryIconButton;
78
+
79
+ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
80
+ var id = _ref.id,
81
+ variant = _ref.variant,
82
+ shape = _ref.shape,
83
+ action = _ref.action,
84
+ hideOnLowWidth = _ref.hideOnLowWidth,
85
+ isInMobileMenu = _ref.isInMobileMenu,
86
+ children = _ref.children,
87
+ useTransparentBackground = _ref.useTransparentBackground,
88
+ disabled = _ref.disabled,
89
+ iconColor = _ref.iconColor,
90
+ unsetIconSize = _ref.unsetIconSize,
91
+ tabIndex = _ref.tabIndex,
92
+ flatEdge = _ref.flatEdge,
93
+ borderRadius = _ref.borderRadius,
94
+ onKeyPress = _ref.onKeyPress,
95
+ focusBackgroundColor = _ref.focusBackgroundColor,
96
+ type = _ref.type,
97
+ hidden = _ref.hidden;
98
+
99
+ var isPressingEnter = function isPressingEnter(e) {
100
+ if (e.key === 'Enter') {
101
+ e.preventDefault();
102
+ e.stopPropagation();
103
+ return true;
104
+ }
105
+
106
+ return false;
107
+ }; // Let's render button
108
+
109
+
110
+ switch (variant) {
111
+ case 'secondary':
112
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSecondaryIconButton, {
113
+ id: id,
114
+ type: type !== null && type !== void 0 ? type : 'button',
115
+ "data-testid": id,
116
+ ref: ref,
117
+ onClick: function onClick(event) {
118
+ event.stopPropagation();
119
+ action(event);
120
+ },
121
+ onKeyDown: function onKeyDown(e) {
122
+ return isPressingEnter(e) ? action() : null;
123
+ },
124
+ disabled: disabled,
125
+ hideOnLowWidth: hideOnLowWidth || false,
126
+ inMobileMenu: isInMobileMenu,
127
+ useTransparentBackground: useTransparentBackground,
128
+ iconColor: iconColor,
129
+ unsetIconSize: unsetIconSize,
130
+ tabIndex: tabIndex || 0,
131
+ borderRadius: borderRadius || shape === 'circular' ? 18 : 0,
132
+ onMouseDown: _common.defaultOnMouseDownHandler,
133
+ onKeyPress: onKeyPress,
134
+ hidden: hidden,
135
+ focusBackgroundColor: focusBackgroundColor,
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
137
+ children: children
138
+ })
139
+ });
140
+
141
+ case 'primary':
142
+ default:
143
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPrimaryIconButton, {
144
+ id: id,
145
+ type: type !== null && type !== void 0 ? type : 'button',
146
+ "data-testid": id,
147
+ flatEdge: flatEdge,
148
+ ref: ref,
149
+ onClick: function onClick(event) {
150
+ event.stopPropagation();
151
+ action(event);
152
+ },
153
+ onKeyDown: function onKeyDown(e) {
154
+ return isPressingEnter(e) ? action() : null;
155
+ },
156
+ disabled: disabled,
157
+ hideOnLowWidth: hideOnLowWidth || false,
158
+ inMobileMenu: isInMobileMenu,
159
+ useTransparentBackground: useTransparentBackground,
160
+ iconColor: iconColor,
161
+ unsetIconSize: unsetIconSize,
162
+ tabIndex: tabIndex || 0,
163
+ borderRadius: borderRadius || shape === 'circular' ? 18 : 0,
164
+ onMouseDown: _common.defaultOnMouseDownHandler,
165
+ onKeyPress: onKeyPress,
166
+ hidden: hidden,
167
+ focusBackgroundColor: focusBackgroundColor,
168
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
169
+ children: children
170
+ })
171
+ });
172
+ }
173
+ });
174
+
175
+ IconButton.propTypes = {
176
+ id: _propTypes.default.string,
177
+ variant: _propTypes.default.oneOf(['primary', 'secondary']),
178
+ shape: _propTypes.default.oneOf(['square', 'circular']),
179
+ action: _propTypes.default.func.isRequired,
180
+ hideOnLowWidth: _propTypes.default.bool,
181
+ isInMobileMenu: _propTypes.default.bool,
182
+ disabled: _propTypes.default.bool,
183
+ useTransparentBackground: _propTypes.default.bool,
184
+ iconColor: _propTypes.default.string,
185
+ unsetIconSize: _propTypes.default.bool,
186
+ tabIndex: _propTypes.default.number,
187
+ borderRadius: _propTypes.default.number,
188
+ onKeyPress: _propTypes.default.func,
189
+ focusBackgroundColor: _propTypes.default.string,
190
+ children: _propTypes.default.node,
191
+ hidden: _propTypes.default.bool
192
+ };
193
+ var _default = IconButton;
194
+ exports.default = _default;
195
+ //# sourceMappingURL=Iconbutton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","styled","button","hideOnLowWidth","BREAKPOINTS","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","COLORS","primary_500","iconColor","white","primary_700","primary_800","neutral_200","focusBackgroundColor","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","React","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","isPressingEnter","e","key","preventDefault","stopPropagation","event","defaultOnMouseDownHandler"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n}\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none !important;\n }\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || 'transparent'};\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n }\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n focusBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n focusBackgroundColor,\n type,\n hidden\n}: IconButtonProps, ref) => {\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.cjs"}
@@ -1,4 +1,17 @@
1
1
  import React from 'react';
2
+ interface HeaderItemProps {
3
+ hideOnLowWidth: boolean;
4
+ inMobileMenu?: boolean;
5
+ useTransparentBackground?: boolean;
6
+ iconColor?: string;
7
+ unsetIconSize?: boolean;
8
+ borderRadius?: number;
9
+ shape?: string;
10
+ flatEdge?: string;
11
+ focusBackgroundColor?: string;
12
+ }
13
+ export declare const StyledPrimaryIconButton: import("styled-components").StyledComponent<"button", any, HeaderItemProps, never>;
14
+ export declare const StyledSecondaryIconButton: import("styled-components").StyledComponent<"button", any, HeaderItemProps, never>;
2
15
  export interface IconButtonProps {
3
16
  id?: string;
4
17
  variant?: 'primary' | 'secondary';
@@ -38,7 +38,7 @@ var StyledIconButton = styled.button(_templateObject || (_templateObject = _tagg
38
38
  }, function (props) {
39
39
  return props.unsetIconSize ? 'unset' : '24px';
40
40
  });
41
- var StyledPrimaryIconButton = styled(StyledIconButton)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
41
+ export var StyledPrimaryIconButton = styled(StyledIconButton)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
42
42
  return props.useTransparentBackground ? 'transparent' : COLORS.primary_500;
43
43
  }, function (props) {
44
44
  return props.iconColor || COLORS.white;
@@ -47,7 +47,7 @@ var StyledPrimaryIconButton = styled(StyledIconButton)(_templateObject2 || (_tem
47
47
  }, COLORS.primary_700, COLORS.white, COLORS.primary_800, COLORS.white, COLORS.neutral_200, COLORS.white, COLORS.white, function (props) {
48
48
  return props.focusBackgroundColor || COLORS.primary_700;
49
49
  }, COLORS.white);
50
- var StyledSecondaryIconButton = styled(StyledIconButton)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
50
+ export var StyledSecondaryIconButton = styled(StyledIconButton)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", ";\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
51
51
  return props.useTransparentBackground ? 'transparent' : COLORS.white;
52
52
  }, function (props) {
53
53
  return props.iconColor || COLORS.neutral_600;