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

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 (315) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  3. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  4. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  5. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  6. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  7. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  8. package/dist/Button/DualFunctionButton.cjs +4 -4
  9. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  10. package/dist/Button/DualFunctionButton.d.ts +2 -2
  11. package/dist/Button/DualFunctionButton.js +4 -4
  12. package/dist/Button/DualFunctionButton.js.map +1 -1
  13. package/dist/Button/{Button.cjs → TextButton.cjs} +179 -92
  14. package/dist/Button/TextButton.cjs.map +1 -0
  15. package/dist/Button/TextButton.d.ts +70 -0
  16. package/dist/Button/{Button.js → TextButton.js} +178 -91
  17. package/dist/Button/TextButton.js.map +1 -0
  18. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  19. package/dist/Button/__tests__/Button.test.tsx +45 -0
  20. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  21. package/dist/Button/__tests__/TextButton.test.tsx +45 -0
  22. package/dist/Button/index.cjs +11 -11
  23. package/dist/Button/index.cjs.map +1 -1
  24. package/dist/Button/index.d.ts +2 -2
  25. package/dist/Button/index.js +2 -2
  26. package/dist/Button/index.js.map +1 -1
  27. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  28. package/dist/Card/VerticalCard/{Card.cjs → VerticalCard.cjs} +62 -26
  29. package/dist/Card/VerticalCard/VerticalCard.cjs.map +1 -0
  30. package/dist/Card/VerticalCard/VerticalCard.d.ts +25 -0
  31. package/dist/Card/VerticalCard/{Card.js → VerticalCard.js} +62 -26
  32. package/dist/Card/VerticalCard/VerticalCard.js.map +1 -0
  33. package/dist/Card/VerticalCard/{CardBottomSection.cjs → VerticalCardBottomSection.cjs} +45 -27
  34. package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs.map +1 -0
  35. package/dist/Card/VerticalCard/VerticalCardBottomSection.d.ts +53 -0
  36. package/dist/Card/VerticalCard/{CardBottomSection.js → VerticalCardBottomSection.js} +45 -27
  37. package/dist/Card/VerticalCard/VerticalCardBottomSection.js.map +1 -0
  38. package/dist/Card/VerticalCard/{CardMiddleSection.cjs → VerticalCardMiddleSection.cjs} +46 -23
  39. package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs.map +1 -0
  40. package/dist/Card/VerticalCard/VerticalCardMiddleSection.d.ts +42 -0
  41. package/dist/Card/VerticalCard/{CardMiddleSection.js → VerticalCardMiddleSection.js} +45 -23
  42. package/dist/Card/VerticalCard/VerticalCardMiddleSection.js.map +1 -0
  43. package/dist/Card/VerticalCard/{CardTopSection.cjs → VerticalCardTopSection.cjs} +18 -16
  44. package/dist/Card/VerticalCard/VerticalCardTopSection.cjs.map +1 -0
  45. package/dist/Card/VerticalCard/{CardTopSection.d.ts → VerticalCardTopSection.d.ts} +8 -8
  46. package/dist/Card/VerticalCard/{CardTopSection.js → VerticalCardTopSection.js} +17 -15
  47. package/dist/Card/VerticalCard/VerticalCardTopSection.js.map +1 -0
  48. package/dist/Card/VerticalCard/__tests__/VerticalCard.test.tsx +124 -0
  49. package/dist/Card/VerticalCard/index.cjs +25 -25
  50. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  51. package/dist/Card/VerticalCard/index.d.ts +7 -7
  52. package/dist/Card/VerticalCard/index.js +7 -7
  53. package/dist/Card/VerticalCard/index.js.map +1 -1
  54. package/dist/Chips/ActionChip.cjs +6 -0
  55. package/dist/Chips/ActionChip.cjs.map +1 -1
  56. package/dist/Chips/ActionChip.js +6 -0
  57. package/dist/Chips/ActionChip.js.map +1 -1
  58. package/dist/Chips/ChipStyles.cjs +210 -31
  59. package/dist/Chips/ChipStyles.cjs.map +1 -1
  60. package/dist/Chips/ChipStyles.js +210 -31
  61. package/dist/Chips/ChipStyles.js.map +1 -1
  62. package/dist/Chips/ChoiceChips.cjs +1 -1
  63. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  64. package/dist/Chips/ChoiceChips.js +1 -1
  65. package/dist/Chips/ChoiceChips.js.map +1 -1
  66. package/dist/Chips/FilterChip.cjs +8 -1
  67. package/dist/Chips/FilterChip.cjs.map +1 -1
  68. package/dist/Chips/FilterChip.js +8 -1
  69. package/dist/Chips/FilterChip.js.map +1 -1
  70. package/dist/Chips/InputChip.cjs +14 -0
  71. package/dist/Chips/InputChip.cjs.map +1 -1
  72. package/dist/Chips/InputChip.js +14 -0
  73. package/dist/Chips/InputChip.js.map +1 -1
  74. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  75. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  76. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  77. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  78. package/dist/ChipsInput/ChipInputField.cjs +8 -2
  79. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  80. package/dist/ChipsInput/ChipInputField.js +8 -2
  81. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  82. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  83. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  84. package/dist/Dropdown/DropdownContent.cjs +2 -2
  85. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  86. package/dist/Dropdown/DropdownContent.js +2 -2
  87. package/dist/Dropdown/DropdownContent.js.map +1 -1
  88. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  89. package/dist/Footer/Components/FooterTop.cjs +3 -0
  90. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  91. package/dist/Footer/Components/FooterTop.js +3 -0
  92. package/dist/Footer/Components/FooterTop.js.map +1 -1
  93. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  94. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  95. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  96. package/dist/GlobalNavigationBar/Logo.js +2 -1
  97. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  98. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  99. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  100. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  101. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  102. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  103. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +5 -4
  104. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  105. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +6 -5
  106. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  107. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +1 -1
  108. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  109. package/dist/GlobalNavigationBar/desktop/UserMenu.js +2 -2
  110. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  111. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  112. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  113. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  114. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  115. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  116. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  117. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  118. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +1 -1
  119. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
  120. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +2 -2
  121. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
  122. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  123. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  124. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  125. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  126. package/dist/GlobalNavigationBar/types.d.ts +2 -2
  127. package/dist/GlobalNavigationBar/types.js.map +1 -1
  128. package/dist/HyperLink/HyperLink.cjs +18 -2
  129. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  130. package/dist/HyperLink/HyperLink.d.ts +2 -0
  131. package/dist/HyperLink/HyperLink.js +18 -2
  132. package/dist/HyperLink/HyperLink.js.map +1 -1
  133. package/dist/HyperLink/styling.cjs +4 -0
  134. package/dist/HyperLink/styling.cjs.map +1 -1
  135. package/dist/HyperLink/styling.js +4 -0
  136. package/dist/HyperLink/styling.js.map +1 -1
  137. package/dist/InputFields/DatepickerField.cjs +21 -5
  138. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  139. package/dist/InputFields/DatepickerField.d.ts +1 -1
  140. package/dist/InputFields/DatepickerField.js +21 -5
  141. package/dist/InputFields/DatepickerField.js.map +1 -1
  142. package/dist/InputFields/NumberField.cjs +4 -0
  143. package/dist/InputFields/NumberField.cjs.map +1 -1
  144. package/dist/InputFields/NumberField.js +4 -0
  145. package/dist/InputFields/NumberField.js.map +1 -1
  146. package/dist/InputFields/RadioButton.cjs +2 -2
  147. package/dist/InputFields/RadioButton.cjs.map +1 -1
  148. package/dist/InputFields/RadioButton.d.ts +4 -4
  149. package/dist/InputFields/RadioButton.js +2 -2
  150. package/dist/InputFields/RadioButton.js.map +1 -1
  151. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  152. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  153. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  154. package/dist/InputFields/components/SearchBarInput.cjs +5 -0
  155. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  156. package/dist/InputFields/components/SearchBarInput.js +5 -0
  157. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  158. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  159. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  160. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  161. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  162. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  163. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  164. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  165. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  166. package/dist/Modals/ModalContainer.cjs +102 -83
  167. package/dist/Modals/ModalContainer.cjs.map +1 -1
  168. package/dist/Modals/ModalContainer.d.ts +20 -1
  169. package/dist/Modals/ModalContainer.js +103 -84
  170. package/dist/Modals/ModalContainer.js.map +1 -1
  171. package/dist/Modals/ModalContent.cjs +7 -3
  172. package/dist/Modals/ModalContent.cjs.map +1 -1
  173. package/dist/Modals/ModalContent.js +8 -4
  174. package/dist/Modals/ModalContent.js.map +1 -1
  175. package/dist/Modals/ModalDialog.cjs +2 -2
  176. package/dist/Modals/ModalDialog.cjs.map +1 -1
  177. package/dist/Modals/ModalDialog.js +3 -3
  178. package/dist/Modals/ModalDialog.js.map +1 -1
  179. package/dist/Modals/ModalStyles.cjs +12 -0
  180. package/dist/Modals/ModalStyles.cjs.map +1 -1
  181. package/dist/Modals/ModalStyles.js +12 -0
  182. package/dist/Modals/ModalStyles.js.map +1 -1
  183. package/dist/Modals/ModalTypes.cjs.map +1 -1
  184. package/dist/Modals/ModalTypes.d.ts +3 -3
  185. package/dist/Modals/ModalTypes.js.map +1 -1
  186. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  187. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  188. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  189. package/dist/NavItem/NavItem.cjs +7 -1
  190. package/dist/NavItem/NavItem.cjs.map +1 -1
  191. package/dist/NavItem/NavItem.js +7 -1
  192. package/dist/NavItem/NavItem.js.map +1 -1
  193. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  194. package/dist/Navigation/NavigationProvider.cjs.map +1 -1
  195. package/dist/Navigation/NavigationProvider.d.ts +3 -0
  196. package/dist/Navigation/NavigationProvider.js.map +1 -1
  197. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  198. package/dist/Paginator/Paginator.cjs +18 -14
  199. package/dist/Paginator/Paginator.cjs.map +1 -1
  200. package/dist/Paginator/Paginator.d.ts +1 -5
  201. package/dist/Paginator/Paginator.js +18 -14
  202. package/dist/Paginator/Paginator.js.map +1 -1
  203. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  204. package/dist/Popover/Popover.cjs +1 -1
  205. package/dist/Popover/Popover.cjs.map +1 -1
  206. package/dist/Popover/Popover.js +2 -2
  207. package/dist/Popover/Popover.js.map +1 -1
  208. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  209. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  210. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  211. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  212. package/dist/SideMenu/SideMenuFooter.cjs +1 -1
  213. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
  214. package/dist/SideMenu/SideMenuFooter.js +2 -2
  215. package/dist/SideMenu/SideMenuFooter.js.map +1 -1
  216. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  217. package/dist/SideMenu/types.cjs.map +1 -1
  218. package/dist/SideMenu/types.d.ts +2 -2
  219. package/dist/SideMenu/types.js.map +1 -1
  220. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  221. package/dist/Table/TableBody.cjs +1 -1
  222. package/dist/Table/TableBody.cjs.map +1 -1
  223. package/dist/Table/TableBody.js +2 -2
  224. package/dist/Table/TableBody.js.map +1 -1
  225. package/dist/Table/TableStyles.cjs +4 -1
  226. package/dist/Table/TableStyles.cjs.map +1 -1
  227. package/dist/Table/TableStyles.js +4 -1
  228. package/dist/Table/TableStyles.js.map +1 -1
  229. package/dist/Table/TableTypes.cjs.map +1 -1
  230. package/dist/Table/TableTypes.d.ts +2 -2
  231. package/dist/Table/TableTypes.js.map +1 -1
  232. package/dist/Table/__tests__/Table.test.tsx +499 -0
  233. package/dist/Tabs/VerticalTabs.cjs +1 -0
  234. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  235. package/dist/Tabs/VerticalTabs.js +1 -0
  236. package/dist/Tabs/VerticalTabs.js.map +1 -1
  237. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  238. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  239. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  240. package/dist/Tag/Tag.cjs +48 -12
  241. package/dist/Tag/Tag.cjs.map +1 -1
  242. package/dist/Tag/Tag.js +48 -12
  243. package/dist/Tag/Tag.js.map +1 -1
  244. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  245. package/dist/Tile/TileCommonItems.cjs +1 -1
  246. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  247. package/dist/Tile/TileCommonItems.js +2 -2
  248. package/dist/Tile/TileCommonItems.js.map +1 -1
  249. package/dist/Tile/TileTypes.cjs.map +1 -1
  250. package/dist/Tile/TileTypes.d.ts +2 -2
  251. package/dist/Tile/TileTypes.js.map +1 -1
  252. package/dist/Toasters/Toast.cjs +1 -2
  253. package/dist/Toasters/Toast.cjs.map +1 -1
  254. package/dist/Toasters/Toast.js +2 -3
  255. package/dist/Toasters/Toast.js.map +1 -1
  256. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  257. package/dist/Toggles/TogglerStyles.cjs +171 -15
  258. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  259. package/dist/Toggles/TogglerStyles.js +171 -15
  260. package/dist/Toggles/TogglerStyles.js.map +1 -1
  261. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  262. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  263. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  264. package/dist/common/NavigationHelper.cjs +0 -28
  265. package/dist/common/NavigationHelper.cjs.map +1 -1
  266. package/dist/common/NavigationHelper.d.ts +0 -4
  267. package/dist/common/NavigationHelper.js +1 -22
  268. package/dist/common/NavigationHelper.js.map +1 -1
  269. package/dist/styles/colors.cjs +6 -0
  270. package/dist/styles/colors.cjs.map +1 -1
  271. package/dist/styles/colors.d.ts +6 -0
  272. package/dist/styles/colors.js +6 -0
  273. package/dist/styles/colors.js.map +1 -1
  274. package/dist/styles/design-tokens/dark/tokens.css +481 -0
  275. package/dist/styles/design-tokens/light/tokens.css +481 -0
  276. package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
  277. package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
  278. package/dist/styles/global.cjs +4 -4
  279. package/dist/styles/global.cjs.map +1 -1
  280. package/dist/styles/global.js +4 -4
  281. package/dist/styles/global.js.map +1 -1
  282. package/dist/styles/react-datepicker.css +766 -0
  283. package/dist/styles/typography.cjs +4 -1
  284. package/dist/styles/typography.cjs.map +1 -1
  285. package/dist/styles/typography.js +4 -1
  286. package/dist/styles/typography.js.map +1 -1
  287. package/dist/test-utils.cjs +7 -1
  288. package/dist/test-utils.cjs.map +1 -1
  289. package/dist/test-utils.js +7 -1
  290. package/dist/test-utils.js.map +1 -1
  291. package/package.json +11 -6
  292. package/dist/Button/Button.cjs.map +0 -1
  293. package/dist/Button/Button.d.ts +0 -70
  294. package/dist/Button/Button.js.map +0 -1
  295. package/dist/Card/VerticalCard/Card.cjs.map +0 -1
  296. package/dist/Card/VerticalCard/Card.d.ts +0 -24
  297. package/dist/Card/VerticalCard/Card.js.map +0 -1
  298. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +0 -1
  299. package/dist/Card/VerticalCard/CardBottomSection.d.ts +0 -49
  300. package/dist/Card/VerticalCard/CardBottomSection.js.map +0 -1
  301. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +0 -1
  302. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +0 -37
  303. package/dist/Card/VerticalCard/CardMiddleSection.js.map +0 -1
  304. package/dist/Card/VerticalCard/CardTopSection.cjs.map +0 -1
  305. package/dist/Card/VerticalCard/CardTopSection.js.map +0 -1
  306. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +0 -1
  307. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +0 -1
  308. package/dist/List/__tests__/ListRow.tests.d.ts +0 -1
  309. package/dist/Tabs/__tests__/TabLink.tests.d.ts +0 -1
  310. package/dist/Tabs/__tests__/Tablist.tests.d.ts +0 -2
  311. package/dist/common/Link.cjs +0 -45
  312. package/dist/common/Link.cjs.map +0 -1
  313. package/dist/common/Link.d.ts +0 -9
  314. package/dist/common/Link.js +0 -37
  315. package/dist/common/Link.js.map +0 -1
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import { render } from '../../test-utils';
3
+ import 'jest-styled-components';
4
+ import { Popover } from '../..';
5
+ import { SystemIcons } from '../../icons';
6
+ import { Position } from '../../types';
7
+
8
+
9
+ describe('<Popover />',()=>{
10
+ it('renders title', async () => {
11
+ const{getByText, queryByTestId} = render(
12
+ <Popover position={Position.Bottom} topSectionProps={{text:'sample title'}} mainContent={<></>} showOnClick={false}>
13
+ <></>
14
+ </Popover>
15
+ );
16
+
17
+ expect(getByText('sample title')).toBeDefined();
18
+ expect(queryByTestId('closeBtn')).toBeNull();
19
+ })
20
+
21
+ it('renders note and title', async () => {
22
+ const{getByText, queryByTestId} = render(
23
+ <Popover position={Position.Left} topSectionProps={{text:'sample title', note:'sample note'}} mainContent={<></>} showOnClick={false}>
24
+ <></>
25
+ </Popover>
26
+ );
27
+
28
+ expect(getByText('sample title')).toBeDefined();
29
+ expect(getByText('sample note')).toBeDefined();
30
+ expect(queryByTestId('closeBtn')).toBeNull();
31
+ })
32
+
33
+ it('renders close button', async () => {
34
+ const{getByTestId} = render(
35
+ <Popover position={Position.Bottom} topSectionProps={{text:'sample title'}} mainContent={<></>} showOnClick={true}>
36
+ <></>
37
+ </Popover>
38
+ );
39
+
40
+ expect(getByTestId('closeBtn')).toBeDefined();
41
+ })
42
+
43
+ it('renders text button', async () => {
44
+ const{getByTestId} = render(
45
+ <Popover position={Position.Right} bottomSectionProps={{textButton:{label:'sample button', icon:<SystemIcons.OpenNewWindow />, action:()=>{}}}} mainContent={<></>} showOnClick={true}>
46
+ <></>
47
+ </Popover>
48
+ );
49
+
50
+ expect(getByTestId('textBtn')).toBeDefined();
51
+ expect(getByTestId('iconBtn').children).toHaveLength(0);
52
+ })
53
+
54
+ it('renders icon button', async () => {
55
+ const{getByTestId, queryByTestId} = render(
56
+ <Popover position={Position.Right} bottomSectionProps={{iconButtons:[{label:'sample button', icon:<SystemIcons.OpenNewWindow />, action:()=>{}}]}} mainContent={<></>} showOnClick={true}>
57
+ <></>
58
+ </Popover>
59
+ );
60
+
61
+ expect(queryByTestId('textBtn')).toBeNull();
62
+ expect(getByTestId('iconBtn').children).toHaveLength(1);
63
+ })
64
+ })
@@ -0,0 +1,31 @@
1
+ import * as React from 'react';
2
+ import {ProfileButton} from '../index';
3
+ import {render} from '../../test-utils';
4
+
5
+
6
+
7
+ describe('ProfileButton', () => {
8
+
9
+ it('should render', () => {
10
+ const wrapper = render(<ProfileButton onClick={jest.fn()} initials={'initials'}/>);
11
+
12
+ expect(wrapper.queryByText('initials')).toBeInTheDocument();
13
+ });
14
+
15
+ it('should render image if portraitSrc is provided', () => {
16
+ const wrapper = render(<ProfileButton portraitSrc={'#'} onClick={jest.fn()}/>);
17
+
18
+
19
+ expect(wrapper.container.querySelector(`img`)).toBeInTheDocument();
20
+ expect(wrapper.queryByText('initials')).not.toBeInTheDocument();
21
+ });
22
+
23
+ it('should render initials if portraitSrc is not provided and initials are', () => {
24
+ const wrapper = render(<ProfileButton initials={'initials'} onClick={jest.fn()}/>);
25
+
26
+
27
+ expect(wrapper.container.querySelector(`img`)).not.toBeInTheDocument();
28
+ expect(wrapper.queryByText('initials')).toBeInTheDocument();
29
+ });
30
+
31
+ });
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+ import { render } from '../../test-utils';
3
+ import 'jest-styled-components';
4
+ import { QuizButton } from '..';
5
+ import { Size } from '../../types';
6
+ import COLORS from '../../styles/colors';
7
+ import '@testing-library/jest-dom';
8
+
9
+
10
+ describe('<QuizButton />',()=>{
11
+ it('renders correct quiz button', async () => {
12
+ const{getByText, getByTestId} = render(
13
+ <QuizButton size={Size.Small} resultType={'correct'} text={'this is sample text'} type={'radio'} id={'1'}/>
14
+ );
15
+ expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
16
+ expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
17
+ expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
18
+ });
19
+
20
+ it('renders incorrect quiz button', async () => {
21
+ const{getByText, getByTestId} = render(
22
+ <QuizButton size={Size.Small} resultType={'incorrect'} text={'this is sample text'} type={'checkbox'} id={'1'}/>
23
+ );
24
+ expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
25
+ expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
26
+ expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
27
+ });
28
+
29
+ it('renders partial quiz button', async () => {
30
+ const{getByText, getByTestId} = render(
31
+ <QuizButton size={Size.Small} resultType={'partial'} text={'this is sample text'} type={'radio'} id={'1'}/>
32
+ );
33
+ expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
34
+ expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
35
+ expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
36
+ });
37
+
38
+ it('renders quiz button', async () => {
39
+ const{getByText, getByTestId} = render(
40
+ <QuizButton size={Size.Small} text={'this is sample text'} type={'checkbox'} id={'1'}/>
41
+ );
42
+ expect(getByText('this is sample text')).toHaveTextContent('this is sample text');
43
+ expect(getByTestId('txtContainer')).toHaveStyleRule('background',COLORS.accent1_20);
44
+ expect(getByTestId('btnContainer')).toHaveStyleRule('background',COLORS.accent1_100);
45
+ });
46
+
47
+ it('renders selected quiz button', async () => {
48
+ const{getByText} = render(
49
+ <QuizButton size={Size.Small} text={'this is sample text'} selected={true} type={'radio'} id={'1'}/>
50
+ );
51
+ expect(getByText('this is sample text')).toHaveTextContent('this is sample text');
52
+ });
53
+ });
@@ -0,0 +1,145 @@
1
+ import React from 'react';
2
+ import {SegmentControlItemWrapper, SegmentControlWrapper} from '../SegmentControl';
3
+ import {render} from '../../test-utils';
4
+ import {SegmentControl} from '../index';
5
+ import {SystemIcons} from '../../icons';
6
+ import {fireEvent} from '@testing-library/react';
7
+ import { act } from "react";
8
+
9
+
10
+
11
+
12
+ describe('SegmentControl', () => {
13
+
14
+ const items = [
15
+ {key: 'item1', content: 'Item 1', disabled: false,},
16
+ {key: 'item2', content: 'Item 2', disabled: false,},
17
+ {key: 'item3', content: 'Item 3', disabled: false,},
18
+ {key: 'item4', content: 'Item 4', disabled: false,},
19
+ {key: 'item5', content: 'Item 5', disabled: false,},
20
+ {key: 'item6', content: 'Item 6', disabled: true,}
21
+ ];
22
+
23
+ const icons = [
24
+ {key: 'icon1', content: <SystemIcons.Legend3Star size={'20'}/>, disabled: false,},
25
+ {key: 'icon2', content: <SystemIcons.Legend4Square size={'20'}/>, disabled: false,},
26
+ {key: 'icon3', content: <SystemIcons.Legend5Diamond size={'20'}/>, disabled: false,},
27
+ {key: 'icon4', content: <SystemIcons.Legend6Nabla size={'20'}/>, disabled: false,},
28
+ {key: 'icon5', content: <SystemIcons.Legend7Pentagon size={'20'}/>, disabled: false,},
29
+ {key: 'icon6', content: <SystemIcons.Legend8Rectangle size={'20'}/>, disabled: true,}
30
+ ]
31
+
32
+ it('should render a segment control with items', () => {
33
+ const wrapper = render(
34
+ <SegmentControl items={items}
35
+ selected={items[0].key}
36
+ onChange={jest.fn()}/>
37
+ );
38
+
39
+ expect(wrapper.container.querySelectorAll(`${SegmentControlWrapper}`)).toHaveLength(1);
40
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)).toHaveLength(6);
41
+ });
42
+
43
+ it('should render items with correct labels', () => {
44
+ const wrapper = render(
45
+ <SegmentControl items={items}
46
+ selected={items[0].key}
47
+ onChange={jest.fn()}/>
48
+ );
49
+
50
+ for (let item of items) {
51
+ expect(wrapper.getByText(item.content)).toBeTruthy();
52
+ }
53
+ });
54
+
55
+ it('should render items with icons', () => {
56
+ const wrapper = render(
57
+ <SegmentControl items={icons}
58
+ selected={icons[0].key}
59
+ onChange={jest.fn()}/>
60
+ );
61
+
62
+ expect(wrapper.container.querySelectorAll(`${SegmentControlWrapper}`)).toHaveLength(1);
63
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)).toHaveLength(6);
64
+ });
65
+
66
+ it('should render correct item as selected', () => {
67
+ const wrapper = render(
68
+ <SegmentControl items={items}
69
+ selected={items[2].key}
70
+ onChange={jest.fn()}/>
71
+ );
72
+
73
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}.selected`)).toHaveLength(1);
74
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)[2].classList).toContain('selected');
75
+ });
76
+
77
+ it('should render correct item as disabled', () => {
78
+ const wrapper = render(
79
+ <SegmentControl items={items}
80
+ selected={items[2].key}
81
+ onChange={jest.fn()}/>
82
+ );
83
+
84
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}.disabled`)).toHaveLength(1);
85
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)[5].classList).toContain('disabled');
86
+ });
87
+
88
+ it('should call on change function on item click', () => {
89
+ const onChange = jest.fn();
90
+ const wrapper = render(
91
+ <SegmentControl items={items}
92
+ selected={items[2].key}
93
+ onChange={onChange}/>
94
+ );
95
+ act(() => {
96
+ wrapper.getByText(items[0].content).dispatchEvent(new MouseEvent('click', {bubbles: true}));
97
+ })
98
+ expect(onChange).toHaveBeenCalledTimes(1);
99
+ expect(onChange).toHaveBeenCalledWith(items[0].key);
100
+ });
101
+
102
+ it('should call on change function on item key press', () => {
103
+ const onChange = jest.fn();
104
+ const wrapper = render(
105
+ <SegmentControl items={items}
106
+ selected={items[2].key}
107
+ onChange={onChange}/>
108
+ );
109
+ act(() => {
110
+ fireEvent.keyPress(wrapper.getByText(items[0].content), {key: 'Enter', keyCode: 13, which: 13});
111
+ })
112
+
113
+ expect(onChange).toHaveBeenCalledTimes(1);
114
+ expect(onChange).toHaveBeenCalledWith(items[0].key);
115
+ });
116
+
117
+ it('should not call on change function on disabled item click', () => {
118
+ const onChange = jest.fn();
119
+ const wrapper = render(
120
+ <SegmentControl items={items}
121
+ selected={items[2].key}
122
+ onChange={onChange}/>
123
+ );
124
+ act(() => {
125
+ wrapper.getByText(items[5].content).dispatchEvent(new MouseEvent('click', {bubbles: true}));
126
+ })
127
+ expect(onChange).toHaveBeenCalledTimes(0);
128
+ });
129
+
130
+ it('should not call on change function on disabled item key press', () => {
131
+ const onChange = jest.fn();
132
+ const wrapper = render(
133
+ <SegmentControl items={items}
134
+ selected={items[2].key}
135
+ onChange={onChange}/>
136
+ );
137
+ act(() => {
138
+ fireEvent.keyPress(wrapper.getByText(items[5].content), {key: 'Enter', keyCode: 13, which: 13});
139
+ })
140
+
141
+ expect(onChange).toHaveBeenCalledTimes(0);
142
+ });
143
+
144
+
145
+ });
@@ -68,7 +68,7 @@ const SideMenuFooter = props => {
68
68
  size: props.size
69
69
  }, item), index))
70
70
  }), !!props.footer?.buttons?.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(ButtonsContainer, {
71
- children: props.footer.buttons.map((button, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, _objectSpread(_objectSpread({
71
+ children: props.footer.buttons.map((button, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.TextButton, _objectSpread(_objectSpread({
72
72
  size: props.size
73
73
  }, button), {}, {
74
74
  children: button.label
@@ -1 +1 @@
1
- {"version":3,"file":"SideMenuFooter.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_assets","_Button","_MenuItem","_jsxRuntime","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","Wrapper","styled","div","props","COLORS","getColor","theme","ItemsContainer","ButtonsContainer","LogoContainer","NoteContainer","ComponentXXSStyling","ComponentTextStyle","Regular","SideMenuFooter","jsxs","children","footer","items","jsx","map","item","index","MenuItem","size","buttons","button","Button","label","LaerdalLogo","height","width","note","exports"],"sources":["../../src/SideMenu/SideMenuFooter.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {\r\n COLORS,\r\n ComponentTextStyle,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {LaerdalLogo} from '../assets';\r\nimport {Button} from '../Button';\r\nimport {MenuItem} from '../MenuItem';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n box-sizing: border-box;\r\n width: 100%;\r\n\r\n border-top: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};\r\n`;\r\n\r\nconst ItemsContainer = styled.div`\r\n padding: 8px;\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n width: 100%;\r\n`;\r\n\r\nconst ButtonsContainer = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n box-sizing: border-box;\r\n padding: 8px 16px;\r\n gap: 10px;\r\n width: 100%;\r\n\r\n button {\r\n flex: 1;\r\n }\r\n\r\n .small & {\r\n gap: 0;\r\n flex-direction: column-reverse;\r\n }\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n min-height: 80px;\r\n padding: 8px 16px;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n width: 100%;\r\n`;\r\n\r\nconst NoteContainer = styled.div`\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\r\n`;\r\n\r\nexport const SideMenuFooter = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n !!props.footer?.items?.length &&\r\n <ItemsContainer>\r\n {props.footer.items.map((item, index) =>\r\n <MenuItem key={index} size={props.size} {...item}/>\r\n )}\r\n </ItemsContainer>\r\n }\r\n {\r\n !!props.footer?.buttons?.length &&\r\n <ButtonsContainer>\r\n {\r\n props.footer.buttons.map((button, index) =>\r\n <Button key={index} size={props.size} {...button} >\r\n {button.label}\r\n </Button>\r\n )\r\n }\r\n </ButtonsContainer>\r\n }\r\n {\r\n !props.footer?.buttons?.length &&\r\n <LogoContainer>\r\n <LaerdalLogo height={'36px'} width={'66px'}/>\r\n <NoteContainer>{props.footer?.note}</NoteContainer>\r\n </LogoContainer>\r\n }\r\n\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideMenuFooter.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_assets","_Button","_MenuItem","_jsxRuntime","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","Wrapper","styled","div","props","COLORS","getColor","theme","ItemsContainer","ButtonsContainer","LogoContainer","NoteContainer","ComponentXXSStyling","ComponentTextStyle","Regular","SideMenuFooter","jsxs","children","footer","items","jsx","map","item","index","MenuItem","size","buttons","button","TextButton","label","LaerdalLogo","height","width","note","exports"],"sources":["../../src/SideMenu/SideMenuFooter.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {\r\n COLORS,\r\n ComponentTextStyle,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {LaerdalLogo} from '../assets';\r\nimport {TextButton} from '../Button';\r\nimport {MenuItem} from '../MenuItem';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n box-sizing: border-box;\r\n width: 100%;\r\n\r\n border-top: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};\r\n`;\r\n\r\nconst ItemsContainer = styled.div`\r\n padding: 8px;\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n width: 100%;\r\n`;\r\n\r\nconst ButtonsContainer = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n box-sizing: border-box;\r\n padding: 8px 16px;\r\n gap: 10px;\r\n width: 100%;\r\n\r\n button {\r\n flex: 1;\r\n }\r\n\r\n .small & {\r\n gap: 0;\r\n flex-direction: column-reverse;\r\n }\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n min-height: 80px;\r\n padding: 8px 16px;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n width: 100%;\r\n`;\r\n\r\nconst NoteContainer = styled.div`\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\r\n`;\r\n\r\nexport const SideMenuFooter = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n !!props.footer?.items?.length &&\r\n <ItemsContainer>\r\n {props.footer.items.map((item, index) =>\r\n <MenuItem key={index} size={props.size} {...item}/>\r\n )}\r\n </ItemsContainer>\r\n }\r\n {\r\n !!props.footer?.buttons?.length &&\r\n <ButtonsContainer>\r\n {\r\n props.footer.buttons.map((button, index) =>\r\n <TextButton key={index} size={props.size} {...button} >\r\n {button.label}\r\n </TextButton>\r\n )\r\n }\r\n </ButtonsContainer>\r\n }\r\n {\r\n !props.footer?.buttons?.length &&\r\n <LogoContainer>\r\n <LaerdalLogo height={'36px'} width={'66px'}/>\r\n <NoteContainer>{props.footer?.note}</NoteContainer>\r\n </LogoContainer>\r\n }\r\n\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import React from 'react';
5
5
  import styled from 'styled-components';
6
6
  import { COLORS, ComponentTextStyle, ComponentXXSStyling } from '../styles';
7
7
  import { LaerdalLogo } from '../assets';
8
- import { Button } from '../Button';
8
+ import { TextButton } from '../Button';
9
9
  import { MenuItem } from '../MenuItem';
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  const Wrapper = styled.div`
@@ -61,7 +61,7 @@ export const SideMenuFooter = props => {
61
61
  size: props.size
62
62
  }, item), index))
63
63
  }), !!props.footer?.buttons?.length && /*#__PURE__*/_jsx(ButtonsContainer, {
64
- children: props.footer.buttons.map((button, index) => /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
64
+ children: props.footer.buttons.map((button, index) => /*#__PURE__*/_jsx(TextButton, _objectSpread(_objectSpread({
65
65
  size: props.size
66
66
  }, button), {}, {
67
67
  children: button.label
@@ -1 +1 @@
1
- {"version":3,"file":"SideMenuFooter.js","names":["React","styled","COLORS","ComponentTextStyle","ComponentXXSStyling","LaerdalLogo","Button","MenuItem","jsx","_jsx","jsxs","_jsxs","Wrapper","div","props","getColor","theme","ItemsContainer","ButtonsContainer","LogoContainer","NoteContainer","Regular","SideMenuFooter","children","footer","items","length","map","item","index","_objectSpread","size","buttons","button","label","height","width","note"],"sources":["../../src/SideMenu/SideMenuFooter.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {\r\n COLORS,\r\n ComponentTextStyle,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {LaerdalLogo} from '../assets';\r\nimport {Button} from '../Button';\r\nimport {MenuItem} from '../MenuItem';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n box-sizing: border-box;\r\n width: 100%;\r\n\r\n border-top: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};\r\n`;\r\n\r\nconst ItemsContainer = styled.div`\r\n padding: 8px;\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n width: 100%;\r\n`;\r\n\r\nconst ButtonsContainer = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n box-sizing: border-box;\r\n padding: 8px 16px;\r\n gap: 10px;\r\n width: 100%;\r\n\r\n button {\r\n flex: 1;\r\n }\r\n\r\n .small & {\r\n gap: 0;\r\n flex-direction: column-reverse;\r\n }\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n min-height: 80px;\r\n padding: 8px 16px;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n width: 100%;\r\n`;\r\n\r\nconst NoteContainer = styled.div`\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\r\n`;\r\n\r\nexport const SideMenuFooter = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n !!props.footer?.items?.length &&\r\n <ItemsContainer>\r\n {props.footer.items.map((item, index) =>\r\n <MenuItem key={index} size={props.size} {...item}/>\r\n )}\r\n </ItemsContainer>\r\n }\r\n {\r\n !!props.footer?.buttons?.length &&\r\n <ButtonsContainer>\r\n {\r\n props.footer.buttons.map((button, index) =>\r\n <Button key={index} size={props.size} {...button} >\r\n {button.label}\r\n </Button>\r\n )\r\n }\r\n </ButtonsContainer>\r\n }\r\n {\r\n !props.footer?.buttons?.length &&\r\n <LogoContainer>\r\n <LaerdalLogo height={'36px'} width={'66px'}/>\r\n <NoteContainer>{props.footer?.note}</NoteContainer>\r\n </LogoContainer>\r\n }\r\n\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SACEC,MAAM,EACNC,kBAAkB,EAClBC,mBAAmB,QACd,WAAW;AAClB,SAAQC,WAAW,QAAO,WAAW;AACrC,SAAQC,MAAM,QAAO,WAAW;AAChC,SAAQC,QAAQ,QAAO,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,OAAO,GAAGX,MAAM,CAACY,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BC,KAAK,IAAIZ,MAAM,CAACa,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAC9E,CAAC;AAED,MAAMC,cAAc,GAAGhB,MAAM,CAACY,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMK,gBAAgB,GAAGjB,MAAM,CAACY,GAAG;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMM,aAAa,GAAGlB,MAAM,CAACY,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBC,KAAK,IAAIZ,MAAM,CAACa,QAAQ,CAAC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;AACzE;AACA,CAAC;AAED,MAAMI,aAAa,GAAGnB,MAAM,CAACY,GAAG;AAChC,IAAIC,KAAK,IAAIV,mBAAmB,CAACD,kBAAkB,CAACkB,OAAO,EAAEnB,MAAM,CAACa,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC,CAAC;AACzG,CAAC;AAED,OAAO,MAAMM,cAAc,GAAIR,KAAoB,IAAK;EAEtD,oBACEH,KAAA,CAACC,OAAO;IAAAW,QAAA,GAEJ,CAAC,CAACT,KAAK,CAACU,MAAM,EAAEC,KAAK,EAAEC,MAAM,iBAC7BjB,IAAA,CAACQ,cAAc;MAAAM,QAAA,EACZT,KAAK,CAACU,MAAM,CAACC,KAAK,CAACE,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBAClCpB,IAAA,CAACF,QAAQ,EAAAuB,aAAA;QAAaC,IAAI,EAAEjB,KAAK,CAACiB;MAAK,GAAKH,IAAI,GAAjCC,KAAmC,CACpD;IAAC,CACa,CAAC,EAGjB,CAAC,CAACf,KAAK,CAACU,MAAM,EAAEQ,OAAO,EAAEN,MAAM,iBAC/BjB,IAAA,CAACS,gBAAgB;MAAAK,QAAA,EAEbT,KAAK,CAACU,MAAM,CAACQ,OAAO,CAACL,GAAG,CAAC,CAACM,MAAM,EAAEJ,KAAK,kBACrCpB,IAAA,CAACH,MAAM,EAAAwB,aAAA,CAAAA,aAAA;QAAaC,IAAI,EAAEjB,KAAK,CAACiB;MAAK,GAAKE,MAAM;QAAAV,QAAA,EAC7CU,MAAM,CAACC;MAAK,IADFL,KAEL,CACV;IAAC,CAEa,CAAC,EAGnB,CAACf,KAAK,CAACU,MAAM,EAAEQ,OAAO,EAAEN,MAAM,iBAC9Bf,KAAA,CAACQ,aAAa;MAAAI,QAAA,gBACZd,IAAA,CAACJ,WAAW;QAAC8B,MAAM,EAAE,MAAO;QAACC,KAAK,EAAE;MAAO,CAAC,CAAC,eAC7C3B,IAAA,CAACW,aAAa;QAAAG,QAAA,EAAET,KAAK,CAACU,MAAM,EAAEa;MAAI,CAAgB,CAAC;IAAA,CACtC,CAAC;EAAA,CAGX,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"SideMenuFooter.js","names":["React","styled","COLORS","ComponentTextStyle","ComponentXXSStyling","LaerdalLogo","TextButton","MenuItem","jsx","_jsx","jsxs","_jsxs","Wrapper","div","props","getColor","theme","ItemsContainer","ButtonsContainer","LogoContainer","NoteContainer","Regular","SideMenuFooter","children","footer","items","length","map","item","index","_objectSpread","size","buttons","button","label","height","width","note"],"sources":["../../src/SideMenu/SideMenuFooter.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {\r\n COLORS,\r\n ComponentTextStyle,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {LaerdalLogo} from '../assets';\r\nimport {TextButton} from '../Button';\r\nimport {MenuItem} from '../MenuItem';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n box-sizing: border-box;\r\n width: 100%;\r\n\r\n border-top: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};\r\n`;\r\n\r\nconst ItemsContainer = styled.div`\r\n padding: 8px;\r\n display: flex;\r\n flex-direction: column;\r\n box-sizing: border-box;\r\n width: 100%;\r\n`;\r\n\r\nconst ButtonsContainer = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n box-sizing: border-box;\r\n padding: 8px 16px;\r\n gap: 10px;\r\n width: 100%;\r\n\r\n button {\r\n flex: 1;\r\n }\r\n\r\n .small & {\r\n gap: 0;\r\n flex-direction: column-reverse;\r\n }\r\n`;\r\n\r\nconst LogoContainer = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n box-sizing: border-box;\r\n min-height: 80px;\r\n padding: 8px 16px;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n width: 100%;\r\n`;\r\n\r\nconst NoteContainer = styled.div`\r\n ${props => ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_500', props.theme))}\r\n`;\r\n\r\nexport const SideMenuFooter = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n !!props.footer?.items?.length &&\r\n <ItemsContainer>\r\n {props.footer.items.map((item, index) =>\r\n <MenuItem key={index} size={props.size} {...item}/>\r\n )}\r\n </ItemsContainer>\r\n }\r\n {\r\n !!props.footer?.buttons?.length &&\r\n <ButtonsContainer>\r\n {\r\n props.footer.buttons.map((button, index) =>\r\n <TextButton key={index} size={props.size} {...button} >\r\n {button.label}\r\n </TextButton>\r\n )\r\n }\r\n </ButtonsContainer>\r\n }\r\n {\r\n !props.footer?.buttons?.length &&\r\n <LogoContainer>\r\n <LaerdalLogo height={'36px'} width={'66px'}/>\r\n <NoteContainer>{props.footer?.note}</NoteContainer>\r\n </LogoContainer>\r\n }\r\n\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SACEC,MAAM,EACNC,kBAAkB,EAClBC,mBAAmB,QACd,WAAW;AAClB,SAAQC,WAAW,QAAO,WAAW;AACrC,SAAQC,UAAU,QAAO,WAAW;AACpC,SAAQC,QAAQ,QAAO,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,OAAO,GAAGX,MAAM,CAACY,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0BC,KAAK,IAAIZ,MAAM,CAACa,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAC9E,CAAC;AAED,MAAMC,cAAc,GAAGhB,MAAM,CAACY,GAAG;AACjC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMK,gBAAgB,GAAGjB,MAAM,CAACY,GAAG;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMM,aAAa,GAAGlB,MAAM,CAACY,GAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsBC,KAAK,IAAIZ,MAAM,CAACa,QAAQ,CAAC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;AACzE;AACA,CAAC;AAED,MAAMI,aAAa,GAAGnB,MAAM,CAACY,GAAG;AAChC,IAAIC,KAAK,IAAIV,mBAAmB,CAACD,kBAAkB,CAACkB,OAAO,EAAEnB,MAAM,CAACa,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC,CAAC;AACzG,CAAC;AAED,OAAO,MAAMM,cAAc,GAAIR,KAAoB,IAAK;EAEtD,oBACEH,KAAA,CAACC,OAAO;IAAAW,QAAA,GAEJ,CAAC,CAACT,KAAK,CAACU,MAAM,EAAEC,KAAK,EAAEC,MAAM,iBAC7BjB,IAAA,CAACQ,cAAc;MAAAM,QAAA,EACZT,KAAK,CAACU,MAAM,CAACC,KAAK,CAACE,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBAClCpB,IAAA,CAACF,QAAQ,EAAAuB,aAAA;QAAaC,IAAI,EAAEjB,KAAK,CAACiB;MAAK,GAAKH,IAAI,GAAjCC,KAAmC,CACpD;IAAC,CACa,CAAC,EAGjB,CAAC,CAACf,KAAK,CAACU,MAAM,EAAEQ,OAAO,EAAEN,MAAM,iBAC/BjB,IAAA,CAACS,gBAAgB;MAAAK,QAAA,EAEbT,KAAK,CAACU,MAAM,CAACQ,OAAO,CAACL,GAAG,CAAC,CAACM,MAAM,EAAEJ,KAAK,kBACrCpB,IAAA,CAACH,UAAU,EAAAwB,aAAA,CAAAA,aAAA;QAAaC,IAAI,EAAEjB,KAAK,CAACiB;MAAK,GAAKE,MAAM;QAAAV,QAAA,EACjDU,MAAM,CAACC;MAAK,IADEL,KAEL,CACd;IAAC,CAEa,CAAC,EAGnB,CAACf,KAAK,CAACU,MAAM,EAAEQ,OAAO,EAAEN,MAAM,iBAC9Bf,KAAA,CAACQ,aAAa;MAAAI,QAAA,gBACZd,IAAA,CAACJ,WAAW;QAAC8B,MAAM,EAAE,MAAO;QAACC,KAAK,EAAE;MAAO,CAAC,CAAC,eAC7C3B,IAAA,CAACW,aAAa;QAAAG,QAAA,EAAET,KAAK,CAACU,MAAM,EAAEa;MAAI,CAAgB,CAAC;IAAA,CACtC,CAAC;EAAA,CAGX,CAAC;AAEd,CAAC","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ import * as React from 'react';
2
+ import {SideMenu} from '../index';
3
+ import {act, render} from '../../test-utils';
4
+
5
+
6
+
7
+ describe('SideMenu', () => {
8
+
9
+ it('should render content', () => {
10
+ const wrapper = render(<SideMenu onClose={jest.fn()}>content</SideMenu>);
11
+
12
+ expect(wrapper.getByText('content')).toBeDefined();
13
+ });
14
+
15
+ it('should call onClose when close button is clicked', () => {
16
+ const onClose = jest.fn();
17
+ const wrapper = render(<SideMenu onClose={onClose}>content</SideMenu>);
18
+
19
+ act(() => {
20
+ wrapper.getByRole('button').click();
21
+ });
22
+
23
+ expect(onClose).toHaveBeenCalled();
24
+ });
25
+
26
+
27
+ it('should call onClose when close button is clicked', () => {
28
+ const onClose = jest.fn();
29
+ const wrapper = render(<SideMenu onClose={onClose}>content</SideMenu>);
30
+
31
+ act(() => {
32
+ wrapper.getByRole('button').click();
33
+ });
34
+
35
+ expect(onClose).toHaveBeenCalled();
36
+ });
37
+
38
+ it('should render label', () => {
39
+ const onClose = jest.fn();
40
+ const wrapper = render(<SideMenu onClose={onClose} header={{label: 'label'}}>content</SideMenu>);
41
+
42
+ expect(wrapper.getByText('label')).toBeDefined();
43
+ });
44
+
45
+ it('should render header icon buttons ', () => {
46
+ const onClose = jest.fn();
47
+ const wrapper = render(<SideMenu onClose={onClose} header={{
48
+ label: 'label', actions: [{
49
+ action: () => {
50
+ }, icon: <></>
51
+ }, {
52
+ action: () => {
53
+ }, icon: <></>
54
+ }]
55
+ }}>content</SideMenu>);
56
+
57
+ expect(wrapper.getAllByRole('button')).toHaveLength(3);
58
+ });
59
+
60
+ it('should render footer note', () => {
61
+ const onClose = jest.fn();
62
+ const wrapper = render(<SideMenu onClose={onClose} footer={{note: 'note'}}>content</SideMenu>);
63
+
64
+ expect(wrapper.getByText('note')).toBeDefined();
65
+ });
66
+
67
+ it('should render footer buttons', () => {
68
+ const onClose = jest.fn();
69
+ const wrapper = render(<SideMenu onClose={onClose} footer={{
70
+ buttons: [{
71
+ variant: 'primary', label: 'label', onClick: () => {
72
+ }
73
+ }]
74
+ }}>content</SideMenu>);
75
+
76
+ expect(wrapper.getAllByRole('button')).toHaveLength(2);
77
+ });
78
+
79
+ it('should render footer menu items', () => {
80
+ const onClose = jest.fn();
81
+ const wrapper = render(<SideMenu onClose={onClose} footer={{
82
+ items: [{
83
+ id: '1',
84
+ active: false,
85
+ onClickHandler: () => {},
86
+ item: {displayLabel: 'label 1', value: '1'}
87
+ }, {
88
+ id: '2',
89
+ active: false,
90
+ onClickHandler: () => {},
91
+ item: {displayLabel: 'label 2', value: '2'}
92
+ }]
93
+ }}>content</SideMenu>);
94
+
95
+ expect(wrapper.getByText('label 1')).toBeDefined();
96
+ expect(wrapper.getByText('label 2')).toBeDefined();
97
+ });
98
+
99
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","names":[],"sources":["../../src/SideMenu/types.ts"],"sourcesContent":["import {ButtonProps} from '../Button/Button';\r\nimport {IconButtonProps} from '../Button/Iconbutton';\r\nimport {MenuItemProps} from '../MenuItem/MenuItem';\r\nimport {Size} from '../types';\r\n\r\n\r\nexport type SideMenuAction = Omit<IconButtonProps, 'variant' |\r\n 'shape' |\r\n 'isInMobileMenu' |\r\n 'borderRadius' |\r\n 'flatEdge' |\r\n 'focusBackgroundColor' |\r\n 'useTransparentBackground' |\r\n 'unsetIconSize' |\r\n 'shouldNotInteract' |\r\n 'invertFocus' |\r\n 'hideOnLowWidth' | 'children'> & { icon: React.ReactNode };\r\n\r\nexport type SideMenuButton =\r\n Omit<ButtonProps, 'size' | 'iconOnly' | 'minWidth' | 'testId' | 'width' | 'invertFocus' | 'colorTheme' | 'flatEdge' | 'children'>\r\n & { label: string };\r\n\r\nexport type SideMenuItem = Omit<MenuItemProps, 'size'>\r\n\r\nexport interface SideMenuHeader {\r\n actions?: SideMenuAction[];\r\n label?: string;\r\n}\r\n\r\nexport interface SideMenuFooter {\r\n items?: SideMenuItem[];\r\n buttons?: SideMenuButton[];\r\n note?: string;\r\n}\r\n\r\nexport interface SideMenuProps extends React.HTMLAttributes<HTMLDivElement> {\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n header?: SideMenuHeader;\r\n footer?: SideMenuFooter;\r\n onClose: () => void;\r\n children?: any;\r\n}\r\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../../src/SideMenu/types.ts"],"sourcesContent":["import {TextButtonProps} from '../Button/TextButton';\r\nimport {IconButtonProps} from '../Button/Iconbutton';\r\nimport {MenuItemProps} from '../MenuItem/MenuItem';\r\nimport {Size} from '../types';\r\n\r\n\r\nexport type SideMenuAction = Omit<IconButtonProps, 'variant' |\r\n 'shape' |\r\n 'isInMobileMenu' |\r\n 'borderRadius' |\r\n 'flatEdge' |\r\n 'focusBackgroundColor' |\r\n 'useTransparentBackground' |\r\n 'unsetIconSize' |\r\n 'shouldNotInteract' |\r\n 'invertFocus' |\r\n 'hideOnLowWidth' | 'children'> & { icon: React.ReactNode };\r\n\r\nexport type SideMenuButton =\r\n Omit<TextButtonProps, 'size' | 'iconOnly' | 'minWidth' | 'testId' | 'width' | 'invertFocus' | 'colorTheme' | 'flatEdge' | 'children'>\r\n & { label: string };\r\n\r\nexport type SideMenuItem = Omit<MenuItemProps, 'size'>\r\n\r\nexport interface SideMenuHeader {\r\n actions?: SideMenuAction[];\r\n label?: string;\r\n}\r\n\r\nexport interface SideMenuFooter {\r\n items?: SideMenuItem[];\r\n buttons?: SideMenuButton[];\r\n note?: string;\r\n}\r\n\r\nexport interface SideMenuProps extends React.HTMLAttributes<HTMLDivElement> {\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n header?: SideMenuHeader;\r\n footer?: SideMenuFooter;\r\n onClose: () => void;\r\n children?: any;\r\n}\r\n"],"mappings":"","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import { ButtonProps } from '../Button/Button';
1
+ import { TextButtonProps } from '../Button/TextButton';
2
2
  import { IconButtonProps } from '../Button/Iconbutton';
3
3
  import { MenuItemProps } from '../MenuItem/MenuItem';
4
4
  import { Size } from '../types';
5
5
  export type SideMenuAction = Omit<IconButtonProps, 'variant' | 'shape' | 'isInMobileMenu' | 'borderRadius' | 'flatEdge' | 'focusBackgroundColor' | 'useTransparentBackground' | 'unsetIconSize' | 'shouldNotInteract' | 'invertFocus' | 'hideOnLowWidth' | 'children'> & {
6
6
  icon: React.ReactNode;
7
7
  };
8
- export type SideMenuButton = Omit<ButtonProps, 'size' | 'iconOnly' | 'minWidth' | 'testId' | 'width' | 'invertFocus' | 'colorTheme' | 'flatEdge' | 'children'> & {
8
+ export type SideMenuButton = Omit<TextButtonProps, 'size' | 'iconOnly' | 'minWidth' | 'testId' | 'width' | 'invertFocus' | 'colorTheme' | 'flatEdge' | 'children'> & {
9
9
  label: string;
10
10
  };
11
11
  export type SideMenuItem = Omit<MenuItemProps, 'size'>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/SideMenu/types.ts"],"sourcesContent":["import {ButtonProps} from '../Button/Button';\r\nimport {IconButtonProps} from '../Button/Iconbutton';\r\nimport {MenuItemProps} from '../MenuItem/MenuItem';\r\nimport {Size} from '../types';\r\n\r\n\r\nexport type SideMenuAction = Omit<IconButtonProps, 'variant' |\r\n 'shape' |\r\n 'isInMobileMenu' |\r\n 'borderRadius' |\r\n 'flatEdge' |\r\n 'focusBackgroundColor' |\r\n 'useTransparentBackground' |\r\n 'unsetIconSize' |\r\n 'shouldNotInteract' |\r\n 'invertFocus' |\r\n 'hideOnLowWidth' | 'children'> & { icon: React.ReactNode };\r\n\r\nexport type SideMenuButton =\r\n Omit<ButtonProps, 'size' | 'iconOnly' | 'minWidth' | 'testId' | 'width' | 'invertFocus' | 'colorTheme' | 'flatEdge' | 'children'>\r\n & { label: string };\r\n\r\nexport type SideMenuItem = Omit<MenuItemProps, 'size'>\r\n\r\nexport interface SideMenuHeader {\r\n actions?: SideMenuAction[];\r\n label?: string;\r\n}\r\n\r\nexport interface SideMenuFooter {\r\n items?: SideMenuItem[];\r\n buttons?: SideMenuButton[];\r\n note?: string;\r\n}\r\n\r\nexport interface SideMenuProps extends React.HTMLAttributes<HTMLDivElement> {\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n header?: SideMenuHeader;\r\n footer?: SideMenuFooter;\r\n onClose: () => void;\r\n children?: any;\r\n}\r\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/SideMenu/types.ts"],"sourcesContent":["import {TextButtonProps} from '../Button/TextButton';\r\nimport {IconButtonProps} from '../Button/Iconbutton';\r\nimport {MenuItemProps} from '../MenuItem/MenuItem';\r\nimport {Size} from '../types';\r\n\r\n\r\nexport type SideMenuAction = Omit<IconButtonProps, 'variant' |\r\n 'shape' |\r\n 'isInMobileMenu' |\r\n 'borderRadius' |\r\n 'flatEdge' |\r\n 'focusBackgroundColor' |\r\n 'useTransparentBackground' |\r\n 'unsetIconSize' |\r\n 'shouldNotInteract' |\r\n 'invertFocus' |\r\n 'hideOnLowWidth' | 'children'> & { icon: React.ReactNode };\r\n\r\nexport type SideMenuButton =\r\n Omit<TextButtonProps, 'size' | 'iconOnly' | 'minWidth' | 'testId' | 'width' | 'invertFocus' | 'colorTheme' | 'flatEdge' | 'children'>\r\n & { label: string };\r\n\r\nexport type SideMenuItem = Omit<MenuItemProps, 'size'>\r\n\r\nexport interface SideMenuHeader {\r\n actions?: SideMenuAction[];\r\n label?: string;\r\n}\r\n\r\nexport interface SideMenuFooter {\r\n items?: SideMenuItem[];\r\n buttons?: SideMenuButton[];\r\n note?: string;\r\n}\r\n\r\nexport interface SideMenuProps extends React.HTMLAttributes<HTMLDivElement> {\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n header?: SideMenuHeader;\r\n footer?: SideMenuFooter;\r\n onClose: () => void;\r\n children?: any;\r\n}\r\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import { SwitcherMenuItem } from '../index';
4
+ import 'jest-styled-components';
5
+ import { COLORS } from '../../styles';
6
+
7
+ describe('<SwitcherMenuItem />', () => {
8
+ it('Renders SwitcherMenuItem', async () => {
9
+ const { queryByText, getByTestId } = render(<SwitcherMenuItem label="TestLabel" url="/test" testId="TestSwitcherMenuItem" />);
10
+ expect(queryByText('TestLabel')).toBeDefined();
11
+
12
+ const testMenuItem = getByTestId('TestSwitcherMenuItem');
13
+ });
14
+ });
@@ -84,7 +84,7 @@ const TableBody = props => {
84
84
  size: _types.Size.Small,
85
85
  tabIndex: props.showLoadingIndicator ? -1 : 0
86
86
  }, column.additionalProps);
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, _objectSpread(_objectSpread({
87
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.TextButton, _objectSpread(_objectSpread({
88
88
  style: column.colorFn && {
89
89
  color: column.colorFn(row, column.key)
90
90
  }