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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +40 -11
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +40 -11
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  6. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  7. package/dist/Accordion/styles.cjs +51 -13
  8. package/dist/Accordion/styles.cjs.map +1 -1
  9. package/dist/Accordion/styles.js +51 -13
  10. package/dist/Accordion/styles.js.map +1 -1
  11. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  12. package/dist/Banners/Banner.cjs +38 -34
  13. package/dist/Banners/Banner.cjs.map +1 -1
  14. package/dist/Banners/Banner.d.ts +2 -3
  15. package/dist/Banners/Banner.js +38 -34
  16. package/dist/Banners/Banner.js.map +1 -1
  17. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  18. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  19. package/dist/Banners/styles.cjs +8 -16
  20. package/dist/Banners/styles.cjs.map +1 -1
  21. package/dist/Banners/styles.js +8 -16
  22. package/dist/Banners/styles.js.map +1 -1
  23. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  24. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  25. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  26. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  27. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  28. package/dist/Breadcrumb/styles.cjs +15 -4
  29. package/dist/Breadcrumb/styles.cjs.map +1 -1
  30. package/dist/Breadcrumb/styles.js +15 -4
  31. package/dist/Breadcrumb/styles.js.map +1 -1
  32. package/dist/Button/BackButton.cjs +27 -6
  33. package/dist/Button/BackButton.cjs.map +1 -1
  34. package/dist/Button/BackButton.js +27 -6
  35. package/dist/Button/BackButton.js.map +1 -1
  36. package/dist/Button/Button.cjs +179 -47
  37. package/dist/Button/Button.cjs.map +1 -1
  38. package/dist/Button/Button.d.ts +2 -0
  39. package/dist/Button/Button.js +179 -47
  40. package/dist/Button/Button.js.map +1 -1
  41. package/dist/Button/Iconbutton.cjs +83 -21
  42. package/dist/Button/Iconbutton.cjs.map +1 -1
  43. package/dist/Button/Iconbutton.js +83 -21
  44. package/dist/Button/Iconbutton.js.map +1 -1
  45. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  46. package/dist/Button/__tests__/Button.test.tsx +45 -0
  47. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  48. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  49. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  50. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  51. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  52. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  53. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  54. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  55. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  56. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  57. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  58. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  59. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  60. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  61. package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
  62. package/dist/Card/VerticalCard/Card.cjs +20 -5
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.js +20 -5
  65. package/dist/Card/VerticalCard/Card.js.map +1 -1
  66. package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  68. package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
  69. package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
  70. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  72. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  73. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  74. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  75. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  76. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  77. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  78. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  79. package/dist/Card/__tests__/Card.test.tsx +146 -0
  80. package/dist/Chips/ChipStyles.cjs +4 -1
  81. package/dist/Chips/ChipStyles.cjs.map +1 -1
  82. package/dist/Chips/ChipStyles.js +4 -1
  83. package/dist/Chips/ChipStyles.js.map +1 -1
  84. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  85. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  86. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  87. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  88. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  89. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  90. package/dist/ChipsInput/ChipInputField.js +16 -4
  91. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  92. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  93. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  94. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  95. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  96. package/dist/Dropdown/BasicDropdown.js +12 -3
  97. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  98. package/dist/Dropdown/CommonStyling.cjs +172 -42
  99. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  100. package/dist/Dropdown/CommonStyling.js +172 -42
  101. package/dist/Dropdown/CommonStyling.js.map +1 -1
  102. package/dist/Dropdown/DropdownContent.cjs +36 -10
  103. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  104. package/dist/Dropdown/DropdownContent.js +36 -10
  105. package/dist/Dropdown/DropdownContent.js.map +1 -1
  106. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  107. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  108. package/dist/Dropdown/DropdownFilter.js +12 -3
  109. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  110. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  111. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  112. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  113. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  114. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  115. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  116. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  117. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  118. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  119. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  120. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  121. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  122. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  123. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  124. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  125. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  126. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  127. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  128. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  129. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  130. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  131. package/dist/HyperLink/styling.cjs +38 -8
  132. package/dist/HyperLink/styling.cjs.map +1 -1
  133. package/dist/HyperLink/styling.js +38 -8
  134. package/dist/HyperLink/styling.js.map +1 -1
  135. package/dist/InputFields/Checkbox.cjs +54 -14
  136. package/dist/InputFields/Checkbox.cjs.map +1 -1
  137. package/dist/InputFields/Checkbox.js +54 -14
  138. package/dist/InputFields/Checkbox.js.map +1 -1
  139. package/dist/InputFields/DatepickerField.cjs +149 -43
  140. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  141. package/dist/InputFields/DatepickerField.d.ts +1 -1
  142. package/dist/InputFields/DatepickerField.js +150 -44
  143. package/dist/InputFields/DatepickerField.js.map +1 -1
  144. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  145. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  146. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  147. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  148. package/dist/InputFields/Label.cjs +38 -11
  149. package/dist/InputFields/Label.cjs.map +1 -1
  150. package/dist/InputFields/Label.js +38 -11
  151. package/dist/InputFields/Label.js.map +1 -1
  152. package/dist/InputFields/NumberField.cjs +66 -16
  153. package/dist/InputFields/NumberField.cjs.map +1 -1
  154. package/dist/InputFields/NumberField.js +66 -16
  155. package/dist/InputFields/NumberField.js.map +1 -1
  156. package/dist/InputFields/PasswordField.cjs +4 -1
  157. package/dist/InputFields/PasswordField.cjs.map +1 -1
  158. package/dist/InputFields/PasswordField.d.ts +1 -1
  159. package/dist/InputFields/PasswordField.js +4 -1
  160. package/dist/InputFields/PasswordField.js.map +1 -1
  161. package/dist/InputFields/QuickSearch.cjs +30 -6
  162. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  163. package/dist/InputFields/QuickSearch.js +30 -6
  164. package/dist/InputFields/QuickSearch.js.map +1 -1
  165. package/dist/InputFields/RadioButton.cjs +63 -15
  166. package/dist/InputFields/RadioButton.cjs.map +1 -1
  167. package/dist/InputFields/RadioButton.js +63 -15
  168. package/dist/InputFields/RadioButton.js.map +1 -1
  169. package/dist/InputFields/RichTextField.cjs +60 -15
  170. package/dist/InputFields/RichTextField.cjs.map +1 -1
  171. package/dist/InputFields/RichTextField.js +60 -15
  172. package/dist/InputFields/RichTextField.js.map +1 -1
  173. package/dist/InputFields/SearchBar.cjs +4 -1
  174. package/dist/InputFields/SearchBar.cjs.map +1 -1
  175. package/dist/InputFields/SearchBar.js +4 -1
  176. package/dist/InputFields/SearchBar.js.map +1 -1
  177. package/dist/InputFields/TextField.cjs +9 -3
  178. package/dist/InputFields/TextField.cjs.map +1 -1
  179. package/dist/InputFields/TextField.d.ts +1 -1
  180. package/dist/InputFields/TextField.js +9 -3
  181. package/dist/InputFields/TextField.js.map +1 -1
  182. package/dist/InputFields/Textarea.cjs +68 -17
  183. package/dist/InputFields/Textarea.cjs.map +1 -1
  184. package/dist/InputFields/Textarea.js +68 -17
  185. package/dist/InputFields/Textarea.js.map +1 -1
  186. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  187. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  188. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  189. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  190. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  191. package/dist/InputFields/components/SearchBarInput.js +28 -7
  192. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  193. package/dist/InputFields/components/SearchField.cjs +60 -15
  194. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  195. package/dist/InputFields/components/SearchField.js +60 -15
  196. package/dist/InputFields/components/SearchField.js.map +1 -1
  197. package/dist/InputFields/styling.cjs +95 -39
  198. package/dist/InputFields/styling.cjs.map +1 -1
  199. package/dist/InputFields/styling.d.ts +1 -2
  200. package/dist/InputFields/styling.js +95 -39
  201. package/dist/InputFields/styling.js.map +1 -1
  202. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  203. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  204. package/dist/LinearProgress/LinearProgress.js +161 -53
  205. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  206. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  207. package/dist/List/ListRow.cjs +36 -9
  208. package/dist/List/ListRow.cjs.map +1 -1
  209. package/dist/List/ListRow.js +36 -9
  210. package/dist/List/ListRow.js.map +1 -1
  211. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  212. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  213. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  214. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  215. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  216. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  217. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  218. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  219. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  220. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  221. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  222. package/dist/MenuItem/MenuItem.cjs +101 -26
  223. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  224. package/dist/MenuItem/MenuItem.js +101 -26
  225. package/dist/MenuItem/MenuItem.js.map +1 -1
  226. package/dist/Modals/Modal.cjs +4 -1
  227. package/dist/Modals/Modal.cjs.map +1 -1
  228. package/dist/Modals/Modal.js +4 -1
  229. package/dist/Modals/Modal.js.map +1 -1
  230. package/dist/Modals/ModalContent.cjs +24 -6
  231. package/dist/Modals/ModalContent.cjs.map +1 -1
  232. package/dist/Modals/ModalContent.js +24 -6
  233. package/dist/Modals/ModalContent.js.map +1 -1
  234. package/dist/Modals/ModalDialog.cjs +12 -3
  235. package/dist/Modals/ModalDialog.cjs.map +1 -1
  236. package/dist/Modals/ModalDialog.js +12 -3
  237. package/dist/Modals/ModalDialog.js.map +1 -1
  238. package/dist/Modals/ModalNote.cjs +16 -4
  239. package/dist/Modals/ModalNote.cjs.map +1 -1
  240. package/dist/Modals/ModalNote.js +16 -4
  241. package/dist/Modals/ModalNote.js.map +1 -1
  242. package/dist/Modals/ModalStyles.cjs +44 -11
  243. package/dist/Modals/ModalStyles.cjs.map +1 -1
  244. package/dist/Modals/ModalStyles.js +44 -11
  245. package/dist/Modals/ModalStyles.js.map +1 -1
  246. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  247. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  248. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  249. package/dist/NavItem/NavItem.cjs +4 -1
  250. package/dist/NavItem/NavItem.cjs.map +1 -1
  251. package/dist/NavItem/NavItem.js +4 -1
  252. package/dist/NavItem/NavItem.js.map +1 -1
  253. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  254. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  255. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  256. package/dist/NotificationDot/NotificationDot.js +17 -2
  257. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  258. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  259. package/dist/Paginator/Paginator.cjs +76 -29
  260. package/dist/Paginator/Paginator.cjs.map +1 -1
  261. package/dist/Paginator/Paginator.js +76 -29
  262. package/dist/Paginator/Paginator.js.map +1 -1
  263. package/dist/Paginator/__tests__/Paginator.test.tsx +39 -0
  264. package/dist/Panel/Panel.cjs +4 -1
  265. package/dist/Panel/Panel.cjs.map +1 -1
  266. package/dist/Panel/Panel.js +4 -1
  267. package/dist/Panel/Panel.js.map +1 -1
  268. package/dist/Popover/Popover.cjs +22 -3
  269. package/dist/Popover/Popover.cjs.map +1 -1
  270. package/dist/Popover/Popover.js +22 -3
  271. package/dist/Popover/Popover.js.map +1 -1
  272. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  273. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  274. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  275. package/dist/ProfileButton/ProfileButton.js +9 -2
  276. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  277. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  278. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  279. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  280. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  281. package/dist/SegmentControl/SegmentControl.js +46 -11
  282. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  283. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  284. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  285. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  286. package/dist/SideMenu/SideMenuHeader.js +12 -3
  287. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  288. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  289. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  290. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  291. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  292. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  293. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  294. package/dist/Table/TableFooter.cjs +8 -2
  295. package/dist/Table/TableFooter.cjs.map +1 -1
  296. package/dist/Table/TableFooter.js +8 -2
  297. package/dist/Table/TableFooter.js.map +1 -1
  298. package/dist/Table/TableStyles.cjs +132 -33
  299. package/dist/Table/TableStyles.cjs.map +1 -1
  300. package/dist/Table/TableStyles.js +132 -33
  301. package/dist/Table/TableStyles.js.map +1 -1
  302. package/dist/Table/__tests__/Table.test.tsx +499 -0
  303. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  304. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  305. package/dist/Tabs/HorizontalTabs.js +68 -18
  306. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  307. package/dist/Tabs/TabLink.cjs +4 -1
  308. package/dist/Tabs/TabLink.cjs.map +1 -1
  309. package/dist/Tabs/TabLink.js +4 -1
  310. package/dist/Tabs/TabLink.js.map +1 -1
  311. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  312. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  313. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  314. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  315. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  316. package/dist/Tag/Tag.cjs +2 -2
  317. package/dist/Tag/Tag.cjs.map +1 -1
  318. package/dist/Tag/Tag.js +2 -2
  319. package/dist/Tag/Tag.js.map +1 -1
  320. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  321. package/dist/Tile/Tile.cjs +8 -2
  322. package/dist/Tile/Tile.cjs.map +1 -1
  323. package/dist/Tile/Tile.js +8 -2
  324. package/dist/Tile/Tile.js.map +1 -1
  325. package/dist/Tile/TileCommonItems.cjs +8 -2
  326. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  327. package/dist/Tile/TileCommonItems.js +8 -2
  328. package/dist/Tile/TileCommonItems.js.map +1 -1
  329. package/dist/Tile/TileFooter.cjs +4 -1
  330. package/dist/Tile/TileFooter.cjs.map +1 -1
  331. package/dist/Tile/TileFooter.js +4 -1
  332. package/dist/Tile/TileFooter.js.map +1 -1
  333. package/dist/Tile/TileHeader.cjs +12 -3
  334. package/dist/Tile/TileHeader.cjs.map +1 -1
  335. package/dist/Tile/TileHeader.js +12 -3
  336. package/dist/Tile/TileHeader.js.map +1 -1
  337. package/dist/Toasters/Toast.cjs +62 -13
  338. package/dist/Toasters/Toast.cjs.map +1 -1
  339. package/dist/Toasters/Toast.js +62 -13
  340. package/dist/Toasters/Toast.js.map +1 -1
  341. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  342. package/dist/Toggles/ToggleButton.cjs +9 -3
  343. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  344. package/dist/Toggles/ToggleButton.d.ts +1 -1
  345. package/dist/Toggles/ToggleButton.js +9 -3
  346. package/dist/Toggles/ToggleButton.js.map +1 -1
  347. package/dist/Toggles/TogglerStyles.cjs +22 -8
  348. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  349. package/dist/Toggles/TogglerStyles.js +22 -8
  350. package/dist/Toggles/TogglerStyles.js.map +1 -1
  351. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  352. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  353. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  354. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  355. package/dist/Tooltips/TooltipStyles.js +28 -6
  356. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  357. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  358. package/dist/common/InputStyling.cjs +30 -7
  359. package/dist/common/InputStyling.cjs.map +1 -1
  360. package/dist/common/InputStyling.js +30 -7
  361. package/dist/common/InputStyling.js.map +1 -1
  362. package/dist/common/Link.cjs +45 -0
  363. package/dist/common/Link.cjs.map +1 -0
  364. package/dist/common/Link.d.ts +9 -0
  365. package/dist/common/Link.js +37 -0
  366. package/dist/common/Link.js.map +1 -0
  367. package/dist/common/NavigationHelper.cjs +30 -0
  368. package/dist/common/NavigationHelper.cjs.map +1 -0
  369. package/dist/common/NavigationHelper.d.ts +4 -0
  370. package/dist/common/NavigationHelper.js +23 -0
  371. package/dist/common/NavigationHelper.js.map +1 -0
  372. package/dist/custom.d.ts +2 -0
  373. package/dist/styles/colors.cjs +439 -84
  374. package/dist/styles/colors.cjs.map +1 -1
  375. package/dist/styles/colors.d.ts +200 -11
  376. package/dist/styles/colors.js +439 -84
  377. package/dist/styles/colors.js.map +1 -1
  378. package/dist/styles/global.cjs +19 -2
  379. package/dist/styles/global.cjs.map +1 -1
  380. package/dist/styles/global.d.ts +3 -2
  381. package/dist/styles/global.js +18 -3
  382. package/dist/styles/global.js.map +1 -1
  383. package/dist/styles/index.cjs +21 -9
  384. package/dist/styles/index.cjs.map +1 -1
  385. package/dist/styles/index.d.ts +2 -2
  386. package/dist/styles/index.js +18 -6
  387. package/dist/styles/index.js.map +1 -1
  388. package/dist/styles/react-datepicker.css +766 -0
  389. package/dist/utils/color-tokens.cjs +91 -0
  390. package/dist/utils/color-tokens.cjs.map +1 -0
  391. package/dist/utils/color-tokens.d.ts +19 -0
  392. package/dist/utils/color-tokens.js +82 -0
  393. package/dist/utils/color-tokens.js.map +1 -0
  394. package/package.json +144 -141
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTabs.cjs","names":["React","_interopRequireWildcard","require","_types","_styles","_styledComponents","_interopRequireDefault","_common","_jsxRuntime","_excluded","_excluded2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","HorizontalTabContainer","styled","div","focusStyles","TabSideFill","props","COLORS","getColor","theme","TabButton","button","Z_INDEXES","active","Size","XSmall","ComponentXSStyling","ComponentTextStyle","Regular","Small","ComponentSStyling","Medium","ComponentMStyling","Large","ComponentLStyling","HorizontalTabs","_ref","size","tabs","sideFill","fullWidth","onTabChange","variant","rest","_objectWithoutProperties2","doTabChange","to","document","activeElement","HTMLElement","blur","focused","setFocused","useState","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","changeTabInternal","tab","tabListKeyDown","key","preventDefault","j","nextIndex","jsxs","tabIndex","onBlur","onFocus","onKeyDown","role","children","jsx","className","map","index","value","onMouseDown","defaultOnMouseDownHandler","style","width","onClick","propTypes","_propTypes","arrayOf","shape","oneOfType","string","node","isRequired","bool","func","oneOf","_default","exports"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\nimport {Size} from '../types';\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport Colors from \"../styles/colors\";\r\n\r\n// Add custom styles\r\nconst HorizontalTabContainer = styled.div`\r\n width: 100%;\r\n display: flex;\r\n position: relative;\r\n flex-direction: row;\r\n\r\n &:focus {\r\n ${focusStyles};\r\n }\r\n\r\n`;\r\n\r\nconst TabSideFill = styled.div`\r\n position: absolute;\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n bottom: 0;\r\n width: 100%;\r\n\r\n &.fill {\r\n background: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n`;\r\n\r\nconst TabButton = styled.button`\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n border: none;\r\n background-color: transparent;\r\n position: relative;\r\n cursor: pointer;\r\n display: flex;\r\n box-sizing: border-box;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 0;\r\n\r\n &[aria-selected=\"true\"] {\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.floating {\r\n border-radius: 2px;\r\n }\r\n \r\n &.selected {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n\r\n &.selected.floating {\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n }\r\n\r\n &.default {\r\n border-left: 1px solid transparent;\r\n border-right: 1px solid transparent;\r\n }\r\n \r\n &.default.selected {\r\n border-left: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n border-right: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &.selected:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: -1px;\r\n right: -1px;\r\n height: 2px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n &.selected.floating:after {\r\n top: unset;\r\n bottom: 1px;\r\n left: 1px;\r\n right: 1px;\r\n height: 2px;\r\n border-radius: 2px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n\r\n &:hover, &:hover.selected {\r\n background: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:hover:after {\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:active, &:active.selected {\r\n background: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n outline: none;\r\n }\r\n\r\n &:active:after {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &:disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n background: transparent;\r\n cursor: not-allowed;\r\n }\r\n\r\n // Sizes\r\n &.${Size.XSmall} {\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 32px;\r\n margin-top: 16px;\r\n }\r\n\r\n &.${Size.Small} {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 40px;\r\n margin-top: 8px;\r\n }\r\n\r\n &.${Size.Medium} {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n height: 48px;\r\n min-width: 96px;\r\n padding: 0 16px;\r\n }\r\n\r\n &.${Size.Large} {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n height: 56px;\r\n min-width: 144px;\r\n padding: 0 16px;\r\n }\r\n`;\r\n\r\n// Add component-specific types\r\nexport interface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** Required. Size of the Tabs */\r\n size: Size.XSmall | Size.Small | Size.Medium | Size.Large;\r\n /** Required: Array of Tabs to show */\r\n tabs: HorizontalTab[];\r\n /** Optional. For 'default' variant of tabs if this flag is set, then white background will be added to the tabs */\r\n sideFill?: boolean;\r\n /** Optional. If set, then whole width of the parent container will be equally split between Tabs, otherwise each tab will take width \r\n * required for its content.\r\n */\r\n fullWidth?: boolean;\r\n /** Required. Handler to be called when user tries to change the tab */\r\n onTabChange: (to: string) => void;\r\n /** Optional. Display variant of the tabs. If not set, then 'default' is used */\r\n variant?: 'default' | 'floating';\r\n}\r\n\r\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\r\n /** Required. Value of the tab */\r\n value: string | React.ReactNode;\r\n /** Required. State of the tab, selected or not. Use it to set initial state of the tabs. */\r\n selected: boolean;\r\n /** Required. URL related with the Tab */\r\n to: string;\r\n}\r\n\r\nconst HorizontalTabs = ({size, tabs, sideFill, fullWidth, onTabChange, variant, ...rest}: HorizontalTabProps) => {\r\n /**\r\n * Informs parent component of tab change and clears focus.\r\n * @param to - A link to which user should be navigated.\r\n */\r\n const doTabChange = (to: string): void => {\r\n // Let's inform parent component\r\n onTabChange(to);\r\n\r\n // Let's clear focus\r\n if (document.activeElement instanceof HTMLElement) {\r\n document.activeElement!.blur();\r\n }\r\n };\r\n\r\n const [focused, setFocused] = React.useState<boolean>(false);\r\n const [currentTab, setCurrentTab] = React.useState<string>();\r\n\r\n React.useEffect(() => {\r\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\r\n if (selectedTab)\r\n setCurrentTab(selectedTab.to);\r\n }, [tabs]);\r\n\r\n const tabListBlur = () => setFocused(false);\r\n\r\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\r\n\r\n const changeTabInternal = (tab: HorizontalTab) => {\r\n tab.selected = true;\r\n tabs.forEach(x => {\r\n if (x.to != tab.to)\r\n x.selected = false;\r\n });\r\n setCurrentTab(tab.to);\r\n onTabChange(tab.to);\r\n }\r\n\r\n const tabListKeyDown = (e: React.KeyboardEvent) => {\r\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\r\n e.preventDefault();\r\n if (e.key === 'ArrowRight') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = j + i;\r\n if (nextIndex > tabs.length - 1)\r\n nextIndex = nextIndex - tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (e.key === 'ArrowLeft') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = i - j;\r\n if (nextIndex < 0)\r\n nextIndex = nextIndex + tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown}\r\n role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\r\n {\r\n variant !== 'floating' && <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`}/>\r\n }\r\n {tabs.map((tab: HorizontalTab, index: number) => {\r\n const {value, selected, to, disabled, className, ...rest} = tab;\r\n return (\r\n <TabButton\r\n role=\"tab\"\r\n data-testid={`tab_${value}`}\r\n key={`${tab}_${index}`}\r\n aria-selected={selected}\r\n aria-expanded={selected}\r\n tabIndex={-1}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\r\n disabled={disabled}\r\n className={`${className || ''} ${size} ${variant || 'default'} ${tab.selected ? 'selected' : ''}`}\r\n onClick={() => !disabled && changeTabInternal(tab)}\r\n {...rest}>\r\n {tab.value}\r\n </TabButton>\r\n );\r\n })}\r\n </HorizontalTabContainer>\r\n );\r\n};\r\n\r\nexport default HorizontalTabs;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HorizontalTabs.cjs","names":["React","_interopRequireWildcard","require","_types","_styles","_styledComponents","_interopRequireDefault","_common","_jsxRuntime","_excluded","_excluded2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","HorizontalTabContainer","styled","div","focusStyles","TabSideFill","props","COLORS","generateToken","componentType","defaultVariant","theme","TabButton","button","Z_INDEXES","active","state","Size","XSmall","ComponentXSStyling","ComponentTextStyle","Regular","Small","ComponentSStyling","Medium","ComponentMStyling","Large","ComponentLStyling","HorizontalTabs","_ref","size","tabs","sideFill","fullWidth","onTabChange","variant","rest","_objectWithoutProperties2","doTabChange","to","document","activeElement","HTMLElement","blur","focused","setFocused","useState","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","changeTabInternal","tab","tabListKeyDown","key","preventDefault","j","nextIndex","jsxs","tabIndex","onBlur","onFocus","onKeyDown","role","children","jsx","className","map","index","value","onMouseDown","defaultOnMouseDownHandler","style","width","onClick","propTypes","_propTypes","arrayOf","shape","oneOfType","string","node","isRequired","bool","func","oneOf","_default","exports"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\nimport {Size} from '../types';\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport Colors from \"../styles/colors\";\r\n\r\n// Add custom styles\r\nconst HorizontalTabContainer = styled.div`\r\n width: 100%;\r\n display: flex;\r\n position: relative;\r\n flex-direction: row;\r\n\r\n &:focus {\r\n ${focusStyles};\r\n }\r\n\r\n`;\r\n\r\nconst TabSideFill = styled.div`\r\n position: absolute;\r\n border-bottom: 1px solid ${props => COLORS.generateToken({ componentType:'border', defaultVariant:'subtle' }, props.theme)};\r\n bottom: 0;\r\n width: 100%;\r\n\r\n &.fill {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant:'default' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst TabButton = styled.button`\r\n color: ${props => COLORS.generateToken({componentType: 'text', defaultVariant: 'subtle'}, props.theme)};\r\n border: none;\r\n background-color: transparent;\r\n position: relative;\r\n cursor: pointer;\r\n display: flex;\r\n box-sizing: border-box;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 0;\r\n\r\n &[aria-selected=\"true\"] {\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.floating {\r\n border-radius: 2px;\r\n }\r\n \r\n &.selected {\r\n background-color: ${props => COLORS.generateToken({componentType: 'bg-surface', defaultVariant: 'default'}, props.theme)};\r\n color: ${props => COLORS.generateToken({componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n }\r\n\r\n &.selected.floating {\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant: 'selected'}, props.theme)};\r\n }\r\n\r\n &.default {\r\n border-left: 1px solid transparent;\r\n border-right: 1px solid transparent;\r\n }\r\n \r\n &.default.selected {\r\n border-left: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n border-right: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &.selected:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: -1px;\r\n right: -1px;\r\n height: 2px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'selected' }, props.theme)};\r\n }\r\n\r\n &.selected.floating:after {\r\n top: unset;\r\n bottom: 1px;\r\n left: 1px;\r\n right: 1px;\r\n height: 2px;\r\n border-radius: 2px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'selected' }, props.theme)};\r\n }\r\n\r\n &:hover, &:hover.selected {\r\n background: ${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 &:hover:after {\r\n background-color: ${props => COLORS.generateToken({ componentType:'border', state:'hover' }, props.theme)};\r\n }\r\n\r\n &:active, &:active.selected {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n outline: none;\r\n }\r\n\r\n &:active:after {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'active' }, props.theme)};\r\n }\r\n\r\n &:disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n background: transparent;\r\n cursor: not-allowed;\r\n }\r\n\r\n // Sizes\r\n &.${Size.XSmall} {\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 32px;\r\n margin-top: 16px;\r\n }\r\n\r\n &.${Size.Small} {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 40px;\r\n margin-top: 8px;\r\n }\r\n\r\n &.${Size.Medium} {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n height: 48px;\r\n min-width: 96px;\r\n padding: 0 16px;\r\n }\r\n\r\n &.${Size.Large} {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n height: 56px;\r\n min-width: 144px;\r\n padding: 0 16px;\r\n }\r\n`;\r\n\r\n// Add component-specific types\r\nexport interface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** Required. Size of the Tabs */\r\n size: Size.XSmall | Size.Small | Size.Medium | Size.Large;\r\n /** Required: Array of Tabs to show */\r\n tabs: HorizontalTab[];\r\n /** Optional. For 'default' variant of tabs if this flag is set, then white background will be added to the tabs */\r\n sideFill?: boolean;\r\n /** Optional. If set, then whole width of the parent container will be equally split between Tabs, otherwise each tab will take width \r\n * required for its content.\r\n */\r\n fullWidth?: boolean;\r\n /** Required. Handler to be called when user tries to change the tab */\r\n onTabChange: (to: string) => void;\r\n /** Optional. Display variant of the tabs. If not set, then 'default' is used */\r\n variant?: 'default' | 'floating';\r\n}\r\n\r\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\r\n /** Required. Value of the tab */\r\n value: string | React.ReactNode;\r\n /** Required. State of the tab, selected or not. Use it to set initial state of the tabs. */\r\n selected: boolean;\r\n /** Required. URL related with the Tab */\r\n to: string;\r\n}\r\n\r\nconst HorizontalTabs = ({size, tabs, sideFill, fullWidth, onTabChange, variant, ...rest}: HorizontalTabProps) => {\r\n /**\r\n * Informs parent component of tab change and clears focus.\r\n * @param to - A link to which user should be navigated.\r\n */\r\n const doTabChange = (to: string): void => {\r\n // Let's inform parent component\r\n onTabChange(to);\r\n\r\n // Let's clear focus\r\n if (document.activeElement instanceof HTMLElement) {\r\n document.activeElement!.blur();\r\n }\r\n };\r\n\r\n const [focused, setFocused] = React.useState<boolean>(false);\r\n const [currentTab, setCurrentTab] = React.useState<string>();\r\n\r\n React.useEffect(() => {\r\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\r\n if (selectedTab)\r\n setCurrentTab(selectedTab.to);\r\n }, [tabs]);\r\n\r\n const tabListBlur = () => setFocused(false);\r\n\r\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\r\n\r\n const changeTabInternal = (tab: HorizontalTab) => {\r\n tab.selected = true;\r\n tabs.forEach(x => {\r\n if (x.to != tab.to)\r\n x.selected = false;\r\n });\r\n setCurrentTab(tab.to);\r\n onTabChange(tab.to);\r\n }\r\n\r\n const tabListKeyDown = (e: React.KeyboardEvent) => {\r\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\r\n e.preventDefault();\r\n if (e.key === 'ArrowRight') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = j + i;\r\n if (nextIndex > tabs.length - 1)\r\n nextIndex = nextIndex - tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (e.key === 'ArrowLeft') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = i - j;\r\n if (nextIndex < 0)\r\n nextIndex = nextIndex + tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown}\r\n role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\r\n {\r\n variant !== 'floating' && <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`}/>\r\n }\r\n {tabs.map((tab: HorizontalTab, index: number) => {\r\n const {value, selected, to, disabled, className, ...rest} = tab;\r\n return (\r\n <TabButton\r\n role=\"tab\"\r\n data-testid={`tab_${value}`}\r\n key={`${tab}_${index}`}\r\n aria-selected={selected}\r\n aria-expanded={selected}\r\n tabIndex={-1}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\r\n disabled={disabled}\r\n className={`${className || ''} ${size} ${variant || 'default'} ${tab.selected ? 'selected' : ''}`}\r\n onClick={() => !disabled && changeTabInternal(tab)}\r\n {...rest}>\r\n {tab.value}\r\n </TabButton>\r\n );\r\n })}\r\n </HorizontalTabContainer>\r\n );\r\n};\r\n\r\nexport default HorizontalTabs;\r\n"],"mappings":"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","ignoreList":[]}
@@ -38,16 +38,25 @@ const HorizontalTabContainer = styled.div`
38
38
  `;
39
39
  const TabSideFill = styled.div`
40
40
  position: absolute;
41
- border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};
41
+ border-bottom: 1px solid ${props => COLORS.generateToken({
42
+ componentType: 'border',
43
+ defaultVariant: 'subtle'
44
+ }, props.theme)};
42
45
  bottom: 0;
43
46
  width: 100%;
44
47
 
45
48
  &.fill {
46
- background: ${props => COLORS.getColor('white', props.theme)};
49
+ background: ${props => COLORS.generateToken({
50
+ componentType: 'bg-surface',
51
+ defaultVariant: 'default'
52
+ }, props.theme)};
47
53
  }
48
54
  `;
49
55
  const TabButton = styled.button`
50
- color: ${props => COLORS.getColor('neutral_600', props.theme)};
56
+ color: ${props => COLORS.generateToken({
57
+ componentType: 'text',
58
+ defaultVariant: 'subtle'
59
+ }, props.theme)};
51
60
  border: none;
52
61
  background-color: transparent;
53
62
  position: relative;
@@ -67,12 +76,21 @@ const TabButton = styled.button`
67
76
  }
68
77
 
69
78
  &.selected {
70
- background-color: ${props => COLORS.getColor('white', props.theme)};
71
- color: ${props => COLORS.getColor('neutral_800', props.theme)};
79
+ background-color: ${props => COLORS.generateToken({
80
+ componentType: 'bg-surface',
81
+ defaultVariant: 'default'
82
+ }, props.theme)};
83
+ color: ${props => COLORS.generateToken({
84
+ componentType: 'text',
85
+ defaultVariant: 'default'
86
+ }, props.theme)};
72
87
  }
73
88
 
74
89
  &.selected.floating {
75
- background-color: ${props => COLORS.getColor('neutral_20', props.theme)};
90
+ background-color: ${props => COLORS.generateToken({
91
+ componentType: 'bg-surface',
92
+ defaultVariant: 'selected'
93
+ }, props.theme)};
76
94
  }
77
95
 
78
96
  &.default {
@@ -81,8 +99,14 @@ const TabButton = styled.button`
81
99
  }
82
100
 
83
101
  &.default.selected {
84
- border-left: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};
85
- border-right: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};
102
+ border-left: 1px solid ${props => COLORS.generateToken({
103
+ componentType: 'border',
104
+ defaultVariant: 'subtle'
105
+ }, props.theme)};
106
+ border-right: 1px solid ${props => COLORS.generateToken({
107
+ componentType: 'border',
108
+ defaultVariant: 'subtle'
109
+ }, props.theme)};
86
110
  }
87
111
 
88
112
  &.selected:after {
@@ -92,7 +116,10 @@ const TabButton = styled.button`
92
116
  left: -1px;
93
117
  right: -1px;
94
118
  height: 2px;
95
- background-color: ${props => COLORS.getColor('primary_500', props.theme)};
119
+ background-color: ${props => COLORS.generateToken({
120
+ componentType: 'border',
121
+ defaultVariant: 'selected'
122
+ }, props.theme)};
96
123
  }
97
124
 
98
125
  &.selected.floating:after {
@@ -102,31 +129,54 @@ const TabButton = styled.button`
102
129
  right: 1px;
103
130
  height: 2px;
104
131
  border-radius: 2px;
105
- background-color: ${props => COLORS.getColor('primary_500', props.theme)};
132
+ background-color: ${props => COLORS.generateToken({
133
+ componentType: 'border',
134
+ defaultVariant: 'selected'
135
+ }, props.theme)};
106
136
  }
107
137
 
108
-
109
138
  &:hover, &:hover.selected {
110
- background: ${props => COLORS.getColor('primary_20', props.theme)};
111
- color: ${props => COLORS.getColor('primary_700', props.theme)};
139
+ background: ${props => COLORS.generateToken({
140
+ componentType: 'bg-surface',
141
+ state: 'hover'
142
+ }, props.theme)};
143
+ color: ${props => COLORS.generateToken({
144
+ componentType: 'text',
145
+ state: 'hover'
146
+ }, props.theme)};
112
147
  }
113
148
 
114
149
  &:hover:after {
115
- background-color: ${props => COLORS.getColor('primary_700', props.theme)};
150
+ background-color: ${props => COLORS.generateToken({
151
+ componentType: 'border',
152
+ state: 'hover'
153
+ }, props.theme)};
116
154
  }
117
155
 
118
156
  &:active, &:active.selected {
119
- background: ${props => COLORS.getColor('primary_100', props.theme)};
120
- color: ${props => COLORS.getColor('primary_800', props.theme)};
157
+ background: ${props => COLORS.generateToken({
158
+ componentType: 'bg-surface',
159
+ state: 'active'
160
+ }, props.theme)};
161
+ color: ${props => COLORS.generateToken({
162
+ componentType: 'text',
163
+ state: 'active'
164
+ }, props.theme)};
121
165
  outline: none;
122
166
  }
123
167
 
124
168
  &:active:after {
125
- background-color: ${props => COLORS.getColor('primary_800', props.theme)};
169
+ background-color: ${props => COLORS.generateToken({
170
+ componentType: 'border',
171
+ state: 'active'
172
+ }, props.theme)};
126
173
  }
127
174
 
128
175
  &:disabled {
129
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
176
+ color: ${props => COLORS.generateToken({
177
+ componentType: 'text',
178
+ state: 'disabled'
179
+ }, props.theme)};
130
180
  background: transparent;
131
181
  cursor: not-allowed;
132
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalTabs.js","names":["React","Size","COLORS","ComponentTextStyle","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","jsxs","_jsxs","HorizontalTabContainer","div","TabSideFill","props","getColor","theme","TabButton","button","active","XSmall","Regular","Small","Medium","Large","HorizontalTabs","_ref","size","tabs","sideFill","fullWidth","onTabChange","variant","rest","_objectWithoutProperties","_excluded","doTabChange","to","document","activeElement","HTMLElement","blur","focused","setFocused","useState","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","e","changeTabInternal","tab","forEach","tabListKeyDown","key","preventDefault","i","j","length","nextIndex","_objectSpread","tabIndex","onBlur","onFocus","onKeyDown","role","children","className","map","index","value","_excluded2","onMouseDown","style","width","onClick","propTypes","_pt","arrayOf","shape","oneOfType","string","node","isRequired","bool","func","oneOf"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\nimport {Size} from '../types';\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport Colors from \"../styles/colors\";\r\n\r\n// Add custom styles\r\nconst HorizontalTabContainer = styled.div`\r\n width: 100%;\r\n display: flex;\r\n position: relative;\r\n flex-direction: row;\r\n\r\n &:focus {\r\n ${focusStyles};\r\n }\r\n\r\n`;\r\n\r\nconst TabSideFill = styled.div`\r\n position: absolute;\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n bottom: 0;\r\n width: 100%;\r\n\r\n &.fill {\r\n background: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n`;\r\n\r\nconst TabButton = styled.button`\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n border: none;\r\n background-color: transparent;\r\n position: relative;\r\n cursor: pointer;\r\n display: flex;\r\n box-sizing: border-box;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 0;\r\n\r\n &[aria-selected=\"true\"] {\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.floating {\r\n border-radius: 2px;\r\n }\r\n \r\n &.selected {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n\r\n &.selected.floating {\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n }\r\n\r\n &.default {\r\n border-left: 1px solid transparent;\r\n border-right: 1px solid transparent;\r\n }\r\n \r\n &.default.selected {\r\n border-left: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n border-right: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &.selected:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: -1px;\r\n right: -1px;\r\n height: 2px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n &.selected.floating:after {\r\n top: unset;\r\n bottom: 1px;\r\n left: 1px;\r\n right: 1px;\r\n height: 2px;\r\n border-radius: 2px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n }\r\n\r\n\r\n &:hover, &:hover.selected {\r\n background: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:hover:after {\r\n background-color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n\r\n &:active, &:active.selected {\r\n background: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n outline: none;\r\n }\r\n\r\n &:active:after {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &:disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n background: transparent;\r\n cursor: not-allowed;\r\n }\r\n\r\n // Sizes\r\n &.${Size.XSmall} {\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 32px;\r\n margin-top: 16px;\r\n }\r\n\r\n &.${Size.Small} {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 40px;\r\n margin-top: 8px;\r\n }\r\n\r\n &.${Size.Medium} {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n height: 48px;\r\n min-width: 96px;\r\n padding: 0 16px;\r\n }\r\n\r\n &.${Size.Large} {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n height: 56px;\r\n min-width: 144px;\r\n padding: 0 16px;\r\n }\r\n`;\r\n\r\n// Add component-specific types\r\nexport interface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** Required. Size of the Tabs */\r\n size: Size.XSmall | Size.Small | Size.Medium | Size.Large;\r\n /** Required: Array of Tabs to show */\r\n tabs: HorizontalTab[];\r\n /** Optional. For 'default' variant of tabs if this flag is set, then white background will be added to the tabs */\r\n sideFill?: boolean;\r\n /** Optional. If set, then whole width of the parent container will be equally split between Tabs, otherwise each tab will take width \r\n * required for its content.\r\n */\r\n fullWidth?: boolean;\r\n /** Required. Handler to be called when user tries to change the tab */\r\n onTabChange: (to: string) => void;\r\n /** Optional. Display variant of the tabs. If not set, then 'default' is used */\r\n variant?: 'default' | 'floating';\r\n}\r\n\r\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\r\n /** Required. Value of the tab */\r\n value: string | React.ReactNode;\r\n /** Required. State of the tab, selected or not. Use it to set initial state of the tabs. */\r\n selected: boolean;\r\n /** Required. URL related with the Tab */\r\n to: string;\r\n}\r\n\r\nconst HorizontalTabs = ({size, tabs, sideFill, fullWidth, onTabChange, variant, ...rest}: HorizontalTabProps) => {\r\n /**\r\n * Informs parent component of tab change and clears focus.\r\n * @param to - A link to which user should be navigated.\r\n */\r\n const doTabChange = (to: string): void => {\r\n // Let's inform parent component\r\n onTabChange(to);\r\n\r\n // Let's clear focus\r\n if (document.activeElement instanceof HTMLElement) {\r\n document.activeElement!.blur();\r\n }\r\n };\r\n\r\n const [focused, setFocused] = React.useState<boolean>(false);\r\n const [currentTab, setCurrentTab] = React.useState<string>();\r\n\r\n React.useEffect(() => {\r\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\r\n if (selectedTab)\r\n setCurrentTab(selectedTab.to);\r\n }, [tabs]);\r\n\r\n const tabListBlur = () => setFocused(false);\r\n\r\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\r\n\r\n const changeTabInternal = (tab: HorizontalTab) => {\r\n tab.selected = true;\r\n tabs.forEach(x => {\r\n if (x.to != tab.to)\r\n x.selected = false;\r\n });\r\n setCurrentTab(tab.to);\r\n onTabChange(tab.to);\r\n }\r\n\r\n const tabListKeyDown = (e: React.KeyboardEvent) => {\r\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\r\n e.preventDefault();\r\n if (e.key === 'ArrowRight') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = j + i;\r\n if (nextIndex > tabs.length - 1)\r\n nextIndex = nextIndex - tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (e.key === 'ArrowLeft') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = i - j;\r\n if (nextIndex < 0)\r\n nextIndex = nextIndex + tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown}\r\n role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\r\n {\r\n variant !== 'floating' && <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`}/>\r\n }\r\n {tabs.map((tab: HorizontalTab, index: number) => {\r\n const {value, selected, to, disabled, className, ...rest} = tab;\r\n return (\r\n <TabButton\r\n role=\"tab\"\r\n data-testid={`tab_${value}`}\r\n key={`${tab}_${index}`}\r\n aria-selected={selected}\r\n aria-expanded={selected}\r\n tabIndex={-1}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\r\n disabled={disabled}\r\n className={`${className || ''} ${size} ${variant || 'default'} ${tab.selected ? 'selected' : ''}`}\r\n onClick={() => !disabled && changeTabInternal(tab)}\r\n {...rest}>\r\n {tab.value}\r\n </TabButton>\r\n );\r\n })}\r\n </HorizontalTabContainer>\r\n );\r\n};\r\n\r\nexport default HorizontalTabs;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HorizontalTabs.js","names":["React","Size","COLORS","ComponentTextStyle","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","jsxs","_jsxs","HorizontalTabContainer","div","TabSideFill","props","generateToken","componentType","defaultVariant","theme","TabButton","button","active","state","XSmall","Regular","Small","Medium","Large","HorizontalTabs","_ref","size","tabs","sideFill","fullWidth","onTabChange","variant","rest","_objectWithoutProperties","_excluded","doTabChange","to","document","activeElement","HTMLElement","blur","focused","setFocused","useState","currentTab","setCurrentTab","useEffect","selectedTab","find","x","selected","disabled","tabListBlur","tabListFocus","e","changeTabInternal","tab","forEach","tabListKeyDown","key","preventDefault","i","j","length","nextIndex","_objectSpread","tabIndex","onBlur","onFocus","onKeyDown","role","children","className","map","index","value","_excluded2","onMouseDown","style","width","onClick","propTypes","_pt","arrayOf","shape","oneOfType","string","node","isRequired","bool","func","oneOf"],"sources":["../../src/Tabs/HorizontalTabs.tsx"],"sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\nimport {Size} from '../types';\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled from 'styled-components';\r\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport Colors from \"../styles/colors\";\r\n\r\n// Add custom styles\r\nconst HorizontalTabContainer = styled.div`\r\n width: 100%;\r\n display: flex;\r\n position: relative;\r\n flex-direction: row;\r\n\r\n &:focus {\r\n ${focusStyles};\r\n }\r\n\r\n`;\r\n\r\nconst TabSideFill = styled.div`\r\n position: absolute;\r\n border-bottom: 1px solid ${props => COLORS.generateToken({ componentType:'border', defaultVariant:'subtle' }, props.theme)};\r\n bottom: 0;\r\n width: 100%;\r\n\r\n &.fill {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant:'default' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst TabButton = styled.button`\r\n color: ${props => COLORS.generateToken({componentType: 'text', defaultVariant: 'subtle'}, props.theme)};\r\n border: none;\r\n background-color: transparent;\r\n position: relative;\r\n cursor: pointer;\r\n display: flex;\r\n box-sizing: border-box;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 0;\r\n\r\n &[aria-selected=\"true\"] {\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.floating {\r\n border-radius: 2px;\r\n }\r\n \r\n &.selected {\r\n background-color: ${props => COLORS.generateToken({componentType: 'bg-surface', defaultVariant: 'default'}, props.theme)};\r\n color: ${props => COLORS.generateToken({componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n }\r\n\r\n &.selected.floating {\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant: 'selected'}, props.theme)};\r\n }\r\n\r\n &.default {\r\n border-left: 1px solid transparent;\r\n border-right: 1px solid transparent;\r\n }\r\n \r\n &.default.selected {\r\n border-left: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n border-right: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &.selected:after {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n left: -1px;\r\n right: -1px;\r\n height: 2px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'selected' }, props.theme)};\r\n }\r\n\r\n &.selected.floating:after {\r\n top: unset;\r\n bottom: 1px;\r\n left: 1px;\r\n right: 1px;\r\n height: 2px;\r\n border-radius: 2px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'selected' }, props.theme)};\r\n }\r\n\r\n &:hover, &:hover.selected {\r\n background: ${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 &:hover:after {\r\n background-color: ${props => COLORS.generateToken({ componentType:'border', state:'hover' }, props.theme)};\r\n }\r\n\r\n &:active, &:active.selected {\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n outline: none;\r\n }\r\n\r\n &:active:after {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'border', state: 'active' }, props.theme)};\r\n }\r\n\r\n &:disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n background: transparent;\r\n cursor: not-allowed;\r\n }\r\n\r\n // Sizes\r\n &.${Size.XSmall} {\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 32px;\r\n margin-top: 16px;\r\n }\r\n\r\n &.${Size.Small} {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n padding: 0px 16px;\r\n height: 40px;\r\n margin-top: 8px;\r\n }\r\n\r\n &.${Size.Medium} {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n height: 48px;\r\n min-width: 96px;\r\n padding: 0 16px;\r\n }\r\n\r\n &.${Size.Large} {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n height: 56px;\r\n min-width: 144px;\r\n padding: 0 16px;\r\n }\r\n`;\r\n\r\n// Add component-specific types\r\nexport interface HorizontalTabProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** Required. Size of the Tabs */\r\n size: Size.XSmall | Size.Small | Size.Medium | Size.Large;\r\n /** Required: Array of Tabs to show */\r\n tabs: HorizontalTab[];\r\n /** Optional. For 'default' variant of tabs if this flag is set, then white background will be added to the tabs */\r\n sideFill?: boolean;\r\n /** Optional. If set, then whole width of the parent container will be equally split between Tabs, otherwise each tab will take width \r\n * required for its content.\r\n */\r\n fullWidth?: boolean;\r\n /** Required. Handler to be called when user tries to change the tab */\r\n onTabChange: (to: string) => void;\r\n /** Optional. Display variant of the tabs. If not set, then 'default' is used */\r\n variant?: 'default' | 'floating';\r\n}\r\n\r\nexport interface HorizontalTab extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'style'> {\r\n /** Required. Value of the tab */\r\n value: string | React.ReactNode;\r\n /** Required. State of the tab, selected or not. Use it to set initial state of the tabs. */\r\n selected: boolean;\r\n /** Required. URL related with the Tab */\r\n to: string;\r\n}\r\n\r\nconst HorizontalTabs = ({size, tabs, sideFill, fullWidth, onTabChange, variant, ...rest}: HorizontalTabProps) => {\r\n /**\r\n * Informs parent component of tab change and clears focus.\r\n * @param to - A link to which user should be navigated.\r\n */\r\n const doTabChange = (to: string): void => {\r\n // Let's inform parent component\r\n onTabChange(to);\r\n\r\n // Let's clear focus\r\n if (document.activeElement instanceof HTMLElement) {\r\n document.activeElement!.blur();\r\n }\r\n };\r\n\r\n const [focused, setFocused] = React.useState<boolean>(false);\r\n const [currentTab, setCurrentTab] = React.useState<string>();\r\n\r\n React.useEffect(() => {\r\n const selectedTab = tabs.find(x => x.selected && !x.disabled);\r\n if (selectedTab)\r\n setCurrentTab(selectedTab.to);\r\n }, [tabs]);\r\n\r\n const tabListBlur = () => setFocused(false);\r\n\r\n const tabListFocus = (e: React.FocusEvent<HTMLDivElement, Element>) => setFocused(true);\r\n\r\n const changeTabInternal = (tab: HorizontalTab) => {\r\n tab.selected = true;\r\n tabs.forEach(x => {\r\n if (x.to != tab.to)\r\n x.selected = false;\r\n });\r\n setCurrentTab(tab.to);\r\n onTabChange(tab.to);\r\n }\r\n\r\n const tabListKeyDown = (e: React.KeyboardEvent) => {\r\n if (focused && (e.key === 'ArrowLeft' || e.key === 'ArrowRight')) {\r\n e.preventDefault();\r\n if (e.key === 'ArrowRight') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = j + i;\r\n if (nextIndex > tabs.length - 1)\r\n nextIndex = nextIndex - tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n if (e.key === 'ArrowLeft') {\r\n tabs.forEach((x, i) => {\r\n if (x.to != currentTab)\r\n return;\r\n\r\n for (let j = 1; j < tabs.length - 1; j++) {\r\n let nextIndex = i - j;\r\n if (nextIndex < 0)\r\n nextIndex = nextIndex + tabs.length;\r\n if (tabs[nextIndex].disabled)\r\n continue;\r\n changeTabInternal(tabs[nextIndex]);\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <HorizontalTabContainer tabIndex={0} onBlur={tabListBlur} onFocus={tabListFocus} onKeyDown={tabListKeyDown}\r\n role=\"tablist\" data-testid={'horizontal-tabs-container'} {...rest}>\r\n {\r\n variant !== 'floating' && <TabSideFill tabIndex={-1} className={`${sideFill ? 'fill' : ''}`}/>\r\n }\r\n {tabs.map((tab: HorizontalTab, index: number) => {\r\n const {value, selected, to, disabled, className, ...rest} = tab;\r\n return (\r\n <TabButton\r\n role=\"tab\"\r\n data-testid={`tab_${value}`}\r\n key={`${tab}_${index}`}\r\n aria-selected={selected}\r\n aria-expanded={selected}\r\n tabIndex={-1}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n style={fullWidth ? {width: `${100 / tabs.length}%`} : {}}\r\n disabled={disabled}\r\n className={`${className || ''} ${size} ${variant || 'default'} ${tab.selected ? 'selected' : ''}`}\r\n onClick={() => !disabled && changeTabInternal(tab)}\r\n {...rest}>\r\n {tab.value}\r\n </TabButton>\r\n );\r\n })}\r\n </HorizontalTabContainer>\r\n );\r\n};\r\n\r\nexport default HorizontalTabs;\r\n"],"mappings":"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","ignoreList":[]}
@@ -72,7 +72,10 @@ const Wrapper = _styledComponents.default.div`
72
72
 
73
73
  font-size: 16px;
74
74
  line-height: 120%;
75
- color: ${props => _styles.COLORS.getColor('neutral_600', props.theme)};
75
+ color: ${props => _styles.COLORS.generateToken({
76
+ componentType: 'text',
77
+ defaultVariant: 'subtle'
78
+ }, props.theme)};
76
79
 
77
80
  background-color: ${props => props.$disabled ? _styles.COLORS.getColor('neutral_100', props.theme) : 'transparent'};
78
81
  cursor: ${props => props.$disabled ? 'not-allowed' : 'pointer'};
@@ -1 +1 @@
1
- {"version":3,"file":"TabLink.cjs","names":["_react","_interopRequireWildcard","require","React","_styledComponents","_interopRequireDefault","_NotificationDot","_types","_styles","_zIndexes","_common","_HyperLink","_NavigationProvider","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","OptionalLineWrapperWithIcon","styled","div","TopWrapper","TextContainer","StyledNotification","EndLineIcon","OptionalLineWrapper","Wrapper","props","COLORS","getColor","theme","$disabled","focusStyles","Z_INDEXES","active","hover","TabLink","forwardRef","_ref","ref","href","tabIndex","role","disabled","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","forceDeactivate","testId","showNotificationDot","size","Size","Small","endLineIcon","onActiveStateChanged","variant","children","containerOnMouseEnter","containerOnMouseLeave","className","rest","_objectWithoutProperties2","activeState","setActiveState","useState","useActiveClassName","setUseActiveClassName","currentPath","isActiveRoute","useNavigation","useEffect","jsx","onMouseEnter","onMouseLeave","jsxs","Fragment","HyperLink","target","toString","onMouseDown","defaultOnMouseDownHandler","onClick","NotificationDot","_default","exports"],"sources":["../../src/Tabs/TabLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { NotificationDot } from '../NotificationDot';\r\nimport { Size } from '../types';\r\nimport { COLORS, focusStyles } from '../styles';\r\nimport { Z_INDEXES } from '../styles/z-indexes';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { useState } from 'react';\r\nimport { HyperLink } from '../HyperLink';\r\nimport { useNavigation } from '../Navigation/NavigationProvider';\r\n\r\nexport type TabLinkProps = {\r\n disabled?: boolean;\r\n forceDeactivate?: boolean;\r\n requiredLine: string;\r\n optionalLine?: string;\r\n OptionalLineIcon?: React.ReactNode; //React.FunctionComponent<BaseProps>;\r\n endLineIcon?: React.ReactNode;\r\n onLinkClick?: (e: React.MouseEvent) => void;\r\n testId?: string;\r\n onActiveStateChanged?: (state: boolean) => void;\r\n showNotificationDot?: boolean;\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n variant?: 'positive' | 'critical';\r\n containerOnMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\r\n containerOnMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\r\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\r\n\r\nconst OptionalLineWrapperWithIcon = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span {\r\n margin: 0 0 0 4px !important;\r\n font-size: 12px;\r\n line-height: 16px;\r\n }\r\n`;\r\n\r\nconst TopWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span:not(:only-child) {\r\n width: calc(100% - 32px);\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div`\r\n width: 100%;\r\n margin: auto 0 auto 16px !important;\r\n`;\r\n\r\nconst StyledNotification = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst EndLineIcon = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst OptionalLineWrapper = styled.div`\r\n font-size: 12px;\r\n`;\r\n//replaced styledTabLink because 'className' and 'styled' functions for some reason were not being executed\r\nconst Wrapper = styled.div<{ $disabled: boolean }>`\r\n position: relative;\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n a {\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n a {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n font-size: 16px;\r\n line-height: 120%;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n\r\n background-color: ${(props) => (props.$disabled ? COLORS.getColor('neutral_100', props.theme) : 'transparent')};\r\n cursor: ${(props) => (props.$disabled ? 'not-allowed' : 'pointer')};\r\n border-left: 1px solid transparent;\r\n text-decoration: none;\r\n position: relative;\r\n border-radius: 2px;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: 4px;\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n\r\n &:hover, &.dropdown-hover {\r\n z-index: ${Z_INDEXES.hover};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.active {\r\n &::after {\r\n position: absolute;\r\n content: ' ';\r\n width: 4px;\r\n top: 6px;\r\n bottom: 6px;\r\n left: 3px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n border-radius: 4px;\r\n }\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &.active:active {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n\r\n span {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst TabLink = React.forwardRef<HTMLAnchorElement, TabLinkProps>(({\r\n href,\r\n tabIndex,\r\n role,\r\n disabled = false,\r\n requiredLine,\r\n optionalLine,\r\n OptionalLineIcon,\r\n onLinkClick,\r\n forceDeactivate,\r\n testId,\r\n showNotificationDot = false,\r\n size = Size.Small,\r\n endLineIcon,\r\n onActiveStateChanged,\r\n variant = 'critical',\r\n children,\r\n containerOnMouseEnter,\r\n containerOnMouseLeave,\r\n className,\r\n ...rest\r\n}: TabLinkProps, ref) => {\r\n \r\n const [activeState, setActiveState] = useState<boolean>(false);\r\n const [useActiveClassName, setUseActiveClassName] = useState<string>('');\r\n const {currentPath, isActiveRoute} = useNavigation();\r\n\r\n React.useEffect(() => {\r\n setActiveState(!!isActiveRoute && !!href && isActiveRoute(href, true));\r\n }, [currentPath]);\r\n\r\n React.useEffect(() => {\r\n setUseActiveClassName(`${!forceDeactivate && activeState ? 'active' : ''} ${disabled ? 'disabled':''}`);\r\n }, [activeState, disabled, forceDeactivate]);\r\n\r\n React.useEffect(() => {\r\n onActiveStateChanged && onActiveStateChanged(activeState);\r\n }, [activeState]);\r\n\r\n return (\r\n <Wrapper $disabled={disabled} className={disabled ? 'disabled' : ''} onMouseEnter={containerOnMouseEnter} onMouseLeave={containerOnMouseLeave}>\r\n <>\r\n <HyperLink\r\n variant='styleless'\r\n target='_self'\r\n href={forceDeactivate ? 'invalid' : href?.toString() ?? ''}\r\n //disabled={disabled}\r\n className={useActiveClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n tabIndex={disabled ? -1 : 0}\r\n role=\"tab\"\r\n aria-selected={activeState}\r\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\r\n ref={ref}\r\n data-testid={testId}\r\n {...rest}>\r\n <TextContainer>\r\n <TopWrapper>\r\n <span>{requiredLine}</span>\r\n </TopWrapper>\r\n {optionalLine && OptionalLineIcon ? (\r\n <OptionalLineWrapperWithIcon>\r\n {OptionalLineIcon}\r\n {!!optionalLine && <span>{optionalLine}</span>}\r\n </OptionalLineWrapperWithIcon>\r\n ) : optionalLine ? (\r\n <OptionalLineWrapper>\r\n <span>{optionalLine}</span>\r\n </OptionalLineWrapper>\r\n ) : (\r\n <></>\r\n )}\r\n </TextContainer>\r\n <StyledNotification>{showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}</StyledNotification>\r\n {endLineIcon && <EndLineIcon>{endLineIcon}</EndLineIcon>}\r\n </HyperLink>\r\n {children}\r\n </>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default TabLink;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TabLink.cjs","names":["_react","_interopRequireWildcard","require","React","_styledComponents","_interopRequireDefault","_NotificationDot","_types","_styles","_zIndexes","_common","_HyperLink","_NavigationProvider","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","OptionalLineWrapperWithIcon","styled","div","TopWrapper","TextContainer","StyledNotification","EndLineIcon","OptionalLineWrapper","Wrapper","props","COLORS","generateToken","componentType","defaultVariant","theme","$disabled","getColor","focusStyles","Z_INDEXES","active","hover","TabLink","forwardRef","_ref","ref","href","tabIndex","role","disabled","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","forceDeactivate","testId","showNotificationDot","size","Size","Small","endLineIcon","onActiveStateChanged","variant","children","containerOnMouseEnter","containerOnMouseLeave","className","rest","_objectWithoutProperties2","activeState","setActiveState","useState","useActiveClassName","setUseActiveClassName","currentPath","isActiveRoute","useNavigation","useEffect","jsx","onMouseEnter","onMouseLeave","jsxs","Fragment","HyperLink","target","toString","onMouseDown","defaultOnMouseDownHandler","onClick","NotificationDot","_default","exports"],"sources":["../../src/Tabs/TabLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { NotificationDot } from '../NotificationDot';\r\nimport { Size } from '../types';\r\nimport { COLORS, focusStyles } from '../styles';\r\nimport { Z_INDEXES } from '../styles/z-indexes';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { useState } from 'react';\r\nimport { HyperLink } from '../HyperLink';\r\nimport { useNavigation } from '../Navigation/NavigationProvider';\r\n\r\nexport type TabLinkProps = {\r\n disabled?: boolean;\r\n forceDeactivate?: boolean;\r\n requiredLine: string;\r\n optionalLine?: string;\r\n OptionalLineIcon?: React.ReactNode; //React.FunctionComponent<BaseProps>;\r\n endLineIcon?: React.ReactNode;\r\n onLinkClick?: (e: React.MouseEvent) => void;\r\n testId?: string;\r\n onActiveStateChanged?: (state: boolean) => void;\r\n showNotificationDot?: boolean;\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n variant?: 'positive' | 'critical';\r\n containerOnMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\r\n containerOnMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\r\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\r\n\r\nconst OptionalLineWrapperWithIcon = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span {\r\n margin: 0 0 0 4px !important;\r\n font-size: 12px;\r\n line-height: 16px;\r\n }\r\n`;\r\n\r\nconst TopWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span:not(:only-child) {\r\n width: calc(100% - 32px);\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div`\r\n width: 100%;\r\n margin: auto 0 auto 16px !important;\r\n`;\r\n\r\nconst StyledNotification = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst EndLineIcon = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst OptionalLineWrapper = styled.div`\r\n font-size: 12px;\r\n`;\r\n//replaced styledTabLink because 'className' and 'styled' functions for some reason were not being executed\r\nconst Wrapper = styled.div<{ $disabled: boolean }>`\r\n position: relative;\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n a {\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n a {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n font-size: 16px;\r\n line-height: 120%;\r\n color: ${props => COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme)};\r\n\r\n background-color: ${(props) => (props.$disabled ? COLORS.getColor('neutral_100', props.theme) : 'transparent')};\r\n cursor: ${(props) => (props.$disabled ? 'not-allowed' : 'pointer')};\r\n border-left: 1px solid transparent;\r\n text-decoration: none;\r\n position: relative;\r\n border-radius: 2px;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: 4px;\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n\r\n &:hover, &.dropdown-hover {\r\n z-index: ${Z_INDEXES.hover};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.active {\r\n &::after {\r\n position: absolute;\r\n content: ' ';\r\n width: 4px;\r\n top: 6px;\r\n bottom: 6px;\r\n left: 3px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n border-radius: 4px;\r\n }\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &.active:active {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n\r\n span {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst TabLink = React.forwardRef<HTMLAnchorElement, TabLinkProps>(({\r\n href,\r\n tabIndex,\r\n role,\r\n disabled = false,\r\n requiredLine,\r\n optionalLine,\r\n OptionalLineIcon,\r\n onLinkClick,\r\n forceDeactivate,\r\n testId,\r\n showNotificationDot = false,\r\n size = Size.Small,\r\n endLineIcon,\r\n onActiveStateChanged,\r\n variant = 'critical',\r\n children,\r\n containerOnMouseEnter,\r\n containerOnMouseLeave,\r\n className,\r\n ...rest\r\n}: TabLinkProps, ref) => {\r\n \r\n const [activeState, setActiveState] = useState<boolean>(false);\r\n const [useActiveClassName, setUseActiveClassName] = useState<string>('');\r\n const {currentPath, isActiveRoute} = useNavigation();\r\n\r\n React.useEffect(() => {\r\n setActiveState(!!isActiveRoute && !!href && isActiveRoute(href, true));\r\n }, [currentPath]);\r\n\r\n React.useEffect(() => {\r\n setUseActiveClassName(`${!forceDeactivate && activeState ? 'active' : ''} ${disabled ? 'disabled':''}`);\r\n }, [activeState, disabled, forceDeactivate]);\r\n\r\n React.useEffect(() => {\r\n onActiveStateChanged && onActiveStateChanged(activeState);\r\n }, [activeState]);\r\n\r\n return (\r\n <Wrapper $disabled={disabled} className={disabled ? 'disabled' : ''} onMouseEnter={containerOnMouseEnter} onMouseLeave={containerOnMouseLeave}>\r\n <>\r\n <HyperLink\r\n variant='styleless'\r\n target='_self'\r\n href={forceDeactivate ? 'invalid' : href?.toString() ?? ''}\r\n //disabled={disabled}\r\n className={useActiveClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n tabIndex={disabled ? -1 : 0}\r\n role=\"tab\"\r\n aria-selected={activeState}\r\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\r\n ref={ref}\r\n data-testid={testId}\r\n {...rest}>\r\n <TextContainer>\r\n <TopWrapper>\r\n <span>{requiredLine}</span>\r\n </TopWrapper>\r\n {optionalLine && OptionalLineIcon ? (\r\n <OptionalLineWrapperWithIcon>\r\n {OptionalLineIcon}\r\n {!!optionalLine && <span>{optionalLine}</span>}\r\n </OptionalLineWrapperWithIcon>\r\n ) : optionalLine ? (\r\n <OptionalLineWrapper>\r\n <span>{optionalLine}</span>\r\n </OptionalLineWrapper>\r\n ) : (\r\n <></>\r\n )}\r\n </TextContainer>\r\n <StyledNotification>{showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}</StyledNotification>\r\n {endLineIcon && <EndLineIcon>{endLineIcon}</EndLineIcon>}\r\n </HyperLink>\r\n {children}\r\n </>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default TabLink;\r\n"],"mappings":"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","ignoreList":[]}
@@ -63,7 +63,10 @@ const Wrapper = styled.div`
63
63
 
64
64
  font-size: 16px;
65
65
  line-height: 120%;
66
- color: ${props => COLORS.getColor('neutral_600', props.theme)};
66
+ color: ${props => COLORS.generateToken({
67
+ componentType: 'text',
68
+ defaultVariant: 'subtle'
69
+ }, props.theme)};
67
70
 
68
71
  background-color: ${props => props.$disabled ? COLORS.getColor('neutral_100', props.theme) : 'transparent'};
69
72
  cursor: ${props => props.$disabled ? 'not-allowed' : 'pointer'};
@@ -1 +1 @@
1
- {"version":3,"file":"TabLink.js","names":["React","styled","NotificationDot","Size","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","useState","HyperLink","useNavigation","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","EndLineIcon","OptionalLineWrapper","Wrapper","props","getColor","theme","$disabled","active","hover","TabLink","forwardRef","_ref","ref","href","tabIndex","role","disabled","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","forceDeactivate","testId","showNotificationDot","size","Small","endLineIcon","onActiveStateChanged","variant","children","containerOnMouseEnter","containerOnMouseLeave","className","rest","_objectWithoutProperties","_excluded","activeState","setActiveState","useActiveClassName","setUseActiveClassName","currentPath","isActiveRoute","useEffect","onMouseEnter","onMouseLeave","_objectSpread","target","toString","onMouseDown","onClick","e"],"sources":["../../src/Tabs/TabLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { NotificationDot } from '../NotificationDot';\r\nimport { Size } from '../types';\r\nimport { COLORS, focusStyles } from '../styles';\r\nimport { Z_INDEXES } from '../styles/z-indexes';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { useState } from 'react';\r\nimport { HyperLink } from '../HyperLink';\r\nimport { useNavigation } from '../Navigation/NavigationProvider';\r\n\r\nexport type TabLinkProps = {\r\n disabled?: boolean;\r\n forceDeactivate?: boolean;\r\n requiredLine: string;\r\n optionalLine?: string;\r\n OptionalLineIcon?: React.ReactNode; //React.FunctionComponent<BaseProps>;\r\n endLineIcon?: React.ReactNode;\r\n onLinkClick?: (e: React.MouseEvent) => void;\r\n testId?: string;\r\n onActiveStateChanged?: (state: boolean) => void;\r\n showNotificationDot?: boolean;\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n variant?: 'positive' | 'critical';\r\n containerOnMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\r\n containerOnMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\r\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\r\n\r\nconst OptionalLineWrapperWithIcon = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span {\r\n margin: 0 0 0 4px !important;\r\n font-size: 12px;\r\n line-height: 16px;\r\n }\r\n`;\r\n\r\nconst TopWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span:not(:only-child) {\r\n width: calc(100% - 32px);\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div`\r\n width: 100%;\r\n margin: auto 0 auto 16px !important;\r\n`;\r\n\r\nconst StyledNotification = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst EndLineIcon = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst OptionalLineWrapper = styled.div`\r\n font-size: 12px;\r\n`;\r\n//replaced styledTabLink because 'className' and 'styled' functions for some reason were not being executed\r\nconst Wrapper = styled.div<{ $disabled: boolean }>`\r\n position: relative;\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n a {\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n a {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n font-size: 16px;\r\n line-height: 120%;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n\r\n background-color: ${(props) => (props.$disabled ? COLORS.getColor('neutral_100', props.theme) : 'transparent')};\r\n cursor: ${(props) => (props.$disabled ? 'not-allowed' : 'pointer')};\r\n border-left: 1px solid transparent;\r\n text-decoration: none;\r\n position: relative;\r\n border-radius: 2px;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: 4px;\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n\r\n &:hover, &.dropdown-hover {\r\n z-index: ${Z_INDEXES.hover};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.active {\r\n &::after {\r\n position: absolute;\r\n content: ' ';\r\n width: 4px;\r\n top: 6px;\r\n bottom: 6px;\r\n left: 3px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n border-radius: 4px;\r\n }\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &.active:active {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n\r\n span {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst TabLink = React.forwardRef<HTMLAnchorElement, TabLinkProps>(({\r\n href,\r\n tabIndex,\r\n role,\r\n disabled = false,\r\n requiredLine,\r\n optionalLine,\r\n OptionalLineIcon,\r\n onLinkClick,\r\n forceDeactivate,\r\n testId,\r\n showNotificationDot = false,\r\n size = Size.Small,\r\n endLineIcon,\r\n onActiveStateChanged,\r\n variant = 'critical',\r\n children,\r\n containerOnMouseEnter,\r\n containerOnMouseLeave,\r\n className,\r\n ...rest\r\n}: TabLinkProps, ref) => {\r\n \r\n const [activeState, setActiveState] = useState<boolean>(false);\r\n const [useActiveClassName, setUseActiveClassName] = useState<string>('');\r\n const {currentPath, isActiveRoute} = useNavigation();\r\n\r\n React.useEffect(() => {\r\n setActiveState(!!isActiveRoute && !!href && isActiveRoute(href, true));\r\n }, [currentPath]);\r\n\r\n React.useEffect(() => {\r\n setUseActiveClassName(`${!forceDeactivate && activeState ? 'active' : ''} ${disabled ? 'disabled':''}`);\r\n }, [activeState, disabled, forceDeactivate]);\r\n\r\n React.useEffect(() => {\r\n onActiveStateChanged && onActiveStateChanged(activeState);\r\n }, [activeState]);\r\n\r\n return (\r\n <Wrapper $disabled={disabled} className={disabled ? 'disabled' : ''} onMouseEnter={containerOnMouseEnter} onMouseLeave={containerOnMouseLeave}>\r\n <>\r\n <HyperLink\r\n variant='styleless'\r\n target='_self'\r\n href={forceDeactivate ? 'invalid' : href?.toString() ?? ''}\r\n //disabled={disabled}\r\n className={useActiveClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n tabIndex={disabled ? -1 : 0}\r\n role=\"tab\"\r\n aria-selected={activeState}\r\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\r\n ref={ref}\r\n data-testid={testId}\r\n {...rest}>\r\n <TextContainer>\r\n <TopWrapper>\r\n <span>{requiredLine}</span>\r\n </TopWrapper>\r\n {optionalLine && OptionalLineIcon ? (\r\n <OptionalLineWrapperWithIcon>\r\n {OptionalLineIcon}\r\n {!!optionalLine && <span>{optionalLine}</span>}\r\n </OptionalLineWrapperWithIcon>\r\n ) : optionalLine ? (\r\n <OptionalLineWrapper>\r\n <span>{optionalLine}</span>\r\n </OptionalLineWrapper>\r\n ) : (\r\n <></>\r\n )}\r\n </TextContainer>\r\n <StyledNotification>{showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}</StyledNotification>\r\n {endLineIcon && <EndLineIcon>{endLineIcon}</EndLineIcon>}\r\n </HyperLink>\r\n {children}\r\n </>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default TabLink;\r\n"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,IAAI,QAAQ,UAAU;AAC/B,SAASC,MAAM,EAAEC,WAAW,QAAQ,WAAW;AAC/C,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,yBAAyB,QAAQ,WAAW;AACrD,SAASC,QAAQ,QAAQ,OAAO;AAChC,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,aAAa,QAAQ,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAmBjE,MAAMC,2BAA2B,GAAGhB,MAAM,CAACiB,GAAG;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,UAAU,GAAGlB,MAAM,CAACiB,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAME,aAAa,GAAGnB,MAAM,CAACiB,GAAG;AAChC;AACA;AACA,CAAC;AAED,MAAMG,kBAAkB,GAAGpB,MAAM,CAACiB,GAAG;AACrC;AACA,CAAC;AAED,MAAMI,WAAW,GAAGrB,MAAM,CAACiB,GAAG;AAC9B;AACA,CAAC;AAED,MAAMK,mBAAmB,GAAGtB,MAAM,CAACiB,GAAG;AACtC;AACA,CAAC;AACD;AACA,MAAMM,OAAO,GAAGvB,MAAM,CAACiB,GAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaO,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AACjE;AACA,wBAAyBF,KAAK,IAAMA,KAAK,CAACG,SAAS,GAAGxB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC,GAAG,aAAc;AAClH,cAAeF,KAAK,IAAMA,KAAK,CAACG,SAAS,GAAG,aAAa,GAAG,SAAU;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQvB,WAAW;AACnB;AACA;AACA;AACA,iBAAiBC,SAAS,CAACuB,MAAM;AACjC,0BAA0BJ,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;AAC7E;AACA;AACA;AACA,0BAA0BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;AAC7E;AACA;AACA;AACA,iBAAiBrB,SAAS,CAACwB,KAAK;AAChC,0BAA0BL,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,YAAY,EAAED,KAAK,CAACE,KAAK,CAAC;AAC7E,eAAeF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AACnE;AACA;AACA;AACA,iBAAiBrB,SAAS,CAACuB,MAAM;AACjC,0BAA0BJ,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAC9E,eAAeF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAChF;AACA;AACA;AACA;AACA,0BAA0BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAC9E;AACA;AACA,4BAA4BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAChF;AACA;AACA;AACA;AACA,0BAA0BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,OAAO,EAAED,KAAK,CAACE,KAAK,CAAC;AACxE,eAAeF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AACnE;AACA;AACA,iBAAiBF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AACrE;AACA;AACA;AACA,4BAA4BF,KAAK,IAAIrB,MAAM,CAACsB,QAAQ,CAAC,aAAa,EAAED,KAAK,CAACE,KAAK,CAAC;AAChF;AACA;AACA;AACA,CAAC;AAED,MAAMI,OAAO,gBAAG/B,KAAK,CAACgC,UAAU,CAAkC,CAAAC,IAAA,EAqBjDC,GAAG,KAAK;EAAA,IArB0C;MACjEC,IAAI;MACJC,QAAQ;MACRC,IAAI;MACJC,QAAQ,GAAG,KAAK;MAChBC,YAAY;MACZC,YAAY;MACZC,gBAAgB;MAChBC,WAAW;MACXC,eAAe;MACfC,MAAM;MACNC,mBAAmB,GAAG,KAAK;MAC3BC,IAAI,GAAG3C,IAAI,CAAC4C,KAAK;MACjBC,WAAW;MACXC,oBAAoB;MACpBC,OAAO,GAAG,UAAU;MACpBC,QAAQ;MACRC,qBAAqB;MACrBC,qBAAqB;MACrBC;IAEY,CAAC,GAAArB,IAAA;IADVsB,IAAI,GAAAC,wBAAA,CAAAvB,IAAA,EAAAwB,SAAA;EAGP,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGnD,QAAQ,CAAU,KAAK,CAAC;EAC9D,MAAM,CAACoD,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGrD,QAAQ,CAAS,EAAE,CAAC;EACxE,MAAM;IAACsD,WAAW;IAAEC;EAAa,CAAC,GAAGrD,aAAa,CAAC,CAAC;EAEpDV,KAAK,CAACgE,SAAS,CAAC,MAAM;IACpBL,cAAc,CAAC,CAAC,CAACI,aAAa,IAAI,CAAC,CAAC5B,IAAI,IAAI4B,aAAa,CAAC5B,IAAI,EAAE,IAAI,CAAC,CAAC;EACxE,CAAC,EAAE,CAAC2B,WAAW,CAAC,CAAC;EAEjB9D,KAAK,CAACgE,SAAS,CAAC,MAAM;IACpBH,qBAAqB,CAAC,GAAG,CAAClB,eAAe,IAAIe,WAAW,GAAG,QAAQ,GAAG,EAAE,IAAIpB,QAAQ,GAAG,UAAU,GAAC,EAAE,EAAE,CAAC;EACzG,CAAC,EAAE,CAACoB,WAAW,EAAEpB,QAAQ,EAAEK,eAAe,CAAC,CAAC;EAE5C3C,KAAK,CAACgE,SAAS,CAAC,MAAM;IACpBf,oBAAoB,IAAIA,oBAAoB,CAACS,WAAW,CAAC;EAC3D,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB,oBACE9C,IAAA,CAACY,OAAO;IAACI,SAAS,EAAEU,QAAS;IAACgB,SAAS,EAAEhB,QAAQ,GAAG,UAAU,GAAG,EAAG;IAAC2B,YAAY,EAAEb,qBAAsB;IAACc,YAAY,EAAEb,qBAAsB;IAAAF,QAAA,eAC5IrC,KAAA,CAAAE,SAAA;MAAAmC,QAAA,gBACErC,KAAA,CAACL,SAAS,EAAA0D,aAAA,CAAAA,aAAA;QACRjB,OAAO,EAAC,WAAW;QACnBkB,MAAM,EAAC,OAAO;QACdjC,IAAI,EAAEQ,eAAe,GAAG,SAAS,GAAGR,IAAI,EAAEkC,QAAQ,CAAC,CAAC,IAAI;QACxD;QAAA;QACAf,SAAS,EAAEM,kBAAmB;QAC9BU,WAAW,EAAE/D,yBAA0B;QACvC6B,QAAQ,EAAEE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;QAC5BD,IAAI,EAAC,KAAK;QACV,iBAAeqB,WAAY;QAC3Ba,OAAO,EAAGC,CAAmB,IAAK,CAAClC,QAAQ,IAAII,WAAW,IAAIA,WAAW,CAAC8B,CAAC,CAAE;QAC7EtC,GAAG,EAAEA,GAAI;QACT,eAAaU;MAAO,GAChBW,IAAI;QAAAJ,QAAA,gBACRrC,KAAA,CAACM,aAAa;UAAA+B,QAAA,gBACZvC,IAAA,CAACO,UAAU;YAAAgC,QAAA,eACTvC,IAAA;cAAAuC,QAAA,EAAOZ;YAAY,CAAO;UAAC,CACjB,CAAC,EACZC,YAAY,IAAIC,gBAAgB,gBAC/B3B,KAAA,CAACG,2BAA2B;YAAAkC,QAAA,GACzBV,gBAAgB,EAChB,CAAC,CAACD,YAAY,iBAAI5B,IAAA;cAAAuC,QAAA,EAAOX;YAAY,CAAO,CAAC;UAAA,CACnB,CAAC,GAC5BA,YAAY,gBACd5B,IAAA,CAACW,mBAAmB;YAAA4B,QAAA,eAClBvC,IAAA;cAAAuC,QAAA,EAAOX;YAAY,CAAO;UAAC,CACR,CAAC,gBAEtB5B,IAAA,CAAAI,SAAA,IAAI,CACL;QAAA,CACY,CAAC,eAChBJ,IAAA,CAACS,kBAAkB;UAAA8B,QAAA,EAAEN,mBAAmB,iBAAIjC,IAAA,CAACV,eAAe;YAAC0C,MAAM,EAAC,iBAAiB;YAACE,IAAI,EAAEA,IAAK;YAACI,OAAO,EAAEA;UAAQ,CAAE;QAAC,CAAqB,CAAC,EAC3IF,WAAW,iBAAIpC,IAAA,CAACU,WAAW;UAAA6B,QAAA,EAAEH;QAAW,CAAc,CAAC;MAAA,EAC/C,CAAC,EACXG,QAAQ;IAAA,CACT;EAAC,CACI,CAAC;AAEd,CAAC,CAAC;AAEF,eAAepB,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"TabLink.js","names":["React","styled","NotificationDot","Size","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","useState","HyperLink","useNavigation","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","EndLineIcon","OptionalLineWrapper","Wrapper","props","generateToken","componentType","defaultVariant","theme","$disabled","getColor","active","hover","TabLink","forwardRef","_ref","ref","href","tabIndex","role","disabled","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","forceDeactivate","testId","showNotificationDot","size","Small","endLineIcon","onActiveStateChanged","variant","children","containerOnMouseEnter","containerOnMouseLeave","className","rest","_objectWithoutProperties","_excluded","activeState","setActiveState","useActiveClassName","setUseActiveClassName","currentPath","isActiveRoute","useEffect","onMouseEnter","onMouseLeave","_objectSpread","target","toString","onMouseDown","onClick","e"],"sources":["../../src/Tabs/TabLink.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { NotificationDot } from '../NotificationDot';\r\nimport { Size } from '../types';\r\nimport { COLORS, focusStyles } from '../styles';\r\nimport { Z_INDEXES } from '../styles/z-indexes';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { useState } from 'react';\r\nimport { HyperLink } from '../HyperLink';\r\nimport { useNavigation } from '../Navigation/NavigationProvider';\r\n\r\nexport type TabLinkProps = {\r\n disabled?: boolean;\r\n forceDeactivate?: boolean;\r\n requiredLine: string;\r\n optionalLine?: string;\r\n OptionalLineIcon?: React.ReactNode; //React.FunctionComponent<BaseProps>;\r\n endLineIcon?: React.ReactNode;\r\n onLinkClick?: (e: React.MouseEvent) => void;\r\n testId?: string;\r\n onActiveStateChanged?: (state: boolean) => void;\r\n showNotificationDot?: boolean;\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n variant?: 'positive' | 'critical';\r\n containerOnMouseEnter?: React.MouseEventHandler<HTMLDivElement>;\r\n containerOnMouseLeave?: React.MouseEventHandler<HTMLDivElement>;\r\n} & React.AnchorHTMLAttributes<HTMLAnchorElement>;\r\n\r\nconst OptionalLineWrapperWithIcon = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span {\r\n margin: 0 0 0 4px !important;\r\n font-size: 12px;\r\n line-height: 16px;\r\n }\r\n`;\r\n\r\nconst TopWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n\r\n span:not(:only-child) {\r\n width: calc(100% - 32px);\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div`\r\n width: 100%;\r\n margin: auto 0 auto 16px !important;\r\n`;\r\n\r\nconst StyledNotification = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst EndLineIcon = styled.div`\r\n margin: 0 15px 0 0 !important;\r\n`;\r\n\r\nconst OptionalLineWrapper = styled.div`\r\n font-size: 12px;\r\n`;\r\n//replaced styledTabLink because 'className' and 'styled' functions for some reason were not being executed\r\nconst Wrapper = styled.div<{ $disabled: boolean }>`\r\n position: relative;\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n a {\r\n pointer-events: none;\r\n }\r\n }\r\n\r\n a {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n font-size: 16px;\r\n line-height: 120%;\r\n color: ${props => COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme)};\r\n\r\n background-color: ${(props) => (props.$disabled ? COLORS.getColor('neutral_100', props.theme) : 'transparent')};\r\n cursor: ${(props) => (props.$disabled ? 'not-allowed' : 'pointer')};\r\n border-left: 1px solid transparent;\r\n text-decoration: none;\r\n position: relative;\r\n border-radius: 2px;\r\n\r\n &:not(:last-child) {\r\n margin-bottom: 4px;\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n\r\n &:hover, &.dropdown-hover {\r\n z-index: ${Z_INDEXES.hover};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n\r\n &.active {\r\n &::after {\r\n position: absolute;\r\n content: ' ';\r\n width: 4px;\r\n top: 6px;\r\n bottom: 6px;\r\n left: 3px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n border-radius: 4px;\r\n }\r\n }\r\n\r\n &.active:hover, &.active.dropdown-hover {\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_600', props.theme)};\r\n }\r\n }\r\n\r\n &.active:active {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n\r\n span {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n\r\n &::after {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst TabLink = React.forwardRef<HTMLAnchorElement, TabLinkProps>(({\r\n href,\r\n tabIndex,\r\n role,\r\n disabled = false,\r\n requiredLine,\r\n optionalLine,\r\n OptionalLineIcon,\r\n onLinkClick,\r\n forceDeactivate,\r\n testId,\r\n showNotificationDot = false,\r\n size = Size.Small,\r\n endLineIcon,\r\n onActiveStateChanged,\r\n variant = 'critical',\r\n children,\r\n containerOnMouseEnter,\r\n containerOnMouseLeave,\r\n className,\r\n ...rest\r\n}: TabLinkProps, ref) => {\r\n \r\n const [activeState, setActiveState] = useState<boolean>(false);\r\n const [useActiveClassName, setUseActiveClassName] = useState<string>('');\r\n const {currentPath, isActiveRoute} = useNavigation();\r\n\r\n React.useEffect(() => {\r\n setActiveState(!!isActiveRoute && !!href && isActiveRoute(href, true));\r\n }, [currentPath]);\r\n\r\n React.useEffect(() => {\r\n setUseActiveClassName(`${!forceDeactivate && activeState ? 'active' : ''} ${disabled ? 'disabled':''}`);\r\n }, [activeState, disabled, forceDeactivate]);\r\n\r\n React.useEffect(() => {\r\n onActiveStateChanged && onActiveStateChanged(activeState);\r\n }, [activeState]);\r\n\r\n return (\r\n <Wrapper $disabled={disabled} className={disabled ? 'disabled' : ''} onMouseEnter={containerOnMouseEnter} onMouseLeave={containerOnMouseLeave}>\r\n <>\r\n <HyperLink\r\n variant='styleless'\r\n target='_self'\r\n href={forceDeactivate ? 'invalid' : href?.toString() ?? ''}\r\n //disabled={disabled}\r\n className={useActiveClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n tabIndex={disabled ? -1 : 0}\r\n role=\"tab\"\r\n aria-selected={activeState}\r\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\r\n ref={ref}\r\n data-testid={testId}\r\n {...rest}>\r\n <TextContainer>\r\n <TopWrapper>\r\n <span>{requiredLine}</span>\r\n </TopWrapper>\r\n {optionalLine && OptionalLineIcon ? (\r\n <OptionalLineWrapperWithIcon>\r\n {OptionalLineIcon}\r\n {!!optionalLine && <span>{optionalLine}</span>}\r\n </OptionalLineWrapperWithIcon>\r\n ) : optionalLine ? (\r\n <OptionalLineWrapper>\r\n <span>{optionalLine}</span>\r\n </OptionalLineWrapper>\r\n ) : (\r\n <></>\r\n )}\r\n </TextContainer>\r\n <StyledNotification>{showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}</StyledNotification>\r\n {endLineIcon && <EndLineIcon>{endLineIcon}</EndLineIcon>}\r\n </HyperLink>\r\n {children}\r\n </>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default TabLink;\r\n"],"mappings":"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","ignoreList":[]}