@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
@@ -20,14 +20,20 @@ export const SegmentControlItemContent = styled.div`
20
20
  padding: 0 16px;
21
21
 
22
22
  background-color: transparent;
23
- color: ${props => COLORS.getColor('neutral_600', props.theme)};
23
+ color: ${props => COLORS.generateToken({
24
+ componentType: 'text',
25
+ defaultVariant: 'subtle'
26
+ }, props.theme)};
24
27
  `;
25
28
  export const SegmentControlItemBackground = styled.div`
26
29
  flex: 1;
27
30
  display: flex;
28
31
  flex-direction: row;
29
32
  align-items: center;
30
- background-color: ${props => COLORS.getColor('neutral_20', props.theme)};
33
+ background-color: ${props => COLORS.generateToken({
34
+ componentType: 'bg-surface',
35
+ defaultVariant: 'subtle'
36
+ }, props.theme)};
31
37
  padding: 4px 0px;
32
38
  `;
33
39
  export const SegmentControlItemWrapper = styled.div`
@@ -47,8 +53,14 @@ export const SegmentControlItemWrapper = styled.div`
47
53
  z-index: ${Z_INDEXES.hover};
48
54
 
49
55
  ${SegmentControlItemContent} {
50
- background-color: ${props => COLORS.getColor('primary_100', props.theme)};
51
- color: ${props => COLORS.getColor('primary_700', props.theme)};
56
+ background-color: ${props => COLORS.generateToken({
57
+ componentType: 'bg-surface',
58
+ state: 'hover'
59
+ }, props.theme)};
60
+ color: ${props => COLORS.generateToken({
61
+ componentType: 'text',
62
+ state: 'hover'
63
+ }, props.theme)};
52
64
  }
53
65
  }
54
66
 
@@ -56,8 +68,14 @@ export const SegmentControlItemWrapper = styled.div`
56
68
  z-index: ${Z_INDEXES.active};
57
69
 
58
70
  ${SegmentControlItemContent} {
59
- background-color: ${props => COLORS.getColor('primary_200', props.theme)};
60
- color: ${props => COLORS.getColor('primary_800', props.theme)};
71
+ background-color: ${props => COLORS.generateToken({
72
+ componentType: 'bg-surface',
73
+ state: 'active'
74
+ }, props.theme)};
75
+ color: ${props => COLORS.generateToken({
76
+ componentType: 'text',
77
+ state: 'active'
78
+ }, props.theme)};
61
79
  }
62
80
  }
63
81
 
@@ -66,7 +84,10 @@ export const SegmentControlItemWrapper = styled.div`
66
84
 
67
85
  ${SegmentControlItemContent} {
68
86
  background-color: transparent;
69
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
87
+ color: ${props => COLORS.generateToken({
88
+ componentType: 'text',
89
+ state: 'disabled'
90
+ }, props.theme)};
70
91
  }
71
92
  }
72
93
 
@@ -75,8 +96,15 @@ export const SegmentControlItemWrapper = styled.div`
75
96
  pointer-events: none;
76
97
 
77
98
  ${SegmentControlItemContent} {
78
- background-color: ${props => COLORS.getColor('primary_500', props.theme)};
79
- color: ${props => COLORS.getColor('white', props.theme)};
99
+ background-color: ${props => COLORS.generateToken({
100
+ componentType: 'bg-fill',
101
+ defaultVariant: 'primary'
102
+ }, props.theme)};
103
+ color: ${props => COLORS.generateToken({
104
+ componentType: 'text',
105
+ isOnFill: true,
106
+ defaultVariant: 'primary'
107
+ }, props.theme)};
80
108
  }
81
109
  }
82
110
 
@@ -85,8 +113,15 @@ export const SegmentControlItemWrapper = styled.div`
85
113
  pointer-events: unset;
86
114
 
87
115
  ${SegmentControlItemContent} {
88
- background-color: ${props => COLORS.getColor('neutral_100', props.theme)};
89
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
116
+ background-color: ${props => COLORS.generateToken({
117
+ componentType: 'bg-fill',
118
+ state: 'disabled'
119
+ }, props.theme)};
120
+ color: ${props => COLORS.generateToken({
121
+ componentType: 'text',
122
+ isOnFill: true,
123
+ state: 'disabled'
124
+ }, props.theme)};
90
125
  }
91
126
  }
92
127
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentControl.js","names":["React","Size","styled","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","SegmentControlItemContent","div","props","getColor","theme","SegmentControlItemBackground","SegmentControlItemWrapper","hover","active","SegmentControlWrapper","Bold","SegmentControl","_ref","items","size","Medium","onChange","selected","className","rest","_objectWithoutProperties","_excluded","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","_objectSpread","children","map","a","i","content","_excluded2","tabIndex","undefined","onMouseDown","propTypes","_pt","arrayOf","shape","string","isRequired","bool","oneOfType","node","func"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_200', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SegmentControl.js","names":["React","Size","styled","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","SegmentControlItemContent","div","props","generateToken","componentType","defaultVariant","theme","SegmentControlItemBackground","SegmentControlItemWrapper","hover","state","active","isOnFill","SegmentControlWrapper","Bold","SegmentControl","_ref","items","size","Medium","onChange","selected","className","rest","_objectWithoutProperties","_excluded","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","_objectSpread","children","map","a","i","content","_excluded2","tabIndex","undefined","onMouseDown","propTypes","_pt","arrayOf","shape","string","isRequired","bool","oneOfType","node","func"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'primary' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled'}, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, state:'disabled' }, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
@@ -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
+ });
@@ -37,15 +37,24 @@ const LabelContainer = _styledComponents.default.div`
37
37
  margin-left: 8px;
38
38
 
39
39
  .small & {
40
- ${props => (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
40
+ ${props => (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
41
+ componentType: 'text',
42
+ defaultVariant: 'subtle'
43
+ }, props.theme))}
41
44
  }
42
45
 
43
46
  .medium & {
44
- ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
47
+ ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
48
+ componentType: 'text',
49
+ defaultVariant: 'subtle'
50
+ }, props.theme))}
45
51
  }
46
52
 
47
53
  .large & {
48
- ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
54
+ ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
55
+ componentType: 'text',
56
+ defaultVariant: 'subtle'
57
+ }, props.theme))}
49
58
  }
50
59
  `;
51
60
  const SideMenuHeader = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"SideMenuHeader.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_Button","_icons","_jsxRuntime","_excluded","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","LabelContainer","props","ComponentSStyling","ComponentTextStyle","Bold","COLORS","getColor","theme","ComponentMStyling","ComponentLStyling","SideMenuHeader","jsxs","children","header","actions","map","_ref","index","icon","rest","_objectWithoutProperties2","jsx","IconButton","variant","shape","label","action","onClose","style","marginLeft","SystemIcons","Close","exports"],"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding: 0 8px;\r\n\r\n .small & {\r\n min-height: 48px;\r\n }\r\n\r\n .medium & {\r\n min-height: 56px;\r\n }\r\n\r\n .large & {\r\n min-height: 64px;\r\n }\r\n`;\r\n\r\nconst LabelContainer = styled.div`\r\n margin-left: 8px;\r\n\r\n .small & {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n\r\n .medium & {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n\r\n .large & {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n`;\r\n\r\nexport const SideMenuHeader = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n props.header?.actions?.map(({icon, ...rest}, index) =>\r\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\r\n {icon}\r\n </IconButton>\r\n )\r\n }\r\n {\r\n props.header?.label &&\r\n <LabelContainer>\r\n {props.header.label}\r\n </LabelContainer>\r\n }\r\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\r\n <SystemIcons.Close/>\r\n </IconButton>\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideMenuHeader.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_Button","_icons","_jsxRuntime","_excluded","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","LabelContainer","props","ComponentSStyling","ComponentTextStyle","Bold","COLORS","generateToken","componentType","defaultVariant","theme","ComponentMStyling","ComponentLStyling","SideMenuHeader","jsxs","children","header","actions","map","_ref","index","icon","rest","_objectWithoutProperties2","jsx","IconButton","variant","shape","label","action","onClose","style","marginLeft","SystemIcons","Close","exports"],"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding: 0 8px;\r\n\r\n .small & {\r\n min-height: 48px;\r\n }\r\n\r\n .medium & {\r\n min-height: 56px;\r\n }\r\n\r\n .large & {\r\n min-height: 64px;\r\n }\r\n`;\r\n\r\nconst LabelContainer = styled.div`\r\n margin-left: 8px;\r\n\r\n .small & {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n\r\n .medium & {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n\r\n .large & {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n`;\r\n\r\nexport const SideMenuHeader = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n props.header?.actions?.map(({icon, ...rest}, index) =>\r\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\r\n {icon}\r\n </IconButton>\r\n )\r\n }\r\n {\r\n props.header?.label &&\r\n <LabelContainer>\r\n {props.header.label}\r\n </LabelContainer>\r\n }\r\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\r\n <SystemIcons.Close/>\r\n </IconButton>\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":"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","ignoreList":[]}
@@ -30,15 +30,24 @@ const LabelContainer = styled.div`
30
30
  margin-left: 8px;
31
31
 
32
32
  .small & {
33
- ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}
33
+ ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.generateToken({
34
+ componentType: 'text',
35
+ defaultVariant: 'subtle'
36
+ }, props.theme))}
34
37
  }
35
38
 
36
39
  .medium & {
37
- ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}
40
+ ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.generateToken({
41
+ componentType: 'text',
42
+ defaultVariant: 'subtle'
43
+ }, props.theme))}
38
44
  }
39
45
 
40
46
  .large & {
41
- ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}
47
+ ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.generateToken({
48
+ componentType: 'text',
49
+ defaultVariant: 'subtle'
50
+ }, props.theme))}
42
51
  }
43
52
  `;
44
53
  export const SideMenuHeader = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"SideMenuHeader.js","names":["React","styled","COLORS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","IconButton","SystemIcons","jsx","_jsx","jsxs","_jsxs","Wrapper","div","LabelContainer","props","Bold","getColor","theme","SideMenuHeader","children","header","actions","map","_ref","index","icon","rest","_objectWithoutProperties","_excluded","_objectSpread","variant","shape","label","action","onClose","style","marginLeft","Close"],"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding: 0 8px;\r\n\r\n .small & {\r\n min-height: 48px;\r\n }\r\n\r\n .medium & {\r\n min-height: 56px;\r\n }\r\n\r\n .large & {\r\n min-height: 64px;\r\n }\r\n`;\r\n\r\nconst LabelContainer = styled.div`\r\n margin-left: 8px;\r\n\r\n .small & {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n\r\n .medium & {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n\r\n .large & {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n`;\r\n\r\nexport const SideMenuHeader = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n props.header?.actions?.map(({icon, ...rest}, index) =>\r\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\r\n {icon}\r\n </IconButton>\r\n )\r\n }\r\n {\r\n props.header?.label &&\r\n <LabelContainer>\r\n {props.header.label}\r\n </LabelContainer>\r\n }\r\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\r\n <SystemIcons.Close/>\r\n </IconButton>\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,MAAM,EAAEC,iBAAiB,EAAEC,iBAAiB,EAAEC,iBAAiB,EAAEC,kBAAkB,QAAO,WAAW;AAC7G,SAAQC,UAAU,QAAO,WAAW;AACpC,SAAQC,WAAW,QAAO,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,OAAO,GAAGZ,MAAM,CAACa,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,cAAc,GAAGd,MAAM,CAACa,GAAG;AACjC;AACA;AACA;AACA,MAAME,KAAK,IAAIX,iBAAiB,CAACC,kBAAkB,CAACW,IAAI,EAAEf,MAAM,CAACgB,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC,CAAC;AACtG;AACA;AACA;AACA,MAAMH,KAAK,IAAIZ,iBAAiB,CAACE,kBAAkB,CAACW,IAAI,EAAEf,MAAM,CAACgB,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC,CAAC;AACtG;AACA;AACA;AACA,MAAMH,KAAK,IAAIb,iBAAiB,CAACG,kBAAkB,CAACW,IAAI,EAAEf,MAAM,CAACgB,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC,CAAC;AACtG;AACA,CAAC;AAED,OAAO,MAAMC,cAAc,GAAIJ,KAAoB,IAAK;EAEtD,oBACEJ,KAAA,CAACC,OAAO;IAAAQ,QAAA,GAEJL,KAAK,CAACM,MAAM,EAAEC,OAAO,EAAEC,GAAG,CAAC,CAAAC,IAAA,EAAkBC,KAAK;MAAA,IAAtB;UAACC;QAAa,CAAC,GAAAF,IAAA;QAALG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;MAAA,oBACxCpB,IAAA,CAACH,UAAU,EAAAwB,aAAA,CAAAA,aAAA;QAAaC,OAAO,EAAE,WAAY;QAACC,KAAK,EAAE;MAAW,GAAKL,IAAI;QAAAP,QAAA,EACtEM;MAAI,IADUD,KAEL,CAAC;IAAA,CACf,CAAC,EAGDV,KAAK,CAACM,MAAM,EAAEY,KAAK,iBACnBxB,IAAA,CAACK,cAAc;MAAAM,QAAA,EACZL,KAAK,CAACM,MAAM,CAACY;IAAK,CACL,CAAC,eAEnBxB,IAAA,CAACH,UAAU;MAAC4B,MAAM,EAAEnB,KAAK,CAACoB,OAAQ;MAACJ,OAAO,EAAE,WAAY;MAACC,KAAK,EAAE,UAAW;MAACI,KAAK,EAAE;QAACC,UAAU,EAAE;MAAM,CAAE;MAAAjB,QAAA,eACtGX,IAAA,CAACF,WAAW,CAAC+B,KAAK,IAAC;IAAC,CACV,CAAC;EAAA,CACN,CAAC;AAEd,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"SideMenuHeader.js","names":["React","styled","COLORS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","IconButton","SystemIcons","jsx","_jsx","jsxs","_jsxs","Wrapper","div","LabelContainer","props","Bold","generateToken","componentType","defaultVariant","theme","SideMenuHeader","children","header","actions","map","_ref","index","icon","rest","_objectWithoutProperties","_excluded","_objectSpread","variant","shape","label","action","onClose","style","marginLeft","Close"],"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding: 0 8px;\r\n\r\n .small & {\r\n min-height: 48px;\r\n }\r\n\r\n .medium & {\r\n min-height: 56px;\r\n }\r\n\r\n .large & {\r\n min-height: 64px;\r\n }\r\n`;\r\n\r\nconst LabelContainer = styled.div`\r\n margin-left: 8px;\r\n\r\n .small & {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n\r\n .medium & {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n\r\n .large & {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n`;\r\n\r\nexport const SideMenuHeader = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n props.header?.actions?.map(({icon, ...rest}, index) =>\r\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\r\n {icon}\r\n </IconButton>\r\n )\r\n }\r\n {\r\n props.header?.label &&\r\n <LabelContainer>\r\n {props.header.label}\r\n </LabelContainer>\r\n }\r\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\r\n <SystemIcons.Close/>\r\n </IconButton>\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,MAAM,EAAEC,iBAAiB,EAAEC,iBAAiB,EAAEC,iBAAiB,EAAEC,kBAAkB,QAAO,WAAW;AAC7G,SAAQC,UAAU,QAAO,WAAW;AACpC,SAAQC,WAAW,QAAO,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,OAAO,GAAGZ,MAAM,CAACa,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,cAAc,GAAGd,MAAM,CAACa,GAAG;AACjC;AACA;AACA;AACA,MAAME,KAAK,IAAIX,iBAAiB,CAACC,kBAAkB,CAACW,IAAI,EAAEf,MAAM,CAACgB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAACC,cAAc,EAAC;AAAQ,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC,CAAC;AAC5I;AACA;AACA;AACA,MAAML,KAAK,IAAIZ,iBAAiB,CAACE,kBAAkB,CAACW,IAAI,EAAEf,MAAM,CAACgB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAACC,cAAc,EAAC;AAAQ,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC,CAAC;AAC5I;AACA;AACA;AACA,MAAML,KAAK,IAAIb,iBAAiB,CAACG,kBAAkB,CAACW,IAAI,EAAEf,MAAM,CAACgB,aAAa,CAAC;EAACC,aAAa,EAAC,MAAM;EAACC,cAAc,EAAC;AAAQ,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC,CAAC;AAC5I;AACA,CAAC;AAED,OAAO,MAAMC,cAAc,GAAIN,KAAoB,IAAK;EAEtD,oBACEJ,KAAA,CAACC,OAAO;IAAAU,QAAA,GAEJP,KAAK,CAACQ,MAAM,EAAEC,OAAO,EAAEC,GAAG,CAAC,CAAAC,IAAA,EAAkBC,KAAK;MAAA,IAAtB;UAACC;QAAa,CAAC,GAAAF,IAAA;QAALG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;MAAA,oBACxCtB,IAAA,CAACH,UAAU,EAAA0B,aAAA,CAAAA,aAAA;QAAaC,OAAO,EAAE,WAAY;QAACC,KAAK,EAAE;MAAW,GAAKL,IAAI;QAAAP,QAAA,EACtEM;MAAI,IADUD,KAEL,CAAC;IAAA,CACf,CAAC,EAGDZ,KAAK,CAACQ,MAAM,EAAEY,KAAK,iBACnB1B,IAAA,CAACK,cAAc;MAAAQ,QAAA,EACZP,KAAK,CAACQ,MAAM,CAACY;IAAK,CACL,CAAC,eAEnB1B,IAAA,CAACH,UAAU;MAAC8B,MAAM,EAAErB,KAAK,CAACsB,OAAQ;MAACJ,OAAO,EAAE,WAAY;MAACC,KAAK,EAAE,UAAW;MAACI,KAAK,EAAE;QAACC,UAAU,EAAE;MAAM,CAAE;MAAAjB,QAAA,eACtGb,IAAA,CAACF,WAAW,CAACiC,KAAK,IAAC;IAAC,CACV,CAAC;EAAA,CACN,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
+ });
@@ -20,7 +20,10 @@ const StyledSwitcherItem = _styledComponents.default.div`
20
20
  text-align: center;
21
21
  position: relative;
22
22
 
23
- ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.getColor('neutral_600', props.theme))}
23
+ ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.generateToken({
24
+ componentType: 'text',
25
+ defaultVariant: 'subtle'
26
+ }, props.theme))}
24
27
 
25
28
  text-decoration: none;
26
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"SwitcherMenuItem.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_common","_jsxRuntime","StyledSwitcherItem","styled","div","props","ComponentMStyling","ComponentTextStyle","Regular","COLORS","getColor","theme","Z_INDEXES","active","hover","focusStyles","A","a","SwitcherMenuItem","_ref","label","url","disabled","icon","as","testId","jsxs","onClick","window","location","href","onMouseDown","defaultOnMouseDownHandler","target","className","children","React","cloneElement","size","color","propTypes","_propTypes","default","string","isRequired","bool","any","_default","exports"],"sources":["../../src/Switcher/SwitcherMenuItem.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {Z_INDEXES, ComponentMStyling, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nconst StyledSwitcherItem = styled.div`\r\n padding: 16px 25px;\r\n margin: 0 2px;\r\n\r\n display: flex;\r\n align-items: center;\r\n text-align: center;\r\n position: relative;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n\r\n text-decoration: none;\r\n\r\n svg {\r\n margin-right: 16px;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n left: 4px;\r\n top: 4px;\r\n bottom: 4px;\r\n width: 4px;\r\n background-color: transparent;\r\n border-radius: 2px;\r\n }\r\n\r\n &.active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n font-weight: bold;\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &:hover:not(.disabled) {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &:active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &:focus:not(.disabled) {\r\n ${focusStyles};\r\n \r\n outline-offset: -2px;\r\n }\r\n`;\r\n\r\nconst A = styled.a``;\r\n\r\nexport interface SwitcherNavItem {\r\n label: string;\r\n url: string;\r\n disabled?: boolean;\r\n icon?: any;\r\n as?: any;\r\n testId?: string;\r\n}\r\n\r\nconst SwitcherMenuItem = ({label, url, disabled, icon, as = A, testId}: SwitcherNavItem) => (\r\n <StyledSwitcherItem\r\n onClick={() => (window.location.href = url || '')}\r\n as={as}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n href={url || ''}\r\n target=\"_parent\"\r\n key={label}\r\n className={disabled ? 'disabled' : ''}\r\n data-testid={testId}>\r\n {!!icon && React.cloneElement(icon, {size: '24px', color: '#666666'})}\r\n {label}\r\n </StyledSwitcherItem>\r\n);\r\n\r\nexport default SwitcherMenuItem;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SwitcherMenuItem.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_common","_jsxRuntime","StyledSwitcherItem","styled","div","props","ComponentMStyling","ComponentTextStyle","Regular","COLORS","generateToken","componentType","defaultVariant","theme","Z_INDEXES","active","getColor","hover","focusStyles","A","a","SwitcherMenuItem","_ref","label","url","disabled","icon","as","testId","jsxs","onClick","window","location","href","onMouseDown","defaultOnMouseDownHandler","target","className","children","React","cloneElement","size","color","propTypes","_propTypes","default","string","isRequired","bool","any","_default","exports"],"sources":["../../src/Switcher/SwitcherMenuItem.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {Z_INDEXES, ComponentMStyling, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nconst StyledSwitcherItem = styled.div`\r\n padding: 16px 25px;\r\n margin: 0 2px;\r\n\r\n display: flex;\r\n align-items: center;\r\n text-align: center;\r\n position: relative;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n\r\n text-decoration: none;\r\n\r\n svg {\r\n margin-right: 16px;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n left: 4px;\r\n top: 4px;\r\n bottom: 4px;\r\n width: 4px;\r\n background-color: transparent;\r\n border-radius: 2px;\r\n }\r\n\r\n &.active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n font-weight: bold;\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &:hover:not(.disabled) {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &:active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &:focus:not(.disabled) {\r\n ${focusStyles};\r\n \r\n outline-offset: -2px;\r\n }\r\n`;\r\n\r\nconst A = styled.a``;\r\n\r\nexport interface SwitcherNavItem {\r\n label: string;\r\n url: string;\r\n disabled?: boolean;\r\n icon?: any;\r\n as?: any;\r\n testId?: string;\r\n}\r\n\r\nconst SwitcherMenuItem = ({label, url, disabled, icon, as = A, testId}: SwitcherNavItem) => (\r\n <StyledSwitcherItem\r\n onClick={() => (window.location.href = url || '')}\r\n as={as}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n href={url || ''}\r\n target=\"_parent\"\r\n key={label}\r\n className={disabled ? 'disabled' : ''}\r\n data-testid={testId}>\r\n {!!icon && React.cloneElement(icon, {size: '24px', color: '#666666'})}\r\n {label}\r\n </StyledSwitcherItem>\r\n);\r\n\r\nexport default SwitcherMenuItem;\r\n"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,10 @@ const StyledSwitcherItem = styled.div`
13
13
  text-align: center;
14
14
  position: relative;
15
15
 
16
- ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}
16
+ ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({
17
+ componentType: 'text',
18
+ defaultVariant: 'subtle'
19
+ }, props.theme))}
17
20
 
18
21
  text-decoration: none;
19
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"SwitcherMenuItem.js","names":["React","styled","Z_INDEXES","ComponentMStyling","COLORS","ComponentTextStyle","focusStyles","defaultOnMouseDownHandler","jsxs","_jsxs","StyledSwitcherItem","div","props","Regular","getColor","theme","active","hover","A","a","SwitcherMenuItem","_ref","label","url","disabled","icon","as","testId","onClick","window","location","href","onMouseDown","target","className","children","cloneElement","size","color","propTypes","_pt","string","isRequired","bool","any"],"sources":["../../src/Switcher/SwitcherMenuItem.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {Z_INDEXES, ComponentMStyling, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nconst StyledSwitcherItem = styled.div`\r\n padding: 16px 25px;\r\n margin: 0 2px;\r\n\r\n display: flex;\r\n align-items: center;\r\n text-align: center;\r\n position: relative;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('neutral_600', props.theme))}\r\n\r\n text-decoration: none;\r\n\r\n svg {\r\n margin-right: 16px;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n left: 4px;\r\n top: 4px;\r\n bottom: 4px;\r\n width: 4px;\r\n background-color: transparent;\r\n border-radius: 2px;\r\n }\r\n\r\n &.active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n font-weight: bold;\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &:hover:not(.disabled) {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &:active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &:focus:not(.disabled) {\r\n ${focusStyles};\r\n \r\n outline-offset: -2px;\r\n }\r\n`;\r\n\r\nconst A = styled.a``;\r\n\r\nexport interface SwitcherNavItem {\r\n label: string;\r\n url: string;\r\n disabled?: boolean;\r\n icon?: any;\r\n as?: any;\r\n testId?: string;\r\n}\r\n\r\nconst SwitcherMenuItem = ({label, url, disabled, icon, as = A, testId}: SwitcherNavItem) => (\r\n <StyledSwitcherItem\r\n onClick={() => (window.location.href = url || '')}\r\n as={as}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n href={url || ''}\r\n target=\"_parent\"\r\n key={label}\r\n className={disabled ? 'disabled' : ''}\r\n data-testid={testId}>\r\n {!!icon && React.cloneElement(icon, {size: '24px', color: '#666666'})}\r\n {label}\r\n </StyledSwitcherItem>\r\n);\r\n\r\nexport default SwitcherMenuItem;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SwitcherMenuItem.js","names":["React","styled","Z_INDEXES","ComponentMStyling","COLORS","ComponentTextStyle","focusStyles","defaultOnMouseDownHandler","jsxs","_jsxs","StyledSwitcherItem","div","props","Regular","generateToken","componentType","defaultVariant","theme","active","getColor","hover","A","a","SwitcherMenuItem","_ref","label","url","disabled","icon","as","testId","onClick","window","location","href","onMouseDown","target","className","children","cloneElement","size","color","propTypes","_pt","string","isRequired","bool","any"],"sources":["../../src/Switcher/SwitcherMenuItem.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {Z_INDEXES, ComponentMStyling, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nconst StyledSwitcherItem = styled.div`\r\n padding: 16px 25px;\r\n margin: 0 2px;\r\n\r\n display: flex;\r\n align-items: center;\r\n text-align: center;\r\n position: relative;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n\r\n text-decoration: none;\r\n\r\n svg {\r\n margin-right: 16px;\r\n }\r\n\r\n &:after {\r\n content: '';\r\n display: block;\r\n position: absolute;\r\n left: 4px;\r\n top: 4px;\r\n bottom: 4px;\r\n width: 4px;\r\n background-color: transparent;\r\n border-radius: 2px;\r\n }\r\n\r\n &.active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n font-weight: bold;\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &:hover:not(.disabled) {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &:active:not(.disabled) {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &:after {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n svg path {\r\n fill: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &:focus:not(.disabled) {\r\n ${focusStyles};\r\n \r\n outline-offset: -2px;\r\n }\r\n`;\r\n\r\nconst A = styled.a``;\r\n\r\nexport interface SwitcherNavItem {\r\n label: string;\r\n url: string;\r\n disabled?: boolean;\r\n icon?: any;\r\n as?: any;\r\n testId?: string;\r\n}\r\n\r\nconst SwitcherMenuItem = ({label, url, disabled, icon, as = A, testId}: SwitcherNavItem) => (\r\n <StyledSwitcherItem\r\n onClick={() => (window.location.href = url || '')}\r\n as={as}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n href={url || ''}\r\n target=\"_parent\"\r\n key={label}\r\n className={disabled ? 'disabled' : ''}\r\n data-testid={testId}>\r\n {!!icon && React.cloneElement(icon, {size: '24px', color: '#666666'})}\r\n {label}\r\n </StyledSwitcherItem>\r\n);\r\n\r\nexport default SwitcherMenuItem;\r\n"],"mappings":"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","ignoreList":[]}