@laerdal/life-react-components 1.7.0 → 1.8.0-dev.2.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 (397) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +1 -1
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +2 -2
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +1 -1
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +2 -2
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +3 -3
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.js +3 -3
  12. package/dist/Banners/Banner.js.map +1 -1
  13. package/dist/Banners/styles.cjs +1 -1
  14. package/dist/Banners/styles.cjs.map +1 -1
  15. package/dist/Banners/styles.js +1 -1
  16. package/dist/Banners/styles.js.map +1 -1
  17. package/dist/Button/BackButton.cjs +5 -2
  18. package/dist/Button/BackButton.cjs.map +1 -1
  19. package/dist/Button/BackButton.js +5 -3
  20. package/dist/Button/BackButton.js.map +1 -1
  21. package/dist/Button/Button.cjs +11 -25
  22. package/dist/Button/Button.cjs.map +1 -1
  23. package/dist/Button/Button.d.ts +2 -1
  24. package/dist/Button/Button.js +12 -26
  25. package/dist/Button/Button.js.map +1 -1
  26. package/dist/Button/DualFunctionButton.cjs +29 -7
  27. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  28. package/dist/Button/DualFunctionButton.js +27 -6
  29. package/dist/Button/DualFunctionButton.js.map +1 -1
  30. package/dist/Button/Iconbutton.cjs +23 -32
  31. package/dist/Button/Iconbutton.cjs.map +1 -1
  32. package/dist/Button/Iconbutton.d.ts +3 -0
  33. package/dist/Button/Iconbutton.js +20 -32
  34. package/dist/Button/Iconbutton.js.map +1 -1
  35. package/dist/Card/Card.cjs +28 -44
  36. package/dist/Card/Card.cjs.map +1 -1
  37. package/dist/Card/Card.d.ts +3 -11
  38. package/dist/Card/Card.js +26 -44
  39. package/dist/Card/Card.js.map +1 -1
  40. package/dist/Card/CardBottomSection.cjs +33 -24
  41. package/dist/Card/CardBottomSection.cjs.map +1 -1
  42. package/dist/Card/CardBottomSection.d.ts +11 -2
  43. package/dist/Card/CardBottomSection.js +17 -24
  44. package/dist/Card/CardBottomSection.js.map +1 -1
  45. package/dist/Card/CardMiddleSection.cjs +38 -17
  46. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  47. package/dist/Card/CardMiddleSection.d.ts +16 -3
  48. package/dist/Card/CardMiddleSection.js +30 -17
  49. package/dist/Card/CardMiddleSection.js.map +1 -1
  50. package/dist/Card/CardTopSection.cjs +27 -20
  51. package/dist/Card/CardTopSection.cjs.map +1 -1
  52. package/dist/Card/CardTopSection.d.ts +12 -4
  53. package/dist/Card/CardTopSection.js +17 -20
  54. package/dist/Card/CardTopSection.js.map +1 -1
  55. package/dist/Card/index.cjs +45 -9
  56. package/dist/Card/index.cjs.map +1 -1
  57. package/dist/Card/index.d.ts +3 -1
  58. package/dist/Card/index.js +3 -1
  59. package/dist/Card/index.js.map +1 -1
  60. package/dist/Chips/ActionChip.cjs +4 -4
  61. package/dist/Chips/ActionChip.cjs.map +1 -1
  62. package/dist/Chips/ActionChip.js +4 -4
  63. package/dist/Chips/ActionChip.js.map +1 -1
  64. package/dist/Chips/ChipStyles.cjs +5 -17
  65. package/dist/Chips/ChipStyles.cjs.map +1 -1
  66. package/dist/Chips/ChipStyles.d.ts +0 -3
  67. package/dist/Chips/ChipStyles.js +5 -8
  68. package/dist/Chips/ChipStyles.js.map +1 -1
  69. package/dist/Chips/ChipTypes.d.ts +7 -19
  70. package/dist/Chips/ChoiceChips.cjs +2 -2
  71. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  72. package/dist/Chips/ChoiceChips.js +2 -2
  73. package/dist/Chips/ChoiceChips.js.map +1 -1
  74. package/dist/Chips/FilterChip.cjs +3 -3
  75. package/dist/Chips/FilterChip.cjs.map +1 -1
  76. package/dist/Chips/FilterChip.js +3 -3
  77. package/dist/Chips/FilterChip.js.map +1 -1
  78. package/dist/Chips/InputChip.cjs +21 -12
  79. package/dist/Chips/InputChip.cjs.map +1 -1
  80. package/dist/Chips/InputChip.js +20 -12
  81. package/dist/Chips/InputChip.js.map +1 -1
  82. package/dist/Chips/index.cjs +1 -1
  83. package/dist/Chips/index.cjs.map +1 -1
  84. package/dist/Chips/index.d.ts +1 -1
  85. package/dist/Chips/index.js +1 -1
  86. package/dist/Chips/index.js.map +1 -1
  87. package/dist/ChipsInput/ChipDropdownInput.cjs +401 -0
  88. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -0
  89. package/dist/ChipsInput/ChipDropdownInput.d.ts +22 -0
  90. package/dist/ChipsInput/ChipDropdownInput.js +383 -0
  91. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -0
  92. package/dist/ChipsInput/ChipInput.cjs +141 -0
  93. package/dist/ChipsInput/ChipInput.cjs.map +1 -0
  94. package/dist/{Chips → ChipsInput}/ChipInput.d.ts +1 -4
  95. package/dist/ChipsInput/ChipInput.js +122 -0
  96. package/dist/ChipsInput/ChipInput.js.map +1 -0
  97. package/dist/ChipsInput/ChipInputField.cjs +238 -0
  98. package/dist/ChipsInput/ChipInputField.cjs.map +1 -0
  99. package/dist/ChipsInput/ChipInputField.d.ts +25 -0
  100. package/dist/ChipsInput/ChipInputField.js +198 -0
  101. package/dist/ChipsInput/ChipInputField.js.map +1 -0
  102. package/dist/ChipsInput/ChipInputTypes.cjs +6 -0
  103. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -0
  104. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -0
  105. package/dist/ChipsInput/ChipInputTypes.js +2 -0
  106. package/dist/ChipsInput/ChipInputTypes.js.map +1 -0
  107. package/dist/ChipsInput/index.cjs +19 -0
  108. package/dist/ChipsInput/index.cjs.map +1 -0
  109. package/dist/ChipsInput/index.d.ts +1 -0
  110. package/dist/ChipsInput/index.js +2 -0
  111. package/dist/ChipsInput/index.js.map +1 -0
  112. package/dist/Dropdown/BasicDropdown.cjs +31 -11
  113. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  114. package/dist/Dropdown/BasicDropdown.js +33 -12
  115. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  116. package/dist/Dropdown/CommonStyling.cjs +12 -10
  117. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  118. package/dist/Dropdown/CommonStyling.js +12 -11
  119. package/dist/Dropdown/CommonStyling.js.map +1 -1
  120. package/dist/Dropdown/DropdownButton.cjs +22 -15
  121. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  122. package/dist/Dropdown/DropdownButton.js +21 -15
  123. package/dist/Dropdown/DropdownButton.js.map +1 -1
  124. package/dist/Dropdown/DropdownContent.cjs +167 -132
  125. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  126. package/dist/Dropdown/DropdownContent.d.ts +2 -2
  127. package/dist/Dropdown/DropdownContent.js +164 -133
  128. package/dist/Dropdown/DropdownContent.js.map +1 -1
  129. package/dist/Dropdown/DropdownFilter.cjs +66 -24
  130. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  131. package/dist/Dropdown/DropdownFilter.js +65 -25
  132. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  133. package/dist/Dropdown/index.cjs +0 -8
  134. package/dist/Dropdown/index.cjs.map +1 -1
  135. package/dist/Dropdown/index.d.ts +1 -2
  136. package/dist/Dropdown/index.js +1 -2
  137. package/dist/Dropdown/index.js.map +1 -1
  138. package/dist/Footer/Components/FooterDropdownLinks.cjs +6 -3
  139. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  140. package/dist/Footer/Components/FooterDropdownLinks.js +6 -4
  141. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  142. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +5 -3
  143. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  144. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +5 -4
  145. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  146. package/dist/Footer/Components/FooterTop.cjs +2 -1
  147. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  148. package/dist/Footer/Components/FooterTop.js +3 -2
  149. package/dist/Footer/Components/FooterTop.js.map +1 -1
  150. package/dist/GlobalNavigationBar/Avatar.cjs +5 -7
  151. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
  152. package/dist/GlobalNavigationBar/Avatar.js +5 -8
  153. package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
  154. package/dist/GlobalNavigationBar/Logo.cjs +9 -6
  155. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  156. package/dist/GlobalNavigationBar/Logo.d.ts +2 -1
  157. package/dist/GlobalNavigationBar/Logo.js +9 -7
  158. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  159. package/dist/GlobalNavigationBar/MainMenu.cjs +10 -13
  160. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
  161. package/dist/GlobalNavigationBar/MainMenu.js +9 -13
  162. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
  163. package/dist/GlobalNavigationBar/RightSideNav.cjs +3 -5
  164. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
  165. package/dist/GlobalNavigationBar/RightSideNav.js +2 -5
  166. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
  167. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +4 -0
  168. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -1
  169. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +3 -0
  170. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +1 -1
  171. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
  172. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  173. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  174. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  175. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  176. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  177. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  178. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  179. package/dist/HyperLink/styling.cjs +1 -1
  180. package/dist/HyperLink/styling.cjs.map +1 -1
  181. package/dist/HyperLink/styling.js +1 -1
  182. package/dist/HyperLink/styling.js.map +1 -1
  183. package/dist/Image/ImageWithFallbacks.cjs +3 -1
  184. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  185. package/dist/Image/ImageWithFallbacks.js +3 -1
  186. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  187. package/dist/InputFields/Checkbox.cjs +11 -8
  188. package/dist/InputFields/Checkbox.cjs.map +1 -1
  189. package/dist/InputFields/Checkbox.d.ts +1 -0
  190. package/dist/InputFields/Checkbox.js +12 -9
  191. package/dist/InputFields/Checkbox.js.map +1 -1
  192. package/dist/InputFields/DatepickerField.cjs +4 -4
  193. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  194. package/dist/InputFields/DatepickerField.js +5 -5
  195. package/dist/InputFields/DatepickerField.js.map +1 -1
  196. package/dist/InputFields/NumberField.cjs +276 -0
  197. package/dist/InputFields/NumberField.cjs.map +1 -0
  198. package/dist/InputFields/NumberField.d.ts +21 -0
  199. package/dist/InputFields/NumberField.js +240 -0
  200. package/dist/InputFields/NumberField.js.map +1 -0
  201. package/dist/InputFields/QuickSearch.cjs +119 -96
  202. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  203. package/dist/InputFields/QuickSearch.js +119 -96
  204. package/dist/InputFields/QuickSearch.js.map +1 -1
  205. package/dist/InputFields/RadioButton.cjs +10 -7
  206. package/dist/InputFields/RadioButton.cjs.map +1 -1
  207. package/dist/InputFields/RadioButton.d.ts +1 -0
  208. package/dist/InputFields/RadioButton.js +11 -8
  209. package/dist/InputFields/RadioButton.js.map +1 -1
  210. package/dist/InputFields/SearchBar.cjs +3 -3
  211. package/dist/InputFields/SearchBar.cjs.map +1 -1
  212. package/dist/InputFields/SearchBar.js +3 -3
  213. package/dist/InputFields/SearchBar.js.map +1 -1
  214. package/dist/InputFields/Textarea.cjs +1 -1
  215. package/dist/InputFields/Textarea.cjs.map +1 -1
  216. package/dist/InputFields/Textarea.js +1 -1
  217. package/dist/InputFields/Textarea.js.map +1 -1
  218. package/dist/InputFields/components/SearchBarInput.cjs +6 -8
  219. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  220. package/dist/InputFields/components/SearchBarInput.d.ts +0 -3
  221. package/dist/InputFields/components/SearchBarInput.js +4 -5
  222. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  223. package/dist/InputFields/components/SearchField.cjs +29 -19
  224. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  225. package/dist/InputFields/components/SearchField.d.ts +8 -8
  226. package/dist/InputFields/components/SearchField.js +25 -18
  227. package/dist/InputFields/components/SearchField.js.map +1 -1
  228. package/dist/InputFields/index.cjs +8 -0
  229. package/dist/InputFields/index.cjs.map +1 -1
  230. package/dist/InputFields/index.d.ts +2 -1
  231. package/dist/InputFields/index.js +2 -1
  232. package/dist/InputFields/index.js.map +1 -1
  233. package/dist/InputFields/styling.cjs +6 -8
  234. package/dist/InputFields/styling.cjs.map +1 -1
  235. package/dist/InputFields/styling.js +7 -8
  236. package/dist/InputFields/styling.js.map +1 -1
  237. package/dist/List/ListRow.cjs +5 -5
  238. package/dist/List/ListRow.cjs.map +1 -1
  239. package/dist/List/ListRow.js +8 -5
  240. package/dist/List/ListRow.js.map +1 -1
  241. package/dist/LoadingIndicator/LoadingIndicator.cjs +6 -1
  242. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  243. package/dist/LoadingIndicator/LoadingIndicator.d.ts +2 -1
  244. package/dist/LoadingIndicator/LoadingIndicator.js +6 -1
  245. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  246. package/dist/MenuItem/MenuItem.cjs +6 -2
  247. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  248. package/dist/MenuItem/MenuItem.d.ts +1 -0
  249. package/dist/MenuItem/MenuItem.js +7 -3
  250. package/dist/MenuItem/MenuItem.js.map +1 -1
  251. package/dist/Modals/ModalContainer.cjs +78 -38
  252. package/dist/Modals/ModalContainer.cjs.map +1 -1
  253. package/dist/Modals/ModalContainer.d.ts +15 -8
  254. package/dist/Modals/ModalContainer.js +78 -36
  255. package/dist/Modals/ModalContainer.js.map +1 -1
  256. package/dist/Modals/ModalContent.cjs +0 -1
  257. package/dist/Modals/ModalContent.cjs.map +1 -1
  258. package/dist/Modals/ModalContent.d.ts +0 -1
  259. package/dist/Modals/ModalContent.js +0 -1
  260. package/dist/Modals/ModalContent.js.map +1 -1
  261. package/dist/Modals/ModalDialog.cjs +18 -26
  262. package/dist/Modals/ModalDialog.cjs.map +1 -1
  263. package/dist/Modals/ModalDialog.d.ts +1 -1
  264. package/dist/Modals/ModalDialog.js +19 -26
  265. package/dist/Modals/ModalDialog.js.map +1 -1
  266. package/dist/Modals/ModalStyles.cjs +33 -25
  267. package/dist/Modals/ModalStyles.cjs.map +1 -1
  268. package/dist/Modals/ModalStyles.d.ts +7 -1
  269. package/dist/Modals/ModalStyles.js +26 -24
  270. package/dist/Modals/ModalStyles.js.map +1 -1
  271. package/dist/NavItem/NavItem.cjs +1 -1
  272. package/dist/NavItem/NavItem.cjs.map +1 -1
  273. package/dist/NavItem/NavItem.js +2 -2
  274. package/dist/NavItem/NavItem.js.map +1 -1
  275. package/dist/Paginator/Paginator.cjs +1 -1
  276. package/dist/Paginator/Paginator.cjs.map +1 -1
  277. package/dist/Paginator/Paginator.js +2 -2
  278. package/dist/Paginator/Paginator.js.map +1 -1
  279. package/dist/QuizButton/QuizButton.cjs +4 -8
  280. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  281. package/dist/QuizButton/QuizButton.js +5 -9
  282. package/dist/QuizButton/QuizButton.js.map +1 -1
  283. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  284. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  285. package/dist/SegmentControl/SegmentControl.js +2 -2
  286. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  287. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  288. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  289. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  290. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  291. package/dist/Table/TableStyles.cjs +4 -4
  292. package/dist/Table/TableStyles.cjs.map +1 -1
  293. package/dist/Table/TableStyles.js +5 -5
  294. package/dist/Table/TableStyles.js.map +1 -1
  295. package/dist/Tabs/HorizontalTabs.cjs +5 -1
  296. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  297. package/dist/Tabs/HorizontalTabs.js +6 -3
  298. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  299. package/dist/Tabs/TabLink.cjs +48 -45
  300. package/dist/Tabs/TabLink.cjs.map +1 -1
  301. package/dist/Tabs/TabLink.js +47 -46
  302. package/dist/Tabs/TabLink.js.map +1 -1
  303. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  304. package/dist/Tabs/VerticalTabs.js.map +1 -1
  305. package/dist/Toasters/Toast.cjs +2 -0
  306. package/dist/Toasters/Toast.cjs.map +1 -1
  307. package/dist/Toasters/Toast.js +2 -0
  308. package/dist/Toasters/Toast.js.map +1 -1
  309. package/dist/Toggles/ToggleButton.cjs +81 -0
  310. package/dist/Toggles/ToggleButton.cjs.map +1 -0
  311. package/dist/Toggles/ToggleButton.d.ts +14 -0
  312. package/dist/Toggles/ToggleButton.js +59 -0
  313. package/dist/Toggles/ToggleButton.js.map +1 -0
  314. package/dist/Toggles/ToggleSwitch.cjs +12 -6
  315. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  316. package/dist/Toggles/ToggleSwitch.js +11 -6
  317. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  318. package/dist/Toggles/TogglerStyles.cjs +2 -2
  319. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  320. package/dist/Toggles/TogglerStyles.js +3 -3
  321. package/dist/Toggles/TogglerStyles.js.map +1 -1
  322. package/dist/Toggles/index.cjs +8 -0
  323. package/dist/Toggles/index.cjs.map +1 -1
  324. package/dist/Toggles/index.d.ts +2 -1
  325. package/dist/Toggles/index.js +2 -1
  326. package/dist/Toggles/index.js.map +1 -1
  327. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  328. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  329. package/dist/Tooltips/TooltipStyles.js +3 -3
  330. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  331. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  332. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  333. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  334. package/dist/Tooltips/TooltipWrapper.cjs +2 -0
  335. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  336. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  337. package/dist/Tooltips/TooltipWrapper.js +2 -0
  338. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  339. package/dist/common/{HoverWithin.cjs → ActionWithin.cjs} +9 -5
  340. package/dist/common/ActionWithin.cjs.map +1 -0
  341. package/dist/common/{HoverWithin.d.ts → ActionWithin.d.ts} +0 -0
  342. package/dist/common/{HoverWithin.js → ActionWithin.js} +9 -5
  343. package/dist/common/ActionWithin.js.map +1 -0
  344. package/dist/common/ClickOutside.cjs +39 -0
  345. package/dist/common/ClickOutside.cjs.map +1 -0
  346. package/dist/common/ClickOutside.d.ts +1 -0
  347. package/dist/common/ClickOutside.js +25 -0
  348. package/dist/common/ClickOutside.js.map +1 -0
  349. package/dist/common/FocusOutside.cjs +39 -0
  350. package/dist/common/FocusOutside.cjs.map +1 -0
  351. package/dist/common/FocusOutside.d.ts +1 -0
  352. package/dist/common/FocusOutside.js +25 -0
  353. package/dist/common/FocusOutside.js.map +1 -0
  354. package/dist/common/FocusVisible.cjs +67 -19
  355. package/dist/common/FocusVisible.cjs.map +1 -1
  356. package/dist/common/FocusVisible.js +66 -19
  357. package/dist/common/FocusVisible.js.map +1 -1
  358. package/dist/common/InputStyling.cjs +1 -1
  359. package/dist/common/InputStyling.cjs.map +1 -1
  360. package/dist/common/InputStyling.js +2 -2
  361. package/dist/common/InputStyling.js.map +1 -1
  362. package/dist/common/index.cjs +18 -2
  363. package/dist/common/index.cjs.map +1 -1
  364. package/dist/common/index.d.ts +3 -1
  365. package/dist/common/index.js +3 -1
  366. package/dist/common/index.js.map +1 -1
  367. package/dist/icons/index.cjs +1 -1
  368. package/dist/icons/index.cjs.map +1 -1
  369. package/dist/icons/index.js +1 -1
  370. package/dist/icons/index.js.map +1 -1
  371. package/dist/index.cjs +14 -0
  372. package/dist/index.cjs.map +1 -1
  373. package/dist/index.d.ts +1 -0
  374. package/dist/index.js +1 -0
  375. package/dist/index.js.map +1 -1
  376. package/dist/styles/focus-styles.cjs +22 -0
  377. package/dist/styles/focus-styles.cjs.map +1 -0
  378. package/dist/styles/focus-styles.d.ts +2 -0
  379. package/dist/styles/focus-styles.js +9 -0
  380. package/dist/styles/focus-styles.js.map +1 -0
  381. package/dist/styles/index.cjs +60 -0
  382. package/dist/styles/index.cjs.map +1 -1
  383. package/dist/styles/index.d.ts +1 -0
  384. package/dist/styles/index.js +1 -0
  385. package/dist/styles/index.js.map +1 -1
  386. package/package.json +1 -1
  387. package/dist/Chips/ChipInput.cjs +0 -199
  388. package/dist/Chips/ChipInput.cjs.map +0 -1
  389. package/dist/Chips/ChipInput.js +0 -182
  390. package/dist/Chips/ChipInput.js.map +0 -1
  391. package/dist/Dropdown/ChipDropdownInput.cjs +0 -431
  392. package/dist/Dropdown/ChipDropdownInput.cjs.map +0 -1
  393. package/dist/Dropdown/ChipDropdownInput.d.ts +0 -24
  394. package/dist/Dropdown/ChipDropdownInput.js +0 -418
  395. package/dist/Dropdown/ChipDropdownInput.js.map +0 -1
  396. package/dist/common/HoverWithin.cjs.map +0 -1
  397. package/dist/common/HoverWithin.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/HorizontalTabs.tsx"],"names":["HorizontalTabContainer","styled","div","TabSideFill","COLORS","neutral_100","white","TabButton","button","neutral_800","neutral_300","Z_INDEXES","hover","primary_20","primary_700","active","focus","primary_800","focus_25","primary_500","primary_100","Size","XSmall","ComponentTextStyle","Regular","Small","Medium","Large","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","doTabChange","to","document","activeElement","HTMLElement","blur","map","tab","index","width","length","selected","disabled","value"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport {COLORS, ComponentTextStyle} from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &.disabled {\n &:hover, &:focus {\n cursor: not-allowed;\n \n div {\n color: ${COLORS.neutral_300};\n box-shadow: none !important;\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &.selected{\n z-index: ${Z_INDEXES.active};\n }\n \n &:focus {\n z-index: ${Z_INDEXES.focus};\n outline: none;\n \n div {\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n \n &:focus {\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n \n &:hover, &:focus {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps {\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab {\n value: string;\n selected: boolean;\n to: string;\n disabled?: boolean;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n return (\n <HorizontalTabContainer>\n <TabSideFill className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => (\n <TabButton\n key={`${tab}_${index}`}\n style={fullWidth ? { width: `${100 / tabs.length}%` } : {}}\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}\n onClick={() => !tab.disabled && doTabChange(tab.to)}>\n <div className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>\n {tab.value}\n </div>\n </TabButton>\n ))}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"file":"HorizontalTabs.cjs"}
1
+ {"version":3,"sources":["../../src/Tabs/HorizontalTabs.tsx"],"names":["HorizontalTabContainer","styled","div","TabSideFill","COLORS","neutral_100","white","TabButton","button","neutral_800","Z_INDEXES","hover","primary_20","primary_700","active","focusStyles","primary_500","primary_100","primary_800","focus_25","focus","neutral_300","Size","XSmall","ComponentTextStyle","Regular","Small","Medium","Large","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","doTabChange","to","document","activeElement","HTMLElement","blur","map","tab","index","disabled","defaultOnMouseDownHandler","width","length","selected","value"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &.selected{\n z-index: ${Z_INDEXES.active};\n }\n \n &:focus {\n ${focusStyles}\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n \n &:focus {\n ${focusStyles}\n }\n \n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n \n &:hover {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps {\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab {\n value: string;\n selected: boolean;\n to: string;\n disabled?: boolean;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n return (\n <HorizontalTabContainer>\n <TabSideFill className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => (\n <TabButton\n key={`${tab}_${index}`}\n tabIndex={tab.disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n style={fullWidth ? { width: `${100 / tabs.length}%` } : {}}\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}\n onClick={() => !tab.disabled && doTabChange(tab.to)}>\n <div className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>\n {tab.value}\n </div>\n </TabButton>\n ))}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"file":"HorizontalTabs.cjs"}
@@ -12,20 +12,21 @@ import { Size } from '../types';
12
12
  * Import custom styles.
13
13
  */
14
14
 
15
- import { COLORS, ComponentTextStyle } from '../styles';
15
+ import { COLORS, ComponentTextStyle, focusStyles } from '../styles';
16
16
  /**
17
17
  * Import third-party libraries.
18
18
  */
19
19
 
20
20
  import styled from 'styled-components';
21
21
  import { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';
22
- import { Z_INDEXES } from '../styles/z-indexes'; // Add custom styles
22
+ import { Z_INDEXES } from '../styles/z-indexes';
23
+ import { defaultOnMouseDownHandler } from '../common'; // Add custom styles
23
24
 
24
25
  import { jsx as _jsx } from "react/jsx-runtime";
25
26
  import { jsxs as _jsxs } from "react/jsx-runtime";
26
27
  var HorizontalTabContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n"])));
27
28
  var TabSideFill = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n border-bottom: 1px solid ", ";\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ", ";\n }\n"])), COLORS.neutral_100, COLORS.white);
28
- var TabButton = styled.button(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &.disabled {\n &:hover, &:focus {\n cursor: not-allowed;\n \n div {\n color: ", ";\n box-shadow: none !important;\n background-color: transparent;\n color: ", ";\n }\n }\n }\n\n &:hover {\n z-index: ", ";\n div {\n background: ", ";\n color: ", ";\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n }\n &.selected{\n z-index: ", ";\n }\n \n &:focus {\n z-index: ", ";\n outline: none;\n \n div {\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ", ";\n color: ", ";\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n \n &.selected {\n background-color: ", ";\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n \n &:focus {\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n \n &:active {\n background: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n \n &.disabled {\n color: ", ";\n cursor: not-allowed;\n box-shadow: none !important;\n \n &:hover, &:focus {\n background-color: transparent;\n color: ", ";\n }\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-", " {\n ", "\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-", " {\n ", "\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n"])), COLORS.neutral_800, COLORS.neutral_300, COLORS.neutral_300, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, Z_INDEXES.active, Z_INDEXES.focus, COLORS.primary_800, COLORS.focus_25, COLORS.focus, COLORS.primary_800, COLORS.neutral_100, COLORS.neutral_100, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, COLORS.white, COLORS.primary_500, COLORS.neutral_100, COLORS.neutral_100, COLORS.primary_800, COLORS.focus_25, COLORS.focus, COLORS.primary_800, COLORS.neutral_100, COLORS.neutral_100, COLORS.primary_100, COLORS.primary_800, COLORS.focus_25, COLORS.focus, COLORS.primary_800, COLORS.neutral_100, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_300, Size.XSmall, ComponentXSStyling(ComponentTextStyle.Regular, null), Size.Small, ComponentSStyling(ComponentTextStyle.Regular, null), Size.Medium, ComponentMStyling(ComponentTextStyle.Regular, null), Size.Large, ComponentLStyling(ComponentTextStyle.Regular, null)); // Add component-specific types
29
+ var TabButton = styled.button(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ", ";\n div {\n background: ", ";\n color: ", ";\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n }\n &.selected{\n z-index: ", ";\n }\n \n &:focus {\n ", "\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ", ";\n color: ", ";\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n \n &.selected {\n background-color: ", ";\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n \n &:focus {\n ", "\n }\n \n &:active {\n background: ", ";\n color: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ", ";\n border-bottom: 0px;\n border-left: 1px solid ", ";\n border-right: 1px solid ", ";\n }\n }\n \n &.disabled {\n color: ", ";\n cursor: not-allowed;\n box-shadow: none !important;\n \n &:hover {\n background-color: transparent;\n color: ", ";\n }\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-", " {\n ", "\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-", " {\n ", "\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-", " {\n ", "\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n"])), COLORS.neutral_800, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, Z_INDEXES.active, focusStyles, COLORS.primary_20, COLORS.primary_700, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_100, COLORS.white, COLORS.primary_500, COLORS.neutral_100, COLORS.neutral_100, focusStyles, COLORS.primary_100, COLORS.primary_800, COLORS.focus_25, COLORS.focus, COLORS.primary_800, COLORS.neutral_100, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_300, Size.XSmall, ComponentXSStyling(ComponentTextStyle.Regular, null), Size.Small, ComponentSStyling(ComponentTextStyle.Regular, null), Size.Medium, ComponentMStyling(ComponentTextStyle.Regular, null), Size.Large, ComponentLStyling(ComponentTextStyle.Regular, null)); // Add component-specific types
29
30
 
30
31
  var HorizontalTabs = function HorizontalTabs(_ref) {
31
32
  var size = _ref.size,
@@ -52,6 +53,8 @@ var HorizontalTabs = function HorizontalTabs(_ref) {
52
53
  className: "".concat(sideFill ? 'fill' : '')
53
54
  }), tabs.map(function (tab, index) {
54
55
  return /*#__PURE__*/_jsx(TabButton, {
56
+ tabIndex: tab.disabled ? -1 : 0,
57
+ onMouseDown: defaultOnMouseDownHandler,
55
58
  style: fullWidth ? {
56
59
  width: "".concat(100 / tabs.length, "%")
57
60
  } : {},
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/HorizontalTabs.tsx"],"names":["React","Size","COLORS","ComponentTextStyle","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","Z_INDEXES","HorizontalTabContainer","div","TabSideFill","neutral_100","white","TabButton","button","neutral_800","neutral_300","hover","primary_20","primary_700","active","focus","primary_800","focus_25","primary_500","primary_100","XSmall","Regular","Small","Medium","Large","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","doTabChange","to","document","activeElement","HTMLElement","blur","map","tab","index","width","length","selected","disabled","value"],"mappings":";;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,IAAT,QAAqB,UAArB;AAEA;AACA;AACA;;AACA,SAAQC,MAAR,EAAgBC,kBAAhB,QAAyC,WAAzC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,iBAAR,EAA2BC,iBAA3B,EAA8CC,iBAA9C,EAAiEC,kBAAjE,QAA0F,sBAA1F;AACA,SAAQC,SAAR,QAAwB,qBAAxB,C,CAEA;;;;AACA,IAAMC,sBAAsB,GAAGN,MAAM,CAACO,GAAV,wJAA5B;AAOA,IAAMC,WAAW,GAAGR,MAAM,CAACO,GAAV,2MAEYT,MAAM,CAACW,WAFnB,EAOCX,MAAM,CAACY,KAPR,CAAjB;AAWA,IAAMC,SAAS,GAAGX,MAAM,CAACY,MAAV,+3FACJd,MAAM,CAACe,WADH,EAYEf,MAAM,CAACgB,WAZT,EAeEhB,MAAM,CAACgB,WAfT,EAqBAT,SAAS,CAACU,KArBV,EAuBKjB,MAAM,CAACkB,UAvBZ,EAwBAlB,MAAM,CAACmB,WAxBP,EA2BiBnB,MAAM,CAACmB,WA3BxB,EA6BkBnB,MAAM,CAACW,WA7BzB,EA8BmBX,MAAM,CAACW,WA9B1B,EAmCAJ,SAAS,CAACa,MAnCV,EAuCAb,SAAS,CAACc,KAvCV,EA2CArB,MAAM,CAACsB,WA3CP,EA4CkBtB,MAAM,CAACuB,QA5CzB,EA4CkDvB,MAAM,CAACqB,KA5CzD,EAgDiBrB,MAAM,CAACsB,WAhDxB,EAkDkBtB,MAAM,CAACW,WAlDzB,EAmDmBX,MAAM,CAACW,WAnD1B,EA8DKX,MAAM,CAACkB,UA9DZ,EA+DAlB,MAAM,CAACmB,WA/DP,EAkEiBnB,MAAM,CAACmB,WAlExB,EAoEkBnB,MAAM,CAACW,WApEzB,EAqEmBX,MAAM,CAACW,WArE1B,EA0EWX,MAAM,CAACY,KA1ElB,EA2EeZ,MAAM,CAACwB,WA3EtB,EA6EgBxB,MAAM,CAACW,WA7EvB,EA8EiBX,MAAM,CAACW,WA9ExB,EAkFAX,MAAM,CAACsB,WAlFP,EAmFkBtB,MAAM,CAACuB,QAnFzB,EAmFkDvB,MAAM,CAACqB,KAnFzD,EAuFiBrB,MAAM,CAACsB,WAvFxB,EAyFkBtB,MAAM,CAACW,WAzFzB,EA0FmBX,MAAM,CAACW,WA1F1B,EA+FKX,MAAM,CAACyB,WA/FZ,EAgGAzB,MAAM,CAACsB,WAhGP,EAiGkBtB,MAAM,CAACuB,QAjGzB,EAiGkDvB,MAAM,CAACqB,KAjGzD,EAqGiBrB,MAAM,CAACsB,WArGxB,EAuGkBtB,MAAM,CAACW,WAvGzB,EAwGmBX,MAAM,CAACW,WAxG1B,EA6GAX,MAAM,CAACgB,WA7GP,EAmHEhB,MAAM,CAACgB,WAnHT,EAuHFjB,IAAI,CAAC2B,MAvHH,EAwHPpB,kBAAkB,CAACL,kBAAkB,CAAC0B,OAApB,EAA6B,IAA7B,CAxHX,EA8HF5B,IAAI,CAAC6B,KA9HH,EA+HPvB,iBAAiB,CAACJ,kBAAkB,CAAC0B,OAApB,EAA6B,IAA7B,CA/HV,EAqIF5B,IAAI,CAAC8B,MArIH,EAsIPzB,iBAAiB,CAACH,kBAAkB,CAAC0B,OAApB,EAA6B,IAA7B,CAtIV,EA4IF5B,IAAI,CAAC+B,KA5IH,EA6IP3B,iBAAiB,CAACF,kBAAkB,CAAC0B,OAApB,EAA6B,IAA7B,CA7IV,CAAf,C,CAqJA;;AAgBA,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,OAA0E;AAAA,MAAvEC,IAAuE,QAAvEA,IAAuE;AAAA,MAAjEC,IAAiE,QAAjEA,IAAiE;AAAA,MAA3DC,QAA2D,QAA3DA,QAA2D;AAAA,MAAjDC,SAAiD,QAAjDA,SAAiD;AAAA,MAAtCC,WAAsC,QAAtCA,WAAsC;;AAC/F;AACF;AACA;AACA;AACE,MAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,EAAD,EAAsB;AACxC;AACAF,IAAAA,WAAW,CAACE,EAAD,CAAX,CAFwC,CAIxC;;AACA,QAAIC,QAAQ,CAACC,aAAT,YAAkCC,WAAtC,EAAmD;AACjDF,MAAAA,QAAQ,CAACC,aAAT,CAAwBE,IAAxB;AACD;AACF,GARD;;AAUA,sBACE,MAAC,sBAAD;AAAA,4BACE,KAAC,WAAD;AAAa,MAAA,SAAS,YAAKR,QAAQ,GAAG,MAAH,GAAY,EAAzB;AAAtB,MADF,EAEGD,IAAI,CAACU,GAAL,CAAS,UAACC,GAAD,EAAqBC,KAArB;AAAA,0BACR,KAAC,SAAD;AAEE,QAAA,KAAK,EAAEV,SAAS,GAAG;AAAEW,UAAAA,KAAK,YAAK,MAAMb,IAAI,CAACc,MAAhB;AAAP,SAAH,GAAwC,EAF1D;AAGE,QAAA,SAAS,iBAAUf,IAAV,cAAkBY,GAAG,CAACI,QAAJ,GAAe,UAAf,GAA4B,EAA9C,cAAoDJ,GAAG,CAACK,QAAJ,GAAe,UAAf,GAA4B,EAAhF,CAHX;AAIE,QAAA,OAAO,EAAE;AAAA,iBAAM,CAACL,GAAG,CAACK,QAAL,IAAiBZ,WAAW,CAACO,GAAG,CAACN,EAAL,CAAlC;AAAA,SAJX;AAAA,+BAKE;AAAK,UAAA,SAAS,iBAAUN,IAAV,cAAkBY,GAAG,CAACI,QAAJ,GAAe,UAAf,GAA4B,EAA9C,cAAoDJ,GAAG,CAACK,QAAJ,GAAe,UAAf,GAA4B,EAAhF,CAAd;AAAA,oBACGL,GAAG,CAACM;AADP;AALF,mBACUN,GADV,cACiBC,KADjB,EADQ;AAAA,KAAT,CAFH;AAAA,IADF;AAgBD,CA/BD;;;AAbEZ,EAAAA,I;AAOAiB,IAAAA,K;AACAF,IAAAA,Q;AACAV,IAAAA,E;AACAW,IAAAA,Q;;AATAf,EAAAA,Q;AACAC,EAAAA,S;AACAC,EAAAA,W;;AA2CF,eAAeL,cAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport {COLORS, ComponentTextStyle} from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &.disabled {\n &:hover, &:focus {\n cursor: not-allowed;\n \n div {\n color: ${COLORS.neutral_300};\n box-shadow: none !important;\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &.selected{\n z-index: ${Z_INDEXES.active};\n }\n \n &:focus {\n z-index: ${Z_INDEXES.focus};\n outline: none;\n \n div {\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n\n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n \n &:focus {\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n \n &:hover, &:focus {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps {\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab {\n value: string;\n selected: boolean;\n to: string;\n disabled?: boolean;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n return (\n <HorizontalTabContainer>\n <TabSideFill className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => (\n <TabButton\n key={`${tab}_${index}`}\n style={fullWidth ? { width: `${100 / tabs.length}%` } : {}}\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}\n onClick={() => !tab.disabled && doTabChange(tab.to)}>\n <div className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>\n {tab.value}\n </div>\n </TabButton>\n ))}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"file":"HorizontalTabs.js"}
1
+ {"version":3,"sources":["../../src/Tabs/HorizontalTabs.tsx"],"names":["React","Size","COLORS","ComponentTextStyle","focusStyles","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","Z_INDEXES","defaultOnMouseDownHandler","HorizontalTabContainer","div","TabSideFill","neutral_100","white","TabButton","button","neutral_800","hover","primary_20","primary_700","active","primary_500","primary_100","primary_800","focus_25","focus","neutral_300","XSmall","Regular","Small","Medium","Large","HorizontalTabs","size","tabs","sideFill","fullWidth","onTabChange","doTabChange","to","document","activeElement","HTMLElement","blur","map","tab","index","disabled","width","length","selected","value"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport { Size } from '../types';\n\n/**\n * Import custom styles.\n */\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\n// Add custom styles\nconst HorizontalTabContainer = styled.div`\n width: 100%;\n display: flex;\n position: relative;\n flex-direction: row;\n`;\n\nconst TabSideFill = styled.div`\n position: absolute;\n border-bottom: 1px solid ${COLORS.neutral_100};\n bottom: 0;\n width: 100%;\n\n &.fill {\n background: ${COLORS.white};\n }\n`;\n\nconst TabButton = styled.button`\n color: ${COLORS.neutral_800};\n border: none;\n background-color: transparent;\n cursor: pointer;\n padding: 0px;\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n div {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n }\n &.selected{\n z-index: ${Z_INDEXES.active};\n }\n \n &:focus {\n ${focusStyles}\n }\n\n div {\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:hover {\n background: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_700};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.selected {\n background-color: ${COLORS.white};\n border-top: 2px solid ${COLORS.primary_500};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n \n &:focus {\n ${focusStyles}\n }\n \n &:active {\n background: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n \n &.selected {\n border-top: 2px solid ${COLORS.primary_800};\n border-bottom: 0px;\n border-left: 1px solid ${COLORS.neutral_100};\n border-right: 1px solid ${COLORS.neutral_100};\n }\n }\n \n &.disabled {\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n box-shadow: none !important;\n \n &:hover {\n background-color: transparent;\n color: ${COLORS.neutral_300};\n }\n }\n\n &.size-${Size.XSmall} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-${Size.Small} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-${Size.Medium} {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-${Size.Large} {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n height: 56px;\n min-width: 144px;\n padding: 0px 16px;\n }\n }\n`;\n\n// Add component-specific types\ninterface HorizontalTabProps {\n size: Size;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\nexport interface HorizontalTab {\n value: string;\n selected: boolean;\n to: string;\n disabled?: boolean;\n}\n\nconst HorizontalTabs = ({ size, tabs, sideFill, fullWidth, onTabChange }: HorizontalTabProps) => {\n /**\n * Informs parent component of tab change and clears focus.\n * @param to - A link to which user should be navigated.\n */\n const doTabChange = (to: string): void => {\n // Let's inform parent component\n onTabChange(to);\n\n // Let's clear focus\n if (document.activeElement instanceof HTMLElement) {\n document.activeElement!.blur();\n }\n };\n\n return (\n <HorizontalTabContainer>\n <TabSideFill className={`${sideFill ? 'fill' : ''}`} />\n {tabs.map((tab: HorizontalTab, index: number) => (\n <TabButton\n key={`${tab}_${index}`}\n tabIndex={tab.disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n style={fullWidth ? { width: `${100 / tabs.length}%` } : {}}\n className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}\n onClick={() => !tab.disabled && doTabChange(tab.to)}>\n <div className={`size-${size} ${tab.selected ? 'selected' : ''} ${tab.disabled ? 'disabled' : ''}`}>\n {tab.value}\n </div>\n </TabButton>\n ))}\n </HorizontalTabContainer>\n );\n};\n\nexport default HorizontalTabs;\n"],"file":"HorizontalTabs.js"}
@@ -27,23 +27,25 @@ var _styles = require("../styles");
27
27
 
28
28
  var _zIndexes = require("../styles/z-indexes");
29
29
 
30
+ var _common = require("../common");
31
+
30
32
  var _jsxRuntime = require("react/jsx-runtime");
31
33
 
32
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
33
35
 
34
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
37
 
36
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
39
 
38
- var StyledTabLink = (0, _styledComponents.default)(_reactRouterDom.NavLink)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ", ";\n\n background-color: ", ";\n cursor: ", ";\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ", ";\n background-color: ", ";\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.active {\n z-index: ", ";\n background-color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n }\n\n &.active:focus {\n background-color: ", ";\n }\n\n &:hover {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n box-shadow: none;\n background-color: ", ";\n color: ", ";\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n &::after {\n background-color: ", ";\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ", ";\n\n span {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n"])), _styles.COLORS.neutral_600, function (props) {
40
+ var StyledTabLink = (0, _styledComponents.default)(_reactRouterDom.NavLink)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ", ";\n\n background-color: ", ";\n cursor: ", ";\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ", "\n }\n\n &.active {\n z-index: ", ";\n background-color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n }\n\n &:hover {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.disabled {\n background-color: ", ";\n color: ", ";\n\n span {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n"])), _styles.COLORS.neutral_600, function (props) {
39
41
  return props.disabled ? _styles.COLORS.neutral_100 : 'transparent';
40
42
  }, function (props) {
41
43
  return props.disabled ? 'not-allowed' : 'pointer';
42
- }, _zIndexes.Z_INDEXES.focus, _styles.COLORS.white, _styles.COLORS.white, _zIndexes.Z_INDEXES.active, _styles.COLORS.neutral_20, _styles.COLORS.primary_20, _styles.COLORS.white, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_20, _styles.COLORS.primary_600, _zIndexes.Z_INDEXES.active, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.primary_500, _styles.COLORS.primary_600, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.neutral_300, _styles.COLORS.white);
44
+ }, _styles.focusStyles, _zIndexes.Z_INDEXES.active, _styles.COLORS.neutral_20, _styles.COLORS.primary_20, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_20, _styles.COLORS.primary_600, _zIndexes.Z_INDEXES.active, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.primary_500, _styles.COLORS.primary_600, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300);
43
45
 
44
- var OptionalLineWrapperWithIcon = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n"])));
46
+ var OptionalLineWrapperWithIcon = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n"])));
45
47
 
46
- var TopWrapper = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n"])));
48
+ var TopWrapper = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n"])));
47
49
 
48
50
  var TextContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n margin: auto 0 auto 16px !important;\n"])));
49
51
 
@@ -51,6 +53,8 @@ var StyledNotification = _styledComponents.default.div(_templateObject5 || (_tem
51
53
 
52
54
  var OptionalLineWrapper = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 12px;\n"])));
53
55
 
56
+ var Wrapper = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n &.disabled {\n cursor: not-allowed;\n\n ", " {\n pointer-events: none;\n }\n }\n"])), StyledTabLink);
57
+
54
58
  var TabLink = function TabLink(_ref) {
55
59
  var to = _ref.to,
56
60
  _ref$disabled = _ref.disabled,
@@ -70,47 +74,46 @@ var TabLink = function TabLink(_ref) {
70
74
  variant = _ref$variant === void 0 ? 'critical' : _ref$variant;
71
75
  var location = (0, _reactRouterDom.useLocation)();
72
76
  var ref = React.useRef(null);
73
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledTabLink, {
74
- to: to.toString(),
75
- activeClassName: "active",
76
- disabled: disabled,
77
- exact: exact,
78
- role: "tab",
79
- "aria-selected": to === location.pathname,
80
- onClick: function onClick() {
81
- var _ref$current;
82
-
83
- ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.blur();
84
-
85
- if (onLinkClick) {
86
- onLinkClick();
87
- }
88
- },
89
- ref: ref,
90
- "data-testid": testId,
91
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(TextContainer, {
92
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TopWrapper, {
93
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
94
- children: requiredLine
95
- })
96
- }), optionalLine && OptionalLineIcon ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(OptionalLineWrapperWithIcon, {
97
- children: [OptionalLineIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionalLineIcon, {
98
- size: "16px"
99
- }), optionalLine !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
100
- children: optionalLine
101
- })]
102
- }) : optionalLine ? /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionalLineWrapper, {
103
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
104
- children: optionalLine
77
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
78
+ className: disabled ? 'disabled' : '',
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledTabLink, {
80
+ to: to.toString(),
81
+ className: disabled ? 'disabled' : '',
82
+ activeClassName: "active",
83
+ onMouseDown: _common.defaultOnMouseDownHandler,
84
+ exact: exact,
85
+ tabIndex: disabled ? -1 : 0,
86
+ role: "tab",
87
+ "aria-selected": to === location.pathname,
88
+ onClick: function onClick() {
89
+ return !disabled && onLinkClick && onLinkClick();
90
+ },
91
+ ref: ref,
92
+ "data-testid": testId,
93
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(TextContainer, {
94
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TopWrapper, {
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
96
+ children: requiredLine
97
+ })
98
+ }), optionalLine && OptionalLineIcon ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(OptionalLineWrapperWithIcon, {
99
+ children: [OptionalLineIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionalLineIcon, {
100
+ size: "16px"
101
+ }), !!optionalLine && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
102
+ children: optionalLine
103
+ })]
104
+ }) : optionalLine ? /*#__PURE__*/(0, _jsxRuntime.jsx)(OptionalLineWrapper, {
105
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
106
+ children: optionalLine
107
+ })
108
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {})]
109
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledNotification, {
110
+ children: showNotificationDot && /*#__PURE__*/(0, _jsxRuntime.jsx)(_NotificationDot.NotificationDot, {
111
+ testId: "NotificationDot",
112
+ size: size,
113
+ variant: variant
105
114
  })
106
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {})]
107
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledNotification, {
108
- children: showNotificationDot && /*#__PURE__*/(0, _jsxRuntime.jsx)(_NotificationDot.NotificationDot, {
109
- testId: "NotificationDot",
110
- size: size,
111
- variant: variant
112
- })
113
- })]
115
+ })]
116
+ })
114
117
  });
115
118
  };
116
119
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["StyledTabLink","NavLink","COLORS","neutral_600","props","disabled","neutral_100","Z_INDEXES","focus","white","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","neutral_300","OptionalLineWrapperWithIcon","styled","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Size","Small","variant","location","ref","React","useRef","toString","pathname","current","blur","undefined"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NavLink, NavLinkProps, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { NotificationDot } from '../NotificationDot';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\nimport { COLORS } from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ${Z_INDEXES.focus};\n background-color: ${COLORS.white};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &.active:focus {\n background-color: ${COLORS.white};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst TabLink = ({ to, disabled = false, exact = false, requiredLine, optionalLine, OptionalLineIcon, onLinkClick, testId, showNotificationDot = false, size = Size.Small, variant = 'critical' }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <StyledTabLink\n to={to.toString()}\n activeClassName=\"active\"\n disabled={disabled}\n exact={exact}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => {\n ref?.current?.blur();\n if (onLinkClick) {\n onLinkClick();\n }\n }}\n ref={ref}\n data-testid={testId}>\n <TextContainer> \n <TopWrapper>\n <span>{requiredLine}</span> \n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\" />}\n {optionalLine !== undefined && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}\n </StyledNotification>\n </StyledTabLink>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.cjs"}
1
+ {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["StyledTabLink","NavLink","COLORS","neutral_600","props","disabled","neutral_100","focusStyles","Z_INDEXES","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","styled","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Size","Small","variant","location","ref","React","useRef","toString","defaultOnMouseDownHandler","pathname"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => !disabled && onLinkClick && onLinkClick()}\n ref={ref}\n data-testid={testId}>\n <TextContainer>\n <TopWrapper>\n <span>{requiredLine}</span>\n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\"/>}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.cjs"}
@@ -1,28 +1,30 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
2
  import _pt from "prop-types";
3
3
 
4
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
5
5
 
6
6
  import * as React from 'react';
7
7
  import { NavLink, useLocation } from 'react-router-dom';
8
8
  import styled from 'styled-components';
9
9
  import { NotificationDot } from '../NotificationDot';
10
10
  import { Size } from '../types';
11
- import { COLORS } from '../styles';
11
+ import { COLORS, focusStyles } from '../styles';
12
12
  import { Z_INDEXES } from '../styles/z-indexes';
13
+ import { defaultOnMouseDownHandler } from '../common';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
16
- var StyledTabLink = styled(NavLink)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ", ";\n\n background-color: ", ";\n cursor: ", ";\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ", ";\n background-color: ", ";\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.active {\n z-index: ", ";\n background-color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n }\n\n &.active:focus {\n background-color: ", ";\n }\n\n &:hover {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n box-shadow: none;\n background-color: ", ";\n color: ", ";\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n &::after {\n background-color: ", ";\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ", ";\n\n span {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n"])), COLORS.neutral_600, function (props) {
17
+ var StyledTabLink = styled(NavLink)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ", ";\n\n background-color: ", ";\n cursor: ", ";\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ", "\n }\n\n &.active {\n z-index: ", ";\n background-color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n }\n\n &:hover {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.disabled {\n background-color: ", ";\n color: ", ";\n\n span {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n"])), COLORS.neutral_600, function (props) {
17
18
  return props.disabled ? COLORS.neutral_100 : 'transparent';
18
19
  }, function (props) {
19
20
  return props.disabled ? 'not-allowed' : 'pointer';
20
- }, Z_INDEXES.focus, COLORS.white, COLORS.white, Z_INDEXES.active, COLORS.neutral_20, COLORS.primary_20, COLORS.white, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_600, Z_INDEXES.active, COLORS.primary_100, COLORS.primary_800, COLORS.primary_500, COLORS.primary_600, COLORS.primary_100, COLORS.primary_800, COLORS.white, COLORS.neutral_300, COLORS.white);
21
- var OptionalLineWrapperWithIcon = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n"])));
22
- var TopWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n"])));
21
+ }, focusStyles, Z_INDEXES.active, COLORS.neutral_20, COLORS.primary_20, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_600, Z_INDEXES.active, COLORS.primary_100, COLORS.primary_800, COLORS.primary_500, COLORS.primary_600, COLORS.primary_100, COLORS.primary_800, COLORS.white, COLORS.neutral_300, COLORS.neutral_300, COLORS.neutral_300);
22
+ var OptionalLineWrapperWithIcon = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n"])));
23
+ var TopWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n"])));
23
24
  var TextContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n margin: auto 0 auto 16px !important;\n"])));
24
25
  var StyledNotification = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin: 0 15px 0 0 !important;\n"])));
25
26
  var OptionalLineWrapper = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 12px;\n"])));
27
+ var Wrapper = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n &.disabled {\n cursor: not-allowed;\n\n ", " {\n pointer-events: none;\n }\n }\n"])), StyledTabLink);
26
28
 
27
29
  var TabLink = function TabLink(_ref) {
28
30
  var to = _ref.to,
@@ -43,47 +45,46 @@ var TabLink = function TabLink(_ref) {
43
45
  variant = _ref$variant === void 0 ? 'critical' : _ref$variant;
44
46
  var location = useLocation();
45
47
  var ref = React.useRef(null);
46
- return /*#__PURE__*/_jsxs(StyledTabLink, {
47
- to: to.toString(),
48
- activeClassName: "active",
49
- disabled: disabled,
50
- exact: exact,
51
- role: "tab",
52
- "aria-selected": to === location.pathname,
53
- onClick: function onClick() {
54
- var _ref$current;
55
-
56
- ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.blur();
57
-
58
- if (onLinkClick) {
59
- onLinkClick();
60
- }
61
- },
62
- ref: ref,
63
- "data-testid": testId,
64
- children: [/*#__PURE__*/_jsxs(TextContainer, {
65
- children: [/*#__PURE__*/_jsx(TopWrapper, {
66
- children: /*#__PURE__*/_jsx("span", {
67
- children: requiredLine
68
- })
69
- }), optionalLine && OptionalLineIcon ? /*#__PURE__*/_jsxs(OptionalLineWrapperWithIcon, {
70
- children: [OptionalLineIcon && /*#__PURE__*/_jsx(OptionalLineIcon, {
71
- size: "16px"
72
- }), optionalLine !== undefined && /*#__PURE__*/_jsx("span", {
73
- children: optionalLine
74
- })]
75
- }) : optionalLine ? /*#__PURE__*/_jsx(OptionalLineWrapper, {
76
- children: /*#__PURE__*/_jsx("span", {
77
- children: optionalLine
48
+ return /*#__PURE__*/_jsx(Wrapper, {
49
+ className: disabled ? 'disabled' : '',
50
+ children: /*#__PURE__*/_jsxs(StyledTabLink, {
51
+ to: to.toString(),
52
+ className: disabled ? 'disabled' : '',
53
+ activeClassName: "active",
54
+ onMouseDown: defaultOnMouseDownHandler,
55
+ exact: exact,
56
+ tabIndex: disabled ? -1 : 0,
57
+ role: "tab",
58
+ "aria-selected": to === location.pathname,
59
+ onClick: function onClick() {
60
+ return !disabled && onLinkClick && onLinkClick();
61
+ },
62
+ ref: ref,
63
+ "data-testid": testId,
64
+ children: [/*#__PURE__*/_jsxs(TextContainer, {
65
+ children: [/*#__PURE__*/_jsx(TopWrapper, {
66
+ children: /*#__PURE__*/_jsx("span", {
67
+ children: requiredLine
68
+ })
69
+ }), optionalLine && OptionalLineIcon ? /*#__PURE__*/_jsxs(OptionalLineWrapperWithIcon, {
70
+ children: [OptionalLineIcon && /*#__PURE__*/_jsx(OptionalLineIcon, {
71
+ size: "16px"
72
+ }), !!optionalLine && /*#__PURE__*/_jsx("span", {
73
+ children: optionalLine
74
+ })]
75
+ }) : optionalLine ? /*#__PURE__*/_jsx(OptionalLineWrapper, {
76
+ children: /*#__PURE__*/_jsx("span", {
77
+ children: optionalLine
78
+ })
79
+ }) : /*#__PURE__*/_jsx(_Fragment, {})]
80
+ }), /*#__PURE__*/_jsx(StyledNotification, {
81
+ children: showNotificationDot && /*#__PURE__*/_jsx(NotificationDot, {
82
+ testId: "NotificationDot",
83
+ size: size,
84
+ variant: variant
78
85
  })
79
- }) : /*#__PURE__*/_jsx(_Fragment, {})]
80
- }), /*#__PURE__*/_jsx(StyledNotification, {
81
- children: showNotificationDot && /*#__PURE__*/_jsx(NotificationDot, {
82
- testId: "NotificationDot",
83
- size: size,
84
- variant: variant
85
- })
86
- })]
86
+ })]
87
+ })
87
88
  });
88
89
  };
89
90
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","Size","COLORS","Z_INDEXES","StyledTabLink","neutral_600","props","disabled","neutral_100","focus","white","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Small","variant","location","ref","useRef","toString","pathname","current","blur","undefined"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,OAAT,EAAgCC,WAAhC,QAAmD,kBAAnD;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAASC,eAAT,QAAgC,oBAAhC;AAEA,SAASC,IAAT,QAAqB,UAArB;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAAQC,SAAR,QAAwB,qBAAxB;;;;AAmBA,IAAMC,aAAa,GAAGL,MAAM,CAACF,OAAD,CAAT,kkDAORK,MAAM,CAACG,WAPC,EASG,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,QAAN,GAAiBL,MAAM,CAACM,WAAxB,GAAsC,aAAlD;AAAA,CATH,EAUP,UAACF,KAAD;AAAA,SAAYA,KAAK,CAACC,QAAN,GAAiB,aAAjB,GAAiC,SAA7C;AAAA,CAVO,EAqBJJ,SAAS,CAACM,KArBN,EAsBKP,MAAM,CAACQ,KAtBZ,EA2BOR,MAAM,CAACQ,KA3Bd,EAgCJP,SAAS,CAACQ,MAhCN,EAiCKT,MAAM,CAACU,UAjCZ,EAqCKV,MAAM,CAACW,UArCZ,EAyCKX,MAAM,CAACQ,KAzCZ,EA6CJP,SAAS,CAACW,KA7CN,EA8CKZ,MAAM,CAACW,UA9CZ,EA+CNX,MAAM,CAACa,WA/CD,EAmDJZ,SAAS,CAACQ,MAnDN,EAqDKT,MAAM,CAACc,WArDZ,EAsDNd,MAAM,CAACe,WAtDD,EAiEOf,MAAM,CAACgB,WAjEd,EAyEOhB,MAAM,CAACa,WAzEd,EA8EKb,MAAM,CAACc,WA9EZ,EAiFOd,MAAM,CAACe,WAjFd,EAuFKf,MAAM,CAACQ,KAvFZ,EA0FJR,MAAM,CAACiB,WA1FH,EA8FOjB,MAAM,CAACQ,KA9Fd,CAAnB;AAmGA,IAAMU,2BAA2B,GAAGrB,MAAM,CAACsB,GAAV,mNAAjC;AAUA,IAAMC,UAAU,GAAGvB,MAAM,CAACsB,GAAV,kLAAhB;AAQA,IAAME,aAAa,GAAGxB,MAAM,CAACsB,GAAV,iIAAnB;AAKA,IAAMG,kBAAkB,GAAGzB,MAAM,CAACsB,GAAV,2GAAxB;AAIA,IAAMI,mBAAmB,GAAG1B,MAAM,CAACsB,GAAV,6FAAzB;;AAIA,IAAMK,OAAO,GAAG,SAAVA,OAAU,OAAoM;AAAA,MAAjMC,EAAiM,QAAjMA,EAAiM;AAAA,2BAA7LpB,QAA6L;AAAA,MAA7LA,QAA6L,8BAAlL,KAAkL;AAAA,wBAA3KqB,KAA2K;AAAA,MAA3KA,KAA2K,2BAAnK,KAAmK;AAAA,MAA5JC,YAA4J,QAA5JA,YAA4J;AAAA,MAA9IC,YAA8I,QAA9IA,YAA8I;AAAA,MAAhIC,gBAAgI,QAAhIA,gBAAgI;AAAA,MAA9GC,WAA8G,QAA9GA,WAA8G;AAAA,MAAjGC,MAAiG,QAAjGA,MAAiG;AAAA,mCAAzFC,mBAAyF;AAAA,MAAzFA,mBAAyF,sCAAnE,KAAmE;AAAA,uBAA5DC,IAA4D;AAAA,MAA5DA,IAA4D,0BAArDlC,IAAI,CAACmC,KAAgD;AAAA,0BAAzCC,OAAyC;AAAA,MAAzCA,OAAyC,6BAA/B,UAA+B;AAClN,MAAMC,QAAQ,GAAGxC,WAAW,EAA5B;AACA,MAAMyC,GAAG,GAAG3C,KAAK,CAAC4C,MAAN,CAAkB,IAAlB,CAAZ;AAEA,sBACE,MAAC,aAAD;AACE,IAAA,EAAE,EAAEb,EAAE,CAACc,QAAH,EADN;AAEE,IAAA,eAAe,EAAC,QAFlB;AAGE,IAAA,QAAQ,EAAElC,QAHZ;AAIE,IAAA,KAAK,EAAEqB,KAJT;AAKE,IAAA,IAAI,EAAC,KALP;AAME,qBAAeD,EAAE,KAAKW,QAAQ,CAACI,QANjC;AAOE,IAAA,OAAO,EAAE,mBAAM;AAAA;;AACbH,MAAAA,GAAG,SAAH,IAAAA,GAAG,WAAH,4BAAAA,GAAG,CAAEI,OAAL,8DAAcC,IAAd;;AACA,UAAIZ,WAAJ,EAAiB;AACfA,QAAAA,WAAW;AACZ;AACF,KAZH;AAaE,IAAA,GAAG,EAAEO,GAbP;AAcE,mBAAaN,MAdf;AAAA,4BAeE,MAAC,aAAD;AAAA,8BACA,KAAC,UAAD;AAAA,+BACE;AAAA,oBAAOJ;AAAP;AADF,QADA,EAICC,YAAY,IAAIC,gBAAhB,gBACC,MAAC,2BAAD;AAAA,mBACGA,gBAAgB,iBAAI,KAAC,gBAAD;AAAkB,UAAA,IAAI,EAAC;AAAvB,UADvB,EAEGD,YAAY,KAAKe,SAAjB,iBAA8B;AAAA,oBAAOf;AAAP,UAFjC;AAAA,QADD,GAKGA,YAAY,gBACd,KAAC,mBAAD;AAAA,+BACE;AAAA,oBAAOA;AAAP;AADF,QADc,gBAKd,mBAdF;AAAA,MAfF,eAgCE,KAAC,kBAAD;AAAA,gBACGI,mBAAmB,iBAAI,KAAC,eAAD;AAAiB,QAAA,MAAM,EAAC,iBAAxB;AAA0C,QAAA,IAAI,EAAEC,IAAhD;AAAsD,QAAA,OAAO,EAAEE;AAA/D;AAD1B,MAhCF;AAAA,IADF;AAsCD,CA1CD;;;AAlJE9B,EAAAA,Q;AACAsB,EAAAA,Y;AACAC,EAAAA,Y;AAEAE,EAAAA,W;AACAC,EAAAA,M;AACAC,EAAAA,mB;AAEAG,EAAAA,O,aAAU,U,EAAa,U;;AAsLzB,eAAeX,OAAf","sourcesContent":["import * as React from 'react';\nimport { NavLink, NavLinkProps, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { NotificationDot } from '../NotificationDot';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\nimport { COLORS } from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ${Z_INDEXES.focus};\n background-color: ${COLORS.white};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &.active:focus {\n background-color: ${COLORS.white};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst TabLink = ({ to, disabled = false, exact = false, requiredLine, optionalLine, OptionalLineIcon, onLinkClick, testId, showNotificationDot = false, size = Size.Small, variant = 'critical' }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <StyledTabLink\n to={to.toString()}\n activeClassName=\"active\"\n disabled={disabled}\n exact={exact}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => {\n ref?.current?.blur();\n if (onLinkClick) {\n onLinkClick();\n }\n }}\n ref={ref}\n data-testid={testId}>\n <TextContainer> \n <TopWrapper>\n <span>{requiredLine}</span> \n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\" />}\n {optionalLine !== undefined && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}\n </StyledNotification>\n </StyledTabLink>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
1
+ {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","Size","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","StyledTabLink","neutral_600","props","disabled","neutral_100","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Small","variant","location","ref","useRef","toString","pathname"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => !disabled && onLinkClick && onLinkClick()}\n ref={ref}\n data-testid={testId}>\n <TextContainer>\n <TopWrapper>\n <span>{requiredLine}</span>\n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\"/>}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["VerticalTabs","size","entries","Size","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,qBAAC,aAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUE,YAAKC,KAAzB;AAAA,cACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEG,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,qBAAC,gBAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEZ,IATR;AAUE,QAAA,OAAO,EAAEK,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEL,EAAAA,O;AAZAO,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,4BAAU,U,EAAa,U;;;eAgCVd,Y","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}></TabLink>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.cjs"}
1
+ {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["VerticalTabs","size","entries","Size","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,qBAAC,aAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUE,YAAKC,KAAzB;AAAA,cACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEG,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,qBAAC,gBAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEZ,IATR;AAUE,QAAA,OAAO,EAAEK,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEL,EAAAA,O;AAZAO,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,4BAAU,U,EAAa,U;;;eAgCVd,Y","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["React","Tabs","TabLink","Size","VerticalTabs","size","entries","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,UAArB;;;AAkBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,KAAC,IAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUF,IAAI,CAACI,KAAzB;AAAA,cACGD,OADH,aACGA,OADH,uBACGA,OAAO,CAAEE,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,KAAC,OAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEX,IATR;AAUE,QAAA,OAAO,EAAEI,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEJ,EAAAA,O;AAZAM,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,aAAU,U,EAAa,U;;;AAgCzB,eAAeb,YAAf","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}></TabLink>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.js"}
1
+ {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["React","Tabs","TabLink","Size","VerticalTabs","size","entries","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,UAArB;;;AAkBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,KAAC,IAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUF,IAAI,CAACI,KAAzB;AAAA,cACGD,OADH,aACGA,OADH,uBACGA,OAAO,CAAEE,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,KAAC,OAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEX,IATR;AAUE,QAAA,OAAO,EAAEI,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEJ,EAAAA,O;AAZAM,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,aAAU,U,EAAa,U;;;AAgCzB,eAAeb,YAAf","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.js"}