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

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,340 @@
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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var React = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
23
+
24
+ var _LoadingIndicator = require("../LoadingIndicator");
25
+
26
+ var _typography = require("../styles/typography");
27
+
28
+ var _styles = require("../styles");
29
+
30
+ var _types = require("../types");
31
+
32
+ var _common = require("../common");
33
+
34
+ var _jsxRuntime = require("react/jsx-runtime");
35
+
36
+ var _excluded = ["children", "variant", "type", "size", "width", "minWidth", "testId", "disabled", "flatEdge", "icon"],
37
+ _excluded2 = ["loading"];
38
+
39
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
40
+
41
+ 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); }
42
+
43
+ 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; }
44
+
45
+ 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; }
46
+
47
+ 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; }
48
+
49
+ var getBorderRadius = function getBorderRadius(flatEdge, radius) {
50
+ switch (flatEdge) {
51
+ case 'left':
52
+ return "0px ".concat(radius, "px ").concat(radius, "px 0px");
53
+
54
+ case 'right':
55
+ return "".concat(radius, "px 0px 0px ").concat(radius, "px");
56
+
57
+ case 'none':
58
+ default:
59
+ return "".concat(radius, "px");
60
+ }
61
+ };
62
+
63
+ var Primary = _styledComponents.default.button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n min-height: ", ";\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 ", ";\n\n background-color: ", ";\n border-radius: ", ";\n border-width: 2px;\n border-style: solid;\n border-color: ", ";\n\n width: ", ";\n position: relative;\n\n min-height: ", ";\n min-width: ", ";\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: ", ";\n\n span.loading {\n opacity: 0;\n }\n .icon {\n margin: ", ";\n width: ", ";\n height: ", ";\n svg {\n width: ", " !important;\n height: ", " !important;\n }\n }\n\n .extramargin {\n margin-right: 4px;\n }\n\n div {\n position: absolute;\n width: 100%;\n svg {\n height: ", ";\n width: ", ";\n path {\n fill: ", ";\n }\n }\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ", ";\n border-color: ", ";\n color: ", ";\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ", ";\n border-color: ", ";\n box-shadow: none !important;\n color: ", ";\n }\n\n &:focus,\n &.focus-state {\n outline: none;\n\n div {\n outline: none;\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n background-color: ", ";\n border-color: ", ";\n color: ", ";\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: ", ";\n color: ", ";\n border-color: ", ";\n }\n"])), function (props) {
64
+ return props.size === _types.Size.Large ? '56px' : '48px';
65
+ }, function (props) {
66
+ return props.size === _types.Size.Large ? (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Bold, (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_800 : _styles.COLORS.white) : props.size === _types.Size.Small ? (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Bold, (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_800 : _styles.COLORS.white) : (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_800 : _styles.COLORS.white);
67
+ }, function (props) {
68
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary;
69
+ }, function (props) {
70
+ return getBorderRadius(props.flatEdge, 8);
71
+ }, function (props) {
72
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary;
73
+ }, function (props) {
74
+ return props.width;
75
+ }, function (props) {
76
+ return props.size === _types.Size.Large ? '56px' : props.size === _types.Size.Small ? '32px' : '40px';
77
+ }, function (props) {
78
+ return props.minWidth;
79
+ }, function (props) {
80
+ return props.size === _types.Size.Large ? '14px 18px' : props.size === _types.Size.Small ? '4px 10px' : '6px 14px';
81
+ }, function (props) {
82
+ return props.size === _types.Size.Medium ? props.iconOnly ? '-2px -8px' : '-2px -4px' : props.size === _types.Size.Small ? props.iconOnly ? '-2px -6px' : '-2px -4px' : '-2px -8px';
83
+ }, function (props) {
84
+ return props.size === _types.Size.Large ? '28px' : props.size === _types.Size.Small ? '20px' : '24px';
85
+ }, function (props) {
86
+ return props.size === _types.Size.Large ? '28px' : props.size === _types.Size.Small ? '20px' : '24px';
87
+ }, function (props) {
88
+ return props.size === _types.Size.Large ? '28px' : props.size === _types.Size.Small ? '20px' : '24px';
89
+ }, function (props) {
90
+ return props.size === _types.Size.Large ? '28px' : props.size === _types.Size.Small ? '20px' : '24px';
91
+ }, function (props) {
92
+ return props.size === _types.Size.Large ? '28px' : props.size === _types.Size.Small ? '20px' : '24px';
93
+ }, function (props) {
94
+ return props.size === _types.Size.Large ? '28px' : props.size === _types.Size.Small ? '20px' : '24px';
95
+ }, function (props) {
96
+ return props.colorTheme === 'dark' ? _styles.COLORS.primary : _styles.COLORS.white;
97
+ }, function (props) {
98
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_100 : _styles.COLORS.primary_700;
99
+ }, function (props) {
100
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_100 : _styles.COLORS.primary_700;
101
+ }, function (props) {
102
+ return (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_600 : _styles.COLORS.white;
103
+ }, function (props) {
104
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_200 : _styles.COLORS.primary_800;
105
+ }, function (props) {
106
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_200 : _styles.COLORS.primary_800;
107
+ }, function (props) {
108
+ return (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_800 : _styles.COLORS.white;
109
+ }, _styles.COLORS.focus_25, _styles.COLORS.focus, function (props) {
110
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : props.colorTheme === 'dark' ? _styles.COLORS.primary_100 : _styles.COLORS.primary_700;
111
+ }, function (props) {
112
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : props.colorTheme === 'dark' ? _styles.COLORS.primary_100 : _styles.COLORS.primary_700;
113
+ }, function (props) {
114
+ return props.colorTheme === 'dark' ? _styles.COLORS.primary_600 : _styles.COLORS.white;
115
+ }, function (props) {
116
+ return props.colorTheme === 'dark' ? _styles.COLORS.primary_700 : _styles.COLORS.neutral_100;
117
+ }, function (props) {
118
+ return props.colorTheme === 'dark' ? _styles.COLORS.primary_800 : _styles.COLORS.neutral_300;
119
+ }, function (props) {
120
+ return props.colorTheme === 'dark' ? _styles.COLORS.primary_700 : _styles.COLORS.neutral_100;
121
+ });
122
+
123
+ var Secondary = (0, _styledComponents.default)(Primary)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n div.button-content {\n color: ", ";\n border-color: ", ";\n background-color: transparent;\n div svg path {\n fill: ", ";\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: ", ";\n border-color: ", ";\n background-color: transparent;\n div {\n svg {\n path {\n fill: ", ";\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n color: ", ";\n border-color: ", ";\n background-color: transparent;\n div {\n svg {\n path {\n fill: ", ";\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: transparent;\n color: ", ";\n border-color: ", ";\n }\n \n &:focus,\n &.focus-state {\n outline: none;\n div {\n outline: none;\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n background-color: ", ";\n border-color: ", ";\n color: ", ";\n }\n }\n"])), function (props) {
124
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary;
125
+ }, function (props) {
126
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary;
127
+ }, function (props) {
128
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : _styles.COLORS.primary;
129
+ }, function (props) {
130
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_200 : _styles.COLORS.primary_700;
131
+ }, function (props) {
132
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_200 : _styles.COLORS.primary_700;
133
+ }, function (props) {
134
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : _styles.COLORS.primary_700;
135
+ }, function (props) {
136
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_300 : _styles.COLORS.primary_800;
137
+ }, function (props) {
138
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_300 : _styles.COLORS.primary_800;
139
+ }, function (props) {
140
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary_800;
141
+ }, function (props) {
142
+ return (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_700 : _styles.COLORS.neutral_300;
143
+ }, function (props) {
144
+ return (props === null || props === void 0 ? void 0 : props.colorTheme) === 'dark' ? _styles.COLORS.primary_700 : _styles.COLORS.neutral_100;
145
+ }, _styles.COLORS.focus_25, _styles.COLORS.focus, function (props) {
146
+ return props.colorTheme === 'dark' ? 'transparent' : _styles.COLORS.white;
147
+ }, function (props) {
148
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : props.colorTheme === 'dark' ? _styles.COLORS.primary_800 : _styles.COLORS.primary;
149
+ }, function (props) {
150
+ return props.colorTheme === 'dark' ? _styles.COLORS.white : _styles.COLORS.primary_500;
151
+ });
152
+ var Tertiary = (0, _styledComponents.default)(Primary)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n div.button-content {\n color: ", ";\n border-color: transparent;\n background-color: transparent;\n border-width: 1px;\n div svg path {\n fill: ", ";\n }\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n div {\n svg {\n path {\n fill: ", ";\n }\n }\n }\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n div {\n svg {\n path {\n fill: ", ";\n }\n }\n }\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: white !important;\n color: ", ";\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 ", ", 0px 0px 8px ", " !important;\n background-color: ", ";\n border-color: ", ";\n color: ", ";\n }\n }\n"])), function (props) {
153
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : _styles.COLORS.primary_500;
154
+ }, function (props) {
155
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : _styles.COLORS.primary;
156
+ }, function (props) {
157
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_20 : _styles.COLORS.primary_20;
158
+ }, function (props) {
159
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : _styles.COLORS.primary_700;
160
+ }, function (props) {
161
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_20 : _styles.COLORS.primary_20;
162
+ }, function (props) {
163
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_700 : _styles.COLORS.primary_700;
164
+ }, function (props) {
165
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_100 : _styles.COLORS.primary_100;
166
+ }, function (props) {
167
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : _styles.COLORS.primary_800;
168
+ }, function (props) {
169
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_100 : _styles.COLORS.primary_100;
170
+ }, function (props) {
171
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_800 : _styles.COLORS.primary_800;
172
+ }, _styles.COLORS.neutral_300, _styles.COLORS.focus_25, _styles.COLORS.focus, _styles.COLORS.white, function (props) {
173
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1 : _styles.COLORS.primary;
174
+ }, function (props) {
175
+ return props.colorTheme === 'teal' ? _styles.COLORS.accent1_500 : _styles.COLORS.primary_500;
176
+ });
177
+ var Correct = (0, _styledComponents.default)(Primary)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n div.button-content {\n color: white;\n border-color: ", ";\n background-color: ", ";\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ", ";\n background-color: ", ";\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ", ";\n background-color: ", ";\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ", ";\n background-color: ", ";\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n }\n"])), _styles.COLORS.correct_500, _styles.COLORS.correct_500, _styles.COLORS.correct_700, _styles.COLORS.correct_700, _styles.COLORS.correct_700, _styles.COLORS.correct_700, _styles.COLORS.correct_800, _styles.COLORS.correct_800, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, _styles.COLORS.neutral_100);
178
+ var Critical = (0, _styledComponents.default)(Primary)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n div.button-content {\n color: white;\n border-color: ", ";\n background-color: ", ";\n }\n &:hover > div.button-content,\n &.hover-state > div.button-content {\n border-color: ", ";\n background-color: ", ";\n }\n &:focus > div.button-content,\n &.focus-state > div.button-content {\n border-color: ", ";\n background-color: ", ";\n }\n &:active > div.button-content,\n &.active-state > div.button-content {\n border-color: ", ";\n background-color: ", ";\n }\n\n &:disabled > div.button-content,\n &.disabled-state > div.button-content {\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n }\n"])), _styles.COLORS.critical_500, _styles.COLORS.critical_500, _styles.COLORS.critical_700, _styles.COLORS.critical_700, _styles.COLORS.critical_700, _styles.COLORS.critical_700, _styles.COLORS.critical_800, _styles.COLORS.critical_800, _styles.COLORS.neutral_100, _styles.COLORS.neutral_300, _styles.COLORS.neutral_100);
179
+
180
+ var Button = function Button(_ref) {
181
+ var _ref$children = _ref.children,
182
+ children = _ref$children === void 0 ? '' : _ref$children,
183
+ _ref$variant = _ref.variant,
184
+ variant = _ref$variant === void 0 ? 'primary' : _ref$variant,
185
+ _ref$type = _ref.type,
186
+ type = _ref$type === void 0 ? 'button' : _ref$type,
187
+ _ref$size = _ref.size,
188
+ size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
189
+ _ref$width = _ref.width,
190
+ width = _ref$width === void 0 ? 'auto' : _ref$width,
191
+ _ref$minWidth = _ref.minWidth,
192
+ minWidth = _ref$minWidth === void 0 ? '64px' : _ref$minWidth,
193
+ testId = _ref.testId,
194
+ disabled = _ref.disabled,
195
+ flatEdge = _ref.flatEdge,
196
+ icon = _ref.icon,
197
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
198
+ // Let's filter out properties that we don't need to render.
199
+ var loading = props.loading,
200
+ renderProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
201
+
202
+ var renderContent = function renderContent() {
203
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
204
+ children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
205
+ className: (children ? 'extramargin ' : '') + (loading ? 'icon loading' : 'icon'),
206
+ children: icon
207
+ }), children && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
208
+ className: loading ? 'label loading' : 'label',
209
+ children: children
210
+ }), loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {})]
211
+ });
212
+ }; // Let's render button
213
+
214
+
215
+ switch (variant) {
216
+ case 'primary':
217
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Primary, _objectSpread(_objectSpread({}, renderProps), {}, {
218
+ disabled: disabled,
219
+ iconOnly: !children,
220
+ type: type,
221
+ size: size,
222
+ flatEdge: flatEdge,
223
+ width: width,
224
+ minWidth: minWidth,
225
+ "data-testid": testId,
226
+ className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
227
+ onMouseDown: _common.defaultOnMouseDownHandler,
228
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
229
+ className: "button-content",
230
+ children: renderContent()
231
+ })
232
+ }));
233
+
234
+ case 'secondary':
235
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Secondary, _objectSpread(_objectSpread({}, renderProps), {}, {
236
+ disabled: disabled,
237
+ type: type,
238
+ size: size,
239
+ iconOnly: !children,
240
+ flatEdge: flatEdge,
241
+ width: width,
242
+ minWidth: minWidth,
243
+ "data-testid": testId,
244
+ className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
245
+ onMouseDown: _common.defaultOnMouseDownHandler,
246
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
247
+ className: "button-content",
248
+ children: renderContent()
249
+ })
250
+ }));
251
+
252
+ case 'tertiary':
253
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Tertiary, _objectSpread(_objectSpread({}, renderProps), {}, {
254
+ disabled: disabled,
255
+ type: type,
256
+ flatEdge: flatEdge,
257
+ size: size,
258
+ width: width,
259
+ iconOnly: !children,
260
+ minWidth: minWidth,
261
+ "data-testid": testId,
262
+ className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
263
+ onMouseDown: _common.defaultOnMouseDownHandler,
264
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
265
+ className: "button-content",
266
+ children: renderContent()
267
+ })
268
+ }));
269
+
270
+ case 'correct':
271
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Correct, _objectSpread(_objectSpread({}, renderProps), {}, {
272
+ disabled: disabled,
273
+ type: type,
274
+ size: size,
275
+ iconOnly: !children,
276
+ flatEdge: flatEdge,
277
+ width: width,
278
+ minWidth: minWidth,
279
+ "data-testid": testId,
280
+ className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
281
+ onMouseDown: _common.defaultOnMouseDownHandler,
282
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
283
+ className: "button-content",
284
+ children: renderContent()
285
+ })
286
+ }));
287
+
288
+ case 'critical':
289
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Critical, _objectSpread(_objectSpread({}, renderProps), {}, {
290
+ disabled: disabled,
291
+ flatEdge: flatEdge,
292
+ iconOnly: !children,
293
+ type: type,
294
+ size: size,
295
+ width: width,
296
+ minWidth: minWidth,
297
+ "data-testid": testId,
298
+ className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
299
+ onMouseDown: _common.defaultOnMouseDownHandler,
300
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
301
+ className: "button-content",
302
+ children: renderContent()
303
+ })
304
+ }));
305
+
306
+ default:
307
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Primary, _objectSpread(_objectSpread({}, renderProps), {}, {
308
+ flatEdge: flatEdge,
309
+ disabled: disabled,
310
+ iconOnly: !children,
311
+ type: type,
312
+ size: size,
313
+ width: width,
314
+ minWidth: minWidth,
315
+ "data-testid": testId,
316
+ className: props.loading ? 'loading-state ' + props.className : ' ' + props.className,
317
+ onMouseDown: _common.defaultOnMouseDownHandler,
318
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
319
+ className: "button-content",
320
+ children: renderContent()
321
+ })
322
+ }));
323
+ }
324
+ };
325
+
326
+ Button.propTypes = {
327
+ variant: _propTypes.default.oneOf(['primary', 'secondary', 'tertiary', 'correct', 'critical']),
328
+ role: _propTypes.default.oneOfType([_propTypes.default.oneOf(['button']), _propTypes.default.string]),
329
+ title: _propTypes.default.string,
330
+ colorTheme: _propTypes.default.oneOf(['teal', 'dark']),
331
+ width: _propTypes.default.oneOfType([_propTypes.default.oneOf(['auto']), _propTypes.default.string]),
332
+ loading: _propTypes.default.bool,
333
+ testId: _propTypes.default.string,
334
+ icon: _propTypes.default.node,
335
+ minWidth: _propTypes.default.string,
336
+ iconOnly: _propTypes.default.bool
337
+ };
338
+ var _default = Button;
339
+ exports.default = _default;
340
+ //# sourceMappingURL=Button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Button/Button.tsx"],"names":["getBorderRadius","flatEdge","radius","Primary","styled","button","props","size","Size","Large","ComponentTextStyle","Bold","colorTheme","COLORS","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","defaultOnMouseDownHandler","role","title"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,QAAD,EAAgCC,MAAhC,EAAmD;AACzE,UAAOD,QAAP;AAEI,SAAK,MAAL;AACI,2BAAcC,MAAd,gBAA0BA,MAA1B;;AAEJ,SAAK,OAAL;AACI,uBAAUA,MAAV,wBAA8BA,MAA9B;;AAEJ,SAAK,MAAL;AACA;AACI,uBAAUA,MAAV;AAVR;AAYD,CAbD;;AAeA,IAAMC,OAAO,GAAGC,0BAAOC,MAAV,ulEAOG,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqC,MAAjD;AAAA,CAPH,EAgBP,UAACH,KAAD;AAAA,SACAA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GACI,mCAAkBC,+BAAmBC,IAArC,EAA2C,CAAAL,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOC,WAAtC,GAAoDD,eAAOE,KAAtG,CADJ,GAEIT,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GACA,mCAAkBN,+BAAmBC,IAArC,EAA2C,CAAAL,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOC,WAAtC,GAAoDD,eAAOE,KAAtG,CADA,GAEA,mCAAkBL,+BAAmBC,IAArC,EAA2C,CAAAL,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOC,WAAtC,GAAoDD,eAAOE,KAAtG,CALJ;AAAA,CAhBO,EAuBW,UAACT,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+C,CAAAX,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOE,KAAtC,GAA8CF,eAAOK,OAAhH;AAAA,CAvBX,EAwBQ,UAAAZ,KAAK;AAAA,SAAIN,eAAe,CAACM,KAAK,CAACL,QAAP,EAAiB,CAAjB,CAAnB;AAAA,CAxBb,EA2BO,UAACK,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+C,CAAAX,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOE,KAAtC,GAA8CF,eAAOK,OAAhH;AAAA,CA3BP,EA6BA,UAACZ,KAAD;AAAA,SAAWA,KAAK,CAACa,KAAjB;AAAA,CA7BA,EAgCK,UAACb,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CAhCL,EAiCI,UAAAV,KAAK;AAAA,SAAIA,KAAK,CAACc,QAAV;AAAA,CAjCT,EAyCE,UAACd,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,WAA5B,GAA0CH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,UAA5B,GAAyC,UAA/F;AAAA,CAzCF,EA+CG,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKa,MAApB,GAA6Bf,KAAK,CAACgB,QAAN,GAAiB,WAAjB,GAA+B,WAA5D,GAA2EhB,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4BV,KAAK,CAACgB,QAAN,GAAiB,WAAjB,GAA+B,WAA3D,GAAyE,WAAhK;AAAA,CA/CH,EAgDE,UAAChB,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CAhDF,EAiDG,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CAjDH,EAmDI,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CAnDJ,EAoDK,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CApDL,EAgEK,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CAhEL,EAiEI,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACC,IAAN,KAAeC,YAAKC,KAApB,GAA4B,MAA5B,GAAqCH,KAAK,CAACC,IAAN,KAAeC,YAAKQ,KAApB,GAA4B,MAA5B,GAAqC,MAAtF;AAAA,CAjEJ,EAmEK,UAACV,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOK,OAArC,GAA+CL,eAAOE,KAAlE;AAAA,CAnEL,EA0EW,UAACT,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmD,CAAAjB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOW,WAAtC,GAAoDX,eAAOY,WAA1H;AAAA,CA1EX,EA2EO,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmD,CAAAjB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOW,WAAtC,GAAoDX,eAAOY,WAA1H;AAAA,CA3EP,EA4EA,UAACnB,KAAD;AAAA,SAAY,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOa,WAAtC,GAAoDb,eAAOE,KAAvE;AAAA,CA5EA,EAgFW,UAACT,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmD,CAAArB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOe,WAAtC,GAAoDf,eAAOC,WAA1H;AAAA,CAhFX,EAiFO,UAACR,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmD,CAAArB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOe,WAAtC,GAAoDf,eAAOC,WAA1H;AAAA,CAjFP,EAmFA,UAACR,KAAD;AAAA,SAAY,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOC,WAAtC,GAAoDD,eAAOE,KAAvE;AAAA,CAnFA,EA4FoBF,eAAOgB,QA5F3B,EA4FoDhB,eAAOiB,KA5F3D,EA6Fa,UAAAxB,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmDjB,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOW,WAArC,GAAmDX,eAAOY,WAAjH;AAAA,CA7FlB,EA8FS,UAAAnB,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmDjB,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOW,WAArC,GAAmDX,eAAOY,WAAjH;AAAA,CA9Fd,EA+FE,UAAAnB,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOa,WAArC,GAAmDb,eAAOE,KAA9D;AAAA,CA/FP,EAyGW,UAACT,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOY,WAArC,GAAmDZ,eAAOkB,WAAtE;AAAA,CAzGX,EA0GA,UAACzB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOC,WAArC,GAAmDD,eAAOmB,WAAtE;AAAA,CA1GA,EA2GO,UAAC1B,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOY,WAArC,GAAmDZ,eAAOkB,WAAtE;AAAA,CA3GP,CAAb;;AA+GA,IAAME,SAAS,GAAG,+BAAO9B,OAAP,CAAH,4vCAEF,UAACG,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+C,CAAAX,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOE,KAAtC,GAA8CF,eAAOK,OAAhH;AAAA,CAFE,EAGK,UAACZ,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+C,CAAAX,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOE,KAAtC,GAA8CF,eAAOK,OAAhH;AAAA,CAHL,EAMD,UAACZ,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+CJ,eAAOK,OAAlE;AAAA,CANC,EAkBF,UAACZ,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmD,CAAAjB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOe,WAAtC,GAAoDf,eAAOY,WAA1H;AAAA,CAlBE,EAmBK,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmD,CAAAjB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOe,WAAtC,GAAoDf,eAAOY,WAA1H;AAAA,CAnBL,EAwBG,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmDV,eAAOY,WAAtE;AAAA,CAxBH,EA+BF,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmD,CAAArB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOqB,WAAtC,GAAoDrB,eAAOC,WAA1H;AAAA,CA/BE,EAgCK,UAACR,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmD,CAAArB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOqB,WAAtC,GAAoDrB,eAAOC,WAA1H;AAAA,CAhCL,EAqCG,UAACR,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmD,CAAArB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOE,KAAtC,GAA8CF,eAAOC,WAApH;AAAA,CArCH,EA8CF,UAACR,KAAD;AAAA,SAAY,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOY,WAAtC,GAAoDZ,eAAOmB,WAAvE;AAAA,CA9CE,EA+CK,UAAC1B,KAAD;AAAA,SAAY,CAAAA,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,UAAP,MAAsB,MAAtB,GAA+BC,eAAOY,WAAtC,GAAoDZ,eAAOkB,WAAvE;AAAA,CA/CL,EAuDkBlB,eAAOgB,QAvDzB,EAuDkDhB,eAAOiB,KAvDzD,EAwDW,UAAAxB,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8B,aAA9B,GAA8CC,eAAOE,KAAzD;AAAA,CAxDhB,EAyDO,UAAAT,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+CX,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOC,WAArC,GAAmDD,eAAOK,OAA7G;AAAA,CAzDZ,EA0DA,UAAAZ,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOE,KAArC,GAA6CF,eAAOsB,WAAxD;AAAA,CA1DL,CAAf;AA+DA,IAAMC,QAAQ,GAAG,+BAAOjC,OAAP,CAAH,oqCAED,UAACG,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+CJ,eAAOsB,WAAlE;AAAA,CAFC,EAOA,UAAC7B,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+CJ,eAAOK,OAAlE;AAAA,CAPA,EAYU,UAACZ,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOwB,UAArC,GAAkDxB,eAAOyB,UAArE;AAAA,CAZV,EAaD,UAAChC,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmDV,eAAOY,WAAtE;AAAA,CAbC,EAcM,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOwB,UAArC,GAAkDxB,eAAOyB,UAArE;AAAA,CAdN,EAkBI,UAAChC,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOU,WAArC,GAAmDV,eAAOY,WAAtE;AAAA,CAlBJ,EAyBU,UAACnB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAO0B,WAArC,GAAmD1B,eAAOW,WAAtE;AAAA,CAzBV,EA0BD,UAAClB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmDd,eAAOC,WAAtE;AAAA,CA1BC,EA2BM,UAACR,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAO0B,WAArC,GAAmD1B,eAAOW,WAAtE;AAAA,CA3BN,EA+BI,UAAClB,KAAD;AAAA,SAAYA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOc,WAArC,GAAmDd,eAAOC,WAAtE;AAAA,CA/BJ,EAwCDD,eAAOmB,WAxCN,EAkDmBnB,eAAOgB,QAlD1B,EAkDmDhB,eAAOiB,KAlD1D,EAmDYjB,eAAOE,KAnDnB,EAoDQ,UAAAT,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAOI,OAArC,GAA+CJ,eAAOK,OAA1D;AAAA,CApDb,EAqDC,UAAAZ,KAAK;AAAA,SAAIA,KAAK,CAACM,UAAN,KAAqB,MAArB,GAA8BC,eAAO2B,WAArC,GAAmD3B,eAAOsB,WAA9D;AAAA,CArDN,CAAd;AA0DA,IAAMM,OAAO,GAAG,+BAAOtC,OAAP,CAAH,0uBAGOU,eAAO6B,WAHd,EAIW7B,eAAO6B,WAJlB,EAQO7B,eAAO8B,WARd,EASW9B,eAAO8B,WATlB,EAaO9B,eAAO8B,WAbd,EAcW9B,eAAO8B,WAdlB,EAkBO9B,eAAO+B,WAlBd,EAmBW/B,eAAO+B,WAnBlB,EAwBW/B,eAAOkB,WAxBlB,EAyBAlB,eAAOmB,WAzBP,EA0BOnB,eAAOkB,WA1Bd,CAAb;AA8BA,IAAMc,QAAQ,GAAG,+BAAO1C,OAAP,CAAH,0uBAGMU,eAAOiC,YAHb,EAIUjC,eAAOiC,YAJjB,EAQMjC,eAAOkC,YARb,EASUlC,eAAOkC,YATjB,EAaMlC,eAAOkC,YAbb,EAcUlC,eAAOkC,YAdjB,EAkBMlC,eAAOmC,YAlBb,EAmBUnC,eAAOmC,YAnBjB,EAwBUnC,eAAOkB,WAxBjB,EAyBDlB,eAAOmB,WAzBN,EA0BMnB,eAAOkB,WA1Bb,CAAd;;AA6CA,IAAMkB,MAA4C,GAAG,SAA/CA,MAA+C,OAY/C;AAAA,2BAXJC,QAWI;AAAA,MAXJA,QAWI,8BAXO,EAWP;AAAA,0BAVJC,OAUI;AAAA,MAVJA,OAUI,6BAVM,SAUN;AAAA,uBATJC,IASI;AAAA,MATJA,IASI,0BATG,QASH;AAAA,uBARJ7C,IAQI;AAAA,MARJA,IAQI,0BARGC,YAAKa,MAQR;AAAA,wBAPJF,KAOI;AAAA,MAPJA,KAOI,2BAPI,MAOJ;AAAA,2BANJC,QAMI;AAAA,MANJA,QAMI,8BANO,MAMP;AAAA,MALJiC,MAKI,QALJA,MAKI;AAAA,MAJJC,QAII,QAJJA,QAII;AAAA,MAHJrD,QAGI,QAHJA,QAGI;AAAA,MAFJsD,IAEI,QAFJA,IAEI;AAAA,MADDjD,KACC;AACJ;AACA,MAAQkD,OAAR,GAAoClD,KAApC,CAAQkD,OAAR;AAAA,MAAoBC,WAApB,0CAAoCnD,KAApC;;AAEA,MAAMoD,aAAa,GAAG,SAAhBA,aAAgB;AAAA,wBACpB;AAAA,iBACGH,IAAI,iBAAI;AAAM,QAAA,SAAS,EAAE,CAACL,QAAQ,GAAG,cAAH,GAAoB,EAA7B,KAAoCM,OAAO,GAAG,cAAH,GAAoB,MAA/D,CAAjB;AAAA,kBAA0FD;AAA1F,QADX,EAEGL,QAAQ,iBAAI;AAAM,QAAA,SAAS,EAAEM,OAAO,GAAG,eAAH,GAAqB,OAA7C;AAAA,kBAAuDN;AAAvD,QAFf,EAGGM,OAAO,iBAAI,qBAAC,kCAAD,KAHd;AAAA,MADoB;AAAA,GAAtB,CAJI,CAYJ;;;AACA,UAAQL,OAAR;AACE,SAAK,SAAL;AACE,0BACE,qBAAC,OAAD,kCACMM,WADN;AAEE,QAAA,QAAQ,EAAEH,QAFZ;AAGE,QAAA,QAAQ,EAAE,CAACJ,QAHb;AAIE,QAAA,IAAI,EAAEE,IAJR;AAKE,QAAA,IAAI,EAAE7C,IALR;AAME,QAAA,QAAQ,EAAEN,QANZ;AAOE,QAAA,KAAK,EAAEkB,KAPT;AAQE,QAAA,QAAQ,EAAEC,QARZ;AASE,uBAAaiC,MATf;AAUE,QAAA,SAAS,EAAE/C,KAAK,CAACkD,OAAN,GAAgB,mBAAmBlD,KAAK,CAACqD,SAAzC,GAAqD,MAAMrD,KAAK,CAACqD,SAV9E;AAWE,QAAA,WAAW,EAAEC,iCAXf;AAAA,+BAYE;AAAK,UAAA,SAAS,EAAC,gBAAf;AAAA,oBAAiCF,aAAa;AAA9C;AAZF,SADF;;AAgBF,SAAK,WAAL;AACE,0BACE,qBAAC,SAAD,kCACMD,WADN;AAEE,QAAA,QAAQ,EAAEH,QAFZ;AAGE,QAAA,IAAI,EAAEF,IAHR;AAIE,QAAA,IAAI,EAAE7C,IAJR;AAKE,QAAA,QAAQ,EAAE,CAAC2C,QALb;AAME,QAAA,QAAQ,EAAEjD,QANZ;AAOE,QAAA,KAAK,EAAEkB,KAPT;AAQE,QAAA,QAAQ,EAAEC,QARZ;AASE,uBAAaiC,MATf;AAUE,QAAA,SAAS,EAAE/C,KAAK,CAACkD,OAAN,GAAgB,mBAAmBlD,KAAK,CAACqD,SAAzC,GAAqD,MAAMrD,KAAK,CAACqD,SAV9E;AAWE,QAAA,WAAW,EAAEC,iCAXf;AAAA,+BAYE;AAAK,UAAA,SAAS,EAAC,gBAAf;AAAA,oBAAiCF,aAAa;AAA9C;AAZF,SADF;;AAgBF,SAAK,UAAL;AACE,0BACE,qBAAC,QAAD,kCACMD,WADN;AAEE,QAAA,QAAQ,EAAEH,QAFZ;AAGE,QAAA,IAAI,EAAEF,IAHR;AAIE,QAAA,QAAQ,EAAEnD,QAJZ;AAKE,QAAA,IAAI,EAAEM,IALR;AAME,QAAA,KAAK,EAAEY,KANT;AAOE,QAAA,QAAQ,EAAE,CAAC+B,QAPb;AAQE,QAAA,QAAQ,EAAE9B,QARZ;AASE,uBAAaiC,MATf;AAUE,QAAA,SAAS,EAAE/C,KAAK,CAACkD,OAAN,GAAgB,mBAAmBlD,KAAK,CAACqD,SAAzC,GAAqD,MAAMrD,KAAK,CAACqD,SAV9E;AAWE,QAAA,WAAW,EAAEC,iCAXf;AAAA,+BAYE;AAAK,UAAA,SAAS,EAAC,gBAAf;AAAA,oBAAiCF,aAAa;AAA9C;AAZF,SADF;;AAgBF,SAAK,SAAL;AACE,0BACE,qBAAC,OAAD,kCACMD,WADN;AAEE,QAAA,QAAQ,EAAEH,QAFZ;AAGE,QAAA,IAAI,EAAEF,IAHR;AAIE,QAAA,IAAI,EAAE7C,IAJR;AAKE,QAAA,QAAQ,EAAE,CAAC2C,QALb;AAME,QAAA,QAAQ,EAAEjD,QANZ;AAOE,QAAA,KAAK,EAAEkB,KAPT;AAQE,QAAA,QAAQ,EAAEC,QARZ;AASE,uBAAaiC,MATf;AAUE,QAAA,SAAS,EAAE/C,KAAK,CAACkD,OAAN,GAAgB,mBAAmBlD,KAAK,CAACqD,SAAzC,GAAqD,MAAMrD,KAAK,CAACqD,SAV9E;AAWE,QAAA,WAAW,EAAEC,iCAXf;AAAA,+BAYE;AAAK,UAAA,SAAS,EAAC,gBAAf;AAAA,oBAAiCF,aAAa;AAA9C;AAZF,SADF;;AAgBF,SAAK,UAAL;AACE,0BACE,qBAAC,QAAD,kCACMD,WADN;AAEE,QAAA,QAAQ,EAAEH,QAFZ;AAGE,QAAA,QAAQ,EAAErD,QAHZ;AAIE,QAAA,QAAQ,EAAE,CAACiD,QAJb;AAKE,QAAA,IAAI,EAAEE,IALR;AAME,QAAA,IAAI,EAAE7C,IANR;AAOE,QAAA,KAAK,EAAEY,KAPT;AAQE,QAAA,QAAQ,EAAEC,QARZ;AASE,uBAAaiC,MATf;AAUE,QAAA,SAAS,EAAE/C,KAAK,CAACkD,OAAN,GAAgB,mBAAmBlD,KAAK,CAACqD,SAAzC,GAAqD,MAAMrD,KAAK,CAACqD,SAV9E;AAWE,QAAA,WAAW,EAAEC,iCAXf;AAAA,+BAYE;AAAK,UAAA,SAAS,EAAC,gBAAf;AAAA,oBAAiCF,aAAa;AAA9C;AAZF,SADF;;AAgBF;AACE,0BACE,qBAAC,OAAD,kCACMD,WADN;AAEE,QAAA,QAAQ,EAAExD,QAFZ;AAGE,QAAA,QAAQ,EAAEqD,QAHZ;AAIE,QAAA,QAAQ,EAAE,CAACJ,QAJb;AAKE,QAAA,IAAI,EAAEE,IALR;AAME,QAAA,IAAI,EAAE7C,IANR;AAOE,QAAA,KAAK,EAAEY,KAPT;AAQE,QAAA,QAAQ,EAAEC,QARZ;AASE,uBAAaiC,MATf;AAUE,QAAA,SAAS,EAAE/C,KAAK,CAACkD,OAAN,GAAgB,mBAAmBlD,KAAK,CAACqD,SAAzC,GAAqD,MAAMrD,KAAK,CAACqD,SAV9E;AAWE,QAAA,WAAW,EAAEC,iCAXf;AAAA,+BAYE;AAAK,UAAA,SAAS,EAAC,gBAAf;AAAA,oBAAiCF,aAAa;AAA9C;AAZF,SADF;AAvFJ;AAwGD,CAjID;;;AAdEP,EAAAA,O,4BAAU,S,EAAY,W,EAAc,U,EAAa,S,EAAY,U;AAE7DU,EAAAA,I,0DAAO,Q;AACPC,EAAAA,K;AAEAlD,EAAAA,U,4BAAa,M,EAAS,M;AACtBO,EAAAA,K,0DAAQ,M;AACRqC,EAAAA,O;AACAH,EAAAA,M;AACAE,EAAAA,I;AACAnC,EAAAA,Q;AACAE,EAAAA,Q;;eAsIa2B,M","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.cjs"}
@@ -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"}