@laerdal/life-react-components 1.2.2-dev.5.full → 1.2.2-dev.8

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 (131) hide show
  1. package/dist/esm/Breadcrumb/Breadcrumb.js.map +1 -1
  2. package/dist/esm/Dropdown/CommonStyling.js +2 -1
  3. package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
  4. package/dist/esm/Dropdown/DropdownContent.js +13 -1
  5. package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
  6. package/dist/esm/GlobalNavigationBar/ExtendedMainMenu.js +2 -1
  7. package/dist/esm/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
  8. package/dist/esm/GlobalNavigationBar/GlobalNavigationBar.js +6 -2
  9. package/dist/esm/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  10. package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js +2 -1
  11. package/dist/esm/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  12. package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js +2 -1
  13. package/dist/esm/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  14. package/dist/esm/GlobalNavigationBar/mobile/CommonStyles.js +8 -1
  15. package/dist/esm/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  16. package/dist/esm/InputFields/DatepickerField.js +6 -0
  17. package/dist/esm/InputFields/DatepickerField.js.map +1 -1
  18. package/dist/esm/InputFields/PasswordField.js +1 -1
  19. package/dist/esm/InputFields/PasswordField.js.map +1 -1
  20. package/dist/esm/List/ListRow.js +4 -1
  21. package/dist/esm/List/ListRow.js.map +1 -1
  22. package/dist/esm/Modals/ModalContainer.js +3 -1
  23. package/dist/esm/Modals/ModalContainer.js.map +1 -1
  24. package/dist/esm/NavItem/NavItem.js +4 -0
  25. package/dist/esm/NavItem/NavItem.js.map +1 -1
  26. package/dist/esm/Paginator/Paginator.js +5 -0
  27. package/dist/esm/Paginator/Paginator.js.map +1 -1
  28. package/dist/esm/Switcher/MobileSwitcherMenu.js +2 -1
  29. package/dist/esm/Switcher/MobileSwitcherMenu.js.map +1 -1
  30. package/dist/esm/Switcher/SwitcherMenuItem.js +5 -0
  31. package/dist/esm/Switcher/SwitcherMenuItem.js.map +1 -1
  32. package/dist/esm/Tabs/HorizontalTabs.js +10 -4
  33. package/dist/esm/Tabs/HorizontalTabs.js.map +1 -1
  34. package/dist/esm/Tabs/TabLink.js +15 -4
  35. package/dist/esm/Tabs/TabLink.js.map +1 -1
  36. package/dist/esm/Toasters/Toast.js +5 -1
  37. package/dist/esm/Toasters/Toast.js.map +1 -1
  38. package/dist/esm/Toasters/ToastContext.js +2 -1
  39. package/dist/esm/Toasters/ToastContext.js.map +1 -1
  40. package/dist/esm/Tooltips/TooltipStyles.js +3 -2
  41. package/dist/esm/Tooltips/TooltipStyles.js.map +1 -1
  42. package/dist/esm/styles/z-indexes.js +14 -0
  43. package/dist/esm/styles/z-indexes.js.map +1 -0
  44. package/dist/js/Breadcrumb/Breadcrumb.js.map +1 -1
  45. package/dist/js/Dropdown/CommonStyling.js +3 -1
  46. package/dist/js/Dropdown/CommonStyling.js.map +1 -1
  47. package/dist/js/Dropdown/DropdownContent.js +5 -3
  48. package/dist/js/Dropdown/DropdownContent.js.map +1 -1
  49. package/dist/js/GlobalNavigationBar/ExtendedMainMenu.js +3 -1
  50. package/dist/js/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
  51. package/dist/js/GlobalNavigationBar/GlobalNavigationBar.js +5 -3
  52. package/dist/js/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  53. package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js +3 -1
  54. package/dist/js/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  55. package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js +3 -1
  56. package/dist/js/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  57. package/dist/js/GlobalNavigationBar/mobile/CommonStyles.js +4 -2
  58. package/dist/js/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  59. package/dist/js/InputFields/DatepickerField.js +3 -1
  60. package/dist/js/InputFields/DatepickerField.js.map +1 -1
  61. package/dist/js/InputFields/PasswordField.js +1 -1
  62. package/dist/js/InputFields/PasswordField.js.map +1 -1
  63. package/dist/js/List/ListRow.js +3 -1
  64. package/dist/js/List/ListRow.js.map +1 -1
  65. package/dist/js/Modals/ModalContainer.js +3 -1
  66. package/dist/js/Modals/ModalContainer.js.map +1 -1
  67. package/dist/js/NavItem/NavItem.js +3 -1
  68. package/dist/js/NavItem/NavItem.js.map +1 -1
  69. package/dist/js/Paginator/Paginator.js +3 -1
  70. package/dist/js/Paginator/Paginator.js.map +1 -1
  71. package/dist/js/Switcher/MobileSwitcherMenu.js +3 -1
  72. package/dist/js/Switcher/MobileSwitcherMenu.js.map +1 -1
  73. package/dist/js/Switcher/SwitcherMenuItem.js +3 -1
  74. package/dist/js/Switcher/SwitcherMenuItem.js.map +1 -1
  75. package/dist/js/Tabs/HorizontalTabs.js +4 -2
  76. package/dist/js/Tabs/HorizontalTabs.js.map +1 -1
  77. package/dist/js/Tabs/TabLink.js +4 -2
  78. package/dist/js/Tabs/TabLink.js.map +1 -1
  79. package/dist/js/Toasters/Toast.js +8 -4
  80. package/dist/js/Toasters/Toast.js.map +1 -1
  81. package/dist/js/Toasters/ToastContext.js +3 -1
  82. package/dist/js/Toasters/ToastContext.js.map +1 -1
  83. package/dist/js/Tooltips/TooltipStyles.js +4 -2
  84. package/dist/js/Tooltips/TooltipStyles.js.map +1 -1
  85. package/dist/js/styles/z-indexes.d.ts +13 -0
  86. package/dist/js/styles/z-indexes.js +21 -0
  87. package/dist/js/styles/z-indexes.js.map +1 -0
  88. package/dist/umd/Breadcrumb/Breadcrumb.js.map +1 -1
  89. package/dist/umd/Dropdown/CommonStyling.js +5 -5
  90. package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
  91. package/dist/umd/Dropdown/DropdownContent.js +16 -5
  92. package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
  93. package/dist/umd/GlobalNavigationBar/ExtendedMainMenu.js +5 -5
  94. package/dist/umd/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -1
  95. package/dist/umd/GlobalNavigationBar/GlobalNavigationBar.js +9 -6
  96. package/dist/umd/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  97. package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js +5 -5
  98. package/dist/umd/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  99. package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js +5 -5
  100. package/dist/umd/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -1
  101. package/dist/umd/GlobalNavigationBar/mobile/CommonStyles.js +11 -5
  102. package/dist/umd/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  103. package/dist/umd/InputFields/DatepickerField.js +9 -4
  104. package/dist/umd/InputFields/DatepickerField.js.map +1 -1
  105. package/dist/umd/InputFields/PasswordField.js +1 -1
  106. package/dist/umd/InputFields/PasswordField.js.map +1 -1
  107. package/dist/umd/List/ListRow.js +7 -5
  108. package/dist/umd/List/ListRow.js.map +1 -1
  109. package/dist/umd/Modals/ModalContainer.js +6 -5
  110. package/dist/umd/Modals/ModalContainer.js.map +1 -1
  111. package/dist/umd/NavItem/NavItem.js +7 -4
  112. package/dist/umd/NavItem/NavItem.js.map +1 -1
  113. package/dist/umd/Paginator/Paginator.js +8 -4
  114. package/dist/umd/Paginator/Paginator.js.map +1 -1
  115. package/dist/umd/Switcher/MobileSwitcherMenu.js +5 -5
  116. package/dist/umd/Switcher/MobileSwitcherMenu.js.map +1 -1
  117. package/dist/umd/Switcher/SwitcherMenuItem.js +8 -4
  118. package/dist/umd/Switcher/SwitcherMenuItem.js.map +1 -1
  119. package/dist/umd/Tabs/HorizontalTabs.js +12 -7
  120. package/dist/umd/Tabs/HorizontalTabs.js.map +1 -1
  121. package/dist/umd/Tabs/TabLink.js +18 -8
  122. package/dist/umd/Tabs/TabLink.js.map +1 -1
  123. package/dist/umd/Toasters/Toast.js +5 -1
  124. package/dist/umd/Toasters/Toast.js.map +1 -1
  125. package/dist/umd/Toasters/ToastContext.js +5 -5
  126. package/dist/umd/Toasters/ToastContext.js.map +1 -1
  127. package/dist/umd/Tooltips/TooltipStyles.js +6 -6
  128. package/dist/umd/Tooltips/TooltipStyles.js.map +1 -1
  129. package/dist/umd/styles/z-indexes.js +33 -0
  130. package/dist/umd/styles/z-indexes.js.map +1 -0
  131. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Modals/ModalContainer.tsx"],"names":["React","ReactModal","BOXSHADOWS","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","ModalContainer","Component","modalHeight","modalWidth","modalOverflow","componentDidMount","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","render","id","showModal","closeModal","children","padding","minWidth","maxWidth","props","sizes","GetSize","GetOverflow","stylesConfiguration","Object","assign","styles","getElementById"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport ReactModal from 'react-modal';\nimport { BOXSHADOWS } from '../styles';\n\nconst ModalContainerStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n width: '640px',\n height: '320px',\n borderRadius: '8px',\n boxSizing: 'border-box' as any,\n margin: 0,\n overflow: 'auto',\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\n },\n};\n\n//override modal classes to define the animations\nconst modalTransitions = `\n.ReactModal__Overlay {\n opacity: 0;\n z-index: 100;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n opacity:0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.0, 1.0);\n transition: transform 150ms ease-in-out, opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n`;\n\ntype ModalContainerProps = {\n id?: string;\n showModal: boolean;\n closeModal: () => void;\n children: any;\n modalHeight?: any;\n modalWidth?: any;\n modalOverflow?: string;\n padding?: string;\n minWidth?: string;\n maxWidth?: string;\n};\n\ntype ModalContainerState = {};\n\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\n componentDidMount() {\n if (ReactModal.defaultStyles.overlay) {\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\n }\n\n //append style node to override modal transition classes\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.setAttribute('modal-custom-styling', 'active');\n head.appendChild(style);\n style.appendChild(document.createTextNode(modalTransitions));\n }\n }\n\n GetSize = (modalHeight: string = 'auto', modalWidth: string = 'auto') => ({ height: modalHeight, width: modalWidth });\n GetOverflow = (modalOverflow: string = 'visible') => modalOverflow;\n render() {\n const { id, showModal, closeModal, children, modalHeight, modalWidth, modalOverflow, padding, minWidth = '', maxWidth = '' } = this.props;\n const sizes = this.GetSize(modalHeight, modalWidth);\n const { height, width } = sizes;\n const overflow = this.GetOverflow(modalOverflow);\n const stylesConfiguration = Object.assign({ ...ModalContainerStyles.content }, { height, width, padding, overflow, minWidth, maxWidth });\n const styles = { content: stylesConfiguration };\n\n return (\n <ReactModal id={id} isOpen={showModal} closeTimeoutMS={120} onRequestClose={() => closeModal()} style={styles} appElement={document.getElementById('root') || ''}>\n {children}\n </ReactModal>\n );\n }\n}\n\nexport default ModalContainer;\n"],"file":"ModalContainer.js"}
1
+ {"version":3,"sources":["../../../src/Modals/ModalContainer.tsx"],"names":["React","ReactModal","BOXSHADOWS","Z_INDEXES","ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOW_L3","modalTransitions","backdrop","modal","ModalContainer","Component","modalHeight","modalWidth","modalOverflow","componentDidMount","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","render","id","showModal","closeModal","children","padding","minWidth","maxWidth","props","sizes","GetSize","GetOverflow","stylesConfiguration","Object","assign","styles","getElementById"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport ReactModal from 'react-modal';\nimport { BOXSHADOWS } from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst ModalContainerStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n width: '640px',\n height: '320px',\n borderRadius: '8px',\n boxSizing: 'border-box' as any,\n margin: 0,\n overflow: 'auto',\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\n },\n};\n\n//override modal classes to define the animations\nconst modalTransitions = `\n.ReactModal__Overlay {\n opacity: 0;\n z-index: ${Z_INDEXES.backdrop};\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n z-index: ${Z_INDEXES.modal};\n opacity:0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.0, 1.0);\n transition: transform 150ms ease-in-out, opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n`;\n\ntype ModalContainerProps = {\n id?: string;\n showModal: boolean;\n closeModal: () => void;\n children: any;\n modalHeight?: any;\n modalWidth?: any;\n modalOverflow?: string;\n padding?: string;\n minWidth?: string;\n maxWidth?: string;\n};\n\ntype ModalContainerState = {};\n\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\n componentDidMount() {\n if (ReactModal.defaultStyles.overlay) {\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\n }\n\n //append style node to override modal transition classes\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.setAttribute('modal-custom-styling', 'active');\n head.appendChild(style);\n style.appendChild(document.createTextNode(modalTransitions));\n }\n }\n\n GetSize = (modalHeight: string = 'auto', modalWidth: string = 'auto') => ({ height: modalHeight, width: modalWidth });\n GetOverflow = (modalOverflow: string = 'visible') => modalOverflow;\n render() {\n const { id, showModal, closeModal, children, modalHeight, modalWidth, modalOverflow, padding, minWidth = '', maxWidth = '' } = this.props;\n const sizes = this.GetSize(modalHeight, modalWidth);\n const { height, width } = sizes;\n const overflow = this.GetOverflow(modalOverflow);\n const stylesConfiguration = Object.assign({ ...ModalContainerStyles.content }, { height, width, padding, overflow, minWidth, maxWidth });\n const styles = { content: stylesConfiguration };\n\n return (\n <ReactModal id={id} isOpen={showModal} closeTimeoutMS={120} onRequestClose={() => closeModal()} style={styles} appElement={document.getElementById('root') || ''}>\n {children}\n </ReactModal>\n );\n }\n}\n\nexport default ModalContainer;\n"],"file":"ModalContainer.js"}
@@ -1,6 +1,7 @@
1
1
  import styled from 'styled-components';
2
2
  import { COLORS } from '../styles';
3
3
  import { ComponentMStyling, ComponentTextStyle } from '../styles/typography';
4
+ import { Z_INDEXES } from '../styles/z-indexes';
4
5
  const NavItem = styled.div`
5
6
  ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}
6
7
 
@@ -25,6 +26,7 @@ const NavItem = styled.div`
25
26
  }
26
27
 
27
28
  &.active:not(.disabled) {
29
+ z-index: ${Z_INDEXES.active};
28
30
  background-color: ${COLORS.neutral_20};
29
31
  color: ${COLORS.neutral_800};
30
32
  &:after {
@@ -41,6 +43,7 @@ const NavItem = styled.div`
41
43
  }
42
44
 
43
45
  &:hover:not(.disabled) {
46
+ z-index: ${Z_INDEXES.hover};
44
47
  background-color: ${COLORS.primary_20};
45
48
  color: ${COLORS.primary_700};
46
49
  &:after {
@@ -49,6 +52,7 @@ const NavItem = styled.div`
49
52
  }
50
53
 
51
54
  &:focus:not(.disabled) {
55
+ z-index: ${Z_INDEXES.focus};
52
56
  box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);
53
57
  outline: none;
54
58
  &:after {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/NavItem/NavItem.tsx"],"names":["styled","COLORS","ComponentMStyling","ComponentTextStyle","NavItem","div","Regular","neutral_600","neutral_20","neutral_800","primary_600","neutral_300","neutral_100","primary_20","primary_700","primary_500"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,mBAAnB;AAEA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,iBAAT,EAA4BC,kBAA5B,QAAsD,sBAAtD;AAEA,MAAMC,OAAO,GAAGJ,MAAM,CAACK,GAAI;AAC3B,IAAIH,iBAAiB,CAACC,kBAAkB,CAACG,OAApB,EAA6BL,MAAM,CAACM,WAApC,CAAiD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwBN,MAAM,CAACO,UAAW;AAC1C,aAAaP,MAAM,CAACQ,WAAY;AAChC;AACA,0BAA0BR,MAAM,CAACS,WAAY;AAC7C;AACA;AACA;AACA;AACA,aAAaT,MAAM,CAACU,WAAY;AAChC,wBAAwBV,MAAM,CAACW,WAAY;AAC3C;AACA,0BAA0BX,MAAM,CAACW,WAAY;AAC7C;AACA;AACA;AACA;AACA,wBAAwBX,MAAM,CAACY,UAAW;AAC1C,aAAaZ,MAAM,CAACa,WAAY;AAChC;AACA,0BAA0Bb,MAAM,CAACS,WAAY;AAC7C;AACA;AACA;AACA;AACA,8BAA8BT,MAAM,CAACc,WAAY;AACjD;AACA;AACA,0BAA0Bd,MAAM,CAACS,WAAY;AAC7C;AACA;AACA,CAtDA;AAwDA,eAAeN,OAAf","sourcesContent":["import styled from 'styled-components';\n\nimport { COLORS } from '../styles';\nimport { ComponentMStyling, ComponentTextStyle } from '../styles/typography';\n\nconst NavItem = styled.div`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n margin: 0;\n padding: 0 21px 0 21px;\n height: 64px;\n\n display: flex;\n align-items: center;\n text-align: center;\n position: relative;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 3px;\n background-color: transparent;\n }\n\n &.active:not(.disabled) {\n background-color: ${COLORS.neutral_20};\n color: ${COLORS.neutral_800};\n &:after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n background-color: ${COLORS.neutral_100};\n &:after {\n background-color: ${COLORS.neutral_100};\n }\n }\n\n &:hover:not(.disabled) {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n &:after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &:focus:not(.disabled) {\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n outline: none;\n &:after {\n background-color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport default NavItem;\n"],"file":"NavItem.js"}
1
+ {"version":3,"sources":["../../../src/NavItem/NavItem.tsx"],"names":["styled","COLORS","ComponentMStyling","ComponentTextStyle","Z_INDEXES","NavItem","div","Regular","neutral_600","active","neutral_20","neutral_800","primary_600","neutral_300","neutral_100","hover","primary_20","primary_700","focus","primary_500"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,mBAAnB;AAEA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,iBAAT,EAA4BC,kBAA5B,QAAsD,sBAAtD;AACA,SAAQC,SAAR,QAAwB,qBAAxB;AAEA,MAAMC,OAAO,GAAGL,MAAM,CAACM,GAAI;AAC3B,IAAIJ,iBAAiB,CAACC,kBAAkB,CAACI,OAApB,EAA6BN,MAAM,CAACO,WAApC,CAAiD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeJ,SAAS,CAACK,MAAO;AAChC,wBAAwBR,MAAM,CAACS,UAAW;AAC1C,aAAaT,MAAM,CAACU,WAAY;AAChC;AACA,0BAA0BV,MAAM,CAACW,WAAY;AAC7C;AACA;AACA;AACA;AACA,aAAaX,MAAM,CAACY,WAAY;AAChC,wBAAwBZ,MAAM,CAACa,WAAY;AAC3C;AACA,0BAA0Bb,MAAM,CAACa,WAAY;AAC7C;AACA;AACA;AACA;AACA,eAAeV,SAAS,CAACW,KAAM;AAC/B,wBAAwBd,MAAM,CAACe,UAAW;AAC1C,aAAaf,MAAM,CAACgB,WAAY;AAChC;AACA,0BAA0BhB,MAAM,CAACW,WAAY;AAC7C;AACA;AACA;AACA;AACA,eAAeR,SAAS,CAACc,KAAM;AAC/B,8BAA8BjB,MAAM,CAACkB,WAAY;AACjD;AACA;AACA,0BAA0BlB,MAAM,CAACW,WAAY;AAC7C;AACA;AACA,CAzDA;AA2DA,eAAeP,OAAf","sourcesContent":["import styled from 'styled-components';\n\nimport { COLORS } from '../styles';\nimport { ComponentMStyling, ComponentTextStyle } from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst NavItem = styled.div`\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n margin: 0;\n padding: 0 21px 0 21px;\n height: 64px;\n\n display: flex;\n align-items: center;\n text-align: center;\n position: relative;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 3px;\n background-color: transparent;\n }\n\n &.active:not(.disabled) {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n color: ${COLORS.neutral_800};\n &:after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n background-color: ${COLORS.neutral_100};\n &:after {\n background-color: ${COLORS.neutral_100};\n }\n }\n\n &:hover:not(.disabled) {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n &:after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &:focus:not(.disabled) {\n z-index: ${Z_INDEXES.focus};\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n outline: none;\n &:after {\n background-color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport default NavItem;\n"],"file":"NavItem.js"}
@@ -5,6 +5,7 @@ import { NavLink } from 'react-router-dom';
5
5
  import { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';
6
6
  import { ChevronLeft, ChevronRight, MoreHorizontal } from '../icons/systemicons/SystemIcons';
7
7
  import { ComponentMStyling } from '../styles/typography';
8
+ import { Z_INDEXES } from '../styles/z-indexes';
8
9
  const Container = styled.nav`
9
10
  margin: 20px 0;
10
11
  display: flex;
@@ -40,23 +41,27 @@ const Item = styled.li`
40
41
 
41
42
  &:focus,
42
43
  &:focus-within {
44
+ z-index: ${Z_INDEXES.focus};
43
45
  box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;
44
46
  outline-width: 0;
45
47
  }
46
48
  }
47
49
 
48
50
  & > a:hover {
51
+ z-index: ${Z_INDEXES.hover};
49
52
  color: ${COLORS.primary_800};
50
53
  background-color: ${COLORS.primary_20};
51
54
  box-shadow: none;
52
55
  }
53
56
  & > a:active {
57
+ z-index: ${Z_INDEXES.active};
54
58
  color: ${COLORS.primary_700};
55
59
  background-color: ${COLORS.primary_100};
56
60
  box-shadow: none;
57
61
  }
58
62
 
59
63
  & > a.active {
64
+ z-index: ${Z_INDEXES.active};
60
65
  color: ${COLORS.neutral_800};
61
66
  background-color: ${COLORS.neutral_20};
62
67
  cursor: default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Paginator/Paginator.tsx"],"names":["React","styled","NavLink","BREAKPOINTS","COLORS","ComponentTextStyle","ChevronLeft","ChevronRight","MoreHorizontal","ComponentMStyling","Container","nav","MEDIUM","Items","ul","Item","li","Regular","neutral_600","primary_800","primary_20","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","ItemSelected","primary_500","Step","up","target","disabled","page","onPageChange","testId","cursor","neutral_300","Paginator","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","map"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,OAAR,QAAsB,kBAAtB;AACA,SAAQC,WAAR,EAAqBC,MAArB,EAA6BC,kBAA7B,QAAsD,WAAtD;AACA,SAAQC,WAAR,EAAqBC,YAArB,EAAmCC,cAAnC,QAAwD,kCAAxD;AACA,SAAQC,iBAAR,QAAgC,sBAAhC;AAEA,MAAMC,SAAS,GAAGT,MAAM,CAACU,GAAI;AAC7B;AACA;AACA;AACA;AACA,IAAIR,WAAW,CAACS,MAAO;AACvB;AACA;AACA,CARA;AAUA,MAAMC,KAAK,GAAGZ,MAAM,CAACa,EAAG;AACxB;AACA;AACA;AACA;AACA,CALA;AAOA,MAAMC,IAAI,GAAGd,MAAM,CAACe,EAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMP,iBAAiB,CAACJ,kBAAkB,CAACY,OAApB,EAA6Bb,MAAM,CAACc,WAApC,CAAiD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAad,MAAM,CAACe,WAAY;AAChC,wBAAwBf,MAAM,CAACgB,UAAW;AAC1C;AACA;AACA;AACA,aAAahB,MAAM,CAACiB,WAAY;AAChC,wBAAwBjB,MAAM,CAACkB,WAAY;AAC3C;AACA;AACA;AACA;AACA,aAAalB,MAAM,CAACmB,WAAY;AAChC,wBAAwBnB,MAAM,CAACoB,UAAW;AAC1C;AACA;AACA;AACA,eAAepB,MAAM,CAACe,WAAY;AAClC,0BAA0Bf,MAAM,CAACgB,UAAW;AAC5C;AACA;AACA,eAAehB,MAAM,CAACiB,WAAY;AAClC,0BAA0BjB,MAAM,CAACkB,WAAY;AAC7C;AACA;AACA,CAlDA;AAoDA,MAAMG,IAAI,GAAGxB,MAAM,CAACc,IAAD,CAAO;AAC1B;AACA;AACA,CAHA;AAKA,MAAMW,WAAW,GAAGzB,MAAM,CAAC,KAAD,CAAQ;AAClC;AACA;AACA;AACA;AACA,CALA;AAMA,MAAM0B,YAAY,GAAG1B,MAAM,CAAC,KAAD,CAAQ;AACnC;AACA;AACA;AACA;AACA;AACA,sBAAsBG,MAAM,CAACwB,WAAY;AACzC,CAPA;;AAgBA,MAAMC,IAAI,GAAG,CAAC;AACZC,EAAAA,EAAE,GAAG,IADO;AAEZC,EAAAA,MAAM,GAAG,EAFG;AAGZC,EAAAA,QAAQ,GAAG,KAHC;AAIZC,EAAAA,IAJY;AAKZC,EAAAA,YALY;AAMZC,EAAAA;AANY,CAAD,KAcP;AACJ,MAAIH,QAAJ,EACE,oBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE;AAAEI,MAAAA,MAAM,EAAE;AAAV,KAAb;AAAwC,mBAAc,GAAED,MAAO;AAA/D,KACGL,EAAE,gBAAG,oBAAC,YAAD;AAAc,IAAA,IAAI,EAAC,IAAnB;AAAwB,IAAA,KAAK,EAAE1B,MAAM,CAACiC;AAAtC,IAAH,gBAA2D,oBAAC,WAAD;AAAa,IAAA,IAAI,EAAC,IAAlB;AAAuB,IAAA,KAAK,EAAEjC,MAAM,CAACiC;AAArC,IADhE,CADF;AAKF,sBACE,oBAAC,IAAD;AAAM,mBAAc,GAAEF,MAAO;AAA7B,kBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAEJ,MADN;AAEE,IAAA,OAAO,EAAE,MAAM;AACb,UAAIG,YAAJ,EAAkBA,YAAY,CAACD,IAAD,CAAZ;AACnB;AAJH,KAKGH,EAAE,gBAAG,oBAAC,YAAD;AAAc,IAAA,IAAI,EAAC;AAAnB,IAAH,gBAAgC,oBAAC,WAAD,OALrC,CADF,CADF;AAWD,CAhCD;;AAkCA,MAAMQ,SAAS,GAAG,CAAC;AAAEC,EAAAA,SAAS,GAAG,CAAd;AAAiBC,EAAAA,WAAW,GAAG,CAA/B;AAAkCC,EAAAA,OAAO,GAAG,EAA5C;AAAgDP,EAAAA;AAAhD,CAAD,KAAoF;AACpG,QAAMQ,KAAK,GAAG,EAAd;AACA,MAAIC,IAAI,GAAG,CAAX;AACA,MAAIC,EAAE,GAAG,CAAT;AACA,MAAIL,SAAS,KAAK,CAAlB,EAAqB,OAAO,IAAP;;AAErB,MAAIA,SAAS,GAAG,CAAhB,EAAmB;AACjB,QAAIC,WAAW,IAAI,CAAf,IAAoBA,WAAW,IAAID,SAAS,GAAG,CAAnD,EAAsD;AACpDI,MAAAA,IAAI,GAAGH,WAAW,GAAG,CAArB;AACAI,MAAAA,EAAE,GAAGJ,WAAW,GAAG,CAAnB;AACD,KAHD,MAGO,IAAID,SAAS,GAAG,CAAZ,GAAgB,CAAhB,IAAqBC,WAAW,GAAGD,SAAS,GAAG,CAAnD,EAAsD;AAC3DI,MAAAA,IAAI,GAAGJ,SAAS,GAAG,CAAnB;AACAK,MAAAA,EAAE,GAAGL,SAAS,GAAG,CAAjB;AACD;;AACD,QAAIK,EAAE,GAAGL,SAAT,EAAoB;AAClBK,MAAAA,EAAE,GAAGL,SAAL;AACD;;AACD,SAAK,IAAIM,CAAC,GAAGF,IAAb,EAAmBE,CAAC,IAAID,EAAxB,EAA4BC,CAAC,IAAI,CAAjC,EAAoC;AAClCH,MAAAA,KAAK,CAACI,IAAN,CAAWD,CAAX;AACD;AACF;;AAED,sBACE,oBAAC,SAAD,qBACE,oBAAC,KAAD,qBACE,oBAAC,IAAD;AACE,IAAA,EAAE,EAAE,KADN;AAEE,IAAA,MAAM,EAAG,GAAEJ,OAAQ,IAAGD,WAAW,GAAG,CAAE,EAFxC;AAGE,IAAA,IAAI,EAAEA,WAAW,GAAG,CAHtB;AAIE,IAAA,QAAQ,EAAEA,WAAW,KAAK,CAJ5B;AAKE,IAAA,YAAY,EAAE,MAAM;AAClB,UAAIN,YAAJ,EAAkBA,YAAY,CAACM,WAAW,GAAG,CAAf,CAAZ;AACnB,KAPH;AAQE,IAAA,MAAM,EAAC;AART,IADF,EAWGE,KAAK,CAACK,SAAN,CAAgBC,IAAI,IAAIA,IAAI,KAAK,CAAjC,MAAwC,CAAC,CAAzC,iBACC,oBAAC,IAAD,qBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAG,GAAEP,OAAQ,IADjB;AAEE,IAAA,OAAO,EAAE,MAAM;AACb,UAAIP,YAAJ,EAAkBA,YAAY,CAAC,CAAD,CAAZ;AACnB;AAJH,kBAKI,oBAAC,WAAD,qBACC,sCADD,EAEEM,WAAW,KAAK,CAAhB,iBAAqB,oBAAC,YAAD,OAFvB,CALJ,CADF,CAZJ,EAyBGA,WAAW,IAAI,CAAf,IAAoBD,SAAS,GAAG,CAAhC,IAAqCA,SAArC,IAAkDG,KAAK,CAACK,SAAN,CAAgBC,IAAI,IAAIA,IAAI,KAAK,CAAjC,MAAwC,CAAC,CAA3F,iBACC,oBAAC,IAAD,qBACE,oBAAC,cAAD;AAAgB,IAAA,KAAK,EAAE5C,MAAM,CAACc;AAA9B,IADF,CA1BJ,EA8BGwB,KAAK,CAACO,GAAN,CAAUhB,IAAI,iBACb,oBAAC,IAAD;AAAM,IAAA,GAAG,EAAEA;AAAX,kBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAG,GAAEQ,OAAQ,IAAGR,IAAK,EADzB;AAEE,IAAA,OAAO,EAAE,MAAM;AACb,UAAIC,YAAJ,EAAkBA,YAAY,CAACD,IAAD,CAAZ;AACnB;AAJH,kBAKI,oBAAC,WAAD,qBACC,kCAAOA,IAAP,CADD,EAEEO,WAAW,KAAKP,IAAhB,iBAAwB,oBAAC,YAAD,OAF1B,CALJ,CADF,CADD,CA9BH,EA4CGM,SAAS,GAAG,CAAZ,IAAiBC,WAAW,IAAID,SAAS,GAAG,CAA5C,iBACC,oBAAC,IAAD,qBACE,oBAAC,cAAD;AAAgB,IAAA,KAAK,EAAEnC,MAAM,CAACc;AAA9B,IADF,CA7CJ,EAiDGwB,KAAK,CAACK,SAAN,CAAgBC,IAAI,IAAIA,IAAI,KAAKT,SAAjC,MAAgD,CAAC,CAAjD,IAAsDA,SAAS,KAAK,CAApE,iBACC,oBAAC,IAAD,qBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAG,GAAEE,OAAQ,IAAGF,SAAU,EAD9B;AAEE,IAAA,OAAO,EAAE,MAAM;AACb,UAAIL,YAAJ,EAAkBA,YAAY,CAACK,SAAD,CAAZ;AACnB;AAJH,kBAKI,oBAAC,WAAD,qBACC,kCAAOA,SAAP,CADD,EAEEC,WAAW,KAAKD,SAAhB,iBAA6B,oBAAC,YAAD,OAF/B,CALJ,CADF,CAlDJ,eA+DE,oBAAC,IAAD;AACE,IAAA,EAAE,MADJ;AAEE,IAAA,MAAM,EAAG,GAAEE,OAAQ,IAAGD,WAAW,GAAG,CAAE,EAFxC;AAGE,IAAA,IAAI,EAAEA,WAAW,GAAG,CAHtB;AAIE,IAAA,QAAQ,EAAEA,WAAW,KAAKD,SAJ5B;AAKE,IAAA,YAAY,EAAE,MAAM;AAClB,UAAIL,YAAJ,EAAkBA,YAAY,CAACM,WAAW,GAAG,CAAf,CAAZ;AACnB,KAPH;AAQE,IAAA,MAAM,EAAC;AART,IA/DF,CADF,CADF;AA8ED,CApGD;;;AAxCED,EAAAA,S;AACAC,EAAAA,W;AACAC,EAAAA,O;AACAP,EAAAA,Y;;AA2IF,eAAeI,SAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ChevronLeft, ChevronRight, MoreHorizontal} from '../icons/systemicons/SystemIcons';\nimport {ComponentMStyling} from '../styles/typography';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 45px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n border-bottom: 3px solid transparent;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline-width: 0;\n }\n }\n\n & > a:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n box-shadow: none;\n }\n & > a:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n }\n\n & > a.active {\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n box-shadow: none;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n padding-top: 1%;\n cursor: not-allowed;\n`;\n\nconst ItemContent = styled('div')`\n width: 100%;\n text-align:center;\n display: table-cell;\n vertical-align:middle;\n`\nconst ItemSelected = styled('div')`\n justify-content: center;\n margin: 0 20%;\n border-radius: 4px;\n text-align: center;\n height: 4px;\n background-color: ${COLORS.primary_500}\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n testId,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n testId?: string;\n}) => {\n if (disabled)\n return (\n <Item style={{ cursor: 'not-allowed' }} data-testid={`${testId}_Disabled`}>\n {up ? <ChevronRight size=\"20\" color={COLORS.neutral_300} /> : <ChevronLeft size=\"20\" color={COLORS.neutral_300} />}\n </Item>\n );\n return (\n <Item data-testid={`${testId}_Enabled`}>\n <NavLink\n to={target}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n {up ? <ChevronRight size=\"20\" /> : <ChevronLeft />}\n </NavLink>\n </Item>\n );\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step\n up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n testId=\"Test-StepLeft\"\n />\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent>\n <span>1</span>\n {currentPage === 1 && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots>\n <MoreHorizontal color={COLORS.neutral_600} />\n </Dots>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent>\n <span>{page}</span>\n {currentPage === page && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots>\n <MoreHorizontal color={COLORS.neutral_600} />\n </Dots>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent>\n <span>{pageCount}</span>\n {currentPage === pageCount && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step\n up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n testId=\"Test-StepRight\"\n />\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"file":"Paginator.js"}
1
+ {"version":3,"sources":["../../../src/Paginator/Paginator.tsx"],"names":["React","styled","NavLink","BREAKPOINTS","COLORS","ComponentTextStyle","ChevronLeft","ChevronRight","MoreHorizontal","ComponentMStyling","Z_INDEXES","Container","nav","MEDIUM","Items","ul","Item","li","Regular","neutral_600","focus","hover","primary_800","primary_20","active","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","ItemSelected","primary_500","Step","up","target","disabled","page","onPageChange","testId","cursor","neutral_300","Paginator","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","map"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ChevronLeft, ChevronRight, MoreHorizontal} from '../icons/systemicons/SystemIcons';\nimport {ComponentMStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 45px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n border-bottom: 3px solid transparent;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n z-index: ${Z_INDEXES.focus};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline-width: 0;\n }\n }\n\n & > a:hover {\n z-index: ${Z_INDEXES.hover};\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n box-shadow: none;\n }\n & > a:active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n }\n\n & > a.active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n box-shadow: none;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n padding-top: 1%;\n cursor: not-allowed;\n`;\n\nconst ItemContent = styled('div')`\n width: 100%;\n text-align:center;\n display: table-cell;\n vertical-align:middle;\n`\nconst ItemSelected = styled('div')`\n justify-content: center;\n margin: 0 20%;\n border-radius: 4px;\n text-align: center;\n height: 4px;\n background-color: ${COLORS.primary_500}\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n testId,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n testId?: string;\n}) => {\n if (disabled)\n return (\n <Item style={{ cursor: 'not-allowed' }} data-testid={`${testId}_Disabled`}>\n {up ? <ChevronRight size=\"20\" color={COLORS.neutral_300} /> : <ChevronLeft size=\"20\" color={COLORS.neutral_300} />}\n </Item>\n );\n return (\n <Item data-testid={`${testId}_Enabled`}>\n <NavLink\n to={target}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n {up ? <ChevronRight size=\"20\" /> : <ChevronLeft />}\n </NavLink>\n </Item>\n );\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step\n up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n testId=\"Test-StepLeft\"\n />\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent>\n <span>1</span>\n {currentPage === 1 && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots>\n <MoreHorizontal color={COLORS.neutral_600} />\n </Dots>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent>\n <span>{page}</span>\n {currentPage === page && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots>\n <MoreHorizontal color={COLORS.neutral_600} />\n </Dots>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent>\n <span>{pageCount}</span>\n {currentPage === pageCount && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step\n up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n testId=\"Test-StepRight\"\n />\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"file":"Paginator.js"}
@@ -7,6 +7,7 @@ import { ArrowLineLeft, Close } from '../icons/systemicons/SystemIcons';
7
7
  import { flowDown, Right, UserMenuSectionListStyling } from '../GlobalNavigationBar/mobile/CommonStyles';
8
8
  import SwitcherMenuItem from './SwitcherMenuItem';
9
9
  import { ComponentSStyling } from '../styles/typography';
10
+ import { Z_INDEXES } from '../styles/z-indexes';
10
11
  const Menu = styled.ul`
11
12
  list-style: none;
12
13
  margin: 0;
@@ -17,7 +18,7 @@ const Menu = styled.ul`
17
18
  animation: ${flowDown} 0.2s ease-in-out;
18
19
  position: absolute;
19
20
  border-radius: 4px;
20
- z-index: 100;
21
+ z-index: ${Z_INDEXES.off_canvas};
21
22
  height: 100%;
22
23
  width: 320px;
23
24
  padding-inline-start: 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Switcher/MobileSwitcherMenu.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","scrollBarStyling","IconButton","ArrowLineLeft","Close","flowDown","Right","UserMenuSectionListStyling","SwitcherMenuItem","ComponentSStyling","Menu","ul","white","SMALL","MenuSection","li","MenuSectionList","Top","div","neutral_600","Regular","LabelLine","span","neutral_20","MobileSwitcherMenu","header","elementsHeader","clickMenuAction","elements","useEffect","handleKeyPress","e","keyCode","document","addEventListener","removeEventListener","length","map","element","to","label","icon"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, scrollBarStyling} from '../styles';\n\nimport {UserMenuItem} from '../types';\nimport {IconButton} from '../Button';\nimport {ArrowLineLeft, Close} from '../icons/systemicons/SystemIcons';\nimport {flowDown, Right, UserMenuSectionListStyling} from '../GlobalNavigationBar/mobile/CommonStyles';\nimport SwitcherMenuItem from './SwitcherMenuItem';\nimport {ComponentSStyling} from '../styles/typography';\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n border-radius: 4px;\n z-index: 100;\n height: 100%;\n width: 320px;\n padding-inline-start: 0;\n overflow-y: scroll;\n ${BREAKPOINTS.SMALL} {\n min-width: 360px;\n }\n\n .open & {\n display: flex;\n flex-direction: column;\n }\n\n ${scrollBarStyling};\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n overflow-y: unset !important;\n padding-inline-start: 0;\n\n ${UserMenuSectionListStyling}\n`;\n\nconst Top = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 22px 12px 0 12px;\n color: ${COLORS.neutral_600};\n\n h3 {\n margin-block-start: 0 !important;\n margin-block-end: 0 !important;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n margin-left: 24px;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n }\n`;\n\nconst LabelLine = styled.span`\n height: 32px;\n background-color: ${COLORS.neutral_20};\n padding-left: 24px;\n display: flex;\n line-height: 32px;\n`;\n\ninterface Props {\n header: string;\n elementsHeader: string;\n clickMenuAction: () => void;\n elements?: UserMenuItem[];\n}\n\nconst MobileSwitcherMenu = ({ header, elementsHeader, clickMenuAction, elements }: Props) => {\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n return (\n <Menu onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <Top>\n <IconButton variant=\"secondary\" shape=\"circular\" action={clickMenuAction} isInMobileMenu={true}>\n <ArrowLineLeft size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n <h3>{header}</h3>\n <Right>\n <IconButton variant=\"secondary\" shape=\"circular\" action={clickMenuAction} isInMobileMenu={true}>\n <Close size=\"24px\" />\n </IconButton>\n </Right>\n </Top>\n {elements && elements?.length > 0 && (\n <MenuSection>\n <LabelLine>{elementsHeader}</LabelLine>\n <MenuSectionList>\n {elements?.map((element) => (\n <SwitcherMenuItem url={element?.to} label={element?.label} Icon={element.icon} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n </Menu>\n );\n};\n\nexport default MobileSwitcherMenu;\n"],"file":"MobileSwitcherMenu.js"}
1
+ {"version":3,"sources":["../../../src/Switcher/MobileSwitcherMenu.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","scrollBarStyling","IconButton","ArrowLineLeft","Close","flowDown","Right","UserMenuSectionListStyling","SwitcherMenuItem","ComponentSStyling","Z_INDEXES","Menu","ul","white","off_canvas","SMALL","MenuSection","li","MenuSectionList","Top","div","neutral_600","Regular","LabelLine","span","neutral_20","MobileSwitcherMenu","header","elementsHeader","clickMenuAction","elements","useEffect","handleKeyPress","e","keyCode","document","addEventListener","removeEventListener","length","map","element","to","label","icon"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, scrollBarStyling} from '../styles';\n\nimport {UserMenuItem} from '../types';\nimport {IconButton} from '../Button';\nimport {ArrowLineLeft, Close} from '../icons/systemicons/SystemIcons';\nimport {flowDown, Right, UserMenuSectionListStyling} from '../GlobalNavigationBar/mobile/CommonStyles';\nimport SwitcherMenuItem from './SwitcherMenuItem';\nimport {ComponentSStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst Menu = styled.ul`\n list-style: none;\n margin: 0;\n background-color: ${COLORS.white};\n box-sizing: border-box;\n display: none;\n -webkit-animation: ${flowDown} 0.2s ease-in-out;\n animation: ${flowDown} 0.2s ease-in-out;\n position: absolute;\n border-radius: 4px;\n z-index: ${Z_INDEXES.off_canvas};\n height: 100%;\n width: 320px;\n padding-inline-start: 0;\n overflow-y: scroll;\n ${BREAKPOINTS.SMALL} {\n min-width: 360px;\n }\n\n .open & {\n display: flex;\n flex-direction: column;\n }\n\n ${scrollBarStyling};\n`;\n\nconst MenuSection = styled.li`\n padding: 8px 0;\n position: relative;\n\n .disabled-link {\n color: #21212150;\n pointer-events: none;\n key-events: none;\n }\n`;\n\nconst MenuSectionList = styled.ul`\n list-style: none;\n margin: 0;\n overflow-y: unset !important;\n padding-inline-start: 0;\n\n ${UserMenuSectionListStyling}\n`;\n\nconst Top = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 22px 12px 0 12px;\n color: ${COLORS.neutral_600};\n\n h3 {\n margin-block-start: 0 !important;\n margin-block-end: 0 !important;\n margin-inline-start: 0px;\n margin-inline-end: 0px;\n margin-left: 24px;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n }\n`;\n\nconst LabelLine = styled.span`\n height: 32px;\n background-color: ${COLORS.neutral_20};\n padding-left: 24px;\n display: flex;\n line-height: 32px;\n`;\n\ninterface Props {\n header: string;\n elementsHeader: string;\n clickMenuAction: () => void;\n elements?: UserMenuItem[];\n}\n\nconst MobileSwitcherMenu = ({ header, elementsHeader, clickMenuAction, elements }: Props) => {\n React.useEffect(() => {\n function handleKeyPress(e: any) {\n if (e.keyCode === 27) {\n clickMenuAction();\n }\n }\n\n document.addEventListener('keydown', handleKeyPress, false);\n return () => {\n document.removeEventListener('keydown', handleKeyPress, false);\n };\n }, [clickMenuAction]);\n\n return (\n <Menu onClick={() => {}} role=\"menu\" aria-labelledby=\"UserMenuButton\">\n <Top>\n <IconButton variant=\"secondary\" shape=\"circular\" action={clickMenuAction} isInMobileMenu={true}>\n <ArrowLineLeft size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n <h3>{header}</h3>\n <Right>\n <IconButton variant=\"secondary\" shape=\"circular\" action={clickMenuAction} isInMobileMenu={true}>\n <Close size=\"24px\" />\n </IconButton>\n </Right>\n </Top>\n {elements && elements?.length > 0 && (\n <MenuSection>\n <LabelLine>{elementsHeader}</LabelLine>\n <MenuSectionList>\n {elements?.map((element) => (\n <SwitcherMenuItem url={element?.to} label={element?.label} Icon={element.icon} />\n ))}\n </MenuSectionList>\n </MenuSection>\n )}\n </Menu>\n );\n};\n\nexport default MobileSwitcherMenu;\n"],"file":"MobileSwitcherMenu.js"}
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import styled from 'styled-components';
3
3
  import { COLORS, ComponentTextStyle } from '../styles';
4
4
  import { ComponentMStyling } from '../styles/typography';
5
+ import { Z_INDEXES } from '../styles/z-indexes';
5
6
  const StyledSwitcherItem = styled.div`
6
7
  padding: 16px 25px;
7
8
  margin: 0 2px;
@@ -32,6 +33,7 @@ const StyledSwitcherItem = styled.div`
32
33
  }
33
34
 
34
35
  &.active:not(.disabled) {
36
+ z-index: ${Z_INDEXES.active};
35
37
  font-weight: bold;
36
38
  color: ${COLORS.neutral_800};
37
39
 
@@ -50,6 +52,7 @@ const StyledSwitcherItem = styled.div`
50
52
  }
51
53
 
52
54
  &:hover:not(.disabled) {
55
+ z-index: ${Z_INDEXES.hover};
53
56
  color: ${COLORS.primary_600};
54
57
  background-color: ${COLORS.primary_20};
55
58
 
@@ -59,6 +62,7 @@ const StyledSwitcherItem = styled.div`
59
62
  }
60
63
 
61
64
  &:active:not(.disabled) {
65
+ z-index: ${Z_INDEXES.active};
62
66
  color: ${COLORS.primary_800};
63
67
  background-color: ${COLORS.primary_100};
64
68
  box-shadow: none;
@@ -73,6 +77,7 @@ const StyledSwitcherItem = styled.div`
73
77
  }
74
78
 
75
79
  &:focus:not(.disabled) {
80
+ z-index: ${Z_INDEXES.focus};
76
81
  box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);
77
82
  outline: none;
78
83
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Switcher/SwitcherMenuItem.tsx"],"names":["React","styled","COLORS","ComponentTextStyle","ComponentMStyling","StyledSwitcherItem","div","Regular","neutral_600","neutral_800","primary_500","neutral_300","neutral_100","primary_600","primary_20","primary_800","primary_100","A","a","SwitcherMenuItem","label","url","disabled","Icon","as","testId","window","location","href"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,MAAR,EAAgBC,kBAAhB,QAAyC,WAAzC;AAEA,SAAQC,iBAAR,QAAgC,sBAAhC;AAEA,MAAMC,kBAAkB,GAAGJ,MAAM,CAACK,GAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIF,iBAAiB,CAACD,kBAAkB,CAACI,OAApB,EAA6BL,MAAM,CAACM,WAApC,CAAiD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaN,MAAM,CAACO,WAAY;AAChC;AACA;AACA,0BAA0BP,MAAM,CAACQ,WAAY;AAC7C;AACA;AACA;AACA,cAAcR,MAAM,CAACO,WAAY;AACjC;AACA;AACA;AACA;AACA,aAAaP,MAAM,CAACS,WAAY;AAChC,wBAAwBT,MAAM,CAACU,WAAY;AAC3C;AACA;AACA;AACA,aAAaV,MAAM,CAACW,WAAY;AAChC,wBAAwBX,MAAM,CAACY,UAAW;AAC1C;AACA;AACA,cAAcZ,MAAM,CAACW,WAAY;AACjC;AACA;AACA;AACA;AACA,aAAaX,MAAM,CAACa,WAAY;AAChC,wBAAwBb,MAAM,CAACc,WAAY;AAC3C;AACA;AACA;AACA,0BAA0Bd,MAAM,CAACQ,WAAY;AAC7C;AACA;AACA;AACA,cAAcR,MAAM,CAACa,WAAY;AACjC;AACA;AACA;AACA;AACA,8BAA8Bb,MAAM,CAACQ,WAAY;AACjD;AACA;AACA,CA1EA;AA4EA,MAAMO,CAAC,GAAGhB,MAAM,CAACiB,CAAE,EAAnB;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,GAAT;AAAcC,EAAAA,QAAd;AAAwBC,EAAAA,IAAxB;AAA8BC,EAAAA,EAAE,GAAGP,CAAnC;AAAsCQ,EAAAA;AAAtC,CAAD,kBACvB,oBAAC,kBAAD;AACE,EAAA,OAAO,EAAE,MAAOC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBP,GAAG,IAAI,EADhD;AAEE,EAAA,EAAE,EAAEG,EAFN;AAGE,EAAA,IAAI,EAAEH,GAAG,IAAI,EAHf;AAIE,EAAA,MAAM,EAAC,SAJT;AAKE,EAAA,GAAG,EAAED,KALP;AAME,EAAA,SAAS,EAAEE,QAAQ,GAAG,UAAH,GAAgB,EANrC;AAOE,iBAAaG;AAPf,GAQGF,IAAI,iBAAI,oBAAC,IAAD;AAAM,EAAA,IAAI,EAAC,MAAX;AAAkB,EAAA,KAAK,EAAC;AAAxB,EARX,EASGH,KATH,CADF;;AAcA,eAAeD,gBAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, ComponentTextStyle} from '../styles';\nimport {SwitcherNavItem} from '../types';\nimport {ComponentMStyling} from '../styles/typography';\n\nconst StyledSwitcherItem = styled.div`\n padding: 16px 25px;\n margin: 0 2px;\n\n display: flex;\n align-items: center;\n text-align: center;\n position: relative;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n text-decoration: none;\n\n svg {\n margin-right: 16px;\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: 4px;\n top: 4px;\n bottom: 4px;\n width: 4px;\n background-color: transparent;\n border-radius: 2px;\n }\n\n &.active:not(.disabled) {\n font-weight: bold;\n color: ${COLORS.neutral_800};\n\n &:after {\n background-color: ${COLORS.primary_500};\n }\n\n svg path {\n fill: ${COLORS.neutral_800};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n background-color: ${COLORS.neutral_100};\n }\n\n &:hover:not(.disabled) {\n color: ${COLORS.primary_600};\n background-color: ${COLORS.primary_20};\n\n svg path {\n fill: ${COLORS.primary_600};\n }\n }\n\n &:active:not(.disabled) {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n\n &:after {\n background-color: ${COLORS.primary_500};\n }\n\n svg path {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:focus:not(.disabled) {\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n outline: none;\n }\n`;\n\nconst A = styled.a``;\n\nconst SwitcherMenuItem = ({ label, url, disabled, Icon, as = A, testId }: SwitcherNavItem) => (\n <StyledSwitcherItem\n onClick={() => (window.location.href = url || '')}\n as={as}\n href={url || ''}\n target=\"_parent\"\n key={label}\n className={disabled ? 'disabled' : ''}\n data-testid={testId}>\n {Icon && <Icon size=\"22px\" color=\"#666666\" />}\n {label}\n </StyledSwitcherItem>\n);\n\nexport default SwitcherMenuItem;\n"],"file":"SwitcherMenuItem.js"}
1
+ {"version":3,"sources":["../../../src/Switcher/SwitcherMenuItem.tsx"],"names":["React","styled","COLORS","ComponentTextStyle","ComponentMStyling","Z_INDEXES","StyledSwitcherItem","div","Regular","neutral_600","active","neutral_800","primary_500","neutral_300","neutral_100","hover","primary_600","primary_20","primary_800","primary_100","focus","A","a","SwitcherMenuItem","label","url","disabled","Icon","as","testId","window","location","href"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,MAAR,EAAgBC,kBAAhB,QAAyC,WAAzC;AAEA,SAAQC,iBAAR,QAAgC,sBAAhC;AACA,SAAQC,SAAR,QAAwB,qBAAxB;AAEA,MAAMC,kBAAkB,GAAGL,MAAM,CAACM,GAAI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIH,iBAAiB,CAACD,kBAAkB,CAACK,OAApB,EAA6BN,MAAM,CAACO,WAApC,CAAiD;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAeJ,SAAS,CAACK,MAAO;AAChC;AACA,aAAaR,MAAM,CAACS,WAAY;AAChC;AACA;AACA,0BAA0BT,MAAM,CAACU,WAAY;AAC7C;AACA;AACA;AACA,cAAcV,MAAM,CAACS,WAAY;AACjC;AACA;AACA;AACA;AACA,aAAaT,MAAM,CAACW,WAAY;AAChC,wBAAwBX,MAAM,CAACY,WAAY;AAC3C;AACA;AACA;AACA,eAAeT,SAAS,CAACU,KAAM;AAC/B,aAAab,MAAM,CAACc,WAAY;AAChC,wBAAwBd,MAAM,CAACe,UAAW;AAC1C;AACA;AACA,cAAcf,MAAM,CAACc,WAAY;AACjC;AACA;AACA;AACA;AACA,eAAeX,SAAS,CAACK,MAAO;AAChC,aAAaR,MAAM,CAACgB,WAAY;AAChC,wBAAwBhB,MAAM,CAACiB,WAAY;AAC3C;AACA;AACA;AACA,0BAA0BjB,MAAM,CAACU,WAAY;AAC7C;AACA;AACA;AACA,cAAcV,MAAM,CAACgB,WAAY;AACjC;AACA;AACA;AACA;AACA,eAAeb,SAAS,CAACe,KAAM;AAC/B,8BAA8BlB,MAAM,CAACU,WAAY;AACjD;AACA;AACA,CA9EA;AAgFA,MAAMS,CAAC,GAAGpB,MAAM,CAACqB,CAAE,EAAnB;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA,GAAT;AAAcC,EAAAA,QAAd;AAAwBC,EAAAA,IAAxB;AAA8BC,EAAAA,EAAE,GAAGP,CAAnC;AAAsCQ,EAAAA;AAAtC,CAAD,kBACvB,oBAAC,kBAAD;AACE,EAAA,OAAO,EAAE,MAAOC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,GAAuBP,GAAG,IAAI,EADhD;AAEE,EAAA,EAAE,EAAEG,EAFN;AAGE,EAAA,IAAI,EAAEH,GAAG,IAAI,EAHf;AAIE,EAAA,MAAM,EAAC,SAJT;AAKE,EAAA,GAAG,EAAED,KALP;AAME,EAAA,SAAS,EAAEE,QAAQ,GAAG,UAAH,GAAgB,EANrC;AAOE,iBAAaG;AAPf,GAQGF,IAAI,iBAAI,oBAAC,IAAD;AAAM,EAAA,IAAI,EAAC,MAAX;AAAkB,EAAA,KAAK,EAAC;AAAxB,EARX,EASGH,KATH,CADF;;AAcA,eAAeD,gBAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, ComponentTextStyle} from '../styles';\nimport {SwitcherNavItem} from '../types';\nimport {ComponentMStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\nconst StyledSwitcherItem = styled.div`\n padding: 16px 25px;\n margin: 0 2px;\n\n display: flex;\n align-items: center;\n text-align: center;\n position: relative;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n text-decoration: none;\n\n svg {\n margin-right: 16px;\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n left: 4px;\n top: 4px;\n bottom: 4px;\n width: 4px;\n background-color: transparent;\n border-radius: 2px;\n }\n\n &.active:not(.disabled) {\n z-index: ${Z_INDEXES.active};\n font-weight: bold;\n color: ${COLORS.neutral_800};\n\n &:after {\n background-color: ${COLORS.primary_500};\n }\n\n svg path {\n fill: ${COLORS.neutral_800};\n }\n }\n\n &.disabled {\n color: ${COLORS.neutral_300};\n background-color: ${COLORS.neutral_100};\n }\n\n &:hover:not(.disabled) {\n z-index: ${Z_INDEXES.hover};\n color: ${COLORS.primary_600};\n background-color: ${COLORS.primary_20};\n\n svg path {\n fill: ${COLORS.primary_600};\n }\n }\n\n &:active:not(.disabled) {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n\n &:after {\n background-color: ${COLORS.primary_500};\n }\n\n svg path {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:focus:not(.disabled) {\n z-index: ${Z_INDEXES.focus};\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n outline: none;\n }\n`;\n\nconst A = styled.a``;\n\nconst SwitcherMenuItem = ({ label, url, disabled, Icon, as = A, testId }: SwitcherNavItem) => (\n <StyledSwitcherItem\n onClick={() => (window.location.href = url || '')}\n as={as}\n href={url || ''}\n target=\"_parent\"\n key={label}\n className={disabled ? 'disabled' : ''}\n data-testid={testId}>\n {Icon && <Icon size=\"22px\" color=\"#666666\" />}\n {label}\n </StyledSwitcherItem>\n);\n\nexport default SwitcherMenuItem;\n"],"file":"SwitcherMenuItem.js"}
@@ -14,7 +14,8 @@ import { COLORS, ComponentTextStyle } from '../styles';
14
14
  */
15
15
 
16
16
  import styled from 'styled-components';
17
- import { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography'; // Add custom styles
17
+ import { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXSStyling } from '../styles/typography';
18
+ import { Z_INDEXES } from '../styles/z-indexes'; // Add custom styles
18
19
 
19
20
  const HorizontalTabContainer = styled.div`
20
21
  width: 100%;
@@ -25,8 +26,7 @@ const HorizontalTabContainer = styled.div`
25
26
  const TabSideFill = styled.div`
26
27
  position: absolute;
27
28
  border-bottom: 1px solid ${COLORS.neutral_100};
28
- height: Calc(100% - 1px);
29
- z-index: 1;
29
+ bottom: 0;
30
30
  width: 100%;
31
31
 
32
32
  &.fill {
@@ -37,7 +37,6 @@ const TabButton = styled.button`
37
37
  color: ${COLORS.neutral_800};
38
38
  border: none;
39
39
  background-color: transparent;
40
- z-index: 2;
41
40
  cursor: pointer;
42
41
  padding: 0px;
43
42
 
@@ -55,6 +54,7 @@ const TabButton = styled.button`
55
54
  }
56
55
 
57
56
  &:hover {
57
+ z-index: ${Z_INDEXES.hover};
58
58
  div {
59
59
  background: ${COLORS.primary_20};
60
60
  color: ${COLORS.primary_700};
@@ -67,8 +67,14 @@ const TabButton = styled.button`
67
67
  }
68
68
  }
69
69
  }
70
+ &.selected{
71
+ z-index: ${Z_INDEXES.active};
72
+ }
70
73
 
71
74
  &:focus {
75
+ z-index: ${Z_INDEXES.focus};
76
+ outline: none;
77
+
72
78
  div {
73
79
  color: ${COLORS.primary_800};
74
80
  box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Tabs/HorizontalTabs.tsx"],"names":["React","COLORS","ComponentTextStyle","styled","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","HorizontalTabContainer","div","TabSideFill","neutral_100","white","TabButton","button","neutral_800","neutral_300","primary_20","primary_700","primary_800","focus_25","focus","primary_500","primary_100","Regular","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;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,C,CAEA;;AACA,MAAMC,sBAAsB,GAAGL,MAAM,CAACM,GAAI;AAC1C;AACA;AACA;AACA;AACA,CALA;AAOA,MAAMC,WAAW,GAAGP,MAAM,CAACM,GAAI;AAC/B;AACA,6BAA6BR,MAAM,CAACU,WAAY;AAChD;AACA;AACA;AACA;AACA;AACA,kBAAkBV,MAAM,CAACW,KAAM;AAC/B;AACA,CAVA;AAYA,MAAMC,SAAS,GAAGV,MAAM,CAACW,MAAO;AAChC,WAAWb,MAAM,CAACc,WAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBd,MAAM,CAACe,WAAY;AACpC;AACA;AACA,iBAAiBf,MAAM,CAACe,WAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoBf,MAAM,CAACgB,UAAW;AACtC,eAAehB,MAAM,CAACiB,WAAY;AAClC;AACA;AACA,gCAAgCjB,MAAM,CAACiB,WAAY;AACnD;AACA,iCAAiCjB,MAAM,CAACU,WAAY;AACpD,kCAAkCV,MAAM,CAACU,WAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,eAAeV,MAAM,CAACkB,WAAY;AAClC,iCAAiClB,MAAM,CAACmB,QAAS,iBAAgBnB,MAAM,CAACoB,KAAM;AAC9E;AACA;AACA;AACA,gCAAgCpB,MAAM,CAACkB,WAAY;AACnD;AACA,iCAAiClB,MAAM,CAACU,WAAY;AACpD,kCAAkCV,MAAM,CAACU,WAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoBV,MAAM,CAACgB,UAAW;AACtC,eAAehB,MAAM,CAACiB,WAAY;AAClC;AACA;AACA,gCAAgCjB,MAAM,CAACiB,WAAY;AACnD;AACA,iCAAiCjB,MAAM,CAACU,WAAY;AACpD,kCAAkCV,MAAM,CAACU,WAAY;AACrD;AACA;AACA;AACA;AACA,0BAA0BV,MAAM,CAACW,KAAM;AACvC,8BAA8BX,MAAM,CAACqB,WAAY;AACjD;AACA,+BAA+BrB,MAAM,CAACU,WAAY;AAClD,gCAAgCV,MAAM,CAACU,WAAY;AACnD;AACA;AACA;AACA,eAAeV,MAAM,CAACkB,WAAY;AAClC,iCAAiClB,MAAM,CAACmB,QAAS,iBAAgBnB,MAAM,CAACoB,KAAM;AAC9E;AACA;AACA;AACA,gCAAgCpB,MAAM,CAACkB,WAAY;AACnD;AACA,iCAAiClB,MAAM,CAACU,WAAY;AACpD,kCAAkCV,MAAM,CAACU,WAAY;AACrD;AACA;AACA;AACA;AACA,oBAAoBV,MAAM,CAACsB,WAAY;AACvC,eAAetB,MAAM,CAACkB,WAAY;AAClC,iCAAiClB,MAAM,CAACmB,QAAS,iBAAgBnB,MAAM,CAACoB,KAAM;AAC9E;AACA;AACA;AACA,gCAAgCpB,MAAM,CAACkB,WAAY;AACnD;AACA,iCAAiClB,MAAM,CAACU,WAAY;AACpD,kCAAkCV,MAAM,CAACU,WAAY;AACrD;AACA;AACA;AACA;AACA,eAAeV,MAAM,CAACe,WAAY;AAClC;AACA;AACA;AACA;AACA;AACA,iBAAiBf,MAAM,CAACe,WAAY;AACpC;AACA;AACA;AACA;AACA,QAAQT,kBAAkB,CAACL,kBAAkB,CAACsB,OAApB,EAA6B,IAA7B,CAAmC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQlB,iBAAiB,CAACJ,kBAAkB,CAACsB,OAApB,EAA6B,IAA7B,CAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQnB,iBAAiB,CAACH,kBAAkB,CAACsB,OAApB,EAA6B,IAA7B,CAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQpB,iBAAiB,CAACF,kBAAkB,CAACsB,OAApB,EAA6B,IAA7B,CAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA,CA7IA,C,CA+IA;;AAkBA,MAAMC,cAAc,GAAG,CAAC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,IAAR;AAAcC,EAAAA,QAAd;AAAwBC,EAAAA,SAAxB;AAAmCC,EAAAA;AAAnC,CAAD,KAA0E;AAC/F;AACF;AACA;AACA;AACE,QAAMC,WAAW,GAAIC,EAAD,IAAsB;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,oBAAC,sBAAD,qBACE,oBAAC,WAAD;AAAa,IAAA,SAAS,EAAG,GAAER,QAAQ,GAAG,MAAH,GAAY,EAAG;AAAlD,IADF,EAEGD,IAAI,CAACU,GAAL,CAAS,CAACC,GAAD,EAAqBC,KAArB,kBACR,oBAAC,SAAD;AACE,IAAA,GAAG,EAAG,GAAED,GAAI,IAAGC,KAAM,EADvB;AAEE,IAAA,KAAK,EAAEV,SAAS,GAAG;AAAEW,MAAAA,KAAK,EAAG,GAAE,MAAMb,IAAI,CAACc,MAAO;AAA9B,KAAH,GAAwC,EAF1D;AAGE,IAAA,SAAS,EAAG,QAAOf,IAAK,IAAGY,GAAG,CAACI,QAAJ,GAAe,UAAf,GAA4B,EAAG,IAAGJ,GAAG,CAACK,QAAJ,GAAe,UAAf,GAA4B,EAAG,EAH9F;AAIE,IAAA,OAAO,EAAE,MAAM,CAACL,GAAG,CAACK,QAAL,IAAiBZ,WAAW,CAACO,GAAG,CAACN,EAAL;AAJ7C,kBAKE;AAAK,IAAA,SAAS,EAAG,QAAON,IAAK,IAAGY,GAAG,CAACI,QAAJ,GAAe,UAAf,GAA4B,EAAG,IAAGJ,GAAG,CAACK,QAAJ,GAAe,UAAf,GAA4B,EAAG;AAAjG,KACGL,GAAG,CAACM,KADP,CALF,CADD,CAFH,CADF;AAgBD,CA/BD;;;AAhBElB,EAAAA,I,aAcwB,I,EAAO,G,EAAM,G,EAAM,G;AAb3CC,EAAAA,I;AAOAiB,IAAAA,K;AACAF,IAAAA,Q;AACAV,IAAAA,E;AACAW,IAAAA,Q;;AATAf,EAAAA,Q;AACAC,EAAAA,S;AACAC,EAAAA,W;;AA6CF,eAAeL,cAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\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';\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 height: Calc(100% - 1px);\n z-index: 1;\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 z-index: 2;\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 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 \n &:focus {\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-XS {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-S {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-M {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-L {\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: HorizontalTabSizes;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\ninterface HorizontalTab {\n value: string;\n selected: boolean;\n to: string;\n disabled?: boolean;\n}\n\ntype HorizontalTabSizes = 'XS' | 'S' | 'M' | 'L';\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","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","Regular","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;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,MAAMC,sBAAsB,GAAGN,MAAM,CAACO,GAAI;AAC1C;AACA;AACA;AACA;AACA,CALA;AAOA,MAAMC,WAAW,GAAGR,MAAM,CAACO,GAAI;AAC/B;AACA,6BAA6BT,MAAM,CAACW,WAAY;AAChD;AACA;AACA;AACA;AACA,kBAAkBX,MAAM,CAACY,KAAM;AAC/B;AACA,CATA;AAWA,MAAMC,SAAS,GAAGX,MAAM,CAACY,MAAO;AAChC,WAAWd,MAAM,CAACe,WAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiBf,MAAM,CAACgB,WAAY;AACpC;AACA;AACA,iBAAiBhB,MAAM,CAACgB,WAAY;AACpC;AACA;AACA;AACA;AACA;AACA,eAAeT,SAAS,CAACU,KAAM;AAC/B;AACA,oBAAoBjB,MAAM,CAACkB,UAAW;AACtC,eAAelB,MAAM,CAACmB,WAAY;AAClC;AACA;AACA,gCAAgCnB,MAAM,CAACmB,WAAY;AACnD;AACA,iCAAiCnB,MAAM,CAACW,WAAY;AACpD,kCAAkCX,MAAM,CAACW,WAAY;AACrD;AACA;AACA;AACA;AACA,eAAeJ,SAAS,CAACa,MAAO;AAChC;AACA;AACA;AACA,eAAeb,SAAS,CAACc,KAAM;AAC/B;AACA;AACA;AACA,eAAerB,MAAM,CAACsB,WAAY;AAClC,iCAAiCtB,MAAM,CAACuB,QAAS,iBAAgBvB,MAAM,CAACqB,KAAM;AAC9E;AACA;AACA;AACA,gCAAgCrB,MAAM,CAACsB,WAAY;AACnD;AACA,iCAAiCtB,MAAM,CAACW,WAAY;AACpD,kCAAkCX,MAAM,CAACW,WAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoBX,MAAM,CAACkB,UAAW;AACtC,eAAelB,MAAM,CAACmB,WAAY;AAClC;AACA;AACA,gCAAgCnB,MAAM,CAACmB,WAAY;AACnD;AACA,iCAAiCnB,MAAM,CAACW,WAAY;AACpD,kCAAkCX,MAAM,CAACW,WAAY;AACrD;AACA;AACA;AACA;AACA,0BAA0BX,MAAM,CAACY,KAAM;AACvC,8BAA8BZ,MAAM,CAACwB,WAAY;AACjD;AACA,+BAA+BxB,MAAM,CAACW,WAAY;AAClD,gCAAgCX,MAAM,CAACW,WAAY;AACnD;AACA;AACA;AACA,eAAeX,MAAM,CAACsB,WAAY;AAClC,iCAAiCtB,MAAM,CAACuB,QAAS,iBAAgBvB,MAAM,CAACqB,KAAM;AAC9E;AACA;AACA;AACA,gCAAgCrB,MAAM,CAACsB,WAAY;AACnD;AACA,iCAAiCtB,MAAM,CAACW,WAAY;AACpD,kCAAkCX,MAAM,CAACW,WAAY;AACrD;AACA;AACA;AACA;AACA,oBAAoBX,MAAM,CAACyB,WAAY;AACvC,eAAezB,MAAM,CAACsB,WAAY;AAClC,iCAAiCtB,MAAM,CAACuB,QAAS,iBAAgBvB,MAAM,CAACqB,KAAM;AAC9E;AACA;AACA;AACA,gCAAgCrB,MAAM,CAACsB,WAAY;AACnD;AACA,iCAAiCtB,MAAM,CAACW,WAAY;AACpD,kCAAkCX,MAAM,CAACW,WAAY;AACrD;AACA;AACA;AACA;AACA,eAAeX,MAAM,CAACgB,WAAY;AAClC;AACA;AACA;AACA;AACA;AACA,iBAAiBhB,MAAM,CAACgB,WAAY;AACpC;AACA;AACA;AACA;AACA,QAAQV,kBAAkB,CAACL,kBAAkB,CAACyB,OAApB,EAA6B,IAA7B,CAAmC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQrB,iBAAiB,CAACJ,kBAAkB,CAACyB,OAApB,EAA6B,IAA7B,CAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQtB,iBAAiB,CAACH,kBAAkB,CAACyB,OAApB,EAA6B,IAA7B,CAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQvB,iBAAiB,CAACF,kBAAkB,CAACyB,OAApB,EAA6B,IAA7B,CAAmC;AAC5D;AACA;AACA;AACA;AACA;AACA,CAnJA,C,CAqJA;;AAkBA,MAAMC,cAAc,GAAG,CAAC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,IAAR;AAAcC,EAAAA,QAAd;AAAwBC,EAAAA,SAAxB;AAAmCC,EAAAA;AAAnC,CAAD,KAA0E;AAC/F;AACF;AACA;AACA;AACE,QAAMC,WAAW,GAAIC,EAAD,IAAsB;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,oBAAC,sBAAD,qBACE,oBAAC,WAAD;AAAa,IAAA,SAAS,EAAG,GAAER,QAAQ,GAAG,MAAH,GAAY,EAAG;AAAlD,IADF,EAEGD,IAAI,CAACU,GAAL,CAAS,CAACC,GAAD,EAAqBC,KAArB,kBACR,oBAAC,SAAD;AACE,IAAA,GAAG,EAAG,GAAED,GAAI,IAAGC,KAAM,EADvB;AAEE,IAAA,KAAK,EAAEV,SAAS,GAAG;AAAEW,MAAAA,KAAK,EAAG,GAAE,MAAMb,IAAI,CAACc,MAAO;AAA9B,KAAH,GAAwC,EAF1D;AAGE,IAAA,SAAS,EAAG,QAAOf,IAAK,IAAGY,GAAG,CAACI,QAAJ,GAAe,UAAf,GAA4B,EAAG,IAAGJ,GAAG,CAACK,QAAJ,GAAe,UAAf,GAA4B,EAAG,EAH9F;AAIE,IAAA,OAAO,EAAE,MAAM,CAACL,GAAG,CAACK,QAAL,IAAiBZ,WAAW,CAACO,GAAG,CAACN,EAAL;AAJ7C,kBAKE;AAAK,IAAA,SAAS,EAAG,QAAON,IAAK,IAAGY,GAAG,CAACI,QAAJ,GAAe,UAAf,GAA4B,EAAG,IAAGJ,GAAG,CAACK,QAAJ,GAAe,UAAf,GAA4B,EAAG;AAAjG,KACGL,GAAG,CAACM,KADP,CALF,CADD,CAFH,CADF;AAgBD,CA/BD;;;AAhBElB,EAAAA,I,aAcwB,I,EAAO,G,EAAM,G,EAAM,G;AAb3CC,EAAAA,I;AAOAiB,IAAAA,K;AACAF,IAAAA,Q;AACAV,IAAAA,E;AACAW,IAAAA,Q;;AATAf,EAAAA,Q;AACAC,EAAAA,S;AACAC,EAAAA,W;;AA6CF,eAAeL,cAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\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-XS {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 32px;\n margin-top: 16px;\n }\n\n &.size-S {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n padding: 0px 16px;\n height: 40px;\n margin-top: 8px;\n }\n\n &.size-M {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n height: 48px;\n min-width: 96px;\n padding: 0px 16px;\n }\n\n &.size-L {\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: HorizontalTabSizes;\n tabs: HorizontalTab[];\n sideFill?: boolean;\n fullWidth?: boolean;\n onTabChange: (to: string) => void;\n}\n\ninterface HorizontalTab {\n value: string;\n selected: boolean;\n to: string;\n disabled?: boolean;\n}\n\ntype HorizontalTabSizes = 'XS' | 'S' | 'M' | 'L';\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"}
@@ -4,6 +4,7 @@ import { NavLink, useLocation } from 'react-router-dom';
4
4
  import styled from 'styled-components';
5
5
  import { NotificationDot } from '../NotificationDot';
6
6
  import { COLORS } from '../styles';
7
+ import { Z_INDEXES } from '../styles/z-indexes';
7
8
  const StyledTabLink = styled(NavLink)`
8
9
  display: flex;
9
10
  flex-direction: row;
@@ -25,6 +26,7 @@ const StyledTabLink = styled(NavLink)`
25
26
  }
26
27
 
27
28
  &:focus {
29
+ z-index: ${Z_INDEXES.focus};
28
30
  background-color: ${COLORS.white};
29
31
  box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;
30
32
  outline: none;
@@ -35,24 +37,31 @@ const StyledTabLink = styled(NavLink)`
35
37
  }
36
38
 
37
39
  &.active {
40
+ z-index: ${Z_INDEXES.active};
38
41
  background-color: ${COLORS.neutral_20};
39
42
  }
43
+
40
44
  &.active:hover {
41
45
  background-color: ${COLORS.primary_20};
42
46
  }
47
+
43
48
  &.active:focus {
44
49
  background-color: ${COLORS.white};
45
50
  }
46
51
 
47
52
  &:hover {
53
+ z-index: ${Z_INDEXES.hover};
48
54
  background-color: ${COLORS.primary_20};
49
55
  color: ${COLORS.primary_600};
50
56
  }
57
+
51
58
  &:active {
59
+ z-index: ${Z_INDEXES.active};
52
60
  box-shadow: none;
53
61
  background-color: ${COLORS.primary_100};
54
62
  color: ${COLORS.primary_800};
55
63
  }
64
+
56
65
  &.active {
57
66
  &::after {
58
67
  position: absolute;
@@ -63,17 +72,16 @@ const StyledTabLink = styled(NavLink)`
63
72
  left: -1px;
64
73
  background-color: ${COLORS.primary_500};
65
74
 
66
- border-top-left-radius: 2px;
67
- border-top-right-radius: 2px;
68
- border-bottom-left-radius: 2px;
69
- border-bottom-right-radius: 2px;
75
+ border-radius: 2px;
70
76
  }
71
77
  }
78
+
72
79
  &.active:hover {
73
80
  &::after {
74
81
  background-color: ${COLORS.primary_600};
75
82
  }
76
83
  }
84
+
77
85
  &.active:active {
78
86
  background-color: ${COLORS.primary_100};
79
87
 
@@ -81,12 +89,15 @@ const StyledTabLink = styled(NavLink)`
81
89
  background-color: ${COLORS.primary_800};
82
90
  }
83
91
  }
92
+
84
93
  &:disabled {
85
94
  box-shadow: none;
86
95
  background-color: ${COLORS.white};
96
+
87
97
  span {
88
98
  color: ${COLORS.neutral_300};
89
99
  }
100
+
90
101
  &::after {
91
102
  background-color: ${COLORS.white};
92
103
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","COLORS","StyledTabLink","neutral_600","props","disabled","neutral_100","white","neutral_20","primary_20","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","variant","location","ref","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 { COLORS } from '../styles';\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?: string;\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 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 background-color: ${COLORS.neutral_20};\n }\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n &.active:focus {\n background-color: ${COLORS.white};\n }\n\n &:hover {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n &:active {\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\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-top-left-radius: 2px;\n border-top-right-radius: 2px;\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\n }\n }\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n span {\n color: ${COLORS.neutral_300};\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`;\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 = '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","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","variant","location","ref","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 { 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?: string;\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`;\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 = '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"}
@@ -242,7 +242,11 @@ const Toast = ({
242
242
  }
243
243
 
244
244
  const theme = ToastColor[opts.color ?? ToastColor.BLACK];
245
- setTimeout(() => elementRef?.current?.focus());
245
+
246
+ if (!shouldRemove) {
247
+ setTimeout(() => elementRef?.current?.focus());
248
+ }
249
+
246
250
  return /*#__PURE__*/React.createElement(Container, {
247
251
  "data-testid": testId,
248
252
  animation: prop,