@laerdal/life-react-components 1.10.3-dev.21 → 1.10.3-dev.22

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 (65) hide show
  1. package/dist/Button/Iconbutton.cjs +5 -0
  2. package/dist/Button/Iconbutton.cjs.map +1 -1
  3. package/dist/Button/Iconbutton.d.ts +7 -1
  4. package/dist/Button/Iconbutton.js +5 -0
  5. package/dist/Button/Iconbutton.js.map +1 -1
  6. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +7 -8
  7. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  8. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +1 -2
  9. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +6 -7
  10. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  11. package/dist/{common → GlobalNavigationBar}/NavigationHelper.cjs +0 -0
  12. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -0
  13. package/dist/{common → GlobalNavigationBar}/NavigationHelper.d.ts +0 -0
  14. package/dist/{common → GlobalNavigationBar}/NavigationHelper.js +0 -0
  15. package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -0
  16. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +36 -70
  17. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  18. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +36 -68
  19. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  20. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +21 -46
  21. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  22. package/dist/GlobalNavigationBar/desktop/MainMenu.js +21 -45
  23. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  24. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +2 -2
  25. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  26. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +2 -2
  27. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  28. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +3 -3
  29. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  30. package/dist/GlobalNavigationBar/desktop/UserMenu.js +3 -3
  31. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  32. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +3 -3
  33. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  34. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +3 -3
  35. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  36. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +30 -59
  37. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  38. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +30 -58
  39. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  40. package/dist/GlobalNavigationBar/types.d.ts +10 -9
  41. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  42. package/dist/ProfileButton/ProfileButton.d.ts +0 -8
  43. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  44. package/dist/Table/TableFooter.cjs +10 -7
  45. package/dist/Table/TableFooter.cjs.map +1 -1
  46. package/dist/Table/TableFooter.js +10 -7
  47. package/dist/Table/TableFooter.js.map +1 -1
  48. package/dist/Tabs/TabLink.cjs +2 -2
  49. package/dist/Tabs/TabLink.cjs.map +1 -1
  50. package/dist/Tabs/TabLink.d.ts +1 -1
  51. package/dist/Tabs/TabLink.js +2 -2
  52. package/dist/Tabs/TabLink.js.map +1 -1
  53. package/dist/Tabs/VerticalTabs.cjs +2 -2
  54. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  55. package/dist/Tabs/VerticalTabs.d.ts +1 -1
  56. package/dist/Tabs/VerticalTabs.js +2 -2
  57. package/dist/Tabs/VerticalTabs.js.map +1 -1
  58. package/dist/hooks/useClickOutside.cjs +39 -0
  59. package/dist/hooks/useClickOutside.cjs.map +1 -0
  60. package/dist/hooks/useClickOutside.d.ts +5 -0
  61. package/dist/hooks/useClickOutside.js +26 -0
  62. package/dist/hooks/useClickOutside.js.map +1 -0
  63. package/package.json +1 -1
  64. package/dist/common/NavigationHelper.cjs.map +0 -1
  65. package/dist/common/NavigationHelper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownButton","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageOptions","rowsPerPageValues","map","x","value","dropDownText","rowsPerPageLabel","rowsPerPage","accordion","setIsCollapsed","isCollapsed","rows","length","showMoreLabel","showFewerLabel","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageOptions = [10, 20, 50, 100];\n const rowsPerPageValues: DropdownItem[] = rowsPerPageOptions.map(x => { return {value: `${x}`}});\n\n const dropDownText = `${props.rowsPerPageLabel ?? 'Rows per page'} : ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={defaultOnMouseDownHandler}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>{props.showMoreLabel ?? 'Show more'} ({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>{props.showFewerLabel ?? 'Show fewer'}</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n { props.rows && props.rows.length > rowsPerPageOptions[0] && <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={true}\n />}\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1 || props.showLoadingIndicator}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total || props.showLoadingIndicator}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
1
+ {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownButton","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageValues","value","dropDownText","rowsPerPageLabel","rowsPerPage","accordion","setIsCollapsed","isCollapsed","rows","length","showMoreLabel","showFewerLabel","showLoadingIndicator","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAAQC,cAAR,QAA2C,aAA3C;AACA,SAAQC,UAAR,QAAyB,WAAzB;AACA,SAAQC,WAAR,EAAqBC,YAArB,QAAwC,kCAAxC;AACA,SAAQC,MAAR,QAAqB,WAArB;AACA,SACEC,iBADF,EACqBC,+BADrB,EAEEC,wBAFF,EAGEC,yBAHF,EAIEC,4BAJF,QAKO,eALP;AAMA,SAAQC,WAAR,QAA0B,UAA1B;AACA,SAAQC,yBAAR,QAAwC,WAAxC;;;;;AAeA,IAAMC,WAAsD,GAAG,SAAzDA,WAAyD,CAACC,KAAD,EAAW;AAAA;;AACxE,MAAMC,iBAAiC,GAAG,CAAC;AAACC,IAAAA,KAAK,EAAE;AAAR,GAAD,EAAgB;AAACA,IAAAA,KAAK,EAAE;AAAR,GAAhB,EAA+B;AAACA,IAAAA,KAAK,EAAE;AAAR,GAA/B,EAA8C;AAACA,IAAAA,KAAK,EAAE;AAAR,GAA9C,CAA1C;AAEA,MAAMC,YAAY,sCAAMH,KAAK,CAACI,gBAAZ,yEAAgC,eAAhC,gBAAqDJ,KAAK,CAACK,WAA3D,CAAlB;AAEA,sBACE,MAAC,iBAAD;AAAmB,mBAAY,oBAA/B;AAAA,eAEQL,KAAK,CAACM,SAAN,iBACA,MAAC,+BAAD;AAAiC,MAAA,OAAO,EAAE;AAAA,eAAMN,KAAK,CAACO,cAAN,CAAqB,CAACP,KAAK,CAACQ,WAA5B,CAAN;AAAA,OAA1C;AACiC,MAAA,WAAW,EAAEV,yBAD9C;AAEiC,MAAA,QAAQ,EAAEE,KAAK,CAACQ,WAAN,IAAqBR,KAAK,CAACS,IAAN,CAAWC,MAAX,IAAqBV,KAAK,CAACK,WAF3F;AAAA,iBAIIL,KAAK,CAACQ,WAAN,iBACA;AAAA,gCACE;AAAA,6CAAOR,KAAK,CAACW,aAAb,uEAA8B,WAA9B,QAA6CX,KAAK,CAACS,IAAN,CAAWC,MAAX,GAAoBV,KAAK,CAACK,WAAvE;AAAA,UADF,eAEE,KAAC,WAAD,CAAa,aAAb,KAFF;AAAA,QALJ,EAWI,CAACL,KAAK,CAACQ,WAAP,iBACA;AAAA,gCACE;AAAA,6CAAOR,KAAK,CAACY,cAAb,yEAA+B;AAA/B,UADF,eAEE,KAAC,WAAD,CAAa,WAAb,KAFF;AAAA,QAZJ;AAAA,MAHR,EAuBQ,CAACZ,KAAK,CAACM,SAAP,iBACA,MAAC,wBAAD;AAAA,8BACE,KAAC,cAAD;AACE,QAAA,IAAI,EAAE,MADR;AAEE,QAAA,KAAK,EAAEL,iBAFT;AAGE,QAAA,QAAQ,EAAED,KAAK,CAACa,oBAHlB;AAIE,QAAA,KAAK,EAAE,WAAIb,KAAK,CAACK,WAAV,EAJT;AAKE,QAAA,OAAO,EAAE,iBAACH,KAAD;AAAA,iBAAWF,KAAK,CAACc,mBAAN,CAA0B,CAACZ,KAAK,CAAC,CAAD,CAAhC,CAAX;AAAA,SALX;AAME,QAAA,KAAK,EAAEC,YANT;AAOE,QAAA,SAAS,EAAE;AAPb,QADF,eAUE,MAAC,4BAAD;AAAA,mBACGH,KAAK,CAACe,KAAN,KAAgB,CAAhB,GAAoB,CAApB,GAAwBf,KAAK,CAACgB,IADjC,OACwChB,KAAK,CAACiB,EAD9C,UACsDjB,KAAK,CAACe,KAD5D;AAAA,QAVF,eAaE,MAAC,yBAAD;AAAA,gCACE,KAAC,UAAD;AAAY,UAAA,OAAO,EAAC,WAApB;AAAgC,UAAA,KAAK,EAAC,UAAtC;AAAiD,UAAA,MAAM,EAAE;AAAA,mBAAMf,KAAK,CAACkB,QAAN,EAAN;AAAA,WAAzD;AACY,UAAA,QAAQ,EAAElB,KAAK,CAACgB,IAAN,KAAe,CAAf,IAAoBhB,KAAK,CAACa,oBADhD;AAAA,iCAEE,KAAC,WAAD;AAAa,YAAA,IAAI,EAAC,IAAlB;AAAuB,YAAA,KAAK,EAAEtB,MAAM,CAAC4B;AAArC;AAFF,UADF,eAKE,KAAC,UAAD;AAAY,UAAA,OAAO,EAAC,WAApB;AAAgC,UAAA,KAAK,EAAC,UAAtC;AAAiD,UAAA,MAAM,EAAE;AAAA,mBAAMnB,KAAK,CAACoB,QAAN,EAAN;AAAA,WAAzD;AACY,UAAA,QAAQ,EAAEpB,KAAK,CAACiB,EAAN,KAAajB,KAAK,CAACe,KAAnB,IAA4Bf,KAAK,CAACa,oBADxD;AAAA,iCAEE,KAAC,YAAD;AAAc,YAAA,IAAI,EAAC,IAAnB;AAAwB,YAAA,KAAK,EAAEtB,MAAM,CAAC4B;AAAtC;AAFF,UALF;AAAA,QAbF;AAAA,MAxBR;AAAA,IADF;AAoDD,CAzDD;;;AAXEL,EAAAA,mB;AACAT,EAAAA,W;AACAW,EAAAA,I;AACAC,EAAAA,E;AACAF,EAAAA,K;AACAK,EAAAA,Q;AACAF,EAAAA,Q;AACAX,EAAAA,c;AACAC,EAAAA,W;;AA+DF,eAAeT,WAAf","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownButton, DropdownItem} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownItem[] = [{value: '10'}, {value: '20'}, {value: '50'}, {value: '100'}];\n\n const dropDownText = `${props.rowsPerPageLabel ?? 'Rows per page'} : ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={defaultOnMouseDownHandler}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>{props.showMoreLabel ?? 'Show more'} ({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>{props.showFewerLabel ?? 'Show fewer'}</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownButton\n type={'text'}\n items={rowsPerPageValues}\n disabled={props.showLoadingIndicator}\n value={[`${props.rowsPerPage}`]}\n onClick={(value) => props.onRowsPerPageChange(+value[0])}\n label={dropDownText}\n keepLabel={true}\n />\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1 || props.showLoadingIndicator}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total || props.showLoadingIndicator}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
@@ -85,8 +85,8 @@ var TabLink = function TabLink(_ref) {
85
85
  tabIndex: disabled ? -1 : 0,
86
86
  role: "tab",
87
87
  "aria-selected": to === location.pathname,
88
- onClick: function onClick(e) {
89
- return !disabled && onLinkClick && onLinkClick(e);
88
+ onClick: function onClick() {
89
+ return !disabled && onLinkClick && onLinkClick();
90
90
  },
91
91
  ref: ref,
92
92
  "data-testid": testId,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["StyledTabLink","NavLink","COLORS","neutral_600","props","disabled","neutral_100","focusStyles","Z_INDEXES","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","styled","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Size","Small","variant","location","ref","React","useRef","toString","defaultOnMouseDownHandler","pathname","e"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.ReactNode;//React.FunctionComponent<BaseProps>;\n onLinkClick?: (e: React.MouseEvent) => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\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}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.cjs"}
1
+ {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["StyledTabLink","NavLink","COLORS","neutral_600","props","disabled","neutral_100","focusStyles","Z_INDEXES","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","styled","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Size","Small","variant","location","ref","React","useRef","toString","defaultOnMouseDownHandler","pathname"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.ReactNode;//React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => !disabled && onLinkClick && onLinkClick()}\n ref={ref}\n data-testid={testId}>\n <TextContainer>\n <TopWrapper>\n <span>{requiredLine}</span>\n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && OptionalLineIcon}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.cjs"}
@@ -6,7 +6,7 @@ declare type TabLinkProps = {
6
6
  requiredLine: string;
7
7
  optionalLine?: string;
8
8
  OptionalLineIcon?: React.ReactNode;
9
- onLinkClick?: (e: React.MouseEvent) => void;
9
+ onLinkClick?: () => void;
10
10
  testId?: string;
11
11
  showNotificationDot?: boolean;
12
12
  size?: Size.Small | Size.Medium | Size.Large;
@@ -56,8 +56,8 @@ var TabLink = function TabLink(_ref) {
56
56
  tabIndex: disabled ? -1 : 0,
57
57
  role: "tab",
58
58
  "aria-selected": to === location.pathname,
59
- onClick: function onClick(e) {
60
- return !disabled && onLinkClick && onLinkClick(e);
59
+ onClick: function onClick() {
60
+ return !disabled && onLinkClick && onLinkClick();
61
61
  },
62
62
  ref: ref,
63
63
  "data-testid": testId,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","Size","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","StyledTabLink","neutral_600","props","disabled","neutral_100","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Small","variant","location","ref","useRef","toString","pathname","e"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAAQC,OAAR,EAA+BC,WAA/B,QAAiD,kBAAjD;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,eAAR,QAA8B,oBAA9B;AAEA,SAAQC,IAAR,QAAmB,UAAnB;AACA,SAAQC,MAAR,EAAgBC,WAAhB,QAAkC,WAAlC;AACA,SAAQC,SAAR,QAAwB,qBAAxB;AACA,SAAQC,yBAAR,QAAwC,WAAxC;;;;AAmBA,IAAMC,aAAa,GAAGP,MAAM,CAACF,OAAD,CAAT,8yCAORK,MAAM,CAACK,WAPC,EASG,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,QAAN,GAAiBP,MAAM,CAACQ,WAAxB,GAAsC,aAAlD;AAAA,CATH,EAUP,UAACF,KAAD;AAAA,SAAYA,KAAK,CAACC,QAAN,GAAiB,aAAjB,GAAiC,SAA7C;AAAA,CAVO,EAqBbN,WArBa,EAyBJC,SAAS,CAACO,MAzBN,EA0BKT,MAAM,CAACU,UA1BZ,EA8BKV,MAAM,CAACW,UA9BZ,EAkCJT,SAAS,CAACU,KAlCN,EAmCKZ,MAAM,CAACW,UAnCZ,EAoCNX,MAAM,CAACa,WApCD,EAwCJX,SAAS,CAACO,MAxCN,EAyCKT,MAAM,CAACc,WAzCZ,EA0CNd,MAAM,CAACe,WA1CD,EAqDOf,MAAM,CAACgB,WArDd,EA6DOhB,MAAM,CAACa,WA7Dd,EAkEKb,MAAM,CAACc,WAlEZ,EAqEOd,MAAM,CAACe,WArEd,EA0EKf,MAAM,CAACiB,KA1EZ,EA2ENjB,MAAM,CAACkB,WA3ED,EA8EJlB,MAAM,CAACkB,WA9EH,EAkFOlB,MAAM,CAACkB,WAlFd,CAAnB;AAuFA,IAAMC,2BAA2B,GAAGtB,MAAM,CAACuB,GAAV,qNAAjC;AAWA,IAAMC,UAAU,GAAGxB,MAAM,CAACuB,GAAV,oLAAhB;AASA,IAAME,aAAa,GAAGzB,MAAM,CAACuB,GAAV,iIAAnB;AAKA,IAAMG,kBAAkB,GAAG1B,MAAM,CAACuB,GAAV,2GAAxB;AAIA,IAAMI,mBAAmB,GAAG3B,MAAM,CAACuB,GAAV,6FAAzB;AAIA,IAAMK,OAAO,GAAG5B,MAAM,CAACuB,GAAV,2KAIPhB,aAJO,CAAb;;AAUA,IAAMsB,OAAO,GAAG,SAAVA,OAAU,OAYqB;AAAA,MAXlBC,EAWkB,QAXlBA,EAWkB;AAAA,2BAVlBpB,QAUkB;AAAA,MAVlBA,QAUkB,8BAVP,KAUO;AAAA,wBATlBqB,KASkB;AAAA,MATlBA,KASkB,2BATV,KASU;AAAA,MARlBC,YAQkB,QARlBA,YAQkB;AAAA,MAPlBC,YAOkB,QAPlBA,YAOkB;AAAA,MANlBC,gBAMkB,QANlBA,gBAMkB;AAAA,MALlBC,WAKkB,QALlBA,WAKkB;AAAA,MAJlBC,MAIkB,QAJlBA,MAIkB;AAAA,mCAHlBC,mBAGkB;AAAA,MAHlBA,mBAGkB,sCAHI,KAGJ;AAAA,uBAFlBC,IAEkB;AAAA,MAFlBA,IAEkB,0BAFXpC,IAAI,CAACqC,KAEM;AAAA,0BADlBC,OACkB;AAAA,MADlBA,OACkB,6BADR,UACQ;AACnC,MAAMC,QAAQ,GAAG1C,WAAW,EAA5B;AACA,MAAM2C,GAAG,GAAG7C,KAAK,CAAC8C,MAAN,CAAkB,IAAlB,CAAZ;AAEA,sBACE,KAAC,OAAD;AAAS,IAAA,SAAS,EAAEjC,QAAQ,GAAG,UAAH,GAAgB,EAA5C;AAAA,2BACE,MAAC,aAAD;AACE,MAAA,EAAE,EAAEoB,EAAE,CAACc,QAAH,EADN;AAEE,MAAA,SAAS,EAAElC,QAAQ,GAAG,UAAH,GAAgB,EAFrC;AAGE,MAAA,eAAe,EAAC,QAHlB;AAIE,MAAA,WAAW,EAAEJ,yBAJf;AAKE,MAAA,KAAK,EAAEyB,KALT;AAME,MAAA,QAAQ,EAAErB,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAN5B;AAOE,MAAA,IAAI,EAAC,KAPP;AAQE,uBAAeoB,EAAE,KAAKW,QAAQ,CAACI,QARjC;AASE,MAAA,OAAO,EAAE,iBAACC,CAAD;AAAA,eAAyB,CAACpC,QAAD,IAAayB,WAAb,IAA4BA,WAAW,CAACW,CAAD,CAAhE;AAAA,OATX;AAUE,MAAA,GAAG,EAAEJ,GAVP;AAWE,qBAAaN,MAXf;AAAA,8BAYE,MAAC,aAAD;AAAA,gCACE,KAAC,UAAD;AAAA,iCACE;AAAA,sBAAOJ;AAAP;AADF,UADF,EAIGC,YAAY,IAAIC,gBAAhB,gBACC,MAAC,2BAAD;AAAA,qBACGA,gBAAgB,IAAIA,gBADvB,EAEG,CAAC,CAACD,YAAF,iBAAkB;AAAA,sBAAOA;AAAP,YAFrB;AAAA,UADD,GAKGA,YAAY,gBACd,KAAC,mBAAD;AAAA,iCACE;AAAA,sBAAOA;AAAP;AADF,UADc,gBAKd,mBAdJ;AAAA,QAZF,eA6BE,KAAC,kBAAD;AAAA,kBACGI,mBAAmB,iBAAI,KAAC,eAAD;AAAiB,UAAA,MAAM,EAAC,iBAAxB;AAA0C,UAAA,IAAI,EAAEC,IAAhD;AAAsD,UAAA,OAAO,EAAEE;AAA/D;AAD1B,QA7BF;AAAA;AADF,IADF;AAqCD,CArDD;;;AAlJE9B,EAAAA,Q;AACAsB,EAAAA,Y;AACAC,EAAAA,Y;AACAC,EAAAA,gB;AACAC,EAAAA,W;AACAC,EAAAA,M;AACAC,EAAAA,mB;AAEAG,EAAAA,O,aAAU,U,EAAa,U;;AAiMzB,eAAeX,OAAf","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.ReactNode;//React.FunctionComponent<BaseProps>;\n onLinkClick?: (e: React.MouseEvent) => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={(e: React.MouseEvent) => !disabled && onLinkClick && onLinkClick(e)}\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}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
1
+ {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","Size","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","StyledTabLink","neutral_600","props","disabled","neutral_100","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Small","variant","location","ref","useRef","toString","pathname"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.ReactNode;//React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => !disabled && onLinkClick && onLinkClick()}\n ref={ref}\n data-testid={testId}>\n <TextContainer>\n <TopWrapper>\n <span>{requiredLine}</span>\n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && OptionalLineIcon}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
@@ -41,9 +41,9 @@ var VerticalTabs = function VerticalTabs(_ref) {
41
41
  showNotificationDot: entry.showNotificationDot,
42
42
  size: size,
43
43
  variant: entry.variant,
44
- onLinkClick: function onLinkClick(e) {
44
+ onLinkClick: function onLinkClick() {
45
45
  if (entry.onClick) {
46
- entry.onClick(e);
46
+ entry.onClick();
47
47
  }
48
48
  }
49
49
  }, entry.to);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["VerticalTabs","size","entries","Size","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","e","onClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,qBAAC,aAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUE,YAAKC,KAAzB;AAAA,cACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEG,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,qBAAC,gBAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEZ,IATR;AAUE,QAAA,OAAO,EAAEK,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,qBAACC,CAAD,EAAO;AAClB,cAAIT,KAAK,CAACU,OAAV,EAAmB;AACjBV,YAAAA,KAAK,CAACU,OAAN,CAAcD,CAAd;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEL,EAAAA,O;AAZAO,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAI,IAAAA,O;AACAR,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,4BAAU,U,EAAa,U;;;eAgCVd,Y","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={(e) => {\n if (entry.onClick) {\n entry.onClick(e);\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.cjs"}
1
+ {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["VerticalTabs","size","entries","Size","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,qBAAC,aAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUE,YAAKC,KAAzB;AAAA,cACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEG,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,qBAAC,gBAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEZ,IATR;AAUE,QAAA,OAAO,EAAEK,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEL,EAAAA,O;AAZAO,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,4BAAU,U,EAAa,U;;;eAgCVd,Y","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.cjs"}
@@ -7,7 +7,7 @@ export interface VerticalTabEntry {
7
7
  optionalLineIcon?: React.FunctionComponent<BaseProps>;
8
8
  to: string;
9
9
  disabled?: boolean;
10
- onClick?: (e: React.MouseEvent) => void;
10
+ onClick?: () => void;
11
11
  exact?: boolean;
12
12
  showNotificationDot?: boolean;
13
13
  variant?: 'critical' | 'positive';
@@ -21,9 +21,9 @@ var VerticalTabs = function VerticalTabs(_ref) {
21
21
  showNotificationDot: entry.showNotificationDot,
22
22
  size: size,
23
23
  variant: entry.variant,
24
- onLinkClick: function onLinkClick(e) {
24
+ onLinkClick: function onLinkClick() {
25
25
  if (entry.onClick) {
26
- entry.onClick(e);
26
+ entry.onClick();
27
27
  }
28
28
  }
29
29
  }, entry.to);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["React","Tabs","TabLink","Size","VerticalTabs","size","entries","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","e","onClick"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,UAArB;;;AAkBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,KAAC,IAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUF,IAAI,CAACI,KAAzB;AAAA,cACGD,OADH,aACGA,OADH,uBACGA,OAAO,CAAEE,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,KAAC,OAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEX,IATR;AAUE,QAAA,OAAO,EAAEI,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,qBAACC,CAAD,EAAO;AAClB,cAAIT,KAAK,CAACU,OAAV,EAAmB;AACjBV,YAAAA,KAAK,CAACU,OAAN,CAAcD,CAAd;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEJ,EAAAA,O;AAZAM,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAI,IAAAA,O;AACAR,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,aAAU,U,EAAa,U;;;AAgCzB,eAAeb,YAAf","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={(e) => {\n if (entry.onClick) {\n entry.onClick(e);\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.js"}
1
+ {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["React","Tabs","TabLink","Size","VerticalTabs","size","entries","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,UAArB;;;AAkBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,KAAC,IAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUF,IAAI,CAACI,KAAzB;AAAA,cACGD,OADH,aACGA,OADH,uBACGA,OAAO,CAAEE,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,KAAC,OAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEX,IATR;AAUE,QAAA,OAAO,EAAEI,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEJ,EAAAA,O;AAZAM,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,aAAU,U,EAAa,U;;;AAgCzB,eAAeb,YAAf","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.js"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useClickOutside;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ /**
17
+ * Perform action if clicked on outside of referred element
18
+ */
19
+ function useClickOutside(ref, action, related) {
20
+ function handleClickOutside(e) {
21
+ if (ref.current && !ref.current.contains(e.target) && !(related !== null && related !== void 0 && related.some(function (dep) {
22
+ var _dep$current;
23
+
24
+ return dep === null || dep === void 0 ? void 0 : (_dep$current = dep.current) === null || _dep$current === void 0 ? void 0 : _dep$current.contains(e.target);
25
+ }))) {
26
+ action();
27
+ }
28
+ }
29
+
30
+ (0, _react.useEffect)(function () {
31
+ // Bind the event listener
32
+ document.addEventListener('click', handleClickOutside);
33
+ return function () {
34
+ // Unbind the event listener on clean up
35
+ document.removeEventListener('click', handleClickOutside);
36
+ };
37
+ });
38
+ }
39
+ //# sourceMappingURL=useClickOutside.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useClickOutside.ts"],"names":["useClickOutside","ref","action","related","handleClickOutside","e","current","contains","target","some","dep","document","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACe,SAASA,eAAT,CAAyBC,GAAzB,EAAgEC,MAAhE,EAAoFC,OAApF,EAA4J;AACzK,WAASC,kBAAT,CAA4BC,CAA5B,EAAoC;AAClC,QAAIJ,GAAG,CAACK,OAAJ,IAAe,CAACL,GAAG,CAACK,OAAJ,CAAYC,QAAZ,CAAqBF,CAAC,CAACG,MAAvB,CAAhB,IAAkD,EAACL,OAAD,aAACA,OAAD,eAACA,OAAO,CAAEM,IAAT,CAAc,UAACC,GAAD;AAAA;;AAAA,aAASA,GAAT,aAASA,GAAT,uCAASA,GAAG,CAAEJ,OAAd,iDAAS,aAAcC,QAAd,CAAuBF,CAAC,CAACG,MAAzB,CAAT;AAAA,KAAd,CAAD,CAAtD,EAAiH;AAC/GN,MAAAA,MAAM;AACP;AACF;;AAED,wBAAU,YAAM;AACd;AACAS,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCR,kBAAnC;AACA,WAAO,YAAM;AACX;AACAO,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCT,kBAAtC;AACD,KAHD;AAID,GAPD;AAQD","sourcesContent":["import {useEffect, MutableRefObject} from 'react';\n\n/**\n * Perform action if clicked on outside of referred element\n */\nexport default function useClickOutside(ref: MutableRefObject<Element | null>, action: () => void, related?: (MutableRefObject<Element | undefined | null> | undefined)[]) {\n function handleClickOutside(e: any) {\n if (ref.current && !ref.current.contains(e.target) && !related?.some((dep) => dep?.current?.contains(e.target))) {\n action();\n }\n }\n\n useEffect(() => {\n // Bind the event listener\n document.addEventListener('click', handleClickOutside);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener('click', handleClickOutside);\n };\n });\n}\n"],"file":"useClickOutside.cjs"}
@@ -0,0 +1,5 @@
1
+ import { MutableRefObject } from 'react';
2
+ /**
3
+ * Perform action if clicked on outside of referred element
4
+ */
5
+ export default function useClickOutside(ref: MutableRefObject<Element | null>, action: () => void, related?: (MutableRefObject<Element | undefined | null> | undefined)[]): void;
@@ -0,0 +1,26 @@
1
+ import React, { useEffect } from 'react';
2
+ /**
3
+ * Perform action if clicked on outside of referred element
4
+ */
5
+
6
+ export default function useClickOutside(ref, action, related) {
7
+ function handleClickOutside(e) {
8
+ if (ref.current && !ref.current.contains(e.target) && !(related !== null && related !== void 0 && related.some(function (dep) {
9
+ var _dep$current;
10
+
11
+ return dep === null || dep === void 0 ? void 0 : (_dep$current = dep.current) === null || _dep$current === void 0 ? void 0 : _dep$current.contains(e.target);
12
+ }))) {
13
+ action();
14
+ }
15
+ }
16
+
17
+ useEffect(function () {
18
+ // Bind the event listener
19
+ document.addEventListener('click', handleClickOutside);
20
+ return function () {
21
+ // Unbind the event listener on clean up
22
+ document.removeEventListener('click', handleClickOutside);
23
+ };
24
+ });
25
+ }
26
+ //# sourceMappingURL=useClickOutside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useClickOutside.ts"],"names":["useEffect","useClickOutside","ref","action","related","handleClickOutside","e","current","contains","target","some","dep","document","addEventListener","removeEventListener"],"mappings":"AAAA,gBAAQA,SAAR,QAA0C,OAA1C;AAEA;AACA;AACA;;AACA,eAAe,SAASC,eAAT,CAAyBC,GAAzB,EAAgEC,MAAhE,EAAoFC,OAApF,EAA4J;AACzK,WAASC,kBAAT,CAA4BC,CAA5B,EAAoC;AAClC,QAAIJ,GAAG,CAACK,OAAJ,IAAe,CAACL,GAAG,CAACK,OAAJ,CAAYC,QAAZ,CAAqBF,CAAC,CAACG,MAAvB,CAAhB,IAAkD,EAACL,OAAD,aAACA,OAAD,eAACA,OAAO,CAAEM,IAAT,CAAc,UAACC,GAAD;AAAA;;AAAA,aAASA,GAAT,aAASA,GAAT,uCAASA,GAAG,CAAEJ,OAAd,iDAAS,aAAcC,QAAd,CAAuBF,CAAC,CAACG,MAAzB,CAAT;AAAA,KAAd,CAAD,CAAtD,EAAiH;AAC/GN,MAAAA,MAAM;AACP;AACF;;AAEDH,EAAAA,SAAS,CAAC,YAAM;AACd;AACAY,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCR,kBAAnC;AACA,WAAO,YAAM;AACX;AACAO,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCT,kBAAtC;AACD,KAHD;AAID,GAPQ,CAAT;AAQD","sourcesContent":["import {useEffect, MutableRefObject} from 'react';\n\n/**\n * Perform action if clicked on outside of referred element\n */\nexport default function useClickOutside(ref: MutableRefObject<Element | null>, action: () => void, related?: (MutableRefObject<Element | undefined | null> | undefined)[]) {\n function handleClickOutside(e: any) {\n if (ref.current && !ref.current.contains(e.target) && !related?.some((dep) => dep?.current?.contains(e.target))) {\n action();\n }\n }\n\n useEffect(() => {\n // Bind the event listener\n document.addEventListener('click', handleClickOutside);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener('click', handleClickOutside);\n };\n });\n}\n"],"file":"useClickOutside.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laerdal/life-react-components",
3
- "version": "1.10.3-dev.21",
3
+ "version": "1.10.3-dev.22",
4
4
  "private": false,
5
5
  "author": "Thomas Kalve <thomas.kalve@laerdal.com>",
6
6
  "contributors": [
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/common/NavigationHelper.ts"],"names":["useNavigationHelper","history","location","navigate","url","isExternal","window","href","push","isActiveRoute","exact","pathname","path"],"mappings":";;;;;;;AAAA;;AACA;;AAGO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACvC,MAAMC,OAAO,GAAG,8BAAhB;AACA,MAAMC,QAAQ,GAAG,kCAAjB;;AAEA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAAcC,UAAd,EAAsC;AACrD,QAAIA,UAAJ,EAAgB;AACdC,MAAAA,MAAM,CAACJ,QAAP,CAAgBK,IAAhB,GAAuBH,GAAvB;AACD,KAFD,MAEO;AACLH,MAAAA,OAAO,CAACO,IAAR,CAAaJ,GAAb;AACD;AACF,GAND;;AAQA,MAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACL,GAAD,EAAcM,KAAd;AAAA,WACpB,CAAC,CAAC,+BAAUR,QAAQ,CAACS,QAAnB,EAA6B;AAC7BD,MAAAA,KAAK,EAAEA,KADsB;AAE7BE,MAAAA,IAAI,EAAER;AAFuB,KAA7B,CADkB;AAAA,GAAtB;;AAMA,SAAO;AAACD,IAAAA,QAAQ,EAARA,QAAD;AAAWM,IAAAA,aAAa,EAAbA;AAAX,GAAP;AACD,CAnBM","sourcesContent":["import {matchPath, useLocation} from 'react-router-dom';\nimport {useHistory} from 'react-router';\n\n\nexport const useNavigationHelper = () => {\n const history = useHistory();\n const location = useLocation();\n\n const navigate = (url: string, isExternal: boolean) => {\n if (isExternal) {\n window.location.href = url;\n } else {\n history.push(url);\n }\n };\n\n const isActiveRoute = (url: string, exact: boolean): boolean =>\n !!matchPath(location.pathname, {\n exact: exact,\n path: url\n });\n\n return {navigate, isActiveRoute};\n}\n"],"file":"NavigationHelper.cjs"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/common/NavigationHelper.ts"],"names":["matchPath","useLocation","useHistory","useNavigationHelper","history","location","navigate","url","isExternal","window","href","push","isActiveRoute","exact","pathname","path"],"mappings":"AAAA,SAAQA,SAAR,EAAmBC,WAAnB,QAAqC,kBAArC;AACA,SAAQC,UAAR,QAAyB,cAAzB;AAGA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AACvC,MAAMC,OAAO,GAAGF,UAAU,EAA1B;AACA,MAAMG,QAAQ,GAAGJ,WAAW,EAA5B;;AAEA,MAAMK,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAAcC,UAAd,EAAsC;AACrD,QAAIA,UAAJ,EAAgB;AACdC,MAAAA,MAAM,CAACJ,QAAP,CAAgBK,IAAhB,GAAuBH,GAAvB;AACD,KAFD,MAEO;AACLH,MAAAA,OAAO,CAACO,IAAR,CAAaJ,GAAb;AACD;AACF,GAND;;AAQA,MAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACL,GAAD,EAAcM,KAAd;AAAA,WACpB,CAAC,CAACb,SAAS,CAACK,QAAQ,CAACS,QAAV,EAAoB;AAC7BD,MAAAA,KAAK,EAAEA,KADsB;AAE7BE,MAAAA,IAAI,EAAER;AAFuB,KAApB,CADS;AAAA,GAAtB;;AAMA,SAAO;AAACD,IAAAA,QAAQ,EAARA,QAAD;AAAWM,IAAAA,aAAa,EAAbA;AAAX,GAAP;AACD,CAnBM","sourcesContent":["import {matchPath, useLocation} from 'react-router-dom';\nimport {useHistory} from 'react-router';\n\n\nexport const useNavigationHelper = () => {\n const history = useHistory();\n const location = useLocation();\n\n const navigate = (url: string, isExternal: boolean) => {\n if (isExternal) {\n window.location.href = url;\n } else {\n history.push(url);\n }\n };\n\n const isActiveRoute = (url: string, exact: boolean): boolean =>\n !!matchPath(location.pathname, {\n exact: exact,\n path: url\n });\n\n return {navigate, isActiveRoute};\n}\n"],"file":"NavigationHelper.js"}