@laerdal/life-react-components 1.8.0-dev.16 → 1.8.0-dev.17

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 (163) hide show
  1. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  2. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  3. package/dist/GlobalNavigationBar/Actions.d.ts +13 -0
  4. package/dist/GlobalNavigationBar/Actions.js +160 -0
  5. package/dist/GlobalNavigationBar/Actions.js.map +1 -0
  6. package/dist/GlobalNavigationBar/Avatar.cjs +104 -0
  7. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  8. package/dist/GlobalNavigationBar/Avatar.d.ts +15 -0
  9. package/dist/GlobalNavigationBar/Avatar.js +77 -0
  10. package/dist/GlobalNavigationBar/Avatar.js.map +1 -0
  11. package/dist/GlobalNavigationBar/{desktop/ExtendedMainMenu.cjs → ExtendedMainMenu.cjs} +9 -7
  12. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  13. package/dist/GlobalNavigationBar/{desktop/ExtendedMainMenu.d.ts → ExtendedMainMenu.d.ts} +2 -2
  14. package/dist/GlobalNavigationBar/{desktop/ExtendedMainMenu.js → ExtendedMainMenu.js} +6 -6
  15. package/dist/GlobalNavigationBar/ExtendedMainMenu.js.map +1 -0
  16. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +176 -107
  17. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  18. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +27 -13
  19. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +176 -106
  20. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  21. package/dist/GlobalNavigationBar/Logo.cjs +5 -3
  22. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  23. package/dist/GlobalNavigationBar/Logo.js +1 -1
  24. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  25. package/dist/GlobalNavigationBar/{desktop/MainMenu.cjs → MainMenu.cjs} +21 -17
  26. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  27. package/dist/GlobalNavigationBar/MainMenu.d.ts +8 -0
  28. package/dist/GlobalNavigationBar/{desktop/MainMenu.js → MainMenu.js} +21 -17
  29. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -0
  30. package/dist/GlobalNavigationBar/{desktop/RightSideNav.cjs → RightSideNav.cjs} +26 -22
  31. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  32. package/dist/GlobalNavigationBar/RightSideNav.d.ts +8 -0
  33. package/dist/GlobalNavigationBar/RightSideNav.js +61 -0
  34. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -0
  35. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +112 -0
  36. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  37. package/dist/GlobalNavigationBar/UserMenu/MenuLink.d.ts +11 -0
  38. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +86 -0
  39. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +1 -0
  40. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +178 -0
  41. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  42. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.d.ts +16 -0
  43. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js +146 -0
  44. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -0
  45. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  46. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  47. package/dist/GlobalNavigationBar/UserMenu/UserMenu.d.ts +15 -0
  48. package/dist/GlobalNavigationBar/UserMenu/UserMenu.js +135 -0
  49. package/dist/GlobalNavigationBar/UserMenu/UserMenu.js.map +1 -0
  50. package/dist/GlobalNavigationBar/index.cjs +18 -15
  51. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  52. package/dist/GlobalNavigationBar/index.d.ts +2 -2
  53. package/dist/GlobalNavigationBar/index.js +2 -2
  54. package/dist/GlobalNavigationBar/index.js.map +1 -1
  55. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +21 -15
  56. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  57. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +6 -3
  58. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +15 -14
  59. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  60. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  61. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  62. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.d.ts +6 -0
  63. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.js +27 -0
  64. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.js.map +1 -0
  65. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  66. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  67. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.d.ts +13 -0
  68. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.js +70 -0
  69. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.js.map +1 -0
  70. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +221 -114
  71. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  72. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +25 -6
  73. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +216 -113
  74. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  75. package/dist/MenuItem/MenuItem.cjs +10 -16
  76. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  77. package/dist/MenuItem/MenuItem.d.ts +3 -3
  78. package/dist/MenuItem/MenuItem.js +8 -14
  79. package/dist/MenuItem/MenuItem.js.map +1 -1
  80. package/dist/ProfileButton/ProfileButton.cjs +11 -20
  81. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  82. package/dist/ProfileButton/ProfileButton.d.ts +1 -3
  83. package/dist/ProfileButton/ProfileButton.js +10 -18
  84. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  85. package/dist/Switcher/MobileSwitcherMenu.cjs +78 -24
  86. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  87. package/dist/Switcher/MobileSwitcherMenu.d.ts +5 -6
  88. package/dist/Switcher/MobileSwitcherMenu.js +70 -26
  89. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  90. package/dist/Tile/TileBody.cjs +1 -1
  91. package/dist/Tile/TileBody.cjs.map +1 -1
  92. package/dist/Tile/TileBody.js +1 -1
  93. package/dist/Tile/TileBody.js.map +1 -1
  94. package/dist/Tile/TileCommonItems.cjs +1 -1
  95. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  96. package/dist/Tile/TileCommonItems.js +1 -1
  97. package/dist/Tile/TileCommonItems.js.map +1 -1
  98. package/dist/Tile/TileFooter.cjs +1 -1
  99. package/dist/Tile/TileFooter.cjs.map +1 -1
  100. package/dist/Tile/TileFooter.js +1 -1
  101. package/dist/Tile/TileFooter.js.map +1 -1
  102. package/dist/Tile/TileHeader.cjs +1 -1
  103. package/dist/Tile/TileHeader.cjs.map +1 -1
  104. package/dist/Tile/TileHeader.js +2 -2
  105. package/dist/Tile/TileHeader.js.map +1 -1
  106. package/dist/hooks/useClickOutside.cjs +2 -6
  107. package/dist/hooks/useClickOutside.cjs.map +1 -1
  108. package/dist/hooks/useClickOutside.d.ts +1 -1
  109. package/dist/hooks/useClickOutside.js +2 -6
  110. package/dist/hooks/useClickOutside.js.map +1 -1
  111. package/dist/index.cjs +8 -8
  112. package/dist/index.cjs.map +1 -1
  113. package/dist/index.d.ts +1 -1
  114. package/dist/index.js +1 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/types.cjs.map +1 -1
  117. package/dist/types.d.ts +32 -0
  118. package/dist/types.js.map +1 -1
  119. package/package.json +8 -10
  120. package/dist/GlobalNavigationBar/NavigationHelper.cjs +0 -38
  121. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +0 -1
  122. package/dist/GlobalNavigationBar/NavigationHelper.d.ts +0 -4
  123. package/dist/GlobalNavigationBar/NavigationHelper.js +0 -27
  124. package/dist/GlobalNavigationBar/NavigationHelper.js.map +0 -1
  125. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +0 -127
  126. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +0 -1
  127. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +0 -15
  128. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +0 -98
  129. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +0 -1
  130. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +0 -1
  131. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +0 -1
  132. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +0 -1
  133. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +0 -8
  134. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +0 -1
  135. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +0 -1
  136. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +0 -8
  137. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +0 -59
  138. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +0 -1
  139. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +0 -204
  140. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +0 -1
  141. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +0 -7
  142. package/dist/GlobalNavigationBar/desktop/UserMenu.js +0 -163
  143. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +0 -1
  144. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +0 -221
  145. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +0 -1
  146. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +0 -11
  147. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +0 -184
  148. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +0 -1
  149. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +0 -160
  150. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +0 -1
  151. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +0 -12
  152. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +0 -139
  153. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +0 -1
  154. package/dist/GlobalNavigationBar/types.cjs +0 -6
  155. package/dist/GlobalNavigationBar/types.cjs.map +0 -1
  156. package/dist/GlobalNavigationBar/types.d.ts +0 -120
  157. package/dist/GlobalNavigationBar/types.js +0 -2
  158. package/dist/GlobalNavigationBar/types.js.map +0 -1
  159. package/dist/common/StackState.cjs +0 -47
  160. package/dist/common/StackState.cjs.map +0 -1
  161. package/dist/common/StackState.d.ts +0 -7
  162. package/dist/common/StackState.js +0 -30
  163. package/dist/common/StackState.js.map +0 -1
@@ -21,17 +21,17 @@ var _reactRouterDom = require("react-router-dom");
21
21
 
22
22
  var _styledComponents = _interopRequireDefault(require("styled-components"));
23
23
 
24
- var _NavItem = require("../../NavItem");
24
+ var _NavItem = require("../NavItem");
25
25
 
26
- var _SystemIcons = require("../../icons/systemicons/SystemIcons");
26
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
27
27
 
28
- var _styles = require("../../styles");
28
+ var _styles = require("../styles");
29
29
 
30
30
  var _ExtendedMainMenu = _interopRequireDefault(require("./ExtendedMainMenu"));
31
31
 
32
- var _Button = require("../../Button");
32
+ var _Button = require("../Button");
33
33
 
34
- var _common = require("../../common");
34
+ var _common = require("../common");
35
35
 
36
36
  var _jsxRuntime = require("react/jsx-runtime");
37
37
 
@@ -52,7 +52,7 @@ var ExtendedMenuWrapper = _styledComponents.default.div(_templateObject3 || (_te
52
52
  var ExtendedSection = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n"])));
53
53
 
54
54
  var MainMenu = function MainMenu(_ref) {
55
- var items = _ref.items,
55
+ var navigationOptions = _ref.navigationOptions,
56
56
  rightSideRef = _ref.rightSideRef;
57
57
 
58
58
  var _React$useState = React.useState(false),
@@ -110,27 +110,31 @@ var MainMenu = function MainMenu(_ref) {
110
110
  className: "GlobalNavigationMainMenu",
111
111
  ref: mainMenuRef,
112
112
  open: showExtendedMenu,
113
- children: [items === null || items === void 0 ? void 0 : items.map(function (no, index) {
113
+ children: [navigationOptions === null || navigationOptions === void 0 ? void 0 : navigationOptions.map(function (no, index) {
114
114
  return index > numberOfItemsAllowed - 2 ? null : no !== null && no !== void 0 && no.disabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
115
115
  as: NavButton,
116
- exact: no.exact,
116
+ exact: no === null || no === void 0 ? void 0 : no.exact,
117
117
  className: "disabled",
118
118
  onMouseDown: _common.defaultOnMouseDownHandler,
119
119
  onClick: function onClick() {
120
- return no.action && no.action();
120
+ if (no !== null && no !== void 0 && no.onClick) {
121
+ no === null || no === void 0 ? void 0 : no.onClick();
122
+ }
121
123
  },
122
124
  children: no === null || no === void 0 ? void 0 : no.label
123
- }, no.label) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
125
+ }, no === null || no === void 0 ? void 0 : no.label) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
124
126
  as: _reactRouterDom.NavLink,
125
- exact: no.exact,
126
- to: no.to || '',
127
+ exact: no === null || no === void 0 ? void 0 : no.exact,
128
+ to: (no === null || no === void 0 ? void 0 : no.to) || '',
127
129
  onMouseDown: _common.defaultOnMouseDownHandler,
128
130
  onClick: function onClick() {
129
- return no.action && no.action();
131
+ if (no !== null && no !== void 0 && no.onClick) {
132
+ no === null || no === void 0 ? void 0 : no.onClick();
133
+ }
130
134
  },
131
135
  children: no === null || no === void 0 ? void 0 : no.label
132
- }, no.label);
133
- }), items.length + 1 > numberOfItemsAllowed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(ExtendedSection, {
136
+ }, no === null || no === void 0 ? void 0 : no.label);
137
+ }), navigationOptions.length + 1 > numberOfItemsAllowed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(ExtendedSection, {
134
138
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
135
139
  ref: menuButtonRef,
136
140
  variant: 'secondary',
@@ -147,7 +151,7 @@ var MainMenu = function MainMenu(_ref) {
147
151
  floatRight: false,
148
152
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ExtendedMainMenu.default, {
149
153
  clickMenuAction: handleClickExtendedMenuAction,
150
- navigationOptions: items.slice(numberOfItemsAllowed - 1)
154
+ navigationOptions: navigationOptions.slice(numberOfItemsAllowed - 1)
151
155
  })
152
156
  })]
153
157
  })]
@@ -155,7 +159,7 @@ var MainMenu = function MainMenu(_ref) {
155
159
  };
156
160
 
157
161
  MainMenu.propTypes = {
158
- items: _propTypes.default.array.isRequired
162
+ navigationOptions: _propTypes.default.array.isRequired
159
163
  };
160
164
  var _default = MainMenu;
161
165
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/GlobalNavigationBar/MainMenu.tsx"],"names":["NavContainer","styled","div","BREAKPOINTS","MEDIUM","NavButton","button","COLORS","white","ExtendedMenuWrapper","props","floatRight","ExtendedSection","MainMenu","navigationOptions","rightSideRef","React","useState","showExtendedMenu","setShowExtendedMenu","extendedMenuRef","useRef","menuButtonRef","mainMenuRef","numberOfItemsAllowed","setNumberOfItemsAllowed","widthOfItem","recalculateNumberOfItemsAllowed","current","number","Math","floor","offsetLeft","handleClickExtendedMenuAction","handleClickOutside","e","contains","target","useEffect","document","addEventListener","window","removeEventListener","map","no","index","disabled","exact","defaultOnMouseDownHandler","onClick","label","NavLink","to","length","slice"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../NavItem';\nimport { MoreHorizontal } from '../icons/systemicons/SystemIcons';\nimport { COLORS, BREAKPOINTS } from '../styles';\nimport { NavOption } from '../types';\nimport ExtendedMainMenu from './ExtendedMainMenu';\nimport {IconButton} from '../Button';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst NavContainer = styled.div<{ open: boolean }>`\n display: none;\n justify-content: center;\n align-items: center;\n\n ${BREAKPOINTS.MEDIUM} {\n display: flex;\n }\n\n a {\n text-decoration: none;\n }\n`;\n\nconst NavButton = styled.button`\n background: ${COLORS.white};\n border: 0;\n`;\n\ninterface ExtendedMenuWrapperProps {\n floatRight: boolean;\n}\n\nconst ExtendedMenuWrapper = styled.div<ExtendedMenuWrapperProps>`\n display: flex;\n margin-left: ${props => (props.floatRight ? 'auto' : 'unset')};\n\n position: absolute;\n flex-direction: column;\n left: 290px;\n top: 22px;\n\n height: 0;\n width: 0;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\nconst ExtendedSection = styled.div`\n position: relative;\n`;\n\ntype Props = {\n navigationOptions: NavOption[];\n rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;\n};\n\nconst MainMenu = ({ navigationOptions, rightSideRef }: Props): React.ReactElement<Props> => {\n const [showExtendedMenu, setShowExtendedMenu] = React.useState(false);\n const extendedMenuRef = React.useRef<any>(null);\n const menuButtonRef = React.useRef<HTMLButtonElement>(null);\n const mainMenuRef: React.RefObject<HTMLDivElement> | null | undefined = React.useRef(null);\n const [numberOfItemsAllowed, setNumberOfItemsAllowed] = React.useState<number>(1);\n\n const widthOfItem = 150;\n const recalculateNumberOfItemsAllowed = () => {\n if (rightSideRef?.current && mainMenuRef?.current) {\n const number = Math.floor((rightSideRef?.current?.offsetLeft - mainMenuRef?.current?.offsetLeft) / widthOfItem);\n if (number !== numberOfItemsAllowed) {\n setNumberOfItemsAllowed(number);\n }\n }\n };\n\n const handleClickExtendedMenuAction = () => {\n setShowExtendedMenu(false);\n };\n\n const handleClickOutside = (e: any) => {\n if (!extendedMenuRef?.current?.contains(e.target) && !menuButtonRef?.current?.contains(e.target)) {\n setShowExtendedMenu(false);\n }\n };\n\n React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n // Bind the event listener\n document.addEventListener('click', handleClickOutside);\n window.addEventListener('resize', recalculateNumberOfItemsAllowed);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener('click', handleClickOutside);\n window.removeEventListener('resize', recalculateNumberOfItemsAllowed);\n };\n });\n\n return (\n <NavContainer className=\"GlobalNavigationMainMenu\" ref={mainMenuRef} open={showExtendedMenu}>\n {navigationOptions?.map((no: NavOption, index: number) =>\n index > numberOfItemsAllowed - 2 ? null : no?.disabled ? (\n <NavItem\n as={NavButton}\n exact={no?.exact}\n className=\"disabled\"\n key={no?.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (no?.onClick) {\n no?.onClick();\n }\n }}>\n {no?.label}\n </NavItem>\n ) : (\n <NavItem\n as={NavLink}\n exact={no?.exact}\n to={no?.to || ''}\n key={no?.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (no?.onClick) {\n no?.onClick();\n }\n }}>\n {no?.label}\n </NavItem>\n ),\n )}\n {navigationOptions.length + 1 > numberOfItemsAllowed && (\n <ExtendedSection>\n <IconButton\n ref={menuButtonRef}\n variant={'secondary'}\n shape={'circular'}\n action={() => {\n setShowExtendedMenu(!showExtendedMenu)\n }}>\n <MoreHorizontal size=\"24px\" />\n </IconButton>\n <ExtendedMenuWrapper ref={extendedMenuRef} className={showExtendedMenu ? 'open' : ''} floatRight={false}>\n <ExtendedMainMenu clickMenuAction={handleClickExtendedMenuAction} navigationOptions={navigationOptions.slice(numberOfItemsAllowed - 1)} />\n </ExtendedMenuWrapper>\n </ExtendedSection>\n )}\n </NavContainer>\n );\n};\n\nexport default MainMenu;\n"],"file":"MainMenu.cjs"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { NavOption } from '../types';
3
+ declare type Props = {
4
+ navigationOptions: NavOption[];
5
+ rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;
6
+ };
7
+ declare const MainMenu: ({ navigationOptions, rightSideRef }: Props) => React.ReactElement<Props>;
8
+ export default MainMenu;
@@ -7,12 +7,12 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
7
7
  import * as React from 'react';
8
8
  import { NavLink } from 'react-router-dom';
9
9
  import styled from 'styled-components';
10
- import { NavItem } from '../../NavItem';
11
- import { MoreHorizontal } from '../../icons/systemicons/SystemIcons';
12
- import { COLORS, BREAKPOINTS } from '../../styles';
10
+ import { NavItem } from '../NavItem';
11
+ import { MoreHorizontal } from '../icons/systemicons/SystemIcons';
12
+ import { COLORS, BREAKPOINTS } from '../styles';
13
13
  import ExtendedMainMenu from './ExtendedMainMenu';
14
- import { IconButton } from '../../Button';
15
- import { defaultOnMouseDownHandler } from '../../common';
14
+ import { IconButton } from '../Button';
15
+ import { defaultOnMouseDownHandler } from '../common';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
18
18
  var NavContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: none;\n justify-content: center;\n align-items: center;\n\n ", " {\n display: flex;\n }\n\n a {\n text-decoration: none;\n }\n"])), BREAKPOINTS.MEDIUM);
@@ -23,7 +23,7 @@ var ExtendedMenuWrapper = styled.div(_templateObject3 || (_templateObject3 = _ta
23
23
  var ExtendedSection = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: relative;\n"])));
24
24
 
25
25
  var MainMenu = function MainMenu(_ref) {
26
- var items = _ref.items,
26
+ var navigationOptions = _ref.navigationOptions,
27
27
  rightSideRef = _ref.rightSideRef;
28
28
 
29
29
  var _React$useState = React.useState(false),
@@ -81,27 +81,31 @@ var MainMenu = function MainMenu(_ref) {
81
81
  className: "GlobalNavigationMainMenu",
82
82
  ref: mainMenuRef,
83
83
  open: showExtendedMenu,
84
- children: [items === null || items === void 0 ? void 0 : items.map(function (no, index) {
84
+ children: [navigationOptions === null || navigationOptions === void 0 ? void 0 : navigationOptions.map(function (no, index) {
85
85
  return index > numberOfItemsAllowed - 2 ? null : no !== null && no !== void 0 && no.disabled ? /*#__PURE__*/_jsx(NavItem, {
86
86
  as: NavButton,
87
- exact: no.exact,
87
+ exact: no === null || no === void 0 ? void 0 : no.exact,
88
88
  className: "disabled",
89
89
  onMouseDown: defaultOnMouseDownHandler,
90
90
  onClick: function onClick() {
91
- return no.action && no.action();
91
+ if (no !== null && no !== void 0 && no.onClick) {
92
+ no === null || no === void 0 ? void 0 : no.onClick();
93
+ }
92
94
  },
93
95
  children: no === null || no === void 0 ? void 0 : no.label
94
- }, no.label) : /*#__PURE__*/_jsx(NavItem, {
96
+ }, no === null || no === void 0 ? void 0 : no.label) : /*#__PURE__*/_jsx(NavItem, {
95
97
  as: NavLink,
96
- exact: no.exact,
97
- to: no.to || '',
98
+ exact: no === null || no === void 0 ? void 0 : no.exact,
99
+ to: (no === null || no === void 0 ? void 0 : no.to) || '',
98
100
  onMouseDown: defaultOnMouseDownHandler,
99
101
  onClick: function onClick() {
100
- return no.action && no.action();
102
+ if (no !== null && no !== void 0 && no.onClick) {
103
+ no === null || no === void 0 ? void 0 : no.onClick();
104
+ }
101
105
  },
102
106
  children: no === null || no === void 0 ? void 0 : no.label
103
- }, no.label);
104
- }), items.length + 1 > numberOfItemsAllowed && /*#__PURE__*/_jsxs(ExtendedSection, {
107
+ }, no === null || no === void 0 ? void 0 : no.label);
108
+ }), navigationOptions.length + 1 > numberOfItemsAllowed && /*#__PURE__*/_jsxs(ExtendedSection, {
105
109
  children: [/*#__PURE__*/_jsx(IconButton, {
106
110
  ref: menuButtonRef,
107
111
  variant: 'secondary',
@@ -118,7 +122,7 @@ var MainMenu = function MainMenu(_ref) {
118
122
  floatRight: false,
119
123
  children: /*#__PURE__*/_jsx(ExtendedMainMenu, {
120
124
  clickMenuAction: handleClickExtendedMenuAction,
121
- navigationOptions: items.slice(numberOfItemsAllowed - 1)
125
+ navigationOptions: navigationOptions.slice(numberOfItemsAllowed - 1)
122
126
  })
123
127
  })]
124
128
  })]
@@ -126,7 +130,7 @@ var MainMenu = function MainMenu(_ref) {
126
130
  };
127
131
 
128
132
  MainMenu.propTypes = {
129
- items: _pt.array.isRequired
133
+ navigationOptions: _pt.array.isRequired
130
134
  };
131
135
  export default MainMenu;
132
136
  //# sourceMappingURL=MainMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/GlobalNavigationBar/MainMenu.tsx"],"names":["React","NavLink","styled","NavItem","MoreHorizontal","COLORS","BREAKPOINTS","ExtendedMainMenu","IconButton","defaultOnMouseDownHandler","NavContainer","div","MEDIUM","NavButton","button","white","ExtendedMenuWrapper","props","floatRight","ExtendedSection","MainMenu","navigationOptions","rightSideRef","useState","showExtendedMenu","setShowExtendedMenu","extendedMenuRef","useRef","menuButtonRef","mainMenuRef","numberOfItemsAllowed","setNumberOfItemsAllowed","widthOfItem","recalculateNumberOfItemsAllowed","current","number","Math","floor","offsetLeft","handleClickExtendedMenuAction","handleClickOutside","e","contains","target","useEffect","document","addEventListener","window","removeEventListener","map","no","index","disabled","exact","onClick","label","to","length","slice"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NavLink } from 'react-router-dom';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../NavItem';\nimport { MoreHorizontal } from '../icons/systemicons/SystemIcons';\nimport { COLORS, BREAKPOINTS } from '../styles';\nimport { NavOption } from '../types';\nimport ExtendedMainMenu from './ExtendedMainMenu';\nimport {IconButton} from '../Button';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst NavContainer = styled.div<{ open: boolean }>`\n display: none;\n justify-content: center;\n align-items: center;\n\n ${BREAKPOINTS.MEDIUM} {\n display: flex;\n }\n\n a {\n text-decoration: none;\n }\n`;\n\nconst NavButton = styled.button`\n background: ${COLORS.white};\n border: 0;\n`;\n\ninterface ExtendedMenuWrapperProps {\n floatRight: boolean;\n}\n\nconst ExtendedMenuWrapper = styled.div<ExtendedMenuWrapperProps>`\n display: flex;\n margin-left: ${props => (props.floatRight ? 'auto' : 'unset')};\n\n position: absolute;\n flex-direction: column;\n left: 290px;\n top: 22px;\n\n height: 0;\n width: 0;\n\n &:focus-within,\n &:hover,\n &.open {\n background: ${COLORS.white};\n }\n`;\n\nconst ExtendedSection = styled.div`\n position: relative;\n`;\n\ntype Props = {\n navigationOptions: NavOption[];\n rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;\n};\n\nconst MainMenu = ({ navigationOptions, rightSideRef }: Props): React.ReactElement<Props> => {\n const [showExtendedMenu, setShowExtendedMenu] = React.useState(false);\n const extendedMenuRef = React.useRef<any>(null);\n const menuButtonRef = React.useRef<HTMLButtonElement>(null);\n const mainMenuRef: React.RefObject<HTMLDivElement> | null | undefined = React.useRef(null);\n const [numberOfItemsAllowed, setNumberOfItemsAllowed] = React.useState<number>(1);\n\n const widthOfItem = 150;\n const recalculateNumberOfItemsAllowed = () => {\n if (rightSideRef?.current && mainMenuRef?.current) {\n const number = Math.floor((rightSideRef?.current?.offsetLeft - mainMenuRef?.current?.offsetLeft) / widthOfItem);\n if (number !== numberOfItemsAllowed) {\n setNumberOfItemsAllowed(number);\n }\n }\n };\n\n const handleClickExtendedMenuAction = () => {\n setShowExtendedMenu(false);\n };\n\n const handleClickOutside = (e: any) => {\n if (!extendedMenuRef?.current?.contains(e.target) && !menuButtonRef?.current?.contains(e.target)) {\n setShowExtendedMenu(false);\n }\n };\n\n React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n // Bind the event listener\n document.addEventListener('click', handleClickOutside);\n window.addEventListener('resize', recalculateNumberOfItemsAllowed);\n return () => {\n // Unbind the event listener on clean up\n document.removeEventListener('click', handleClickOutside);\n window.removeEventListener('resize', recalculateNumberOfItemsAllowed);\n };\n });\n\n return (\n <NavContainer className=\"GlobalNavigationMainMenu\" ref={mainMenuRef} open={showExtendedMenu}>\n {navigationOptions?.map((no: NavOption, index: number) =>\n index > numberOfItemsAllowed - 2 ? null : no?.disabled ? (\n <NavItem\n as={NavButton}\n exact={no?.exact}\n className=\"disabled\"\n key={no?.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (no?.onClick) {\n no?.onClick();\n }\n }}>\n {no?.label}\n </NavItem>\n ) : (\n <NavItem\n as={NavLink}\n exact={no?.exact}\n to={no?.to || ''}\n key={no?.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (no?.onClick) {\n no?.onClick();\n }\n }}>\n {no?.label}\n </NavItem>\n ),\n )}\n {navigationOptions.length + 1 > numberOfItemsAllowed && (\n <ExtendedSection>\n <IconButton\n ref={menuButtonRef}\n variant={'secondary'}\n shape={'circular'}\n action={() => {\n setShowExtendedMenu(!showExtendedMenu)\n }}>\n <MoreHorizontal size=\"24px\" />\n </IconButton>\n <ExtendedMenuWrapper ref={extendedMenuRef} className={showExtendedMenu ? 'open' : ''} floatRight={false}>\n <ExtendedMainMenu clickMenuAction={handleClickExtendedMenuAction} navigationOptions={navigationOptions.slice(numberOfItemsAllowed - 1)} />\n </ExtendedMenuWrapper>\n </ExtendedSection>\n )}\n </NavContainer>\n );\n};\n\nexport default MainMenu;\n"],"file":"MainMenu.js"}
@@ -19,13 +19,15 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
19
 
20
20
  var _reactRouterDom = require("react-router-dom");
21
21
 
22
- var _NavItem = require("../../NavItem");
22
+ var _NavItem = require("../NavItem");
23
23
 
24
- var _styles = require("../../styles");
24
+ var _styles = require("../styles");
25
25
 
26
- var _Button = require("../../Button");
26
+ var _Button = require("../Button");
27
27
 
28
- var _common = require("../../common");
28
+ var _typography = require("../styles/typography");
29
+
30
+ var _common = require("../common");
29
31
 
30
32
  var _jsxRuntime = require("react/jsx-runtime");
31
33
 
@@ -35,48 +37,50 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
35
37
 
36
38
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
39
 
38
- var NavContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin: auto 0 auto auto;\n align-items: center;\n height: 48px;\n\n a {\n text-decoration: none;\n }\n\n ", " {\n height: 56px;\n }\n\n ", " {\n height: 64px;\n }\n\n button,\n div {\n &:hover {\n cursor: pointer;\n }\n }\n"])), _styles.BREAKPOINTS.SMALL, _styles.BREAKPOINTS.MEDIUM);
40
+ var NavContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin: auto 0 auto auto;\n align-items: center;\n height: 48px;\n \n a {\n text-decoration: none;\n }\n\n ", " {\n height: 56px;\n }\n ", " {\n height: 64px;\n }\n\n button,\n div {\n &:hover {\n cursor: pointer;\n }\n }\n"])), _styles.BREAKPOINTS.SMALL, _styles.BREAKPOINTS.MEDIUM);
39
41
 
40
- var SecondaryButton = (0, _styledComponents.default)(_Button.Button)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 40px;\n margin: 0 8px;\n\n ", "\n"])), (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, 'unset'));
42
+ var SecondaryButton = (0, _styledComponents.default)(_Button.Button)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 40px;\n margin: 0 8px;\n\n ", "\n"])), (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Bold, 'unset'));
41
43
 
42
44
  var RightSideNav = function RightSideNav(_ref) {
43
- var items = _ref.items,
44
- action = _ref.action;
45
+ var navigationOptions = _ref.navigationOptions,
46
+ secondaryButton = _ref.secondaryButton;
45
47
 
46
- var getNavItem = function getNavItem(item) {
47
- if (item !== null && item !== void 0 && item.disabled) {
48
+ var getNavItem = function getNavItem(navOption) {
49
+ if (navOption !== null && navOption !== void 0 && navOption.disabled) {
48
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
49
51
  as: _Button.Button,
50
52
  className: "disabled",
51
- children: item === null || item === void 0 ? void 0 : item.label
52
- }, item === null || item === void 0 ? void 0 : item.label);
53
+ children: navOption === null || navOption === void 0 ? void 0 : navOption.label
54
+ }, navOption === null || navOption === void 0 ? void 0 : navOption.label);
53
55
  } else {
54
56
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
55
57
  as: _reactRouterDom.NavLink,
56
- exact: item === null || item === void 0 ? void 0 : item.exact,
57
- to: (item === null || item === void 0 ? void 0 : item.to) || '',
58
+ exact: navOption === null || navOption === void 0 ? void 0 : navOption.exact,
59
+ to: (navOption === null || navOption === void 0 ? void 0 : navOption.to) || '',
58
60
  onMouseDown: _common.defaultOnMouseDownHandler,
59
61
  onClick: function onClick() {
60
- return item.action && item.action();
62
+ if (navOption !== null && navOption !== void 0 && navOption.onClick) {
63
+ navOption === null || navOption === void 0 ? void 0 : navOption.onClick();
64
+ }
61
65
  },
62
- children: item === null || item === void 0 ? void 0 : item.label
63
- }, item === null || item === void 0 ? void 0 : item.label);
66
+ children: navOption === null || navOption === void 0 ? void 0 : navOption.label
67
+ }, navOption === null || navOption === void 0 ? void 0 : navOption.label);
64
68
  }
65
69
  };
66
70
 
67
71
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(NavContainer, {
68
- children: [items === null || items === void 0 ? void 0 : items.reverse().map(function (no) {
72
+ children: [navigationOptions === null || navigationOptions === void 0 ? void 0 : navigationOptions.reverse().map(function (no) {
69
73
  return getNavItem(no);
70
- }), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(SecondaryButton, {
74
+ }), secondaryButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(SecondaryButton, {
71
75
  variant: "secondary",
72
- onClick: action === null || action === void 0 ? void 0 : action.action,
73
- children: action.label
76
+ onClick: secondaryButton === null || secondaryButton === void 0 ? void 0 : secondaryButton.action,
77
+ children: secondaryButton.label
74
78
  })]
75
79
  });
76
80
  };
77
81
 
78
82
  RightSideNav.propTypes = {
79
- items: _propTypes.default.array
83
+ navigationOptions: _propTypes.default.array
80
84
  };
81
85
  var _default = RightSideNav;
82
86
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/GlobalNavigationBar/RightSideNav.tsx"],"names":["NavContainer","styled","div","BREAKPOINTS","SMALL","MEDIUM","SecondaryButton","Button","ComponentTextStyle","Bold","RightSideNav","navigationOptions","secondaryButton","getNavItem","navOption","disabled","label","NavLink","exact","to","defaultOnMouseDownHandler","onClick","reverse","map","no","action"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,YAAY,GAAGC,0BAAOC,GAAV,yWAUdC,oBAAYC,KAVE,EAadD,oBAAYE,MAbE,CAAlB;;AAyBA,IAAMC,eAAe,GAAG,+BAAOC,cAAP,CAAH,qIAIjB,mCAAkBC,2BAAmBC,IAArC,EAA2C,OAA3C,CAJiB,CAArB;;AAYA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA8E;AAAA,MAA3EC,iBAA2E,QAA3EA,iBAA2E;AAAA,MAAxDC,eAAwD,QAAxDA,eAAwD;;AACjG,MAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,SAAD,EAA0B;AAC3C,QAAIA,SAAJ,aAAIA,SAAJ,eAAIA,SAAS,CAAEC,QAAf,EAAyB;AACvB,0BACE,qBAAC,gBAAD;AAAS,QAAA,EAAE,EAAER,cAAb;AAAqB,QAAA,SAAS,EAAC,UAA/B;AAAA,kBACGO,SADH,aACGA,SADH,uBACGA,SAAS,CAAEE;AADd,SAA+CF,SAA/C,aAA+CA,SAA/C,uBAA+CA,SAAS,CAAEE,KAA1D,CADF;AAKD,KAND,MAMO;AACL,0BACE,qBAAC,gBAAD;AACE,QAAA,EAAE,EAAEC,uBADN;AAEE,QAAA,KAAK,EAAEH,SAAF,aAAEA,SAAF,uBAAEA,SAAS,CAAEI,KAFpB;AAGE,QAAA,EAAE,EAAE,CAAAJ,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEK,EAAX,KAAiB,EAHvB;AAKE,QAAA,WAAW,EAAEC,iCALf;AAME,QAAA,OAAO,EAAE,mBAAM;AACb,cAAIN,SAAJ,aAAIA,SAAJ,eAAIA,SAAS,CAAEO,OAAf,EAAwB;AACtBP,YAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEO,OAAX;AACD;AACF,SAVH;AAAA,kBAWGP,SAXH,aAWGA,SAXH,uBAWGA,SAAS,CAAEE;AAXd,SAIOF,SAJP,aAIOA,SAJP,uBAIOA,SAAS,CAAEE,KAJlB,CADF;AAeD;AACF,GAxBD;;AAyBA,sBACE,sBAAC,YAAD;AAAA,eACGL,iBADH,aACGA,iBADH,uBACGA,iBAAiB,CAAEW,OAAnB,GAA6BC,GAA7B,CAAiC,UAAAC,EAAE;AAAA,aAAIX,UAAU,CAACW,EAAD,CAAd;AAAA,KAAnC,CADH,EAGGZ,eAAe,iBACd,qBAAC,eAAD;AAAiB,MAAA,OAAO,EAAC,WAAzB;AAAqC,MAAA,OAAO,EAAEA,eAAF,aAAEA,eAAF,uBAAEA,eAAe,CAAEa,MAA/D;AAAA,gBACGb,eAAe,CAACI;AADnB,MAJJ;AAAA,IADF;AAWD,CArCD;;;AAJEL,EAAAA,iB;;eA2CaD,Y","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\n\nimport {NavItem} from '../NavItem';\nimport {NavButton, NavOption} from '../types';\nimport {BREAKPOINTS, ComponentTextStyle} from '../styles';\nimport {Button} from '../Button';\nimport {ComponentMStyling} from '../styles/typography';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst NavContainer = styled.div`\n display: flex;\n margin: auto 0 auto auto;\n align-items: center;\n height: 48px;\n \n a {\n text-decoration: none;\n }\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n\n button,\n div {\n &:hover {\n cursor: pointer;\n }\n }\n`;\n\nconst SecondaryButton = styled(Button)`\n height: 40px;\n margin: 0 8px;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, 'unset')}\n`;\n\ntype Props = {\n navigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n};\n\nconst RightSideNav = ({ navigationOptions, secondaryButton }: Props): React.ReactElement<Props> => {\n const getNavItem = (navOption: NavOption) => {\n if (navOption?.disabled) {\n return (\n <NavItem as={Button} className=\"disabled\" key={navOption?.label}>\n {navOption?.label}\n </NavItem>\n );\n } else {\n return (\n <NavItem\n as={NavLink}\n exact={navOption?.exact}\n to={navOption?.to || ''}\n key={navOption?.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (navOption?.onClick) {\n navOption?.onClick();\n }\n }}>\n {navOption?.label}\n </NavItem>\n );\n }\n };\n return (\n <NavContainer>\n {navigationOptions?.reverse().map(no => getNavItem(no))}\n\n {secondaryButton && (\n <SecondaryButton variant=\"secondary\" onClick={secondaryButton?.action}>\n {secondaryButton.label}\n </SecondaryButton>\n )}\n </NavContainer>\n );\n};\n\nexport default RightSideNav;\n"],"file":"RightSideNav.cjs"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import { NavButton, NavOption } from '../types';
3
+ declare type Props = {
4
+ navigationOptions?: NavOption[];
5
+ secondaryButton?: NavButton;
6
+ };
7
+ declare const RightSideNav: ({ navigationOptions, secondaryButton }: Props) => React.ReactElement<Props>;
8
+ export default RightSideNav;
@@ -0,0 +1,61 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ import _pt from "prop-types";
3
+
4
+ var _templateObject, _templateObject2;
5
+
6
+ import * as React from 'react';
7
+ import styled from 'styled-components';
8
+ import { NavLink } from 'react-router-dom';
9
+ import { NavItem } from '../NavItem';
10
+ import { BREAKPOINTS, ComponentTextStyle } from '../styles';
11
+ import { Button } from '../Button';
12
+ import { ComponentMStyling } from '../styles/typography';
13
+ import { defaultOnMouseDownHandler } from '../common';
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ var NavContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n margin: auto 0 auto auto;\n align-items: center;\n height: 48px;\n \n a {\n text-decoration: none;\n }\n\n ", " {\n height: 56px;\n }\n ", " {\n height: 64px;\n }\n\n button,\n div {\n &:hover {\n cursor: pointer;\n }\n }\n"])), BREAKPOINTS.SMALL, BREAKPOINTS.MEDIUM);
17
+ var SecondaryButton = styled(Button)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 40px;\n margin: 0 8px;\n\n ", "\n"])), ComponentMStyling(ComponentTextStyle.Bold, 'unset'));
18
+
19
+ var RightSideNav = function RightSideNav(_ref) {
20
+ var navigationOptions = _ref.navigationOptions,
21
+ secondaryButton = _ref.secondaryButton;
22
+
23
+ var getNavItem = function getNavItem(navOption) {
24
+ if (navOption !== null && navOption !== void 0 && navOption.disabled) {
25
+ return /*#__PURE__*/_jsx(NavItem, {
26
+ as: Button,
27
+ className: "disabled",
28
+ children: navOption === null || navOption === void 0 ? void 0 : navOption.label
29
+ }, navOption === null || navOption === void 0 ? void 0 : navOption.label);
30
+ } else {
31
+ return /*#__PURE__*/_jsx(NavItem, {
32
+ as: NavLink,
33
+ exact: navOption === null || navOption === void 0 ? void 0 : navOption.exact,
34
+ to: (navOption === null || navOption === void 0 ? void 0 : navOption.to) || '',
35
+ onMouseDown: defaultOnMouseDownHandler,
36
+ onClick: function onClick() {
37
+ if (navOption !== null && navOption !== void 0 && navOption.onClick) {
38
+ navOption === null || navOption === void 0 ? void 0 : navOption.onClick();
39
+ }
40
+ },
41
+ children: navOption === null || navOption === void 0 ? void 0 : navOption.label
42
+ }, navOption === null || navOption === void 0 ? void 0 : navOption.label);
43
+ }
44
+ };
45
+
46
+ return /*#__PURE__*/_jsxs(NavContainer, {
47
+ children: [navigationOptions === null || navigationOptions === void 0 ? void 0 : navigationOptions.reverse().map(function (no) {
48
+ return getNavItem(no);
49
+ }), secondaryButton && /*#__PURE__*/_jsx(SecondaryButton, {
50
+ variant: "secondary",
51
+ onClick: secondaryButton === null || secondaryButton === void 0 ? void 0 : secondaryButton.action,
52
+ children: secondaryButton.label
53
+ })]
54
+ });
55
+ };
56
+
57
+ RightSideNav.propTypes = {
58
+ navigationOptions: _pt.array
59
+ };
60
+ export default RightSideNav;
61
+ //# sourceMappingURL=RightSideNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/GlobalNavigationBar/RightSideNav.tsx"],"names":["React","styled","NavLink","NavItem","BREAKPOINTS","ComponentTextStyle","Button","ComponentMStyling","defaultOnMouseDownHandler","NavContainer","div","SMALL","MEDIUM","SecondaryButton","Bold","RightSideNav","navigationOptions","secondaryButton","getNavItem","navOption","disabled","label","exact","to","onClick","reverse","map","no","action"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,OAAR,QAAsB,kBAAtB;AAEA,SAAQC,OAAR,QAAsB,YAAtB;AAEA,SAAQC,WAAR,EAAqBC,kBAArB,QAA8C,WAA9C;AACA,SAAQC,MAAR,QAAqB,WAArB;AACA,SAAQC,iBAAR,QAAgC,sBAAhC;AACA,SAAQC,yBAAR,QAAwC,WAAxC;;;AAEA,IAAMC,YAAY,GAAGR,MAAM,CAACS,GAAV,2VAUdN,WAAW,CAACO,KAVE,EAadP,WAAW,CAACQ,MAbE,CAAlB;AAyBA,IAAMC,eAAe,GAAGZ,MAAM,CAACK,MAAD,CAAT,uHAIjBC,iBAAiB,CAACF,kBAAkB,CAACS,IAApB,EAA0B,OAA1B,CAJA,CAArB;;AAYA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA8E;AAAA,MAA3EC,iBAA2E,QAA3EA,iBAA2E;AAAA,MAAxDC,eAAwD,QAAxDA,eAAwD;;AACjG,MAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,SAAD,EAA0B;AAC3C,QAAIA,SAAJ,aAAIA,SAAJ,eAAIA,SAAS,CAAEC,QAAf,EAAyB;AACvB,0BACE,KAAC,OAAD;AAAS,QAAA,EAAE,EAAEd,MAAb;AAAqB,QAAA,SAAS,EAAC,UAA/B;AAAA,kBACGa,SADH,aACGA,SADH,uBACGA,SAAS,CAAEE;AADd,SAA+CF,SAA/C,aAA+CA,SAA/C,uBAA+CA,SAAS,CAAEE,KAA1D,CADF;AAKD,KAND,MAMO;AACL,0BACE,KAAC,OAAD;AACE,QAAA,EAAE,EAAEnB,OADN;AAEE,QAAA,KAAK,EAAEiB,SAAF,aAAEA,SAAF,uBAAEA,SAAS,CAAEG,KAFpB;AAGE,QAAA,EAAE,EAAE,CAAAH,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEI,EAAX,KAAiB,EAHvB;AAKE,QAAA,WAAW,EAAEf,yBALf;AAME,QAAA,OAAO,EAAE,mBAAM;AACb,cAAIW,SAAJ,aAAIA,SAAJ,eAAIA,SAAS,CAAEK,OAAf,EAAwB;AACtBL,YAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEK,OAAX;AACD;AACF,SAVH;AAAA,kBAWGL,SAXH,aAWGA,SAXH,uBAWGA,SAAS,CAAEE;AAXd,SAIOF,SAJP,aAIOA,SAJP,uBAIOA,SAAS,CAAEE,KAJlB,CADF;AAeD;AACF,GAxBD;;AAyBA,sBACE,MAAC,YAAD;AAAA,eACGL,iBADH,aACGA,iBADH,uBACGA,iBAAiB,CAAES,OAAnB,GAA6BC,GAA7B,CAAiC,UAAAC,EAAE;AAAA,aAAIT,UAAU,CAACS,EAAD,CAAd;AAAA,KAAnC,CADH,EAGGV,eAAe,iBACd,KAAC,eAAD;AAAiB,MAAA,OAAO,EAAC,WAAzB;AAAqC,MAAA,OAAO,EAAEA,eAAF,aAAEA,eAAF,uBAAEA,eAAe,CAAEW,MAA/D;AAAA,gBACGX,eAAe,CAACI;AADnB,MAJJ;AAAA,IADF;AAWD,CArCD;;;AAJEL,EAAAA,iB;;AA2CF,eAAeD,YAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\n\nimport {NavItem} from '../NavItem';\nimport {NavButton, NavOption} from '../types';\nimport {BREAKPOINTS, ComponentTextStyle} from '../styles';\nimport {Button} from '../Button';\nimport {ComponentMStyling} from '../styles/typography';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst NavContainer = styled.div`\n display: flex;\n margin: auto 0 auto auto;\n align-items: center;\n height: 48px;\n \n a {\n text-decoration: none;\n }\n\n ${BREAKPOINTS.SMALL} {\n height: 56px;\n }\n ${BREAKPOINTS.MEDIUM} {\n height: 64px;\n }\n\n button,\n div {\n &:hover {\n cursor: pointer;\n }\n }\n`;\n\nconst SecondaryButton = styled(Button)`\n height: 40px;\n margin: 0 8px;\n\n ${ComponentMStyling(ComponentTextStyle.Bold, 'unset')}\n`;\n\ntype Props = {\n navigationOptions?: NavOption[];\n secondaryButton?: NavButton;\n};\n\nconst RightSideNav = ({ navigationOptions, secondaryButton }: Props): React.ReactElement<Props> => {\n const getNavItem = (navOption: NavOption) => {\n if (navOption?.disabled) {\n return (\n <NavItem as={Button} className=\"disabled\" key={navOption?.label}>\n {navOption?.label}\n </NavItem>\n );\n } else {\n return (\n <NavItem\n as={NavLink}\n exact={navOption?.exact}\n to={navOption?.to || ''}\n key={navOption?.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (navOption?.onClick) {\n navOption?.onClick();\n }\n }}>\n {navOption?.label}\n </NavItem>\n );\n }\n };\n return (\n <NavContainer>\n {navigationOptions?.reverse().map(no => getNavItem(no))}\n\n {secondaryButton && (\n <SecondaryButton variant=\"secondary\" onClick={secondaryButton?.action}>\n {secondaryButton.label}\n </SecondaryButton>\n )}\n </NavContainer>\n );\n};\n\nexport default RightSideNav;\n"],"file":"RightSideNav.js"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var React = _interopRequireWildcard(require("react"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _reactRouterDom = require("react-router-dom");
21
+
22
+ var _styles = require("../../styles");
23
+
24
+ var _SystemIcons = require("../../icons/systemicons/SystemIcons");
25
+
26
+ var _typography = require("../../styles/typography");
27
+
28
+ var _common = require("../../common");
29
+
30
+ var _jsxRuntime = require("react/jsx-runtime");
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ var LinkStyles = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border: none;\n background: transparent;\n padding: 16px 25px;\n\n text-decoration: none;\n text-align: left;\n align-items: center;\n display: flex;\n\n ", "\n svg {\n margin-right: 15px;\n color: ", ";\n }\n"])), (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600), _styles.COLORS.neutral_600);
39
+ var InternalLink = (0, _styledComponents.default)(_reactRouterDom.NavLink)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n"])), LinkStyles);
40
+
41
+ var ExternalLink = _styledComponents.default.a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n"])), LinkStyles);
42
+
43
+ var IconsRightSide = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n margin: 0 0 0 auto;\n align-items: center;\n svg {\n margin-right: 0;\n }\n"])));
44
+
45
+ var MenuLink = function MenuLink(_ref) {
46
+ var to = _ref.to,
47
+ isExternal = _ref.isExternal,
48
+ menuText = _ref.menuText,
49
+ Icon = _ref.Icon,
50
+ notification = _ref.notification,
51
+ extendedMenu = _ref.extendedMenu,
52
+ _onClick = _ref.onClick;
53
+
54
+ var getRightSide = function getRightSide() {
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(IconsRightSide, {
56
+ children: [notification ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Bullet, {
57
+ size: "24px",
58
+ color: _styles.COLORS.critical_500
59
+ }) : null, extendedMenu ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ChevronRight, {
60
+ size: "24px",
61
+ color: _styles.COLORS.neutral_600
62
+ }) : null]
63
+ });
64
+ };
65
+
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
67
+ children: isExternal ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(ExternalLink, {
68
+ href: to,
69
+ role: "menuitem",
70
+ className: "UserMenuLink",
71
+ onMouseDown: _common.defaultOnMouseDownHandler,
72
+ onClick: function onClick() {
73
+ if (_onClick) {
74
+ _onClick();
75
+ }
76
+ },
77
+ children: [Icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
78
+ size: "24px"
79
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
80
+ children: menuText
81
+ }), getRightSide()]
82
+ }, "ExternalLink_".concat(to)) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(InternalLink, {
83
+ to: to,
84
+ role: "menuitem",
85
+ className: "UserMenuLink",
86
+ onMouseDown: _common.defaultOnMouseDownHandler,
87
+ onClick: function onClick() {
88
+ if (_onClick) {
89
+ _onClick();
90
+ }
91
+ },
92
+ children: [Icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
93
+ size: "24px"
94
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
95
+ children: menuText
96
+ }), getRightSide()]
97
+ }, "InternalLink_".concat(to))
98
+ });
99
+ };
100
+
101
+ MenuLink.propTypes = {
102
+ to: _propTypes.default.string.isRequired,
103
+ menuText: _propTypes.default.string.isRequired,
104
+ isExternal: _propTypes.default.bool,
105
+ Icon: _propTypes.default.any,
106
+ notification: _propTypes.default.bool,
107
+ extendedMenu: _propTypes.default.bool,
108
+ onClick: _propTypes.default.func
109
+ };
110
+ var _default = MenuLink;
111
+ exports.default = _default;
112
+ //# sourceMappingURL=MenuLink.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/UserMenu/MenuLink.tsx"],"names":["LinkStyles","css","ComponentTextStyle","Regular","COLORS","neutral_600","InternalLink","NavLink","ExternalLink","styled","a","IconsRightSide","div","MenuLink","to","isExternal","menuText","Icon","notification","extendedMenu","onClick","getRightSide","critical_500","defaultOnMouseDownHandler"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,UAAU,OAAGC,qBAAH,yTAUZ,mCAAkBC,2BAAmBC,OAArC,EAA8CC,eAAOC,WAArD,CAVY,EAaHD,eAAOC,WAbJ,CAAhB;AAiBA,IAAMC,YAAY,GAAG,+BAAOC,uBAAP,CAAH,iGACdP,UADc,CAAlB;;AAIA,IAAMQ,YAAY,GAAGC,0BAAOC,CAAV,iGACdV,UADc,CAAlB;;AAIA,IAAMW,cAAc,GAAGF,0BAAOG,GAAV,0KAApB;;AAkBA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,OAA4F;AAAA,MAAzFC,EAAyF,QAAzFA,EAAyF;AAAA,MAArFC,UAAqF,QAArFA,UAAqF;AAAA,MAAzEC,QAAyE,QAAzEA,QAAyE;AAAA,MAA/DC,IAA+D,QAA/DA,IAA+D;AAAA,MAAzDC,YAAyD,QAAzDA,YAAyD;AAAA,MAA3CC,YAA2C,QAA3CA,YAA2C;AAAA,MAA7BC,QAA6B,QAA7BA,OAA6B;;AAC3G,MAAMC,YAAY,GAAG,SAAfA,YAAe;AAAA,wBACnB,sBAAC,cAAD;AAAA,iBACGH,YAAY,gBAAG,qBAAC,mBAAD;AAAQ,QAAA,IAAI,EAAC,MAAb;AAAoB,QAAA,KAAK,EAAEd,eAAOkB;AAAlC,QAAH,GAAwD,IADvE,EAEGH,YAAY,gBAAG,qBAAC,yBAAD;AAAc,QAAA,IAAI,EAAC,MAAnB;AAA0B,QAAA,KAAK,EAAEf,eAAOC;AAAxC,QAAH,GAA6D,IAF5E;AAAA,MADmB;AAAA,GAArB;;AAMA,sBACE;AAAA,cACGU,UAAU,gBACT,sBAAC,YAAD;AAEE,MAAA,IAAI,EAAED,EAFR;AAGE,MAAA,IAAI,EAAC,UAHP;AAIE,MAAA,SAAS,EAAC,cAJZ;AAKE,MAAA,WAAW,EAAES,iCALf;AAME,MAAA,OAAO,EAAE,mBAAM;AACb,YAAIH,QAAJ,EAAa;AACXA,UAAAA,QAAO;AACR;AACF,OAVH;AAAA,iBAWGH,IAAI,iBAAI,qBAAC,IAAD;AAAM,QAAA,IAAI,EAAC;AAAX,QAXX,eAYE;AAAA,kBAAOD;AAAP,QAZF,EAaGK,YAAY,EAbf;AAAA,8BACuBP,EADvB,EADS,gBAiBT,sBAAC,YAAD;AAEE,MAAA,EAAE,EAAEA,EAFN;AAGE,MAAA,IAAI,EAAC,UAHP;AAIE,MAAA,SAAS,EAAC,cAJZ;AAKE,MAAA,WAAW,EAAES,iCALf;AAME,MAAA,OAAO,EAAE,mBAAM;AACb,YAAIH,QAAJ,EAAa;AACXA,UAAAA,QAAO;AACR;AACF,OAVH;AAAA,iBAWGH,IAAI,iBAAI,qBAAC,IAAD;AAAM,QAAA,IAAI,EAAC;AAAX,QAXX,eAYE;AAAA,kBAAOD;AAAP,QAZF,EAaGK,YAAY,EAbf;AAAA,8BACuBP,EADvB;AAlBJ,IADF;AAqCD,CA5CD;;;AATEA,EAAAA,E;AACAE,EAAAA,Q;AACAD,EAAAA,U;AACAE,EAAAA,I;AACAC,EAAAA,Y;AACAC,EAAAA,Y;AACAC,EAAAA,O;;eAiDaP,Q","sourcesContent":["import * as React from 'react';\nimport styled, {css} from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {COLORS, ComponentTextStyle} from '../../styles';\nimport {Bullet, ChevronRight} from '../../icons/systemicons/SystemIcons';\nimport {ComponentMStyling} from '../../styles/typography';\nimport {defaultOnMouseDownHandler} from '../../common';\n\nconst LinkStyles = css`\n border: none;\n background: transparent;\n padding: 16px 25px;\n\n text-decoration: none;\n text-align: left;\n align-items: center;\n display: flex;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n svg {\n margin-right: 15px;\n color: ${COLORS.neutral_600};\n }\n`;\n\nconst InternalLink = styled(NavLink)`\n ${LinkStyles};\n`;\n\nconst ExternalLink = styled.a`\n ${LinkStyles};\n`;\n\nconst IconsRightSide = styled.div`\n margin: 0 0 0 auto;\n align-items: center;\n svg {\n margin-right: 0;\n }\n`;\n\ninterface MenuLinkProps {\n to: string;\n menuText: string;\n isExternal?: boolean;\n Icon?: any;\n notification?: boolean;\n extendedMenu?: boolean;\n onClick?: () => void;\n}\n\nconst MenuLink = ({ to, isExternal, menuText, Icon, notification, extendedMenu, onClick }: MenuLinkProps) => {\n const getRightSide = () => (\n <IconsRightSide>\n {notification ? <Bullet size=\"24px\" color={COLORS.critical_500} /> : null}\n {extendedMenu ? <ChevronRight size=\"24px\" color={COLORS.neutral_600} /> : null}\n </IconsRightSide>\n );\n return (\n <li>\n {isExternal ? (\n <ExternalLink\n key={`ExternalLink_${to}`}\n href={to}\n role=\"menuitem\"\n className=\"UserMenuLink\"\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (onClick) {\n onClick();\n }\n }}>\n {Icon && <Icon size=\"24px\" />}\n <span>{menuText}</span>\n {getRightSide()}\n </ExternalLink>\n ) : (\n <InternalLink\n key={`InternalLink_${to}`}\n to={to}\n role=\"menuitem\"\n className=\"UserMenuLink\"\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => {\n if (onClick) {\n onClick();\n }\n }}>\n {Icon && <Icon size=\"24px\" />}\n <span>{menuText}</span>\n {getRightSide()}\n </InternalLink>\n )}\n </li>\n );\n};\n\nexport default MenuLink;\n"],"file":"MenuLink.cjs"}
@@ -0,0 +1,11 @@
1
+ interface MenuLinkProps {
2
+ to: string;
3
+ menuText: string;
4
+ isExternal?: boolean;
5
+ Icon?: any;
6
+ notification?: boolean;
7
+ extendedMenu?: boolean;
8
+ onClick?: () => void;
9
+ }
10
+ declare const MenuLink: ({ to, isExternal, menuText, Icon, notification, extendedMenu, onClick }: MenuLinkProps) => JSX.Element;
11
+ export default MenuLink;