@laerdal/life-react-components 6.0.0-dev.1.full → 6.0.0-dev.12.full

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +40 -11
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +40 -11
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  6. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  7. package/dist/Accordion/styles.cjs +51 -13
  8. package/dist/Accordion/styles.cjs.map +1 -1
  9. package/dist/Accordion/styles.js +51 -13
  10. package/dist/Accordion/styles.js.map +1 -1
  11. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  12. package/dist/Banners/Banner.cjs +38 -34
  13. package/dist/Banners/Banner.cjs.map +1 -1
  14. package/dist/Banners/Banner.d.ts +2 -3
  15. package/dist/Banners/Banner.js +38 -34
  16. package/dist/Banners/Banner.js.map +1 -1
  17. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  18. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  19. package/dist/Banners/styles.cjs +8 -16
  20. package/dist/Banners/styles.cjs.map +1 -1
  21. package/dist/Banners/styles.js +8 -16
  22. package/dist/Banners/styles.js.map +1 -1
  23. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  24. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  25. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  26. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  27. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  28. package/dist/Breadcrumb/styles.cjs +15 -4
  29. package/dist/Breadcrumb/styles.cjs.map +1 -1
  30. package/dist/Breadcrumb/styles.js +15 -4
  31. package/dist/Breadcrumb/styles.js.map +1 -1
  32. package/dist/Button/BackButton.cjs +27 -6
  33. package/dist/Button/BackButton.cjs.map +1 -1
  34. package/dist/Button/BackButton.js +27 -6
  35. package/dist/Button/BackButton.js.map +1 -1
  36. package/dist/Button/Button.cjs +179 -47
  37. package/dist/Button/Button.cjs.map +1 -1
  38. package/dist/Button/Button.d.ts +2 -0
  39. package/dist/Button/Button.js +179 -47
  40. package/dist/Button/Button.js.map +1 -1
  41. package/dist/Button/Iconbutton.cjs +83 -21
  42. package/dist/Button/Iconbutton.cjs.map +1 -1
  43. package/dist/Button/Iconbutton.js +83 -21
  44. package/dist/Button/Iconbutton.js.map +1 -1
  45. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  46. package/dist/Button/__tests__/Button.test.tsx +45 -0
  47. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  48. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  49. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  50. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  51. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  52. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  53. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  54. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  55. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  56. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  57. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  58. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  59. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  60. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  61. package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
  62. package/dist/Card/VerticalCard/Card.cjs +20 -5
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.js +20 -5
  65. package/dist/Card/VerticalCard/Card.js.map +1 -1
  66. package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  68. package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
  69. package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
  70. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  72. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  73. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  74. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  75. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  76. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  77. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  78. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  79. package/dist/Card/__tests__/Card.test.tsx +146 -0
  80. package/dist/Chips/ChipStyles.cjs +4 -1
  81. package/dist/Chips/ChipStyles.cjs.map +1 -1
  82. package/dist/Chips/ChipStyles.js +4 -1
  83. package/dist/Chips/ChipStyles.js.map +1 -1
  84. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  85. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  86. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  87. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  88. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  89. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  90. package/dist/ChipsInput/ChipInputField.js +16 -4
  91. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  92. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  93. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  94. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  95. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  96. package/dist/Dropdown/BasicDropdown.js +12 -3
  97. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  98. package/dist/Dropdown/CommonStyling.cjs +172 -42
  99. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  100. package/dist/Dropdown/CommonStyling.js +172 -42
  101. package/dist/Dropdown/CommonStyling.js.map +1 -1
  102. package/dist/Dropdown/DropdownContent.cjs +36 -10
  103. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  104. package/dist/Dropdown/DropdownContent.js +36 -10
  105. package/dist/Dropdown/DropdownContent.js.map +1 -1
  106. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  107. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  108. package/dist/Dropdown/DropdownFilter.js +12 -3
  109. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  110. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  111. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  112. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  113. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  114. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  115. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  116. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  117. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  118. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  119. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  120. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  121. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  122. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  123. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  124. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  125. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  126. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  127. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  128. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  129. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  130. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  131. package/dist/HyperLink/styling.cjs +38 -8
  132. package/dist/HyperLink/styling.cjs.map +1 -1
  133. package/dist/HyperLink/styling.js +38 -8
  134. package/dist/HyperLink/styling.js.map +1 -1
  135. package/dist/InputFields/Checkbox.cjs +54 -14
  136. package/dist/InputFields/Checkbox.cjs.map +1 -1
  137. package/dist/InputFields/Checkbox.js +54 -14
  138. package/dist/InputFields/Checkbox.js.map +1 -1
  139. package/dist/InputFields/DatepickerField.cjs +149 -43
  140. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  141. package/dist/InputFields/DatepickerField.d.ts +1 -1
  142. package/dist/InputFields/DatepickerField.js +150 -44
  143. package/dist/InputFields/DatepickerField.js.map +1 -1
  144. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  145. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  146. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  147. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  148. package/dist/InputFields/Label.cjs +38 -11
  149. package/dist/InputFields/Label.cjs.map +1 -1
  150. package/dist/InputFields/Label.js +38 -11
  151. package/dist/InputFields/Label.js.map +1 -1
  152. package/dist/InputFields/NumberField.cjs +66 -16
  153. package/dist/InputFields/NumberField.cjs.map +1 -1
  154. package/dist/InputFields/NumberField.js +66 -16
  155. package/dist/InputFields/NumberField.js.map +1 -1
  156. package/dist/InputFields/PasswordField.cjs +4 -1
  157. package/dist/InputFields/PasswordField.cjs.map +1 -1
  158. package/dist/InputFields/PasswordField.d.ts +1 -1
  159. package/dist/InputFields/PasswordField.js +4 -1
  160. package/dist/InputFields/PasswordField.js.map +1 -1
  161. package/dist/InputFields/QuickSearch.cjs +30 -6
  162. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  163. package/dist/InputFields/QuickSearch.js +30 -6
  164. package/dist/InputFields/QuickSearch.js.map +1 -1
  165. package/dist/InputFields/RadioButton.cjs +63 -15
  166. package/dist/InputFields/RadioButton.cjs.map +1 -1
  167. package/dist/InputFields/RadioButton.js +63 -15
  168. package/dist/InputFields/RadioButton.js.map +1 -1
  169. package/dist/InputFields/RichTextField.cjs +60 -15
  170. package/dist/InputFields/RichTextField.cjs.map +1 -1
  171. package/dist/InputFields/RichTextField.js +60 -15
  172. package/dist/InputFields/RichTextField.js.map +1 -1
  173. package/dist/InputFields/SearchBar.cjs +4 -1
  174. package/dist/InputFields/SearchBar.cjs.map +1 -1
  175. package/dist/InputFields/SearchBar.js +4 -1
  176. package/dist/InputFields/SearchBar.js.map +1 -1
  177. package/dist/InputFields/TextField.cjs +9 -3
  178. package/dist/InputFields/TextField.cjs.map +1 -1
  179. package/dist/InputFields/TextField.d.ts +1 -1
  180. package/dist/InputFields/TextField.js +9 -3
  181. package/dist/InputFields/TextField.js.map +1 -1
  182. package/dist/InputFields/Textarea.cjs +68 -17
  183. package/dist/InputFields/Textarea.cjs.map +1 -1
  184. package/dist/InputFields/Textarea.js +68 -17
  185. package/dist/InputFields/Textarea.js.map +1 -1
  186. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  187. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  188. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  189. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  190. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  191. package/dist/InputFields/components/SearchBarInput.js +28 -7
  192. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  193. package/dist/InputFields/components/SearchField.cjs +60 -15
  194. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  195. package/dist/InputFields/components/SearchField.js +60 -15
  196. package/dist/InputFields/components/SearchField.js.map +1 -1
  197. package/dist/InputFields/styling.cjs +95 -39
  198. package/dist/InputFields/styling.cjs.map +1 -1
  199. package/dist/InputFields/styling.d.ts +1 -2
  200. package/dist/InputFields/styling.js +95 -39
  201. package/dist/InputFields/styling.js.map +1 -1
  202. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  203. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  204. package/dist/LinearProgress/LinearProgress.js +161 -53
  205. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  206. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  207. package/dist/List/ListRow.cjs +36 -9
  208. package/dist/List/ListRow.cjs.map +1 -1
  209. package/dist/List/ListRow.js +36 -9
  210. package/dist/List/ListRow.js.map +1 -1
  211. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  212. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  213. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  214. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  215. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  216. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  217. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  218. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  219. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  220. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  221. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  222. package/dist/MenuItem/MenuItem.cjs +101 -26
  223. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  224. package/dist/MenuItem/MenuItem.js +101 -26
  225. package/dist/MenuItem/MenuItem.js.map +1 -1
  226. package/dist/Modals/Modal.cjs +4 -1
  227. package/dist/Modals/Modal.cjs.map +1 -1
  228. package/dist/Modals/Modal.js +4 -1
  229. package/dist/Modals/Modal.js.map +1 -1
  230. package/dist/Modals/ModalContent.cjs +24 -6
  231. package/dist/Modals/ModalContent.cjs.map +1 -1
  232. package/dist/Modals/ModalContent.js +24 -6
  233. package/dist/Modals/ModalContent.js.map +1 -1
  234. package/dist/Modals/ModalDialog.cjs +12 -3
  235. package/dist/Modals/ModalDialog.cjs.map +1 -1
  236. package/dist/Modals/ModalDialog.js +12 -3
  237. package/dist/Modals/ModalDialog.js.map +1 -1
  238. package/dist/Modals/ModalNote.cjs +16 -4
  239. package/dist/Modals/ModalNote.cjs.map +1 -1
  240. package/dist/Modals/ModalNote.js +16 -4
  241. package/dist/Modals/ModalNote.js.map +1 -1
  242. package/dist/Modals/ModalStyles.cjs +44 -11
  243. package/dist/Modals/ModalStyles.cjs.map +1 -1
  244. package/dist/Modals/ModalStyles.js +44 -11
  245. package/dist/Modals/ModalStyles.js.map +1 -1
  246. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  247. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  248. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  249. package/dist/NavItem/NavItem.cjs +4 -1
  250. package/dist/NavItem/NavItem.cjs.map +1 -1
  251. package/dist/NavItem/NavItem.js +4 -1
  252. package/dist/NavItem/NavItem.js.map +1 -1
  253. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  254. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  255. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  256. package/dist/NotificationDot/NotificationDot.js +17 -2
  257. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  258. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  259. package/dist/Paginator/Paginator.cjs +76 -29
  260. package/dist/Paginator/Paginator.cjs.map +1 -1
  261. package/dist/Paginator/Paginator.js +76 -29
  262. package/dist/Paginator/Paginator.js.map +1 -1
  263. package/dist/Paginator/__tests__/Paginator.test.tsx +39 -0
  264. package/dist/Panel/Panel.cjs +4 -1
  265. package/dist/Panel/Panel.cjs.map +1 -1
  266. package/dist/Panel/Panel.js +4 -1
  267. package/dist/Panel/Panel.js.map +1 -1
  268. package/dist/Popover/Popover.cjs +22 -3
  269. package/dist/Popover/Popover.cjs.map +1 -1
  270. package/dist/Popover/Popover.js +22 -3
  271. package/dist/Popover/Popover.js.map +1 -1
  272. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  273. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  274. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  275. package/dist/ProfileButton/ProfileButton.js +9 -2
  276. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  277. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  278. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  279. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  280. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  281. package/dist/SegmentControl/SegmentControl.js +46 -11
  282. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  283. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  284. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  285. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  286. package/dist/SideMenu/SideMenuHeader.js +12 -3
  287. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  288. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  289. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  290. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  291. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  292. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  293. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  294. package/dist/Table/TableFooter.cjs +8 -2
  295. package/dist/Table/TableFooter.cjs.map +1 -1
  296. package/dist/Table/TableFooter.js +8 -2
  297. package/dist/Table/TableFooter.js.map +1 -1
  298. package/dist/Table/TableStyles.cjs +132 -33
  299. package/dist/Table/TableStyles.cjs.map +1 -1
  300. package/dist/Table/TableStyles.js +132 -33
  301. package/dist/Table/TableStyles.js.map +1 -1
  302. package/dist/Table/__tests__/Table.test.tsx +499 -0
  303. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  304. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  305. package/dist/Tabs/HorizontalTabs.js +68 -18
  306. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  307. package/dist/Tabs/TabLink.cjs +4 -1
  308. package/dist/Tabs/TabLink.cjs.map +1 -1
  309. package/dist/Tabs/TabLink.js +4 -1
  310. package/dist/Tabs/TabLink.js.map +1 -1
  311. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  312. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  313. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  314. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  315. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  316. package/dist/Tag/Tag.cjs +2 -2
  317. package/dist/Tag/Tag.cjs.map +1 -1
  318. package/dist/Tag/Tag.js +2 -2
  319. package/dist/Tag/Tag.js.map +1 -1
  320. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  321. package/dist/Tile/Tile.cjs +8 -2
  322. package/dist/Tile/Tile.cjs.map +1 -1
  323. package/dist/Tile/Tile.js +8 -2
  324. package/dist/Tile/Tile.js.map +1 -1
  325. package/dist/Tile/TileCommonItems.cjs +8 -2
  326. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  327. package/dist/Tile/TileCommonItems.js +8 -2
  328. package/dist/Tile/TileCommonItems.js.map +1 -1
  329. package/dist/Tile/TileFooter.cjs +4 -1
  330. package/dist/Tile/TileFooter.cjs.map +1 -1
  331. package/dist/Tile/TileFooter.js +4 -1
  332. package/dist/Tile/TileFooter.js.map +1 -1
  333. package/dist/Tile/TileHeader.cjs +12 -3
  334. package/dist/Tile/TileHeader.cjs.map +1 -1
  335. package/dist/Tile/TileHeader.js +12 -3
  336. package/dist/Tile/TileHeader.js.map +1 -1
  337. package/dist/Toasters/Toast.cjs +62 -13
  338. package/dist/Toasters/Toast.cjs.map +1 -1
  339. package/dist/Toasters/Toast.js +62 -13
  340. package/dist/Toasters/Toast.js.map +1 -1
  341. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  342. package/dist/Toggles/ToggleButton.cjs +9 -3
  343. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  344. package/dist/Toggles/ToggleButton.d.ts +1 -1
  345. package/dist/Toggles/ToggleButton.js +9 -3
  346. package/dist/Toggles/ToggleButton.js.map +1 -1
  347. package/dist/Toggles/TogglerStyles.cjs +22 -8
  348. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  349. package/dist/Toggles/TogglerStyles.js +22 -8
  350. package/dist/Toggles/TogglerStyles.js.map +1 -1
  351. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  352. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  353. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  354. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  355. package/dist/Tooltips/TooltipStyles.js +28 -6
  356. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  357. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  358. package/dist/common/InputStyling.cjs +30 -7
  359. package/dist/common/InputStyling.cjs.map +1 -1
  360. package/dist/common/InputStyling.js +30 -7
  361. package/dist/common/InputStyling.js.map +1 -1
  362. package/dist/common/Link.cjs +45 -0
  363. package/dist/common/Link.cjs.map +1 -0
  364. package/dist/common/Link.d.ts +9 -0
  365. package/dist/common/Link.js +37 -0
  366. package/dist/common/Link.js.map +1 -0
  367. package/dist/common/NavigationHelper.cjs +30 -0
  368. package/dist/common/NavigationHelper.cjs.map +1 -0
  369. package/dist/common/NavigationHelper.d.ts +4 -0
  370. package/dist/common/NavigationHelper.js +23 -0
  371. package/dist/common/NavigationHelper.js.map +1 -0
  372. package/dist/custom.d.ts +2 -0
  373. package/dist/styles/colors.cjs +439 -84
  374. package/dist/styles/colors.cjs.map +1 -1
  375. package/dist/styles/colors.d.ts +200 -11
  376. package/dist/styles/colors.js +439 -84
  377. package/dist/styles/colors.js.map +1 -1
  378. package/dist/styles/global.cjs +19 -2
  379. package/dist/styles/global.cjs.map +1 -1
  380. package/dist/styles/global.d.ts +3 -2
  381. package/dist/styles/global.js +18 -3
  382. package/dist/styles/global.js.map +1 -1
  383. package/dist/styles/index.cjs +21 -9
  384. package/dist/styles/index.cjs.map +1 -1
  385. package/dist/styles/index.d.ts +2 -2
  386. package/dist/styles/index.js +18 -6
  387. package/dist/styles/index.js.map +1 -1
  388. package/dist/styles/react-datepicker.css +766 -0
  389. package/dist/utils/color-tokens.cjs +91 -0
  390. package/dist/utils/color-tokens.cjs.map +1 -0
  391. package/dist/utils/color-tokens.d.ts +19 -0
  392. package/dist/utils/color-tokens.js +82 -0
  393. package/dist/utils/color-tokens.js.map +1 -0
  394. package/package.json +144 -141
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFilter.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownInputFieldStyles","DropdownContainer","DropdownInputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","TooltipOverflow","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownFilter","forwardRef","_ref","ref","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","margin","loading","onFocus","overflowTooltipPosition","onBlur","dataTestId","rest","_objectWithoutProperties","_excluded","theme","isOpen","setIsOpen","useState","input","setInput","activeDescendant","setActiveDescendant","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","inputFocused","setInputFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","useImperativeHandle","current","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","focus","focusVisible","detail","renderInput","className","onClick","stopPropagation","blur","$disabled","$readOnly","$isPlaceholder","$showValidationMessage","onMouseDown","children","_objectSpread","autoComplete","Math","floor","random","type","onKeyDown","$ellipsis","onChange","target","tabIndex","position","withArrow","maxWidth","align","action","useTransparentBackground","shape","style","marginLeft","variant","Clear","Small","color","getColor","ArrowDropUp","ArrowDropDown","role","$isButton","onActiveDescendantChanged","ariaRolesType","outline","customizationProps","itemsType","multiSelect","onValueUpdate","values","items","filter","isButton","TechnicalWarning","Information","propTypes","_pt","array","isRequired","string","func","bool","oneOf"],"sources":["../../src/Dropdown/DropdownFilter.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { COLORS } from '../styles';\r\nimport { SystemIcons } from '../icons';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { DropdownInputFieldStyles, DropdownContainer, DropdownInputField } from './CommonStyling';\r\nimport DropdownContent, { DropdownItem } from './DropdownContent';\r\nimport { Size, Testable } from '../types';\r\nimport { AutofilledMessage, ErrorMessage } from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface DropdownFilterProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onSelect' | 'size' | 'list' | 'autoComplete' | 'type' | 'placeholder' | 'onKeyDown' | 'value' | 'onChange' | 'required' | 'tabIndex' | 'disabled' | 'readOnly'> {\r\n /** Required. List of items to show in the dropdown. */\r\n list: DropdownItem[];\r\n /** Optional. Placeholder text to show when there is no input and no item was selected */\r\n placeholder?: string;\r\n /** Optional. Currently selected item */\r\n value?: string;\r\n /** Optional. Handler to be called when user selects one of the items. */\r\n onSelect?: (value: string) => void;\r\n /** Optional. Handler to be called when user changes text in the input. */\r\n onInputChange?: (input: string) => void;\r\n /** Optional. If set, then HTML 'required' attribute will be set for the input field */\r\n required?: boolean;\r\n /** Optional. If set, then user will not be able to interact with the input field */\r\n disabled?: boolean;\r\n /** Optional. If set, then 'readonly' HTML attribute will be set to the input field */\r\n readOnly?: boolean;\r\n /** Optional. If set, then loading indicator will be shown in the input field. */\r\n loading?: boolean;\r\n\r\n /** Optional. If set, then items in the dropdown will not be filtered depending on the user input */\r\n disableFiltering?: boolean;\r\n\r\n /** Optional. If none of the items fits input, then there will be a message shown in the dropdown. */\r\n messageOnNoResults?: string;\r\n /** Optional. Validation error message to be shown under the input field. */\r\n activeValidationMessage?: string;\r\n /** Optional. Informal message to show under the input field. */\r\n autofilledMessage?: string;\r\n /** Optional. Size of the input field */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /** Optional. Position of the tooltip to show when input is overflowing the input field. */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /** Optional. Margin of the dropdown container items */\r\n margin?: string;\r\n /** Optional. Sets if dropdown container is scrollable */\r\n scrollable?: boolean;\r\n}\r\n\r\nconst DropdownFilter = React.forwardRef( ({\r\n id,\r\n list,\r\n placeholder,\r\n onSelect,\r\n onInputChange,\r\n value,\r\n required,\r\n messageOnNoResults,\r\n disabled,\r\n readOnly,\r\n scrollable,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n disableFiltering,\r\n margin,\r\n loading,\r\n onFocus,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n ...rest\r\n }: DropdownFilterProps, ref) => {\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>();\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [inputFocused, setInputFocused] = React.useState<boolean>(false);\r\n const [init, setInit] = React.useState<boolean>(true);\r\n\r\n const styledFieldRef = useFocusVisibleRef();\r\n const inputRef = useFocusVisibleRef([styledFieldRef]);\r\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\r\n\r\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const containerRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [],\r\n useFocusOutsideRef(() => setIsOpen(false)),\r\n );\r\n\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Esc' || e.key === 'Escape') {\r\n e.preventDefault();\r\n }\r\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\r\n e.preventDefault();\r\n if (!isOpen) {\r\n setIsOpen(true);\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n setInit(true);\r\n setSelectedValues(!!value ? [value] : []);\r\n }, [value]);\r\n\r\n React.useEffect(() => {\r\n if (selectedValues?.length) {\r\n const val = selectedValues[0];\r\n const item = list.find((a) => a.value === val);\r\n setSelectedItem(item);\r\n setInput(item?.displayLabel ?? item?.value ?? '');\r\n onSelect && !init && onSelect(val);\r\n } else {\r\n setSelectedItem(undefined);\r\n onSelect && !init && onSelect('');\r\n setInput('');\r\n }\r\n }, [selectedValues]);\r\n\r\n React.useEffect(() => {\r\n if (!isOpen) {\r\n if (!!selectedItem) {\r\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\r\n } else {\r\n setInput('');\r\n }\r\n }\r\n\r\n setRestartFilter(true);\r\n }, [isOpen, selectedItem]);\r\n\r\n const handleInputClear = (e: any) => {\r\n setInput('');\r\n setSelectedValues([]);\r\n onSelect && onSelect('');\r\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\r\n };\r\n\r\n const renderInput = () => {\r\n return (\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={size ? size : ''}\r\n onClick={(e: any) => {\r\n if (!readOnly && !disabled) {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n if (isOpen) {\r\n inputRef.current?.blur();\r\n } else {\r\n inputRef.current?.focus();\r\n }\r\n }\r\n }}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input} \r\n $showValidationMessage={!!activeValidationMessage}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n data-testid={`otherdiv_${id}`}>\r\n <DropdownInputField\r\n id={id}\r\n ref={inputRef}\r\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\r\n type=\"search\"\r\n placeholder={inputFocused ? '' : placeholder}\r\n onKeyDown={handleInputKeyDown}\r\n $ellipsis\r\n value={input || ''}\r\n onChange={(e: any) => {\r\n if (!e.target.value) {\r\n setSelectedValues([]);\r\n }\r\n if (!readOnly && !disabled && e.target.value !== input) {\r\n setRestartFilter(false);\r\n setIsOpen(true);\r\n setInput(e.target.value);\r\n if (onInputChange) {\r\n onInputChange(e.target.value || '');\r\n }\r\n }\r\n }}\r\n onFocus={(e) => {\r\n setInputFocused(true);\r\n onFocus && onFocus(e);\r\n }}\r\n onBlur={(e) => {\r\n setInputFocused(false);\r\n onBlur && onBlur(e);\r\n }}\r\n required={required}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n disabled={disabled || false}\r\n data-testid={dataTestId}\r\n {...rest}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {input}\r\n </TooltipOverflow> : null}\r\n {input && !readOnly && !disabled && !loading && (\r\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\r\n <SystemIcons.Clear />\r\n </IconButton>\r\n )}\r\n\r\n {!disabled && !readOnly && loading && (\r\n <div style={{ marginLeft: '-4xp' }}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\r\n </div>\r\n )}\r\n\r\n <div className={'dropdown-arrow'}>\r\n {isOpen && !readOnly && !disabled ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''} /> : \r\n <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''} />}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n role=\"combobox\"\r\n aria-multiselectable={true} \r\n aria-controls={`${id}_dropdowncontent`}\r\n aria-activedescendant={activeDescendant}\r\n aria-expanded={isOpen}\r\n $disabled={disabled} $isButton={false} $readOnly={readOnly} className={size ? size : ''} margin={margin}>\r\n {renderInput()}\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n containerRef={containerRef}\r\n isOpen={isOpen && !loading}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n selectedValues={selectedValues}\r\n setSelectedValues={setSelectedValues}\r\n size={size ?? Size.Small}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n focused={focused}\r\n ariaRolesType=\"input\"\r\n setFocused={setFocused}\r\n outline={false}\r\n customizationProps={{\r\n itemsType: 'normal',\r\n scrollable: scrollable,\r\n multiSelect: false,\r\n action: () => {},\r\n onValueUpdate: (values: string[]) => {\r\n setRestartFilter(true);\r\n setInit(false);\r\n },\r\n items: list,\r\n }}\r\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\r\n setIsOpen={setIsOpen}\r\n isButton={false}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage className={size || ''}>\r\n <SystemIcons.TechnicalWarning color={COLORS.getColor('critical_400', theme)} />\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage className={size || ''}>\r\n <SystemIcons.Information color={COLORS.getColor('neutral_600', theme)} />\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default DropdownFilter;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DropdownFilter.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownInputFieldStyles","DropdownContainer","DropdownInputField","DropdownContent","Size","AutofilledMessage","ErrorMessage","TooltipOverflow","defaultOnMouseDownHandler","useActionWithin","useClickOutsideRef","useFocusOutsideRef","useFocusVisibleRef","IconButton","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DropdownFilter","forwardRef","_ref","ref","id","list","placeholder","onSelect","onInputChange","value","required","messageOnNoResults","disabled","readOnly","scrollable","activeValidationMessage","autofilledMessage","size","disableFiltering","margin","loading","onFocus","overflowTooltipPosition","onBlur","dataTestId","rest","_objectWithoutProperties","_excluded","theme","isOpen","setIsOpen","useState","input","setInput","activeDescendant","setActiveDescendant","restartFilter","setRestartFilter","selectedItem","setSelectedItem","selectedValues","setSelectedValues","focused","setFocused","inputFocused","setInputFocused","init","setInit","styledFieldRef","inputRef","clearButtonRef","useRef","useImperativeHandle","current","containerRef","handleInputKeyDown","e","key","preventDefault","useEffect","length","val","item","find","a","displayLabel","undefined","handleInputClear","focus","focusVisible","detail","renderInput","className","onClick","stopPropagation","blur","$disabled","$readOnly","$isPlaceholder","$showValidationMessage","onMouseDown","children","_objectSpread","autoComplete","Math","floor","random","type","onKeyDown","$ellipsis","onChange","target","tabIndex","position","withArrow","maxWidth","align","action","useTransparentBackground","shape","style","marginLeft","variant","Clear","Small","color","generateToken","componentType","defaultVariant","ArrowDropUp","ArrowDropDown","role","$isButton","onActiveDescendantChanged","ariaRolesType","outline","customizationProps","itemsType","multiSelect","onValueUpdate","values","items","filter","isButton","TechnicalWarning","Information","propTypes","_pt","array","isRequired","string","func","bool","oneOf"],"sources":["../../src/Dropdown/DropdownFilter.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { COLORS } from '../styles';\r\nimport { SystemIcons } from '../icons';\r\nimport { LoadingIndicator } from '../LoadingIndicator';\r\nimport { DropdownInputFieldStyles, DropdownContainer, DropdownInputField } from './CommonStyling';\r\nimport DropdownContent, { DropdownItem } from './DropdownContent';\r\nimport { Size, Testable } from '../types';\r\nimport { AutofilledMessage, ErrorMessage } from '../InputFields';\r\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\r\nimport { defaultOnMouseDownHandler, useActionWithin, useClickOutsideRef, useFocusOutsideRef, useFocusVisibleRef } from '../common';\r\nimport { IconButton } from '../Button';\r\nimport { useTheme } from 'styled-components';\r\n\r\nexport interface DropdownFilterProps extends Testable, Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onSelect' | 'size' | 'list' | 'autoComplete' | 'type' | 'placeholder' | 'onKeyDown' | 'value' | 'onChange' | 'required' | 'tabIndex' | 'disabled' | 'readOnly'> {\r\n /** Required. List of items to show in the dropdown. */\r\n list: DropdownItem[];\r\n /** Optional. Placeholder text to show when there is no input and no item was selected */\r\n placeholder?: string;\r\n /** Optional. Currently selected item */\r\n value?: string;\r\n /** Optional. Handler to be called when user selects one of the items. */\r\n onSelect?: (value: string) => void;\r\n /** Optional. Handler to be called when user changes text in the input. */\r\n onInputChange?: (input: string) => void;\r\n /** Optional. If set, then HTML 'required' attribute will be set for the input field */\r\n required?: boolean;\r\n /** Optional. If set, then user will not be able to interact with the input field */\r\n disabled?: boolean;\r\n /** Optional. If set, then 'readonly' HTML attribute will be set to the input field */\r\n readOnly?: boolean;\r\n /** Optional. If set, then loading indicator will be shown in the input field. */\r\n loading?: boolean;\r\n\r\n /** Optional. If set, then items in the dropdown will not be filtered depending on the user input */\r\n disableFiltering?: boolean;\r\n\r\n /** Optional. If none of the items fits input, then there will be a message shown in the dropdown. */\r\n messageOnNoResults?: string;\r\n /** Optional. Validation error message to be shown under the input field. */\r\n activeValidationMessage?: string;\r\n /** Optional. Informal message to show under the input field. */\r\n autofilledMessage?: string;\r\n /** Optional. Size of the input field */\r\n size?: Size.Small | Size.Medium;\r\n\r\n /** Optional. Position of the tooltip to show when input is overflowing the input field. */\r\n overflowTooltipPosition?: 'top' | 'bottom';\r\n /** Optional. Margin of the dropdown container items */\r\n margin?: string;\r\n /** Optional. Sets if dropdown container is scrollable */\r\n scrollable?: boolean;\r\n}\r\n\r\nconst DropdownFilter = React.forwardRef( ({\r\n id,\r\n list,\r\n placeholder,\r\n onSelect,\r\n onInputChange,\r\n value,\r\n required,\r\n messageOnNoResults,\r\n disabled,\r\n readOnly,\r\n scrollable,\r\n activeValidationMessage,\r\n autofilledMessage,\r\n size,\r\n disableFiltering,\r\n margin,\r\n loading,\r\n onFocus,\r\n overflowTooltipPosition,\r\n onBlur,\r\n dataTestId,\r\n ...rest\r\n }: DropdownFilterProps, ref) => {\r\n\r\n const theme = useTheme();\r\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\r\n const [input, setInput] = React.useState<string>();\r\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\r\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\r\n const [selectedItem, setSelectedItem] = React.useState<DropdownItem>();\r\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\r\n const [focused, setFocused] = React.useState<number | null>(null);\r\n const [inputFocused, setInputFocused] = React.useState<boolean>(false);\r\n const [init, setInit] = React.useState<boolean>(true);\r\n\r\n const styledFieldRef = useFocusVisibleRef();\r\n const inputRef = useFocusVisibleRef([styledFieldRef]);\r\n const clearButtonRef = React.useRef<HTMLButtonElement>(null);\r\n\r\n useActionWithin(styledFieldRef, input && !readOnly && !disabled ? [clearButtonRef] : []);\r\n\r\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\r\n\r\n const containerRef = useClickOutsideRef(\r\n () => setIsOpen(false),\r\n [],\r\n useFocusOutsideRef(() => setIsOpen(false)),\r\n );\r\n\r\n const handleInputKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (e.key === 'Esc' || e.key === 'Escape') {\r\n e.preventDefault();\r\n }\r\n if (e.key === 'ArrowDown' || e.key === 'Down' || e.key === 'ArrowUp' || e.key === 'Up') {\r\n e.preventDefault();\r\n if (!isOpen) {\r\n setIsOpen(true);\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n setInit(true);\r\n setSelectedValues(!!value ? [value] : []);\r\n }, [value]);\r\n\r\n React.useEffect(() => {\r\n if (selectedValues?.length) {\r\n const val = selectedValues[0];\r\n const item = list.find((a) => a.value === val);\r\n setSelectedItem(item);\r\n setInput(item?.displayLabel ?? item?.value ?? '');\r\n onSelect && !init && onSelect(val);\r\n } else {\r\n setSelectedItem(undefined);\r\n onSelect && !init && onSelect('');\r\n setInput('');\r\n }\r\n }, [selectedValues]);\r\n\r\n React.useEffect(() => {\r\n if (!isOpen) {\r\n if (!!selectedItem) {\r\n setInput(selectedItem?.displayLabel ?? selectedItem?.value ?? '');\r\n } else {\r\n setInput('');\r\n }\r\n }\r\n\r\n setRestartFilter(true);\r\n }, [isOpen, selectedItem]);\r\n\r\n const handleInputClear = (e: any) => {\r\n setInput('');\r\n setSelectedValues([]);\r\n onSelect && onSelect('');\r\n inputRef.current?.focus({ focusVisible: e?.detail !== 1 } as any);\r\n };\r\n\r\n const renderInput = () => {\r\n return (\r\n <DropdownInputFieldStyles\r\n ref={styledFieldRef}\r\n className={size ? size : ''}\r\n onClick={(e: any) => {\r\n if (!readOnly && !disabled) {\r\n e.stopPropagation();\r\n setIsOpen(!isOpen);\r\n if (isOpen) {\r\n inputRef.current?.blur();\r\n } else {\r\n inputRef.current?.focus();\r\n }\r\n }\r\n }}\r\n $disabled={disabled || false}\r\n $readOnly={readOnly || false}\r\n $isPlaceholder={!input} \r\n $showValidationMessage={!!activeValidationMessage}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n data-testid={`otherdiv_${id}`}>\r\n <DropdownInputField\r\n id={id}\r\n ref={inputRef}\r\n autoComplete={'off-' + Math.floor(Math.random() * 999999999999)}\r\n type=\"search\"\r\n placeholder={inputFocused ? '' : placeholder}\r\n onKeyDown={handleInputKeyDown}\r\n $ellipsis\r\n value={input || ''}\r\n onChange={(e: any) => {\r\n if (!e.target.value) {\r\n setSelectedValues([]);\r\n }\r\n if (!readOnly && !disabled && e.target.value !== input) {\r\n setRestartFilter(false);\r\n setIsOpen(true);\r\n setInput(e.target.value);\r\n if (onInputChange) {\r\n onInputChange(e.target.value || '');\r\n }\r\n }\r\n }}\r\n onFocus={(e) => {\r\n setInputFocused(true);\r\n onFocus && onFocus(e);\r\n }}\r\n onBlur={(e) => {\r\n setInputFocused(false);\r\n onBlur && onBlur(e);\r\n }}\r\n required={required}\r\n tabIndex={disabled || readOnly ? -1 : 0}\r\n disabled={disabled || false}\r\n data-testid={dataTestId}\r\n {...rest}\r\n />\r\n {!isOpen ? <TooltipOverflow position={overflowTooltipPosition} input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end'>\r\n {input}\r\n </TooltipOverflow> : null}\r\n {input && !readOnly && !disabled && !loading && (\r\n <IconButton action={handleInputClear} ref={clearButtonRef} useTransparentBackground={true} shape={'circular'} style={{ marginLeft: '-4px' }} variant={'secondary'}>\r\n <SystemIcons.Clear />\r\n </IconButton>\r\n )}\r\n\r\n {!disabled && !readOnly && loading && (\r\n <div style={{ marginLeft: '-4xp' }}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, theme)} />\r\n </div>\r\n )}\r\n\r\n <div className={'dropdown-arrow'}>\r\n {isOpen && !readOnly && !disabled ? <SystemIcons.ArrowDropUp aria-label='Expanded' size=\"24px\" className={size ? size : ''} /> : \r\n <SystemIcons.ArrowDropDown aria-label='Collapsed' size=\"24px\" className={size ? size : ''} />}\r\n </div>\r\n </DropdownInputFieldStyles>\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n <DropdownContainer ref={containerRef}\r\n role=\"combobox\"\r\n aria-multiselectable={true} \r\n aria-controls={`${id}_dropdowncontent`}\r\n aria-activedescendant={activeDescendant}\r\n aria-expanded={isOpen}\r\n $disabled={disabled} $isButton={false} $readOnly={readOnly} className={size ? size : ''} margin={margin}>\r\n {renderInput()}\r\n {!readOnly && !disabled && (\r\n <DropdownContent\r\n containerRef={containerRef}\r\n isOpen={isOpen && !loading}\r\n messageOnNoResults={messageOnNoResults ?? ''}\r\n selectedValues={selectedValues}\r\n setSelectedValues={setSelectedValues}\r\n size={size ?? Size.Small}\r\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\r\n focused={focused}\r\n ariaRolesType=\"input\"\r\n setFocused={setFocused}\r\n outline={false}\r\n customizationProps={{\r\n itemsType: 'normal',\r\n scrollable: scrollable,\r\n multiSelect: false,\r\n action: () => {},\r\n onValueUpdate: (values: string[]) => {\r\n setRestartFilter(true);\r\n setInit(false);\r\n },\r\n items: list,\r\n }}\r\n filter={!disableFiltering && !restartFilter ? input || '' : ''}\r\n setIsOpen={setIsOpen}\r\n isButton={false}\r\n id={`${id}_dropdowncontent`}\r\n />\r\n )}\r\n </DropdownContainer>\r\n {activeValidationMessage && (\r\n <ErrorMessage className={size || ''}>\r\n <SystemIcons.TechnicalWarning color={COLORS.generateToken({componentType:'text', defaultVariant:'critical'}, theme)} />\r\n <span>{activeValidationMessage}</span>\r\n </ErrorMessage>\r\n )}\r\n {autofilledMessage && (\r\n <AutofilledMessage className={size || ''}>\r\n <SystemIcons.Information color={COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, theme)} />\r\n <span>{autofilledMessage}</span>\r\n </AutofilledMessage>\r\n )}\r\n </>\r\n );\r\n});\r\n\r\nexport default DropdownFilter;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { render } from '../../test-utils';
3
+ import { DropdownFilter } from '../index';
4
+
5
+ jest.mock('react-resize-detector', () => ({
6
+ // @ts-ignore
7
+ ...jest.requireActual('react-resize-detector'),
8
+ useResizeDetector: (object: any) => ({ height: 100, width: 120})
9
+ }));
10
+
11
+
12
+
13
+
14
+ const list = [{value: 'Contact'},
15
+ {value: 'About'},
16
+ {value: 'Base'},
17
+ {value: 'Blog'},
18
+ {value: 'Contact 3'},
19
+ {value: 'Custom'},
20
+ {value: 'Support'},
21
+ {value: 'Tools'}];
22
+
23
+ describe('<DropdownFilter />', () => {
24
+ it('Renders with no default value', async () => {
25
+ const { getByPlaceholderText } = render(<DropdownFilter id="Dropdown" list={list} placeholder="Placeholder" />);
26
+ expect((getByPlaceholderText('Placeholder') as HTMLInputElement).value).toBe('');
27
+ });
28
+
29
+ it('Renders with required input if specified', async () => {
30
+ const { getByPlaceholderText } = render(<DropdownFilter id="Dropdown" list={list} placeholder="Placeholder" required />);
31
+ expect((getByPlaceholderText('Placeholder') as HTMLInputElement).required).toBe(true);
32
+ });
33
+
34
+ it('Renders with inital value if specified', async () => {
35
+ const initialValue = 'Contact';
36
+ const { getByPlaceholderText } = render(<DropdownFilter id="Dropdown" list={list} placeholder="Placeholder" value={initialValue} />);
37
+ expect((getByPlaceholderText('Placeholder') as HTMLInputElement).value).toBe(initialValue);
38
+ });
39
+ });
@@ -133,7 +133,10 @@ const SocialMediaButtons = _styledComponents.default.div`
133
133
  }
134
134
  &:hover {
135
135
  background-color: ${props => _styles.COLORS.getColor('white', props.theme)};
136
- color: ${props => _styles.COLORS.getColor('neutral_600', props.theme)};
136
+ color: ${props => _styles.COLORS.generateToken({
137
+ componentType: 'icon',
138
+ defaultVariant: 'subtle'
139
+ }, props.theme)};
137
140
  }
138
141
  &:active {
139
142
  background-color: ${props => _styles.COLORS.getColor('primary_800', props.theme)};
@@ -1 +1 @@
1
- {"version":3,"file":"FooterNewsletterAndSocialSection.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_InputFields","_icons","_Button","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NewsletterAndSocial","styled","section","BREAKPOINTS","MEDIUM","NewsletterEmailSection","div","props","ComponentXXSStyling","ComponentTextStyle","Regular","COLORS","getColor","theme","NewsletterEmail","InputFieldStyling","invertedFocusStyles","NewsletterButton","button","ComponentLStyling","Bold","SocialMedia","ComponentXSStyling","SocialMediaButtons","FooterNewsletterAndSocialSection","_ref","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","emailInput","setEmailInput","useState","jsxs","children","jsx","TextField","id","withoutBorder","placeholder","value","onChange","onClick","target","href","rel","IconButton","variant","action","tabIndex","SystemIcons","Facebook","Twitter","Youtube","propTypes","_propTypes","func","string","isRequired","_default","exports"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\r\nimport {TextField} from '../../InputFields';\r\nimport {SystemIcons} from '../../icons';\r\nimport {IconButton} from '../../Button';\r\nimport {\r\n ComponentLStyling,\r\n ComponentTextStyle,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../../styles';\r\nimport {InputFieldStyling} from '../../InputFields';\r\n\r\nconst NewsletterAndSocial = styled.section`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 16px;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst NewsletterEmailSection = styled.div`\r\n width: 100%;\r\n margin: 16px auto 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 60%;\r\n margin: 16px 0 0 0;\r\n }\r\n\r\n label {\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('white', props.theme))}\r\n margin-bottom: 2px;\r\n }\r\n div div {\r\n width: 100%;\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: calc(100% - 82px);\r\n width: 288px;\r\n }\r\n }\r\n input {\r\n height: 48px;\r\n }\r\n`;\r\n\r\nconst NewsletterEmail = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 2px auto 0;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 2px 0 0 0;\r\n flex-direction: row;\r\n }\r\n\r\n ${InputFieldStyling} {\r\n &.focus-visible {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n`;\r\n\r\nconst NewsletterButton = styled.button`\r\n background: transparent;\r\n width: 100%;\r\n height: 40px;\r\n border: 2px solid ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n border-radius: 8px;\r\n margin: 8px 0 4px 0;\r\n\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('white', props.theme))}\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 94px;\r\n margin: auto 0 4px 8px;\r\n }\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n \r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n`;\r\n\r\nconst SocialMedia = styled.div`\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 auto;\r\n\r\n button div {\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n }\r\n\r\n h4 {\r\n margin-top: 16px;\r\n margin-bottom: 8px;\r\n \r\n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 0 0 0 auto;\r\n button {\r\n margin: 0 0 0 12px;\r\n }\r\n }\r\n`;\r\n\r\nconst SocialMediaButtons = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n\r\n button div {\r\n display: flex;\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 0 0 20px;\r\n\r\n svg {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n path {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &:first-child {\r\n margin: 0;\r\n }\r\n &:hover {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n }\r\n &:active {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n a {\r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n justify-content: flex-end;\r\n }\r\n`;\r\n\r\ninterface FooterNewsletterAndSocialSection {\r\n actionOnNewsletterSignup?: (email: string) => void;\r\n newsletterLabel: string;\r\n placeholderEmail?: string;\r\n}\r\n\r\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\r\n const [emailInput, setEmailInput] = React.useState<string>('');\r\n return (\r\n <NewsletterAndSocial>\r\n <NewsletterEmailSection>\r\n <label>{newsletterLabel}</label>\r\n <NewsletterEmail>\r\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\r\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\r\n </NewsletterEmail>\r\n </NewsletterEmailSection>\r\n <SocialMedia>\r\n <h4>Follow us on social media</h4>\r\n <SocialMediaButtons>\r\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Facebook />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Twitter />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Youtube />\r\n </IconButton>\r\n </a>\r\n </SocialMediaButtons>\r\n </SocialMedia>\r\n </NewsletterAndSocial>\r\n );\r\n};\r\n\r\nexport default FooterNewsletterAndSocialSection;\r\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAAwC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AASxC,MAAMW,mBAAmB,GAAGC,yBAAM,CAACC,OAAO;AAC1C;AACA;AACA;AACA;AACA,IAAIC,mBAAW,CAACC,MAAM;AACtB;AACA;AACA,CAAC;AAED,MAAMC,sBAAsB,GAAGJ,yBAAM,CAACK,GAAG;AACzC;AACA;AACA;AACA,IAAIH,mBAAW,CAACC,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,MAAMG,KAAK,IAAI,IAAAC,2BAAmB,EAACC,0BAAkB,CAACC,OAAO,EAAEC,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC;AACrG;AACA;AACA;AACA;AACA,MAAMV,mBAAW,CAACC,MAAM;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMU,eAAe,GAAGb,yBAAM,CAACK,GAAG;AAClC;AACA;AACA;AACA;AACA,IAAIH,mBAAW,CAACC,MAAM;AACtB;AACA;AACA;AACA;AACA,IAAIW,8BAAiB;AACrB;AACA,QAAQC,2BAAmB;AAC3B;AACA;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAGhB,yBAAM,CAACiB,MAAM;AACtC;AACA;AACA;AACA,sBAAsBX,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC;AACpE;AACA;AACA;AACA;AACA,IAAIN,KAAK,IAAI,IAAAY,yBAAiB,EAACV,0BAAkB,CAACW,IAAI,EAAET,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC,CAAC;AAC9F;AACA,IAAIV,mBAAW,CAACC,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMY,2BAAmB;AACzB;AACA,CAAC;AAED,MAAMK,WAAW,GAAGpB,yBAAM,CAACK,GAAG;AAC9B,WAAWC,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAAS,0BAAkB,EAACb,0BAAkB,CAACC,OAAO,EAAE,SAAS,CAAC;AAC/D;AACA;AACA,IAAIP,mBAAW,CAACC,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMmB,kBAAkB,GAAGtB,yBAAM,CAACK,GAAG;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,aAAaC,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC;AAC3D;AACA;AACA;AACA,cAAcN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC;AAC5D;AACA,gBAAgBN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEL,KAAK,CAACM,KAAK,CAAC;AACxE,eAAeN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC;AACnE;AACA;AACA,0BAA0BN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC;AAC9E,eAAeN,KAAK,IAAII,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEL,KAAK,CAACM,KAAK,CAAC;AACnE;AACA;AACA;AACA;AACA,QAAQG,2BAAmB;AAC3B;AACA;AACA;AACA,IAAIb,mBAAW,CAACC,MAAM;AACtB;AACA;AACA,CAAC;AAQD,MAAMoB,gCAAgC,GAAGC,IAAA,IAAuG;EAAA,IAAtG;IAAEC,wBAAwB;IAAEC,eAAe;IAAEC;EAAmD,CAAC,GAAAH,IAAA;EACzI,MAAM,CAACI,UAAU,EAAEC,aAAa,CAAC,GAAG5D,KAAK,CAAC6D,QAAQ,CAAS,EAAE,CAAC;EAC9D,oBACE,IAAApD,WAAA,CAAAqD,IAAA,EAAChC,mBAAmB;IAAAiC,QAAA,gBAClB,IAAAtD,WAAA,CAAAqD,IAAA,EAAC3B,sBAAsB;MAAA4B,QAAA,gBACrB,IAAAtD,WAAA,CAAAuD,GAAA;QAAAD,QAAA,EAAQN;MAAe,CAAQ,CAAC,eAChC,IAAAhD,WAAA,CAAAqD,IAAA,EAAClB,eAAe;QAAAmB,QAAA,gBACd,IAAAtD,WAAA,CAAAuD,GAAA,EAAC1D,YAAA,CAAA2D,SAAS;UAACC,EAAE,EAAC,iBAAiB;UAACC,aAAa,EAAE,IAAK;UAACC,WAAW,EAAEV,gBAAiB;UAACW,KAAK,EAAEV,UAAW;UAACW,QAAQ,EAAGD,KAAa,IAAKT,aAAa,CAACS,KAAK;QAAE,CAAE,CAAC,eAC5J,IAAA5D,WAAA,CAAAuD,GAAA,EAACjB,gBAAgB;UAAC,eAAa,SAAU;UAACwB,OAAO,EAAG5D,CAAM,IAAK6C,wBAAwB,IAAIA,wBAAwB,CAAC7C,CAAC,CAAC6D,MAAM,CAACH,KAAK,CAAE;UAAAN,QAAA,EAAC;QAAO,CAAkB,CAAC;MAAA,CAChJ,CAAC;IAAA,CACI,CAAC,eACzB,IAAAtD,WAAA,CAAAqD,IAAA,EAACX,WAAW;MAAAY,QAAA,gBACV,IAAAtD,WAAA,CAAAuD,GAAA;QAAAD,QAAA,EAAI;MAAyB,CAAI,CAAC,eAClC,IAAAtD,WAAA,CAAAqD,IAAA,EAACT,kBAAkB;QAAAU,QAAA,gBACjB,IAAAtD,WAAA,CAAAuD,GAAA;UAAGS,IAAI,EAAC,0CAA0C;UAACD,MAAM,EAAC,QAAQ;UAACE,GAAG,EAAC,qBAAqB;UAAAX,QAAA,eAC1F,IAAAtD,WAAA,CAAAuD,GAAA,EAACxD,OAAA,CAAAmE,UAAU;YAACC,OAAO,EAAC,WAAW;YAACC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAE;YAACC,QAAQ,EAAE,CAAC,CAAE;YAAAf,QAAA,eAC7D,IAAAtD,WAAA,CAAAuD,GAAA,EAACzD,MAAA,CAAAwE,WAAW,CAACC,QAAQ,IAAE;UAAC,CACd;QAAC,CACZ,CAAC,eACJ,IAAAvE,WAAA,CAAAuD,GAAA;UAAGS,IAAI,EAAC,oCAAoC;UAACD,MAAM,EAAC,QAAQ;UAACE,GAAG,EAAC,qBAAqB;UAAAX,QAAA,eACpF,IAAAtD,WAAA,CAAAuD,GAAA,EAACxD,OAAA,CAAAmE,UAAU;YAACC,OAAO,EAAC,WAAW;YAACC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAE;YAACC,QAAQ,EAAE,CAAC,CAAE;YAAAf,QAAA,eAC7D,IAAAtD,WAAA,CAAAuD,GAAA,EAACzD,MAAA,CAAAwE,WAAW,CAACE,OAAO,IAAE;UAAC,CACb;QAAC,CACZ,CAAC,eACJ,IAAAxE,WAAA,CAAAuD,GAAA;UAAGS,IAAI,EAAC,6CAA6C;UAACD,MAAM,EAAC,QAAQ;UAACE,GAAG,EAAC,qBAAqB;UAAAX,QAAA,eAC7F,IAAAtD,WAAA,CAAAuD,GAAA,EAACxD,OAAA,CAAAmE,UAAU;YAACC,OAAO,EAAC,WAAW;YAACC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAE;YAACC,QAAQ,EAAE,CAAC,CAAE;YAAAf,QAAA,eAC7D,IAAAtD,WAAA,CAAAuD,GAAA,EAACzD,MAAA,CAAAwE,WAAW,CAACG,OAAO,IAAE;UAAC,CACb;QAAC,CACZ,CAAC;MAAA,CACc,CAAC;IAAA,CACV,CAAC;EAAA,CACK,CAAC;AAE1B,CAAC;AAAC5B,gCAAA,CAAA6B,SAAA;EAtCA3B,wBAAwB,EAAA4B,UAAA,CAAApE,OAAA,CAAAqE,IAAA;EACxB5B,eAAe,EAAA2B,UAAA,CAAApE,OAAA,CAAAsE,MAAA,CAAAC,UAAA;EACf7B,gBAAgB,EAAA0B,UAAA,CAAApE,OAAA,CAAAsE;AAAA;AAAA,IAAAE,QAAA,GAAAC,OAAA,CAAAzE,OAAA,GAsCHsC,gCAAgC","ignoreList":[]}
1
+ {"version":3,"file":"FooterNewsletterAndSocialSection.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_InputFields","_icons","_Button","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","NewsletterAndSocial","styled","section","BREAKPOINTS","MEDIUM","NewsletterEmailSection","div","props","ComponentXXSStyling","ComponentTextStyle","Regular","COLORS","getColor","theme","NewsletterEmail","InputFieldStyling","invertedFocusStyles","NewsletterButton","button","ComponentLStyling","Bold","SocialMedia","ComponentXSStyling","SocialMediaButtons","generateToken","componentType","defaultVariant","FooterNewsletterAndSocialSection","_ref","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","emailInput","setEmailInput","useState","jsxs","children","jsx","TextField","id","withoutBorder","placeholder","value","onChange","onClick","target","href","rel","IconButton","variant","action","tabIndex","SystemIcons","Facebook","Twitter","Youtube","propTypes","_propTypes","func","string","isRequired","_default","exports"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\r\nimport {TextField} from '../../InputFields';\r\nimport {SystemIcons} from '../../icons';\r\nimport {IconButton} from '../../Button';\r\nimport {\r\n ComponentLStyling,\r\n ComponentTextStyle,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../../styles';\r\nimport {InputFieldStyling} from '../../InputFields';\r\n\r\nconst NewsletterAndSocial = styled.section`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 16px;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst NewsletterEmailSection = styled.div`\r\n width: 100%;\r\n margin: 16px auto 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 60%;\r\n margin: 16px 0 0 0;\r\n }\r\n\r\n label {\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('white', props.theme))}\r\n margin-bottom: 2px;\r\n }\r\n div div {\r\n width: 100%;\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: calc(100% - 82px);\r\n width: 288px;\r\n }\r\n }\r\n input {\r\n height: 48px;\r\n }\r\n`;\r\n\r\nconst NewsletterEmail = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 2px auto 0;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 2px 0 0 0;\r\n flex-direction: row;\r\n }\r\n\r\n ${InputFieldStyling} {\r\n &.focus-visible {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n`;\r\n\r\nconst NewsletterButton = styled.button`\r\n background: transparent;\r\n width: 100%;\r\n height: 40px;\r\n border: 2px solid ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n border-radius: 8px;\r\n margin: 8px 0 4px 0;\r\n\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('white', props.theme))}\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 94px;\r\n margin: auto 0 4px 8px;\r\n }\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n \r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n`;\r\n\r\nconst SocialMedia = styled.div`\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 auto;\r\n\r\n button div {\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n }\r\n\r\n h4 {\r\n margin-top: 16px;\r\n margin-bottom: 8px;\r\n \r\n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 0 0 0 auto;\r\n button {\r\n margin: 0 0 0 12px;\r\n }\r\n }\r\n`;\r\n\r\nconst SocialMediaButtons = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n\r\n button div {\r\n display: flex;\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 0 0 20px;\r\n\r\n svg {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n path {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &:first-child {\r\n margin: 0;\r\n }\r\n &:hover {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme)};\r\n }\r\n &:active {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n a {\r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n justify-content: flex-end;\r\n }\r\n`;\r\n\r\ninterface FooterNewsletterAndSocialSection {\r\n actionOnNewsletterSignup?: (email: string) => void;\r\n newsletterLabel: string;\r\n placeholderEmail?: string;\r\n}\r\n\r\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\r\n const [emailInput, setEmailInput] = React.useState<string>('');\r\n return (\r\n <NewsletterAndSocial>\r\n <NewsletterEmailSection>\r\n <label>{newsletterLabel}</label>\r\n <NewsletterEmail>\r\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\r\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\r\n </NewsletterEmail>\r\n </NewsletterEmailSection>\r\n <SocialMedia>\r\n <h4>Follow us on social media</h4>\r\n <SocialMediaButtons>\r\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Facebook />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Twitter />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Youtube />\r\n </IconButton>\r\n </a>\r\n </SocialMediaButtons>\r\n </SocialMedia>\r\n </NewsletterAndSocial>\r\n );\r\n};\r\n\r\nexport default FooterNewsletterAndSocialSection;\r\n"],"mappings":"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","ignoreList":[]}
@@ -126,7 +126,10 @@ const SocialMediaButtons = styled.div`
126
126
  }
127
127
  &:hover {
128
128
  background-color: ${props => COLORS.getColor('white', props.theme)};
129
- color: ${props => COLORS.getColor('neutral_600', props.theme)};
129
+ color: ${props => COLORS.generateToken({
130
+ componentType: 'icon',
131
+ defaultVariant: 'subtle'
132
+ }, props.theme)};
130
133
  }
131
134
  &:active {
132
135
  background-color: ${props => COLORS.getColor('primary_800', props.theme)};
@@ -1 +1 @@
1
- {"version":3,"file":"FooterNewsletterAndSocialSection.js","names":["React","styled","BREAKPOINTS","COLORS","invertedFocusStyles","TextField","SystemIcons","IconButton","ComponentLStyling","ComponentTextStyle","ComponentXSStyling","ComponentXXSStyling","InputFieldStyling","jsx","_jsx","jsxs","_jsxs","NewsletterAndSocial","section","MEDIUM","NewsletterEmailSection","div","props","Regular","getColor","theme","NewsletterEmail","NewsletterButton","button","Bold","SocialMedia","SocialMediaButtons","FooterNewsletterAndSocialSection","_ref","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","emailInput","setEmailInput","useState","children","id","withoutBorder","placeholder","value","onChange","onClick","e","target","href","rel","variant","action","tabIndex","Facebook","Twitter","Youtube","propTypes","_pt","func","string","isRequired"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\r\nimport {TextField} from '../../InputFields';\r\nimport {SystemIcons} from '../../icons';\r\nimport {IconButton} from '../../Button';\r\nimport {\r\n ComponentLStyling,\r\n ComponentTextStyle,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../../styles';\r\nimport {InputFieldStyling} from '../../InputFields';\r\n\r\nconst NewsletterAndSocial = styled.section`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 16px;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst NewsletterEmailSection = styled.div`\r\n width: 100%;\r\n margin: 16px auto 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 60%;\r\n margin: 16px 0 0 0;\r\n }\r\n\r\n label {\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('white', props.theme))}\r\n margin-bottom: 2px;\r\n }\r\n div div {\r\n width: 100%;\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: calc(100% - 82px);\r\n width: 288px;\r\n }\r\n }\r\n input {\r\n height: 48px;\r\n }\r\n`;\r\n\r\nconst NewsletterEmail = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 2px auto 0;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 2px 0 0 0;\r\n flex-direction: row;\r\n }\r\n\r\n ${InputFieldStyling} {\r\n &.focus-visible {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n`;\r\n\r\nconst NewsletterButton = styled.button`\r\n background: transparent;\r\n width: 100%;\r\n height: 40px;\r\n border: 2px solid ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n border-radius: 8px;\r\n margin: 8px 0 4px 0;\r\n\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('white', props.theme))}\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 94px;\r\n margin: auto 0 4px 8px;\r\n }\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n \r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n`;\r\n\r\nconst SocialMedia = styled.div`\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 auto;\r\n\r\n button div {\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n }\r\n\r\n h4 {\r\n margin-top: 16px;\r\n margin-bottom: 8px;\r\n \r\n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 0 0 0 auto;\r\n button {\r\n margin: 0 0 0 12px;\r\n }\r\n }\r\n`;\r\n\r\nconst SocialMediaButtons = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n\r\n button div {\r\n display: flex;\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 0 0 20px;\r\n\r\n svg {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n path {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &:first-child {\r\n margin: 0;\r\n }\r\n &:hover {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n }\r\n &:active {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n a {\r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n justify-content: flex-end;\r\n }\r\n`;\r\n\r\ninterface FooterNewsletterAndSocialSection {\r\n actionOnNewsletterSignup?: (email: string) => void;\r\n newsletterLabel: string;\r\n placeholderEmail?: string;\r\n}\r\n\r\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\r\n const [emailInput, setEmailInput] = React.useState<string>('');\r\n return (\r\n <NewsletterAndSocial>\r\n <NewsletterEmailSection>\r\n <label>{newsletterLabel}</label>\r\n <NewsletterEmail>\r\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\r\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\r\n </NewsletterEmail>\r\n </NewsletterEmailSection>\r\n <SocialMedia>\r\n <h4>Follow us on social media</h4>\r\n <SocialMediaButtons>\r\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Facebook />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Twitter />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Youtube />\r\n </IconButton>\r\n </a>\r\n </SocialMediaButtons>\r\n </SocialMedia>\r\n </NewsletterAndSocial>\r\n );\r\n};\r\n\r\nexport default FooterNewsletterAndSocialSection;\r\n"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AAEtC,SAAQC,WAAW,EAAEC,MAAM,EAAeC,mBAAmB,QAAO,cAAc;AAClF,SAAQC,SAAS,QAAO,mBAAmB;AAC3C,SAAQC,WAAW,QAAO,aAAa;AACvC,SAAQC,UAAU,QAAO,cAAc;AACvC,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,mBAAmB,QACd,cAAc;AACrB,SAAQC,iBAAiB,QAAO,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpD,MAAMC,mBAAmB,GAAGhB,MAAM,CAACiB,OAAO;AAC1C;AACA;AACA;AACA;AACA,IAAIhB,WAAW,CAACiB,MAAM;AACtB;AACA;AACA,CAAC;AAED,MAAMC,sBAAsB,GAAGnB,MAAM,CAACoB,GAAG;AACzC;AACA;AACA;AACA,IAAInB,WAAW,CAACiB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,MAAMG,KAAK,IAAIX,mBAAmB,CAACF,kBAAkB,CAACc,OAAO,EAAEpB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC,CAAC;AACrG;AACA;AACA;AACA;AACA,MAAMvB,WAAW,CAACiB,MAAM;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMO,eAAe,GAAGzB,MAAM,CAACoB,GAAG;AAClC;AACA;AACA;AACA;AACA,IAAInB,WAAW,CAACiB,MAAM;AACtB;AACA;AACA;AACA;AACA,IAAIP,iBAAiB;AACrB;AACA,QAAQR,mBAAmB;AAC3B;AACA;AACA,CAAC;AAED,MAAMuB,gBAAgB,GAAG1B,MAAM,CAAC2B,MAAM;AACtC;AACA;AACA;AACA,sBAAsBN,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AACpE;AACA;AACA;AACA;AACA,IAAIH,KAAK,IAAId,iBAAiB,CAACC,kBAAkB,CAACoB,IAAI,EAAE1B,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC,CAAC;AAC9F;AACA,IAAIvB,WAAW,CAACiB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMf,mBAAmB;AACzB;AACA,CAAC;AAED,MAAM0B,WAAW,GAAG7B,MAAM,CAACoB,GAAG;AAC9B,WAAWC,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMf,kBAAkB,CAACD,kBAAkB,CAACc,OAAO,EAAE,SAAS,CAAC;AAC/D;AACA;AACA,IAAIrB,WAAW,CAACiB,MAAM;AACtB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMY,kBAAkB,GAAG9B,MAAM,CAACoB,GAAG;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,aAAaC,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AAC3D;AACA;AACA;AACA,cAAcH,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AAC5D;AACA,gBAAgBH,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BH,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AACxE,eAAeH,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AACnE;AACA;AACA,0BAA0BH,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAC9E,eAAeH,KAAK,IAAInB,MAAM,CAACqB,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AACnE;AACA;AACA;AACA;AACA,QAAQrB,mBAAmB;AAC3B;AACA;AACA;AACA,IAAIF,WAAW,CAACiB,MAAM;AACtB;AACA;AACA,CAAC;AAQD,MAAMa,gCAAgC,GAAGC,IAAA,IAAuG;EAAA,IAAtG;IAAEC,wBAAwB;IAAEC,eAAe;IAAEC;EAAmD,CAAC,GAAAH,IAAA;EACzI,MAAM,CAACI,UAAU,EAAEC,aAAa,CAAC,GAAGtC,KAAK,CAACuC,QAAQ,CAAS,EAAE,CAAC;EAC9D,oBACEvB,KAAA,CAACC,mBAAmB;IAAAuB,QAAA,gBAClBxB,KAAA,CAACI,sBAAsB;MAAAoB,QAAA,gBACrB1B,IAAA;QAAA0B,QAAA,EAAQL;MAAe,CAAQ,CAAC,eAChCnB,KAAA,CAACU,eAAe;QAAAc,QAAA,gBACd1B,IAAA,CAACT,SAAS;UAACoC,EAAE,EAAC,iBAAiB;UAACC,aAAa,EAAE,IAAK;UAACC,WAAW,EAAEP,gBAAiB;UAACQ,KAAK,EAAEP,UAAW;UAACQ,QAAQ,EAAGD,KAAa,IAAKN,aAAa,CAACM,KAAK;QAAE,CAAE,CAAC,eAC5J9B,IAAA,CAACa,gBAAgB;UAAC,eAAa,SAAU;UAACmB,OAAO,EAAGC,CAAM,IAAKb,wBAAwB,IAAIA,wBAAwB,CAACa,CAAC,CAACC,MAAM,CAACJ,KAAK,CAAE;UAAAJ,QAAA,EAAC;QAAO,CAAkB,CAAC;MAAA,CAChJ,CAAC;IAAA,CACI,CAAC,eACzBxB,KAAA,CAACc,WAAW;MAAAU,QAAA,gBACV1B,IAAA;QAAA0B,QAAA,EAAI;MAAyB,CAAI,CAAC,eAClCxB,KAAA,CAACe,kBAAkB;QAAAS,QAAA,gBACjB1B,IAAA;UAAGmC,IAAI,EAAC,0CAA0C;UAACD,MAAM,EAAC,QAAQ;UAACE,GAAG,EAAC,qBAAqB;UAAAV,QAAA,eAC1F1B,IAAA,CAACP,UAAU;YAAC4C,OAAO,EAAC,WAAW;YAACC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAE;YAACC,QAAQ,EAAE,CAAC,CAAE;YAAAb,QAAA,eAC7D1B,IAAA,CAACR,WAAW,CAACgD,QAAQ,IAAE;UAAC,CACd;QAAC,CACZ,CAAC,eACJxC,IAAA;UAAGmC,IAAI,EAAC,oCAAoC;UAACD,MAAM,EAAC,QAAQ;UAACE,GAAG,EAAC,qBAAqB;UAAAV,QAAA,eACpF1B,IAAA,CAACP,UAAU;YAAC4C,OAAO,EAAC,WAAW;YAACC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAE;YAACC,QAAQ,EAAE,CAAC,CAAE;YAAAb,QAAA,eAC7D1B,IAAA,CAACR,WAAW,CAACiD,OAAO,IAAE;UAAC,CACb;QAAC,CACZ,CAAC,eACJzC,IAAA;UAAGmC,IAAI,EAAC,6CAA6C;UAACD,MAAM,EAAC,QAAQ;UAACE,GAAG,EAAC,qBAAqB;UAAAV,QAAA,eAC7F1B,IAAA,CAACP,UAAU;YAAC4C,OAAO,EAAC,WAAW;YAACC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAE;YAACC,QAAQ,EAAE,CAAC,CAAE;YAAAb,QAAA,eAC7D1B,IAAA,CAACR,WAAW,CAACkD,OAAO,IAAE;UAAC,CACb;QAAC,CACZ,CAAC;MAAA,CACc,CAAC;IAAA,CACV,CAAC;EAAA,CACK,CAAC;AAE1B,CAAC;AAACxB,gCAAA,CAAAyB,SAAA;EAtCAvB,wBAAwB,EAAAwB,GAAA,CAAAC,IAAA;EACxBxB,eAAe,EAAAuB,GAAA,CAAAE,MAAA,CAAAC,UAAA;EACfzB,gBAAgB,EAAAsB,GAAA,CAAAE;AAAA;AAsClB,eAAe5B,gCAAgC","ignoreList":[]}
1
+ {"version":3,"file":"FooterNewsletterAndSocialSection.js","names":["React","styled","BREAKPOINTS","COLORS","invertedFocusStyles","TextField","SystemIcons","IconButton","ComponentLStyling","ComponentTextStyle","ComponentXSStyling","ComponentXXSStyling","InputFieldStyling","jsx","_jsx","jsxs","_jsxs","NewsletterAndSocial","section","MEDIUM","NewsletterEmailSection","div","props","Regular","getColor","theme","NewsletterEmail","NewsletterButton","button","Bold","SocialMedia","SocialMediaButtons","generateToken","componentType","defaultVariant","FooterNewsletterAndSocialSection","_ref","actionOnNewsletterSignup","newsletterLabel","placeholderEmail","emailInput","setEmailInput","useState","children","id","withoutBorder","placeholder","value","onChange","onClick","e","target","href","rel","variant","action","tabIndex","Facebook","Twitter","Youtube","propTypes","_pt","func","string","isRequired"],"sources":["../../../src/Footer/Components/FooterNewsletterAndSocialSection.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} from '../../styles';\r\nimport {TextField} from '../../InputFields';\r\nimport {SystemIcons} from '../../icons';\r\nimport {IconButton} from '../../Button';\r\nimport {\r\n ComponentLStyling,\r\n ComponentTextStyle,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../../styles';\r\nimport {InputFieldStyling} from '../../InputFields';\r\n\r\nconst NewsletterAndSocial = styled.section`\r\n display: flex;\r\n flex-direction: column;\r\n margin-bottom: 16px;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nconst NewsletterEmailSection = styled.div`\r\n width: 100%;\r\n margin: 16px auto 0 auto;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 60%;\r\n margin: 16px 0 0 0;\r\n }\r\n\r\n label {\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('white', props.theme))}\r\n margin-bottom: 2px;\r\n }\r\n div div {\r\n width: 100%;\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: calc(100% - 82px);\r\n width: 288px;\r\n }\r\n }\r\n input {\r\n height: 48px;\r\n }\r\n`;\r\n\r\nconst NewsletterEmail = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 2px auto 0;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 2px 0 0 0;\r\n flex-direction: row;\r\n }\r\n\r\n ${InputFieldStyling} {\r\n &.focus-visible {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n`;\r\n\r\nconst NewsletterButton = styled.button`\r\n background: transparent;\r\n width: 100%;\r\n height: 40px;\r\n border: 2px solid ${props => COLORS.getColor('white', props.theme)};\r\n box-sizing: border-box;\r\n border-radius: 8px;\r\n margin: 8px 0 4px 0;\r\n\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('white', props.theme))}\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 94px;\r\n margin: auto 0 4px 8px;\r\n }\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n \r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n`;\r\n\r\nconst SocialMedia = styled.div`\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 auto;\r\n\r\n button div {\r\n box-sizing: border-box;\r\n border-radius: 4px;\r\n }\r\n\r\n h4 {\r\n margin-top: 16px;\r\n margin-bottom: 8px;\r\n \r\n ${ComponentXSStyling(ComponentTextStyle.Regular, 'inherit')}\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n margin: 0 0 0 auto;\r\n button {\r\n margin: 0 0 0 12px;\r\n }\r\n }\r\n`;\r\n\r\nconst SocialMediaButtons = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n\r\n button div {\r\n display: flex;\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n margin: 0 0 0 20px;\r\n\r\n svg {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n path {\r\n fill: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &:first-child {\r\n margin: 0;\r\n }\r\n &:hover {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme)};\r\n }\r\n &:active {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n a {\r\n &:focus {\r\n ${invertedFocusStyles}\r\n }\r\n }\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n justify-content: flex-end;\r\n }\r\n`;\r\n\r\ninterface FooterNewsletterAndSocialSection {\r\n actionOnNewsletterSignup?: (email: string) => void;\r\n newsletterLabel: string;\r\n placeholderEmail?: string;\r\n}\r\n\r\nconst FooterNewsletterAndSocialSection = ({ actionOnNewsletterSignup, newsletterLabel, placeholderEmail }: FooterNewsletterAndSocialSection) => {\r\n const [emailInput, setEmailInput] = React.useState<string>('');\r\n return (\r\n <NewsletterAndSocial>\r\n <NewsletterEmailSection>\r\n <label>{newsletterLabel}</label>\r\n <NewsletterEmail>\r\n <TextField id=\"NewsletterEmail\" withoutBorder={true} placeholder={placeholderEmail} value={emailInput} onChange={(value: string) => setEmailInput(value)} />\r\n <NewsletterButton data-testid={'newsBtn'} onClick={(e: any) => actionOnNewsletterSignup && actionOnNewsletterSignup(e.target.value)}>Sign up</NewsletterButton>\r\n </NewsletterEmail>\r\n </NewsletterEmailSection>\r\n <SocialMedia>\r\n <h4>Follow us on social media</h4>\r\n <SocialMediaButtons>\r\n <a href=\"https://www.facebook.com/LaerdalMedical/\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Facebook />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://twitter.com/laerdalmedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Twitter />\r\n </IconButton>\r\n </a>\r\n <a href=\"https://www.youtube.com/user/LaerdalMedical\" target=\"_blank\" rel=\"noreferrer noopener\">\r\n <IconButton variant=\"secondary\" action={() => {}} tabIndex={-1}>\r\n <SystemIcons.Youtube />\r\n </IconButton>\r\n </a>\r\n </SocialMediaButtons>\r\n </SocialMedia>\r\n </NewsletterAndSocial>\r\n );\r\n};\r\n\r\nexport default FooterNewsletterAndSocialSection;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,182 @@
1
+ import React from 'react';
2
+ import { fireEvent, render } from '../../test-utils';
3
+ import 'jest-styled-components';
4
+ import Footer from '../Footer';
5
+ import { COLORS } from '../../styles';
6
+ import SiteFooter from '../SiteFooter';
7
+ import FooterDropdownLinks from '../Components/FooterDropdownLinks';
8
+
9
+ const animate = require('animated-scroll-to');
10
+
11
+ jest.mock('react-resize-detector', () => ({
12
+ // @ts-ignore
13
+ ...jest.requireActual('react-resize-detector'),
14
+ useResizeDetector: (object: any) => ({ height: 100, width: 120})
15
+ }));
16
+
17
+ const scrollSpy = jest.fn()
18
+ animate.default = scrollSpy;
19
+
20
+ describe('<Footer />',()=>{
21
+ beforeEach(()=>scrollSpy.mockReset());
22
+
23
+ it('renders footer', async () => {
24
+ const{getByText} = render(
25
+ <Footer>
26
+ <div>Test Footer</div>
27
+ </Footer>
28
+ );
29
+
30
+ expect(getByText('Test Footer')).toBeDefined();
31
+ })
32
+
33
+ it('renders footer global content', async () => {
34
+ const{getByTestId} = render(
35
+ <Footer>
36
+ <div>Test Footer</div>
37
+ </Footer>
38
+ );
39
+
40
+ expect(getByTestId('footer-content')).toBeDefined();
41
+ expect(getByTestId('footer-content')).toHaveStyleRule('background-color',COLORS.primary_700);
42
+ expect(getByTestId('footer-content')).toHaveStyleRule('min-height','8px');
43
+ expect(getByTestId('footer-content')).toHaveStyleRule('color','white');
44
+ })
45
+
46
+ it('renders site footer', async () => {
47
+ const{getByTestId} = render(
48
+ <SiteFooter id='testFooter' toTopText='Scroll To Top'/>
49
+ );
50
+
51
+ expect(getByTestId('footer-container')).toBeDefined();
52
+ expect(getByTestId('footer-container')).toHaveStyleRule('background-color', COLORS.neutral_800);
53
+ expect(getByTestId('footer-container')).toHaveStyleRule('border-top', `8px solid ${COLORS.neutral_200}`);
54
+ })
55
+
56
+ it('renders site footer to top text', async () => {
57
+ const{getByText} = render(
58
+
59
+ <SiteFooter id='testFooter' toTopText='Scroll To Top'/>
60
+
61
+ );
62
+
63
+ expect(getByText('Scroll To Top')).toBeDefined();
64
+ })
65
+
66
+ it('performs navigation on click', async () => {
67
+ const{getByTestId} = render(
68
+
69
+ <SiteFooter id='testFooter' toTopText='Scroll To Top'/>
70
+
71
+ );
72
+
73
+ fireEvent.click(getByTestId('toTopNavigation'));
74
+ expect(scrollSpy).toHaveBeenCalledWith(0);
75
+ })
76
+
77
+ it('performs navigation on enter', async () => {
78
+ const{getByTestId} = render(
79
+
80
+ <SiteFooter id='testFooter' toTopText='Scroll To Top'/>
81
+
82
+ );
83
+
84
+ fireEvent.keyDown(getByTestId('toTopNavigation'), {key: 'Enter', code: 'Enter', charCode: 13});
85
+ expect(scrollSpy).toHaveBeenCalledWith(0);
86
+ })
87
+
88
+ it('does not performs navigation on key other than enter', async () => {
89
+ const{getByTestId} = render(
90
+
91
+ <SiteFooter id='testFooter' toTopText='Scroll To Top'/>
92
+
93
+ );
94
+
95
+ fireEvent.keyDown(getByTestId('toTopNavigation'), {key: 'A', code: 'KeyA'});
96
+ expect(scrollSpy).not.toHaveBeenCalled();
97
+ })
98
+
99
+ it('renders site footer copyright', async () => {
100
+ const{getByText} = render(
101
+
102
+ <SiteFooter id='testFooter' toTopText='Scroll To Top' copyrightText='this is copyright'/>
103
+
104
+ );
105
+
106
+ expect(getByText('this is copyright')).toBeDefined();
107
+ })
108
+
109
+ it('renders site footer links', async () => {
110
+ const{getByText} = render(
111
+
112
+ <SiteFooter id='testFooter' toTopText='Scroll To Top' bottomLinks={[{label:'testLabel', to:'target'}]}/>
113
+
114
+ );
115
+
116
+ expect(getByText('testLabel')).toBeDefined();
117
+ })
118
+
119
+ it('renders site footer nav section', async () => {
120
+ const{getByText} = render(
121
+
122
+ <SiteFooter id='testFooter' toTopText='Scroll To Top' navOptions={{sections:[{header:'headerText',links:[{label:'labelText',to:'target'}]}]}}/>
123
+
124
+ );
125
+
126
+ expect(getByText('headerText')).toBeDefined();
127
+ expect(getByText('labelText')).toBeDefined();
128
+ })
129
+
130
+ it('renders site footer newsletter and social section', async () => {
131
+ const signUpFn = jest.fn();
132
+
133
+ const{getByText, getByTestId, getByPlaceholderText} = render(
134
+
135
+ <SiteFooter id='testFooter' toTopText='Scroll To Top' includeNewsletterAndSocialSection={true}
136
+ placeholderEmailField='a@a.com' newsletterLabel='new news'
137
+ onNewsletterSignup={(e)=>signUpFn(e)}/>
138
+
139
+ );
140
+
141
+ expect(getByPlaceholderText('a@a.com')).toBeDefined();
142
+ expect(getByText('new news')).toBeDefined();
143
+
144
+ fireEvent.click(getByTestId('newsBtn'));
145
+ expect(signUpFn).toBeCalledTimes(1);
146
+ })
147
+
148
+ it('updates newsletter email', async () => {
149
+ const{getByText, getByPlaceholderText} = render(
150
+
151
+ <SiteFooter id='testFooter' toTopText='Scroll To Top' includeNewsletterAndSocialSection={true}
152
+ placeholderEmailField='a@a.com' newsletterLabel='new news' />
153
+
154
+ );
155
+
156
+ expect(getByPlaceholderText('a@a.com')).toBeDefined();
157
+ expect(getByText('new news')).toBeDefined();
158
+ fireEvent.change(getByPlaceholderText('a@a.com'), {target: {value: 'abc'}});
159
+ expect((getByPlaceholderText('a@a.com') as HTMLInputElement).value).toBe('abc');
160
+ })
161
+
162
+ it('renders site footer dropdown links', async () => {
163
+ const{getByText} = render(
164
+ <FooterDropdownLinks navSection={{header:'sample header', links:[{label:'labelText', to:'labelTarget'}]}} width={200}/>
165
+ );
166
+
167
+ expect(getByText('sample header')).toBeDefined();
168
+ expect(getByText('labelText')).toBeDefined();
169
+ })
170
+
171
+ it('opens dropdown links on mouse click', async () => {
172
+ const{getByRole} = render(
173
+ <FooterDropdownLinks navSection={{header:'sample header', links:[{label:'labelText', to:'labelTarget'}]}} width={200}/>
174
+ );
175
+
176
+ expect(getByRole('button')).toBeDefined();
177
+ fireEvent.click(getByRole('button'));
178
+ expect(getByRole('button').classList.contains('open')).toBe(true);
179
+ fireEvent.click(getByRole('button'));
180
+ expect(getByRole('button').classList.contains('open')).toBe(false);
181
+ })
182
+ })
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ import {act, fireEvent, render} from '../../test-utils';
3
+ import Logo from '../Logo';
4
+ import { NavigationProvider } from '../../Navigation';
5
+
6
+ describe('Logo', () => {
7
+
8
+ const navProps = {
9
+ currentPath: '',
10
+ isActiveRoute: () => false,
11
+ navigate: (path: string, isExternal: boolean) => {}
12
+ };
13
+
14
+
15
+ it('should render Laerdal logo', () => {
16
+ const wrapper = render(<NavigationProvider {...navProps}><Logo name={'name'}/></NavigationProvider>);
17
+
18
+ expect(wrapper.getByText('name')).toBeDefined();
19
+ expect(wrapper.getByText('Laerdal logo')).toBeDefined();
20
+ });
21
+
22
+ it('should render beta tag', () => {
23
+ const wrapper = render(<NavigationProvider {...navProps}><Logo name={'name'} showBetaTag={true}/></NavigationProvider>);
24
+
25
+ expect(wrapper.getByText('BETA')).toBeDefined();
26
+ });
27
+
28
+ it('should call onClick when logo is clicked', () => {
29
+ const onClickSpy = jest.fn();
30
+ const wrapper = render(<NavigationProvider {...navProps}><Logo name={'name'} onClick={onClickSpy}/></NavigationProvider>);
31
+
32
+ act(() => {
33
+ fireEvent.click(wrapper.container.querySelector('a')!);
34
+ });
35
+
36
+ expect(onClickSpy).toHaveBeenCalled();
37
+ });
38
+
39
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -108,7 +108,10 @@ const UserSectionInfo = _styledComponents.default.div`
108
108
  gap: 4px;
109
109
  `;
110
110
  const UserSectionInfoName = _styledComponents.default.div`
111
- ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
111
+ ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
112
+ componentType: 'text',
113
+ defaultVariant: 'subtle'
114
+ }, props.theme))}
112
115
  `;
113
116
  const UserSectionInfoEmail = _styledComponents.default.div`
114
117
  word-break: break-all;