@laerdal/life-react-components 1.4.1-dev.2 → 1.4.1-dev.20

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/ContentAccordion.d.ts +10 -1
  14. package/dist/Accordion/ContentAccordion.js +20 -19
  15. package/dist/Accordion/ContentAccordion.js.map +1 -1
  16. package/dist/Accordion/index.cjs +38 -0
  17. package/dist/Accordion/index.cjs.map +1 -0
  18. package/dist/Accordion/styles.cjs +45 -0
  19. package/dist/Accordion/styles.cjs.map +1 -0
  20. package/dist/Accordion/styles.d.ts +5 -5
  21. package/dist/Accordion/styles.js +9 -10
  22. package/dist/Accordion/styles.js.map +1 -1
  23. package/dist/AuthPage/AuthPage.cjs +80 -0
  24. package/dist/AuthPage/AuthPage.cjs.map +1 -0
  25. package/dist/AuthPage/Information.cjs +42 -0
  26. package/dist/AuthPage/Information.cjs.map +1 -0
  27. package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
  28. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
  29. package/dist/AuthPage/_AuthPageSection.cjs +22 -0
  30. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
  31. package/dist/AuthPage/index.cjs +64 -0
  32. package/dist/AuthPage/index.cjs.map +1 -0
  33. package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
  34. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
  35. package/dist/Banners/Banner.cjs +291 -0
  36. package/dist/Banners/Banner.cjs.map +1 -0
  37. package/dist/Banners/Banner.js +5 -5
  38. package/dist/Banners/Banner.js.map +1 -1
  39. package/dist/Banners/OverviewBanner.cjs +55 -0
  40. package/dist/Banners/OverviewBanner.cjs.map +1 -0
  41. package/dist/Banners/index.cjs +24 -0
  42. package/dist/Banners/index.cjs.map +1 -0
  43. package/dist/Banners/styles.cjs +37 -0
  44. package/dist/Banners/styles.cjs.map +1 -0
  45. package/dist/Banners/styles.js +5 -4
  46. package/dist/Banners/styles.js.map +1 -1
  47. package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
  48. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
  49. package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
  50. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
  51. package/dist/Breadcrumb/index.cjs +16 -0
  52. package/dist/Breadcrumb/index.cjs.map +1 -0
  53. package/dist/Button/BackButton.cjs +75 -0
  54. package/dist/Button/BackButton.cjs.map +1 -0
  55. package/dist/Button/Button.cjs +340 -0
  56. package/dist/Button/Button.cjs.map +1 -0
  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/ChipDropdownInput.cjs +435 -0
  85. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  86. package/dist/Dropdown/CommonStyling.cjs +95 -0
  87. package/dist/Dropdown/CommonStyling.cjs.map +1 -0
  88. package/dist/Dropdown/DropdownButton.cjs +161 -0
  89. package/dist/Dropdown/DropdownButton.cjs.map +1 -0
  90. package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
  91. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
  92. package/dist/Dropdown/DropdownContent.cjs +600 -0
  93. package/dist/Dropdown/DropdownContent.cjs.map +1 -0
  94. package/dist/Dropdown/DropdownFilter.cjs +357 -0
  95. package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
  96. package/dist/Dropdown/index.cjs +40 -0
  97. package/dist/Dropdown/index.cjs.map +1 -0
  98. package/dist/Dropdown/index.d.ts +1 -0
  99. package/dist/Dropdown/index.js.map +1 -1
  100. package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
  101. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
  102. package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
  103. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
  104. package/dist/Footer/Components/FooterNavSection.cjs +90 -0
  105. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
  106. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
  107. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
  108. package/dist/Footer/Components/FooterTop.cjs +91 -0
  109. package/dist/Footer/Components/FooterTop.cjs.map +1 -0
  110. package/dist/Footer/Footer.cjs +41 -0
  111. package/dist/Footer/Footer.cjs.map +1 -0
  112. package/dist/Footer/SiteFooter.cjs +89 -0
  113. package/dist/Footer/SiteFooter.cjs.map +1 -0
  114. package/dist/Footer/index.cjs +24 -0
  115. package/dist/Footer/index.cjs.map +1 -0
  116. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  117. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  118. package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
  119. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  120. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
  121. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  122. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
  123. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
  124. package/dist/GlobalNavigationBar/Logo.cjs +102 -0
  125. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
  126. package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
  127. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  128. package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
  129. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  130. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
  131. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  132. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
  133. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  134. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  135. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  136. package/dist/GlobalNavigationBar/index.cjs +36 -0
  137. package/dist/GlobalNavigationBar/index.cjs.map +1 -0
  138. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
  139. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
  140. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  141. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  142. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  143. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  144. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
  145. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
  146. package/dist/HyperLink/HyperLink.cjs +72 -0
  147. package/dist/HyperLink/HyperLink.cjs.map +1 -0
  148. package/dist/HyperLink/index.cjs +30 -0
  149. package/dist/HyperLink/index.cjs.map +1 -0
  150. package/dist/HyperLink/styling.cjs +22 -0
  151. package/dist/HyperLink/styling.cjs.map +1 -0
  152. package/dist/InputFields/Checkbox.cjs +126 -0
  153. package/dist/InputFields/Checkbox.cjs.map +1 -0
  154. package/dist/InputFields/Checkbox.d.ts +1 -0
  155. package/dist/InputFields/Checkbox.js +5 -3
  156. package/dist/InputFields/Checkbox.js.map +1 -1
  157. package/dist/InputFields/DatepickerField.cjs +252 -0
  158. package/dist/InputFields/DatepickerField.cjs.map +1 -0
  159. package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
  160. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
  161. package/dist/InputFields/Label.cjs +104 -0
  162. package/dist/InputFields/Label.cjs.map +1 -0
  163. package/dist/InputFields/Label.js +1 -1
  164. package/dist/InputFields/Label.js.map +1 -1
  165. package/dist/InputFields/PasswordField.cjs +150 -0
  166. package/dist/InputFields/PasswordField.cjs.map +1 -0
  167. package/dist/InputFields/QuickSearch.cjs +201 -0
  168. package/dist/InputFields/QuickSearch.cjs.map +1 -0
  169. package/dist/InputFields/RadioButton.cjs +114 -0
  170. package/dist/InputFields/RadioButton.cjs.map +1 -0
  171. package/dist/InputFields/RadioButton.d.ts +1 -0
  172. package/dist/InputFields/RadioButton.js +5 -3
  173. package/dist/InputFields/RadioButton.js.map +1 -1
  174. package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
  175. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
  176. package/dist/InputFields/SearchBar.cjs +146 -0
  177. package/dist/InputFields/SearchBar.cjs.map +1 -0
  178. package/dist/InputFields/TextField.cjs +126 -0
  179. package/dist/InputFields/TextField.cjs.map +1 -0
  180. package/dist/InputFields/Textarea.cjs +96 -0
  181. package/dist/InputFields/Textarea.cjs.map +1 -0
  182. package/dist/InputFields/components/SearchBarInput.cjs +99 -0
  183. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
  184. package/dist/InputFields/components/SearchField.cjs +71 -0
  185. package/dist/InputFields/components/SearchField.cjs.map +1 -0
  186. package/dist/InputFields/index.cjs +80 -0
  187. package/dist/InputFields/index.cjs.map +1 -0
  188. package/dist/InputFields/styling.cjs +76 -0
  189. package/dist/InputFields/styling.cjs.map +1 -0
  190. package/dist/Layouts/index.cjs +56 -0
  191. package/dist/Layouts/index.cjs.map +1 -0
  192. package/dist/List/ListRow.cjs +143 -0
  193. package/dist/List/ListRow.cjs.map +1 -0
  194. package/dist/List/index.cjs +16 -0
  195. package/dist/List/index.cjs.map +1 -0
  196. package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
  197. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
  198. package/dist/LoadingIndicator/index.cjs +16 -0
  199. package/dist/LoadingIndicator/index.cjs.map +1 -0
  200. package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
  201. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
  202. package/dist/LoadingPage/index.cjs +16 -0
  203. package/dist/LoadingPage/index.cjs.map +1 -0
  204. package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
  205. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
  206. package/dist/MiniProductCard/index.cjs +16 -0
  207. package/dist/MiniProductCard/index.cjs.map +1 -0
  208. package/dist/Modals/Modal.cjs +92 -0
  209. package/dist/Modals/Modal.cjs.map +1 -0
  210. package/dist/Modals/ModalContainer.cjs +176 -0
  211. package/dist/Modals/ModalContainer.cjs.map +1 -0
  212. package/dist/Modals/ModalContainer.js +1 -1
  213. package/dist/Modals/ModalContainer.js.map +1 -1
  214. package/dist/Modals/ModalDialog.cjs +363 -0
  215. package/dist/Modals/ModalDialog.cjs.map +1 -0
  216. package/dist/Modals/ModalDialog.d.ts +1 -0
  217. package/dist/Modals/ModalDialog.js +22 -2
  218. package/dist/Modals/ModalDialog.js.map +1 -1
  219. package/dist/Modals/ModalNote.cjs +93 -0
  220. package/dist/Modals/ModalNote.cjs.map +1 -0
  221. package/dist/Modals/ModalStyles.cjs +154 -0
  222. package/dist/Modals/ModalStyles.cjs.map +1 -0
  223. package/dist/Modals/ModalStyles.js +1 -1
  224. package/dist/Modals/ModalStyles.js.map +1 -1
  225. package/dist/Modals/ModalTypes.cjs +6 -0
  226. package/dist/Modals/ModalTypes.cjs.map +1 -0
  227. package/dist/Modals/index.cjs +70 -0
  228. package/dist/Modals/index.cjs.map +1 -0
  229. package/dist/Modals/index.d.ts +1 -0
  230. package/dist/Modals/index.js.map +1 -1
  231. package/dist/NavItem/NavItem.cjs +26 -0
  232. package/dist/NavItem/NavItem.cjs.map +1 -0
  233. package/dist/NavItem/index.cjs +16 -0
  234. package/dist/NavItem/index.cjs.map +1 -0
  235. package/dist/NotificationDot/NotificationDot.cjs +74 -0
  236. package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
  237. package/dist/NotificationDot/index.cjs +16 -0
  238. package/dist/NotificationDot/index.cjs.map +1 -0
  239. package/dist/Paginator/Paginator.cjs +191 -0
  240. package/dist/Paginator/Paginator.cjs.map +1 -0
  241. package/dist/Paginator/index.cjs +16 -0
  242. package/dist/Paginator/index.cjs.map +1 -0
  243. package/dist/QuizButton/QuizButton.cjs +150 -0
  244. package/dist/QuizButton/QuizButton.cjs.map +1 -0
  245. package/dist/QuizButton/QuizButton.d.ts +15 -0
  246. package/dist/QuizButton/QuizButton.js +126 -0
  247. package/dist/QuizButton/QuizButton.js.map +1 -0
  248. package/dist/QuizButton/index.cjs +16 -0
  249. package/dist/QuizButton/index.cjs.map +1 -0
  250. package/dist/QuizButton/index.d.ts +1 -0
  251. package/dist/QuizButton/index.js +2 -0
  252. package/dist/QuizButton/index.js.map +1 -0
  253. package/dist/Services/functions.cjs +19 -0
  254. package/dist/Services/functions.cjs.map +1 -0
  255. package/dist/SkipToContent/SkipToContent.cjs +46 -0
  256. package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
  257. package/dist/SkipToContent/index.cjs +16 -0
  258. package/dist/SkipToContent/index.cjs.map +1 -0
  259. package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
  260. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
  261. package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
  262. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
  263. package/dist/Switcher/index.cjs +24 -0
  264. package/dist/Switcher/index.cjs.map +1 -0
  265. package/dist/Table/Table.cjs +463 -0
  266. package/dist/Table/Table.cjs.map +1 -0
  267. package/dist/Table/TableBody.cjs +186 -0
  268. package/dist/Table/TableBody.cjs.map +1 -0
  269. package/dist/Table/TableFooter.cjs +119 -0
  270. package/dist/Table/TableFooter.cjs.map +1 -0
  271. package/dist/Table/TableHeaders.cjs +100 -0
  272. package/dist/Table/TableHeaders.cjs.map +1 -0
  273. package/dist/Table/TableStyles.cjs +104 -0
  274. package/dist/Table/TableStyles.cjs.map +1 -0
  275. package/dist/Table/TableTypes.cjs +6 -0
  276. package/dist/Table/TableTypes.cjs.map +1 -0
  277. package/dist/Table/index.cjs +16 -0
  278. package/dist/Table/index.cjs.map +1 -0
  279. package/dist/Table/index.d.ts +1 -0
  280. package/dist/Table/index.js.map +1 -1
  281. package/dist/Tabs/HorizontalTabs.cjs +98 -0
  282. package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
  283. package/dist/Tabs/HorizontalTabs.d.ts +1 -1
  284. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  285. package/dist/Tabs/TabLink.cjs +128 -0
  286. package/dist/Tabs/TabLink.cjs.map +1 -0
  287. package/dist/Tabs/Tabs.cjs +121 -0
  288. package/dist/Tabs/Tabs.cjs.map +1 -0
  289. package/dist/Tabs/VerticalTabs.cjs +68 -0
  290. package/dist/Tabs/VerticalTabs.cjs.map +1 -0
  291. package/dist/Tabs/index.cjs +24 -0
  292. package/dist/Tabs/index.cjs.map +1 -0
  293. package/dist/Tabs/index.d.ts +2 -0
  294. package/dist/Tabs/index.js.map +1 -1
  295. package/dist/Toasters/Toast.cjs +289 -0
  296. package/dist/Toasters/Toast.cjs.map +1 -0
  297. package/dist/Toasters/Toast.js +2 -2
  298. package/dist/Toasters/Toast.js.map +1 -1
  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 +2 -0
  346. package/dist/index.js +2 -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
@@ -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":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;AAcA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;AAAA,SAA4BA,KAAK,CAACC,YAAN,aAAwBD,KAAK,CAACC,YAA9B,UAAiD,KAA7E;AAAA,CAAxB;;AAEA,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACF,KAAD,EAA2B;AACtD,MAAMG,MAAM,GAAGJ,eAAe,CAACC,KAAD,CAA9B;;AACA,UAAOA,KAAK,CAACI,QAAb;AAEI,SAAK,MAAL;AACI,2BAAcD,MAAd,cAAwBA,MAAxB;;AAEJ,SAAK,OAAL;AACI,uBAAUA,MAAV,sBAA4BA,MAA5B;;AAEJ,SAAK,MAAL;AACA;AACI,uBAAUA,MAAV;AAVR;AAYD,CAdD;;AAgBA,IAAME,gBAAgB,GAAGC,0BAAOC,MAAV,+vBAOT,UAACP,KAAD;AAAA,SAAYA,KAAK,CAACQ,cAAN,GAAuB,MAAvB,GAAgC,OAA5C;AAAA,CAPS,EAQlBC,oBAAYC,MARM,EAYH,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,YAAN,aAAwBD,KAAK,CAACC,YAA9B,UAAiD,KAA7D;AAAA,CAZG,EAgBDC,oBAhBC,EAqBN,UAACF,KAAD;AAAA,SAAYA,KAAK,CAACW,aAAN,GAAsB,OAAtB,GAAgC,MAA5C;AAAA,CArBM,EAsBP,UAACX,KAAD;AAAA,SAAYA,KAAK,CAACW,aAAN,GAAsB,OAAtB,GAAgC,MAA5C;AAAA,CAtBO,CAAtB;;AA6CO,IAAMC,uBAAuB,GAAG,+BAAOP,gBAAP,CAAH,42BAEZ,UAACL,KAAD;AAAA,SAAYA,KAAK,CAACa,wBAAN,GAAiC,aAAjC,GAAiDC,eAAOC,WAApE;AAAA,CAFY,EAKtB,UAACf,KAAD;AAAA,SAAWA,KAAK,CAACgB,SAAN,IAAmBF,eAAOG,KAArC;AAAA,CALsB,EAOpB,UAACjB,KAAD;AAAA,SAAWA,KAAK,CAACgB,SAAN,IAAmBF,eAAOG,KAArC;AAAA,CAPoB,EAaVH,eAAOI,WAbG,EAiBtBJ,eAAOG,KAjBe,EAsBhBH,eAAOK,WAtBS,EA0BtBL,eAAOG,KA1Be,EA+BVH,eAAOM,WA/BG,EAmCpBN,eAAOG,KAnCa,EAqCtBH,eAAOG,KArCe,EA0CV,UAACjB,KAAD;AAAA,SAAWA,KAAK,CAACqB,oBAAN,IAA8BP,eAAOI,WAAhD;AAAA,CA1CU,EA+CtBJ,eAAOG,KA/Ce,CAA7B;;AAoDA,IAAMK,yBAAyB,GAAG,+BAAOjB,gBAAP,CAAH,k2BAEd,UAACL,KAAD;AAAA,SAAYA,KAAK,CAACa,wBAAN,GAAiC,aAAjC,GAAiDC,eAAOG,KAApE;AAAA,CAFc,EAKxB,UAACjB,KAAD;AAAA,SAAWA,KAAK,CAACgB,SAAN,IAAmBF,eAAOS,WAArC;AAAA,CALwB,EAOtB,UAACvB,KAAD;AAAA,SAAWA,KAAK,CAACgB,SAAN,IAAmBF,eAAOS,WAArC;AAAA,CAPsB,EAaZT,eAAOU,UAbK,EAiBxBV,eAAOI,WAjBiB,EAsBlBJ,eAAOW,WAtBW,EA0BxBX,eAAOK,WA1BiB,EAgCZ,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACa,wBAAN,GAAiC,aAAjC,GAAiDC,eAAOG,KAApE;AAAA,CAhCY,EAoCtBH,eAAOY,WApCe,EAsCxBZ,eAAOY,WAtCiB,EA4CZ,UAAC1B,KAAD;AAAA,SAAWA,KAAK,CAACqB,oBAAN,IAA8B,aAAzC;AAAA,CA5CY,EA6CNP,eAAOC,WA7CD,EAiDxBD,eAAOS,WAjDiB,CAA/B;;;AA2EP,IAAMI,UAAU,gBAAGC,eAAMC,UAAN,CAAqD,gBAmBpDC,GAnBoD,EAmB5C;AAAA,MAlB1BC,EAkB0B,QAlB1BA,EAkB0B;AAAA,MAjB1BC,OAiB0B,QAjB1BA,OAiB0B;AAAA,MAhB1BC,KAgB0B,QAhB1BA,KAgB0B;AAAA,MAf1BC,MAe0B,QAf1BA,MAe0B;AAAA,MAd1B1B,cAc0B,QAd1BA,cAc0B;AAAA,MAb1B2B,cAa0B,QAb1BA,cAa0B;AAAA,MAZ1BC,QAY0B,QAZ1BA,QAY0B;AAAA,MAX1BvB,wBAW0B,QAX1BA,wBAW0B;AAAA,MAV1BwB,QAU0B,QAV1BA,QAU0B;AAAA,MAT1BrB,SAS0B,QAT1BA,SAS0B;AAAA,MAR1BL,aAQ0B,QAR1BA,aAQ0B;AAAA,MAP1B2B,QAO0B,QAP1BA,QAO0B;AAAA,MAN1BlC,QAM0B,QAN1BA,QAM0B;AAAA,MAL1BH,YAK0B,QAL1BA,YAK0B;AAAA,MAJ1BsC,UAI0B,QAJ1BA,UAI0B;AAAA,MAH1BlB,oBAG0B,QAH1BA,oBAG0B;AAAA,MAF1BmB,IAE0B,QAF1BA,IAE0B;AAAA,MAD1BC,MAC0B,QAD1BA,MAC0B;;AAE1B,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,CAAD,EAAY;AAClC,QAAIA,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrBD,MAAAA,CAAC,CAACE,cAAF;AACAF,MAAAA,CAAC,CAACG,eAAF;AACA,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD,GAPD,CAF0B,CAW1B;;;AACA,UAAQd,OAAR;AACE,SAAK,WAAL;AACE,0BACE,qBAAC,yBAAD;AACE,QAAA,EAAE,EAAED,EADN;AAEE,QAAA,IAAI,EAAES,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAU,QAFhB;AAGE,uBAAaT,EAHf;AAIE,QAAA,GAAG,EAAED,GAJP;AAKE,QAAA,OAAO,EAAE,iBAACiB,KAAD,EAAgD;AAACA,UAAAA,KAAK,CAACD,eAAN;AAAyBZ,UAAAA,MAAM,CAACa,KAAD,CAAN;AAAe,SALpG;AAME,QAAA,SAAS,EAAE,mBAACJ,CAAD;AAAA,iBAAaD,eAAe,CAACC,CAAD,CAAf,GAAqBT,MAAM,EAA3B,GAAgC,IAA7C;AAAA,SANb;AAOE,QAAA,QAAQ,EAAEG,QAPZ;AAQE,QAAA,cAAc,EAAE7B,cAAc,IAAI,KARpC;AASE,QAAA,YAAY,EAAE2B,cAThB;AAUE,QAAA,wBAAwB,EAAEtB,wBAV5B;AAWE,QAAA,SAAS,EAAEG,SAXb;AAYE,QAAA,aAAa,EAAEL,aAZjB;AAaE,QAAA,QAAQ,EAAE2B,QAAQ,IAAI,CAbxB;AAcE,QAAA,YAAY,EAAErC,YAAY,IAAIgC,KAAK,KAAK,UAA1B,GAAuC,EAAvC,GAA4C,CAd5D;AAeE,QAAA,WAAW,EAAEe,iCAff;AAgBE,QAAA,UAAU,EAAET,UAhBd;AAiBE,QAAA,MAAM,EAAEE,MAjBV;AAkBE,QAAA,oBAAoB,EAAEpB,oBAlBxB;AAAA,+BAmBE;AAAA,oBAAMe;AAAN;AAnBF,QADF;;AAuBF,SAAK,SAAL;AACA;AACE,0BACE,qBAAC,uBAAD;AACE,QAAA,EAAE,EAAEL,EADN;AAEE,QAAA,IAAI,EAAES,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAU,QAFhB;AAGE,uBAAaT,EAHf;AAIE,QAAA,QAAQ,EAAE3B,QAJZ;AAKE,QAAA,GAAG,EAAE0B,GALP;AAME,QAAA,OAAO,EAAE,iBAACiB,KAAD,EAAiD;AAACA,UAAAA,KAAK,CAACD,eAAN;AAAyBZ,UAAAA,MAAM,CAACa,KAAD,CAAN;AAAe,SANrG;AAOE,QAAA,SAAS,EAAE,mBAACJ,CAAD;AAAA,iBAAaD,eAAe,CAACC,CAAD,CAAf,GAAqBT,MAAM,EAA3B,GAAgC,IAA7C;AAAA,SAPb;AAQE,QAAA,QAAQ,EAAEG,QARZ;AASE,QAAA,cAAc,EAAE7B,cAAc,IAAI,KATpC;AAUE,QAAA,YAAY,EAAE2B,cAVhB;AAWE,QAAA,wBAAwB,EAAEtB,wBAX5B;AAYE,QAAA,SAAS,EAAEG,SAZb;AAaE,QAAA,aAAa,EAAEL,aAbjB;AAcE,QAAA,QAAQ,EAAE2B,QAAQ,IAAI,CAdxB;AAeE,QAAA,YAAY,EAAErC,YAAY,IAAIgC,KAAK,KAAK,UAA1B,GAAuC,EAAvC,GAA4C,CAf5D;AAgBE,QAAA,WAAW,EAAEe,iCAhBf;AAiBE,QAAA,UAAU,EAAET,UAjBd;AAkBE,QAAA,MAAM,EAAEE,MAlBV;AAmBE,QAAA,oBAAoB,EAAEpB,oBAnBxB;AAAA,+BAoBE;AAAA,oBAAMe;AAAN;AApBF,QADF;AA3BJ;AAoDD,CAnFkB,CAAnB;;;AApBEL,EAAAA,E;AACAC,EAAAA,O,4BAAU,S,EAAY,W;AACtBC,EAAAA,K,4BAAQ,Q,EAAW,U;AACnBC,EAAAA,M;AACA1B,EAAAA,c;AAEA2B,EAAAA,c;AACAE,EAAAA,Q;AACAxB,EAAAA,wB;AACAG,EAAAA,S;AACAL,EAAAA,a;AACA2B,EAAAA,Q;AACArC,EAAAA,Y;AACAsC,EAAAA,U;AACAlB,EAAAA,oB;AAEAe,EAAAA,Q;AACAK,EAAAA,M;;eAwFad,U","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;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","focusBackgroundColor","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","isPressingEnter","e","key","preventDefault","stopPropagation","event"],"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\nconst 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\nconst 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'} !important;\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.js"}
1
+ {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","focusBackgroundColor","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","isPressingEnter","e","key","preventDefault","stopPropagation","event"],"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.js"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "BackButton", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _BackButton.default;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "Button", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _Button.default;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "DualFunctionButton", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _DualFunctionButton.default;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "IconButton", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _Iconbutton.default;
30
+ }
31
+ });
32
+
33
+ var _Iconbutton = _interopRequireDefault(require("./Iconbutton"));
34
+
35
+ var _Button = _interopRequireDefault(require("./Button"));
36
+
37
+ var _BackButton = _interopRequireDefault(require("./BackButton"));
38
+
39
+ var _DualFunctionButton = _interopRequireDefault(require("./DualFunctionButton"));
40
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Button/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["export {default as IconButton} from './Iconbutton';\nexport {default as Button} from './Button';\nexport {default as BackButton} from './BackButton';\nexport {default as DualFunctionButton} from './DualFunctionButton';\n"],"file":"index.cjs"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var React = _interopRequireWildcard(require("react"));
11
+
12
+ var _index = require("../icons/index");
13
+
14
+ var _types = require("../types");
15
+
16
+ var _ChipStyles = require("./ChipStyles");
17
+
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ /**
25
+ * Import React libraries.
26
+ */
27
+
28
+ /**
29
+ * Import custom components.
30
+ */
31
+
32
+ /**
33
+ * Import custom styles.
34
+ */
35
+ var ActionChip = function ActionChip(_ref) {
36
+ var icon = _ref.icon,
37
+ text = _ref.text,
38
+ variant = _ref.variant,
39
+ size = _ref.size,
40
+ disabled = _ref.disabled,
41
+ _onClick = _ref.onClick;
42
+
43
+ /**
44
+ * Retrieves icon size based on the chip size.
45
+ * @returns A string indicating the icon size.
46
+ */
47
+ var getIconSize = function getIconSize() {
48
+ var iconSize; // Calculate correct icon size
49
+
50
+ if (size === _types.Size.Small) {
51
+ iconSize = '16px';
52
+ } else if (size === _types.Size.Medium) {
53
+ iconSize = '20px';
54
+ } else {
55
+ iconSize = '24px';
56
+ }
57
+
58
+ return iconSize;
59
+ };
60
+ /**
61
+ * Return Action Chip component.
62
+ */
63
+
64
+
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
66
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChipStyles.ActionChipContainer, {
67
+ className: "".concat(size, " ").concat(disabled ? 'disabled' : variant, " ").concat(icon && 'icon-chip'),
68
+ onClick: function onClick() {
69
+ return _onClick();
70
+ },
71
+ children: [icon && _index.SystemIcons[icon]({
72
+ size: getIconSize(),
73
+ className: 'icon'
74
+ }), text]
75
+ })
76
+ });
77
+ };
78
+
79
+ var _default = ActionChip;
80
+ exports.default = _default;
81
+ //# sourceMappingURL=ActionChip.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Chips/ActionChip.tsx"],"names":["ActionChip","icon","text","variant","size","disabled","onClick","getIconSize","iconSize","Size","Small","Medium","icons","className"],"mappings":";;;;;;;;;AAGC;;AAKA;;AACA;;AAIA;;;;;;;;AAbD;AACA;AACA;;AAGC;AACD;AACA;;AAGC;AACD;AACA;AAQC,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAAuE;AAAA,MAApEC,IAAoE,QAApEA,IAAoE;AAAA,MAA9DC,IAA8D,QAA9DA,IAA8D;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,IAA+C,QAA/CA,IAA+C;AAAA,MAAzCC,QAAyC,QAAzCA,QAAyC;AAAA,MAA/BC,QAA+B,QAA/BA,OAA+B;;AAClI;AACH;AACA;AACA;AACG,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAc;AAChC,QAAIC,QAAJ,CADgC,CAGhC;;AACA,QAAIJ,IAAI,KAAKK,YAAKC,KAAlB,EAAyB;AACvBF,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFD,MAEO,IAAIJ,IAAI,KAAKK,YAAKE,MAAlB,EAA0B;AAC/BH,MAAAA,QAAQ,GAAG,MAAX;AACD,KAFM,MAEA;AACLA,MAAAA,QAAQ,GAAG,MAAX;AACD;;AAED,WAAOA,QAAP;AACD,GAbD;AAeA;AACH;AACA;;;AACG,sBACE;AAAA,2BACE,sBAAC,+BAAD;AAAqB,MAAA,SAAS,YAAKJ,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgBF,OAArC,cAAgDF,IAAI,IAAI,WAAxD,CAA9B;AAAqG,MAAA,OAAO,EAAE;AAAA,eAAMK,QAAO,EAAb;AAAA,OAA9G;AAAA,iBAEGL,IAAI,IAAIW,mBAAMX,IAAN,EAAY;AAAEG,QAAAA,IAAI,EAAEG,WAAW,EAAnB;AAAuBM,QAAAA,SAAS,EAAE;AAAlC,OAAZ,CAFX,EAKGX,IALH;AAAA;AADF,IADF;AAWD,CAlCD;;eAoCeF,U","sourcesContent":["/**\n * Import React libraries.\n */\n import * as React from 'react';\n\n /**\n * Import custom components.\n */\n import {SystemIcons as icons} from '../icons/index';\n import {Size} from '../types'; \n /**\n * Import custom styles.\n */\n import { ActionChipContainer } from './ChipStyles';\n \n /**\n * Import custom types.\n */\n import { ActionChipProps } from './ChipTypes';\n \n const ActionChip: React.FunctionComponent<ActionChipProps> = ({ icon, text, variant, size, disabled, onClick }: ActionChipProps) => {\n /**\n * Retrieves icon size based on the chip size.\n * @returns A string indicating the icon size.\n */\n const getIconSize = (): string => {\n let iconSize: string;\n \n // Calculate correct icon size\n if (size === Size.Small) {\n iconSize = '16px';\n } else if (size === Size.Medium) {\n iconSize = '20px';\n } else {\n iconSize = '24px';\n }\n \n return iconSize;\n }\n \n /**\n * Return Action Chip component.\n */\n return (\n <>\n <ActionChipContainer className={`${size} ${disabled ? 'disabled' : variant} ${icon && 'icon-chip'}`} onClick={() => onClick()}>\n { /* Let's render icon if it is passed */ }\n {icon && icons[icon]({ size: getIconSize(), className: 'icon' })}\n \n { /* Let's render text */ }\n {text}\n </ActionChipContainer>\n </>\n );\n };\n \n export default ActionChip;\n "],"file":"ActionChip.cjs"}