@laerdal/life-react-components 1.10.3-dev.9.full → 1.11.0

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 (136) hide show
  1. package/dist/Banners/Banner.cjs +51 -43
  2. package/dist/Banners/Banner.cjs.map +1 -1
  3. package/dist/Banners/Banner.d.ts +2 -1
  4. package/dist/Banners/Banner.js +50 -42
  5. package/dist/Banners/Banner.js.map +1 -1
  6. package/dist/Button/DualFunctionButton.cjs +1 -0
  7. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  8. package/dist/Button/DualFunctionButton.js +1 -0
  9. package/dist/Button/DualFunctionButton.js.map +1 -1
  10. package/dist/Button/Iconbutton.cjs +0 -5
  11. package/dist/Button/Iconbutton.cjs.map +1 -1
  12. package/dist/Button/Iconbutton.d.ts +1 -7
  13. package/dist/Button/Iconbutton.js +0 -5
  14. package/dist/Button/Iconbutton.js.map +1 -1
  15. package/dist/ChipsInput/ChipDropdownInput.cjs +1 -0
  16. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  17. package/dist/ChipsInput/ChipDropdownInput.js +1 -0
  18. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  19. package/dist/Dropdown/BasicDropdown.cjs +9 -4
  20. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  21. package/dist/Dropdown/BasicDropdown.d.ts +2 -2
  22. package/dist/Dropdown/BasicDropdown.js +9 -4
  23. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  24. package/dist/Dropdown/CommonStyling.cjs +2 -2
  25. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  26. package/dist/Dropdown/CommonStyling.js +2 -2
  27. package/dist/Dropdown/CommonStyling.js.map +1 -1
  28. package/dist/Dropdown/DropdownButton.cjs +8 -4
  29. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  30. package/dist/Dropdown/DropdownButton.js +8 -4
  31. package/dist/Dropdown/DropdownButton.js.map +1 -1
  32. package/dist/Dropdown/DropdownContent.cjs +94 -53
  33. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  34. package/dist/Dropdown/DropdownContent.d.ts +3 -1
  35. package/dist/Dropdown/DropdownContent.js +92 -53
  36. package/dist/Dropdown/DropdownContent.js.map +1 -1
  37. package/dist/Dropdown/DropdownFilter.cjs +1 -1
  38. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  39. package/dist/Dropdown/DropdownFilter.js +1 -1
  40. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  41. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +14 -13
  42. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  43. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +2 -1
  44. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +13 -12
  45. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  46. package/dist/GlobalNavigationBar/Logo.cjs +4 -4
  47. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  48. package/dist/GlobalNavigationBar/Logo.js +4 -4
  49. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  50. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +70 -36
  51. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  52. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +68 -36
  53. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  54. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +48 -23
  55. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  56. package/dist/GlobalNavigationBar/desktop/MainMenu.js +47 -23
  57. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  58. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +3 -3
  59. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  60. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +3 -3
  61. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  62. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +3 -3
  63. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  64. package/dist/GlobalNavigationBar/desktop/UserMenu.js +3 -3
  65. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  66. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  67. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  68. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +1 -1
  69. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  70. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs +3 -3
  71. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  72. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js +3 -3
  73. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  74. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +60 -31
  75. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  76. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +59 -31
  77. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  78. package/dist/GlobalNavigationBar/types.d.ts +9 -10
  79. package/dist/InputFields/SearchBar.cjs +1 -0
  80. package/dist/InputFields/SearchBar.cjs.map +1 -1
  81. package/dist/InputFields/SearchBar.js +1 -0
  82. package/dist/InputFields/SearchBar.js.map +1 -1
  83. package/dist/List/ListRow.cjs +1 -1
  84. package/dist/List/ListRow.cjs.map +1 -1
  85. package/dist/List/ListRow.js +1 -1
  86. package/dist/List/ListRow.js.map +1 -1
  87. package/dist/MenuItem/MenuItem.cjs +4 -2
  88. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  89. package/dist/MenuItem/MenuItem.js +4 -2
  90. package/dist/MenuItem/MenuItem.js.map +1 -1
  91. package/dist/Modals/ModalContainer.cjs +3 -3
  92. package/dist/Modals/ModalContainer.cjs.map +1 -1
  93. package/dist/Modals/ModalContainer.js +3 -3
  94. package/dist/Modals/ModalContainer.js.map +1 -1
  95. package/dist/Modals/ModalDialog.cjs +3 -5
  96. package/dist/Modals/ModalDialog.cjs.map +1 -1
  97. package/dist/Modals/ModalDialog.js +3 -6
  98. package/dist/Modals/ModalDialog.js.map +1 -1
  99. package/dist/Modals/ModalStyles.cjs +3 -3
  100. package/dist/Modals/ModalStyles.cjs.map +1 -1
  101. package/dist/Modals/ModalStyles.js +3 -3
  102. package/dist/Modals/ModalStyles.js.map +1 -1
  103. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  104. package/dist/ProfileButton/ProfileButton.d.ts +8 -0
  105. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  106. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  107. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  108. package/dist/Switcher/SwitcherMenuItem.js +3 -1
  109. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  110. package/dist/Tabs/TabLink.cjs +2 -2
  111. package/dist/Tabs/TabLink.cjs.map +1 -1
  112. package/dist/Tabs/TabLink.d.ts +1 -1
  113. package/dist/Tabs/TabLink.js +2 -2
  114. package/dist/Tabs/TabLink.js.map +1 -1
  115. package/dist/Tabs/VerticalTabs.cjs +2 -2
  116. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  117. package/dist/Tabs/VerticalTabs.d.ts +1 -1
  118. package/dist/Tabs/VerticalTabs.js +2 -2
  119. package/dist/Tabs/VerticalTabs.js.map +1 -1
  120. package/dist/common/ClickOutside.cjs +1 -1
  121. package/dist/common/ClickOutside.cjs.map +1 -1
  122. package/dist/common/ClickOutside.js +1 -1
  123. package/dist/common/ClickOutside.js.map +1 -1
  124. package/dist/{GlobalNavigationBar → common}/NavigationHelper.cjs +0 -0
  125. package/dist/common/NavigationHelper.cjs.map +1 -0
  126. package/dist/{GlobalNavigationBar → common}/NavigationHelper.d.ts +0 -0
  127. package/dist/{GlobalNavigationBar → common}/NavigationHelper.js +0 -0
  128. package/dist/common/NavigationHelper.js.map +1 -0
  129. package/package.json +1 -1
  130. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +0 -1
  131. package/dist/GlobalNavigationBar/NavigationHelper.js.map +0 -1
  132. package/dist/hooks/useClickOutside.cjs +0 -39
  133. package/dist/hooks/useClickOutside.cjs.map +0 -1
  134. package/dist/hooks/useClickOutside.d.ts +0 -5
  135. package/dist/hooks/useClickOutside.js +0 -26
  136. package/dist/hooks/useClickOutside.js.map +0 -1
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
15
 
12
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -29,9 +33,17 @@ var _styles = require("../../styles");
29
33
 
30
34
  var _jsxRuntime = require("react/jsx-runtime");
31
35
 
36
+ var _excluded = ["placement", "type", "action"],
37
+ _excluded2 = ["placement", "type", "icon", "action"],
38
+ _excluded3 = ["placement", "type", "action"];
39
+
32
40
  var _templateObject;
33
41
 
34
- var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n \n display: none;\n ", "{\n display: flex;\n }\n"])), _styles.BREAKPOINTS.MEDIUM);
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
43
+
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
45
+
46
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n\n display: none;\n\n ", " {\n display: flex;\n }\n"])), _styles.BREAKPOINTS.LARGE);
35
47
 
36
48
  var DesktopActions = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
37
49
  var buttons = _ref.buttons,
@@ -65,47 +77,69 @@ var DesktopActions = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref)
65
77
  }, [elRefs, buttons]);
66
78
 
67
79
  var renderItem = function renderItem(item, index) {
68
- var _user$firstName$charA, _user$firstName, _user$lastName$charAt, _user$lastName;
69
-
70
80
  switch (item.type) {
71
81
  case 'profile':
72
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileButton.ProfileButton, {
73
- ref: elRefs[index],
74
- hideOnLowWidth: true,
75
- onClick: function onClick(e) {
76
- item.action ? item.action(e === null || e === void 0 ? void 0 : e.target) : onShowUserMenu();
77
- },
78
- icon: !user && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.User, {}),
79
- initials: ((_user$firstName$charA = user === null || user === void 0 ? void 0 : (_user$firstName = user.firstName) === null || _user$firstName === void 0 ? void 0 : _user$firstName.charAt(0)) !== null && _user$firstName$charA !== void 0 ? _user$firstName$charA : '') + ((_user$lastName$charAt = user === null || user === void 0 ? void 0 : (_user$lastName = user.lastName) === null || _user$lastName === void 0 ? void 0 : _user$lastName.charAt(0)) !== null && _user$lastName$charAt !== void 0 ? _user$lastName$charAt : '')
80
- }, index);
82
+ {
83
+ var _user$firstName$charA, _user$firstName, _user$lastName$charAt, _user$lastName;
84
+
85
+ var placement = item.placement,
86
+ type = item.type,
87
+ action = item.action,
88
+ rest = (0, _objectWithoutProperties2.default)(item, _excluded);
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileButton.ProfileButton, _objectSpread({
90
+ ref: elRefs[index],
91
+ hideOnLowWidth: true,
92
+ onClick: function onClick(e) {
93
+ item.action ? item.action(e === null || e === void 0 ? void 0 : e.target) : onShowUserMenu();
94
+ },
95
+ icon: !user && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.User, {}),
96
+ initials: ((_user$firstName$charA = user === null || user === void 0 ? void 0 : (_user$firstName = user.firstName) === null || _user$firstName === void 0 ? void 0 : _user$firstName.charAt(0)) !== null && _user$firstName$charA !== void 0 ? _user$firstName$charA : '') + ((_user$lastName$charAt = user === null || user === void 0 ? void 0 : (_user$lastName = user.lastName) === null || _user$lastName === void 0 ? void 0 : _user$lastName.charAt(0)) !== null && _user$lastName$charAt !== void 0 ? _user$lastName$charAt : '')
97
+ }, rest), index);
98
+ }
81
99
 
82
100
  case 'action':
83
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
84
- ref: elRefs[index],
85
- variant: 'secondary',
86
- shape: 'circular',
87
- disabled: item.disabled,
88
- hideOnLowWidth: true,
89
- action: function action(e) {
90
- item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
91
- },
92
- children: item.icon
93
- }, index);
101
+ {
102
+ var _placement = item.placement,
103
+ _type = item.type,
104
+ icon = item.icon,
105
+ _action = item.action,
106
+ _rest = (0, _objectWithoutProperties2.default)(item, _excluded2);
107
+
108
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, _objectSpread(_objectSpread({
109
+ ref: elRefs[index],
110
+ variant: 'secondary',
111
+ shape: 'circular',
112
+ hideOnLowWidth: true,
113
+ action: function action(e) {
114
+ return item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
115
+ }
116
+ }, _rest), {}, {
117
+ children: item.icon
118
+ }), index);
119
+ }
94
120
 
95
121
  case 'switcher':
96
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
97
- ref: elRefs[index],
98
- variant: 'secondary',
99
- shape: 'circular',
100
- hideOnLowWidth: true,
101
- id: "globalNavAppsButton",
102
- action: function action(e) {
103
- return item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
104
- },
105
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.SwitchApp, {
106
- size: "24px"
107
- })
108
- }, index);
122
+ {
123
+ var _placement2 = item.placement,
124
+ _type2 = item.type,
125
+ _action2 = item.action,
126
+ _rest2 = (0, _objectWithoutProperties2.default)(item, _excluded3);
127
+
128
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, _objectSpread(_objectSpread({
129
+ ref: elRefs[index],
130
+ variant: 'secondary',
131
+ shape: 'circular',
132
+ hideOnLowWidth: true,
133
+ id: "globalNavAppsButton",
134
+ action: function action(e) {
135
+ return item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
136
+ }
137
+ }, _rest2), {}, {
138
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.SwitchApp, {
139
+ size: "24px"
140
+ })
141
+ }), index);
142
+ }
109
143
  }
110
144
  };
111
145
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GlobalNavigationBar/desktop/DesktopActions.tsx"],"names":["Wrapper","styled","div","BREAKPOINTS","MEDIUM","DesktopActions","React","forwardRef","ref","buttons","user","onShowUserMenu","useState","elRefs","setElRefs","length","useEffect","Array","fill","map","createRef","useImperativeHandle","r","index","type","renderItem","item","e","action","target","firstName","charAt","lastName","disabled","icon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {MenuAccountInfo, MobileMenuButtonTypes, MenuIconButton, DesktopMenuButtonTypes} from '../types';\nimport {IconButton} from '../../Button';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {ProfileButton} from '../../ProfileButton';\nimport {SystemIcons} from '../../icons';\nimport {BREAKPOINTS} from '../../styles';\n\nconst Wrapper = styled.div`\n align-items: center;\n \n display: none;\n ${BREAKPOINTS.MEDIUM}{\n display: flex;\n }\n`;\n\n\ninterface DesktopActionsProps {\n buttons?: DesktopMenuButtonTypes[];\n user?: MenuAccountInfo;\n onShowUserMenu: () => void;\n}\n\nexport interface DesktopActionsRef {\n buttons?: { ref: React.MutableRefObject<HTMLButtonElement | null>, type: 'profile' | 'action' | 'switcher' | undefined }[]\n}\n\nconst DesktopActions = React.forwardRef(({\n buttons,\n user,\n onShowUserMenu\n }: DesktopActionsProps, ref: React.Ref<DesktopActionsRef>) => {\n\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLButtonElement>[]>([]);\n\n const length = buttons?.length || 0;\n\n React.useEffect(() => {\n setElRefs(Array(length || 0).fill(null).map(() => React.createRef<HTMLButtonElement>()));\n }, [length]);\n\n React.useImperativeHandle(ref, () => ({\n buttons: elRefs.map((r, index) => ({\n ref: r,\n type: buttons?.[index]?.type,\n }))\n }), [elRefs, buttons]);\n\n const renderItem = (item: MobileMenuButtonTypes, index: number) => {\n switch (item.type) {\n case 'profile':\n return <ProfileButton key={index}\n ref={elRefs[index]}\n hideOnLowWidth={true}\n onClick={e => {\n item.action ? item.action(e?.target) : onShowUserMenu()\n }}\n icon={!user && <SystemIcons.User/>}\n initials={(user?.firstName?.charAt(0) ?? '') + (user?.lastName?.charAt(0) ?? '')}/>\n case 'action':\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n disabled={item.disabled}\n hideOnLowWidth={true}\n action={e => {\n item.action && item.action(e?.target);\n }}>\n {item.icon}\n </IconButton>\n case 'switcher':\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n hideOnLowWidth={true}\n id=\"globalNavAppsButton\"\n action={e => item.action && item.action(e?.target)}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n }\n }\n\n return (\n <Wrapper>\n {buttons?.map((item, index) => renderItem(item, index))}\n </Wrapper>\n )\n});\n\n\nexport default DesktopActions;\n"],"file":"DesktopActions.cjs"}
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/desktop/DesktopActions.tsx"],"names":["Wrapper","styled","div","BREAKPOINTS","LARGE","DesktopActions","React","forwardRef","ref","buttons","user","onShowUserMenu","useState","elRefs","setElRefs","length","useEffect","Array","fill","map","createRef","useImperativeHandle","r","index","type","renderItem","item","placement","action","rest","e","target","firstName","charAt","lastName","icon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {MenuAccountInfo, MobileMenuButtonTypes, MenuIconButton, DesktopMenuButtonTypes} from '../types';\nimport {IconButton} from '../../Button';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {ProfileButton} from '../../ProfileButton';\nimport {SystemIcons} from '../../icons';\nimport {BREAKPOINTS} from '../../styles';\n\nconst Wrapper = styled.div`\n align-items: center;\n\n display: none;\n\n ${BREAKPOINTS.LARGE} {\n display: flex;\n }\n`;\n\n\ninterface DesktopActionsProps {\n buttons?: DesktopMenuButtonTypes[];\n user?: MenuAccountInfo;\n onShowUserMenu: () => void;\n}\n\nexport interface DesktopActionsRef {\n buttons?: { ref: React.MutableRefObject<HTMLButtonElement | null>, type: 'profile' | 'action' | 'switcher' | undefined }[]\n}\n\nconst DesktopActions = React.forwardRef(({\n buttons,\n user,\n onShowUserMenu\n }: DesktopActionsProps, ref: React.Ref<DesktopActionsRef>) => {\n\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLButtonElement>[]>([]);\n\n const length = buttons?.length || 0;\n\n React.useEffect(() => {\n setElRefs(Array(length || 0).fill(null).map(() => React.createRef<HTMLButtonElement>()));\n }, [length]);\n\n React.useImperativeHandle(ref, () => ({\n buttons: elRefs.map((r, index) => ({\n ref: r,\n type: buttons?.[index]?.type,\n }))\n }), [elRefs, buttons]);\n\n const renderItem = (item: MobileMenuButtonTypes, index: number) => {\n switch (item.type) {\n case 'profile': {\n const {placement, type, action, ...rest} = item;\n return <ProfileButton key={index}\n ref={elRefs[index]}\n hideOnLowWidth={true}\n onClick={e => {\n item.action ? item.action(e?.target) : onShowUserMenu()\n }}\n icon={!user && <SystemIcons.User/>}\n initials={(user?.firstName?.charAt(0) ?? '') + (user?.lastName?.charAt(0) ?? '')}\n {...rest}/>\n\n }\n case 'action': {\n const {placement, type, icon, action, ...rest} = item;\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n hideOnLowWidth={true}\n action={e => item.action && item.action(e?.target)}\n {...rest}>\n {item.icon}\n </IconButton>\n }\n case 'switcher': {\n const {placement, type, action, ...rest} = item;\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n hideOnLowWidth={true}\n id=\"globalNavAppsButton\"\n action={e => item.action && item.action(e?.target)}\n {...rest}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n }\n }\n }\n\n return (\n <Wrapper>\n {buttons?.map((item, index) => renderItem(item, index))}\n </Wrapper>\n )\n});\n\n\nexport default DesktopActions;\n"],"file":"DesktopActions.cjs"}
@@ -1,9 +1,18 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
1
3
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
4
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
5
  import _pt from "prop-types";
6
+ var _excluded = ["placement", "type", "action"],
7
+ _excluded2 = ["placement", "type", "icon", "action"],
8
+ _excluded3 = ["placement", "type", "action"];
4
9
 
5
10
  var _templateObject;
6
11
 
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+
7
16
  import React from 'react';
8
17
  import styled from 'styled-components';
9
18
  import { IconButton } from '../../Button';
@@ -12,7 +21,7 @@ import { ProfileButton } from '../../ProfileButton';
12
21
  import { SystemIcons } from '../../icons';
13
22
  import { BREAKPOINTS } from '../../styles';
14
23
  import { jsx as _jsx } from "react/jsx-runtime";
15
- var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n \n display: none;\n ", "{\n display: flex;\n }\n"])), BREAKPOINTS.MEDIUM);
24
+ var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n\n display: none;\n\n ", " {\n display: flex;\n }\n"])), BREAKPOINTS.LARGE);
16
25
  var DesktopActions = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
17
26
  var buttons = _ref.buttons,
18
27
  user = _ref.user,
@@ -43,47 +52,70 @@ var DesktopActions = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
43
52
  }, [elRefs, buttons]);
44
53
 
45
54
  var renderItem = function renderItem(item, index) {
46
- var _user$firstName$charA, _user$firstName, _user$lastName$charAt, _user$lastName;
47
-
48
55
  switch (item.type) {
49
56
  case 'profile':
50
- return /*#__PURE__*/_jsx(ProfileButton, {
51
- ref: elRefs[index],
52
- hideOnLowWidth: true,
53
- onClick: function onClick(e) {
54
- item.action ? item.action(e === null || e === void 0 ? void 0 : e.target) : onShowUserMenu();
55
- },
56
- icon: !user && /*#__PURE__*/_jsx(SystemIcons.User, {}),
57
- initials: ((_user$firstName$charA = user === null || user === void 0 ? void 0 : (_user$firstName = user.firstName) === null || _user$firstName === void 0 ? void 0 : _user$firstName.charAt(0)) !== null && _user$firstName$charA !== void 0 ? _user$firstName$charA : '') + ((_user$lastName$charAt = user === null || user === void 0 ? void 0 : (_user$lastName = user.lastName) === null || _user$lastName === void 0 ? void 0 : _user$lastName.charAt(0)) !== null && _user$lastName$charAt !== void 0 ? _user$lastName$charAt : '')
58
- }, index);
57
+ {
58
+ var _user$firstName$charA, _user$firstName, _user$lastName$charAt, _user$lastName;
59
+
60
+ var placement = item.placement,
61
+ type = item.type,
62
+ action = item.action,
63
+ rest = _objectWithoutProperties(item, _excluded);
64
+
65
+ return /*#__PURE__*/_jsx(ProfileButton, _objectSpread({
66
+ ref: elRefs[index],
67
+ hideOnLowWidth: true,
68
+ onClick: function onClick(e) {
69
+ item.action ? item.action(e === null || e === void 0 ? void 0 : e.target) : onShowUserMenu();
70
+ },
71
+ icon: !user && /*#__PURE__*/_jsx(SystemIcons.User, {}),
72
+ initials: ((_user$firstName$charA = user === null || user === void 0 ? void 0 : (_user$firstName = user.firstName) === null || _user$firstName === void 0 ? void 0 : _user$firstName.charAt(0)) !== null && _user$firstName$charA !== void 0 ? _user$firstName$charA : '') + ((_user$lastName$charAt = user === null || user === void 0 ? void 0 : (_user$lastName = user.lastName) === null || _user$lastName === void 0 ? void 0 : _user$lastName.charAt(0)) !== null && _user$lastName$charAt !== void 0 ? _user$lastName$charAt : '')
73
+ }, rest), index);
74
+ }
59
75
 
60
76
  case 'action':
61
- return /*#__PURE__*/_jsx(IconButton, {
62
- ref: elRefs[index],
63
- variant: 'secondary',
64
- shape: 'circular',
65
- disabled: item.disabled,
66
- hideOnLowWidth: true,
67
- action: function action(e) {
68
- item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
69
- },
70
- children: item.icon
71
- }, index);
77
+ {
78
+ var _placement = item.placement,
79
+ _type = item.type,
80
+ icon = item.icon,
81
+ _action = item.action,
82
+ _rest = _objectWithoutProperties(item, _excluded2);
83
+
84
+ return /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({
85
+ ref: elRefs[index],
86
+ variant: 'secondary',
87
+ shape: 'circular',
88
+ hideOnLowWidth: true,
89
+ action: function action(e) {
90
+ return item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
91
+ }
92
+ }, _rest), {}, {
93
+ children: item.icon
94
+ }), index);
95
+ }
72
96
 
73
97
  case 'switcher':
74
- return /*#__PURE__*/_jsx(IconButton, {
75
- ref: elRefs[index],
76
- variant: 'secondary',
77
- shape: 'circular',
78
- hideOnLowWidth: true,
79
- id: "globalNavAppsButton",
80
- action: function action(e) {
81
- return item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
82
- },
83
- children: /*#__PURE__*/_jsx(SwitchApp, {
84
- size: "24px"
85
- })
86
- }, index);
98
+ {
99
+ var _placement2 = item.placement,
100
+ _type2 = item.type,
101
+ _action2 = item.action,
102
+ _rest2 = _objectWithoutProperties(item, _excluded3);
103
+
104
+ return /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({
105
+ ref: elRefs[index],
106
+ variant: 'secondary',
107
+ shape: 'circular',
108
+ hideOnLowWidth: true,
109
+ id: "globalNavAppsButton",
110
+ action: function action(e) {
111
+ return item.action && item.action(e === null || e === void 0 ? void 0 : e.target);
112
+ }
113
+ }, _rest2), {}, {
114
+ children: /*#__PURE__*/_jsx(SwitchApp, {
115
+ size: "24px"
116
+ })
117
+ }), index);
118
+ }
87
119
  }
88
120
  };
89
121
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GlobalNavigationBar/desktop/DesktopActions.tsx"],"names":["React","styled","IconButton","SwitchApp","ProfileButton","SystemIcons","BREAKPOINTS","Wrapper","div","MEDIUM","DesktopActions","forwardRef","ref","buttons","user","onShowUserMenu","useState","elRefs","setElRefs","length","useEffect","Array","fill","map","createRef","useImperativeHandle","r","index","type","renderItem","item","e","action","target","firstName","charAt","lastName","disabled","icon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {MenuAccountInfo, MobileMenuButtonTypes, MenuIconButton, DesktopMenuButtonTypes} from '../types';\nimport {IconButton} from '../../Button';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {ProfileButton} from '../../ProfileButton';\nimport {SystemIcons} from '../../icons';\nimport {BREAKPOINTS} from '../../styles';\n\nconst Wrapper = styled.div`\n align-items: center;\n \n display: none;\n ${BREAKPOINTS.MEDIUM}{\n display: flex;\n }\n`;\n\n\ninterface DesktopActionsProps {\n buttons?: DesktopMenuButtonTypes[];\n user?: MenuAccountInfo;\n onShowUserMenu: () => void;\n}\n\nexport interface DesktopActionsRef {\n buttons?: { ref: React.MutableRefObject<HTMLButtonElement | null>, type: 'profile' | 'action' | 'switcher' | undefined }[]\n}\n\nconst DesktopActions = React.forwardRef(({\n buttons,\n user,\n onShowUserMenu\n }: DesktopActionsProps, ref: React.Ref<DesktopActionsRef>) => {\n\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLButtonElement>[]>([]);\n\n const length = buttons?.length || 0;\n\n React.useEffect(() => {\n setElRefs(Array(length || 0).fill(null).map(() => React.createRef<HTMLButtonElement>()));\n }, [length]);\n\n React.useImperativeHandle(ref, () => ({\n buttons: elRefs.map((r, index) => ({\n ref: r,\n type: buttons?.[index]?.type,\n }))\n }), [elRefs, buttons]);\n\n const renderItem = (item: MobileMenuButtonTypes, index: number) => {\n switch (item.type) {\n case 'profile':\n return <ProfileButton key={index}\n ref={elRefs[index]}\n hideOnLowWidth={true}\n onClick={e => {\n item.action ? item.action(e?.target) : onShowUserMenu()\n }}\n icon={!user && <SystemIcons.User/>}\n initials={(user?.firstName?.charAt(0) ?? '') + (user?.lastName?.charAt(0) ?? '')}/>\n case 'action':\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n disabled={item.disabled}\n hideOnLowWidth={true}\n action={e => {\n item.action && item.action(e?.target);\n }}>\n {item.icon}\n </IconButton>\n case 'switcher':\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n hideOnLowWidth={true}\n id=\"globalNavAppsButton\"\n action={e => item.action && item.action(e?.target)}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n }\n }\n\n return (\n <Wrapper>\n {buttons?.map((item, index) => renderItem(item, index))}\n </Wrapper>\n )\n});\n\n\nexport default DesktopActions;\n"],"file":"DesktopActions.js"}
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/desktop/DesktopActions.tsx"],"names":["React","styled","IconButton","SwitchApp","ProfileButton","SystemIcons","BREAKPOINTS","Wrapper","div","LARGE","DesktopActions","forwardRef","ref","buttons","user","onShowUserMenu","useState","elRefs","setElRefs","length","useEffect","Array","fill","map","createRef","useImperativeHandle","r","index","type","renderItem","item","placement","action","rest","e","target","firstName","charAt","lastName","icon"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport {MenuAccountInfo, MobileMenuButtonTypes, MenuIconButton, DesktopMenuButtonTypes} from '../types';\nimport {IconButton} from '../../Button';\nimport {SwitchApp} from '../../icons/systemicons/SystemIcons';\nimport {ProfileButton} from '../../ProfileButton';\nimport {SystemIcons} from '../../icons';\nimport {BREAKPOINTS} from '../../styles';\n\nconst Wrapper = styled.div`\n align-items: center;\n\n display: none;\n\n ${BREAKPOINTS.LARGE} {\n display: flex;\n }\n`;\n\n\ninterface DesktopActionsProps {\n buttons?: DesktopMenuButtonTypes[];\n user?: MenuAccountInfo;\n onShowUserMenu: () => void;\n}\n\nexport interface DesktopActionsRef {\n buttons?: { ref: React.MutableRefObject<HTMLButtonElement | null>, type: 'profile' | 'action' | 'switcher' | undefined }[]\n}\n\nconst DesktopActions = React.forwardRef(({\n buttons,\n user,\n onShowUserMenu\n }: DesktopActionsProps, ref: React.Ref<DesktopActionsRef>) => {\n\n const [elRefs, setElRefs] = React.useState<React.RefObject<HTMLButtonElement>[]>([]);\n\n const length = buttons?.length || 0;\n\n React.useEffect(() => {\n setElRefs(Array(length || 0).fill(null).map(() => React.createRef<HTMLButtonElement>()));\n }, [length]);\n\n React.useImperativeHandle(ref, () => ({\n buttons: elRefs.map((r, index) => ({\n ref: r,\n type: buttons?.[index]?.type,\n }))\n }), [elRefs, buttons]);\n\n const renderItem = (item: MobileMenuButtonTypes, index: number) => {\n switch (item.type) {\n case 'profile': {\n const {placement, type, action, ...rest} = item;\n return <ProfileButton key={index}\n ref={elRefs[index]}\n hideOnLowWidth={true}\n onClick={e => {\n item.action ? item.action(e?.target) : onShowUserMenu()\n }}\n icon={!user && <SystemIcons.User/>}\n initials={(user?.firstName?.charAt(0) ?? '') + (user?.lastName?.charAt(0) ?? '')}\n {...rest}/>\n\n }\n case 'action': {\n const {placement, type, icon, action, ...rest} = item;\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n hideOnLowWidth={true}\n action={e => item.action && item.action(e?.target)}\n {...rest}>\n {item.icon}\n </IconButton>\n }\n case 'switcher': {\n const {placement, type, action, ...rest} = item;\n return <IconButton key={index}\n ref={elRefs[index]}\n variant={'secondary'}\n shape={'circular'}\n hideOnLowWidth={true}\n id=\"globalNavAppsButton\"\n action={e => item.action && item.action(e?.target)}\n {...rest}>\n <SwitchApp size=\"24px\"/>\n </IconButton>\n }\n }\n }\n\n return (\n <Wrapper>\n {buttons?.map((item, index) => renderItem(item, index))}\n </Wrapper>\n )\n});\n\n\nexport default DesktopActions;\n"],"file":"DesktopActions.js"}
@@ -9,6 +9,10 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
12
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
17
 
14
18
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -35,13 +39,19 @@ var _common = require("../../common");
35
39
 
36
40
  var _jsxRuntime = require("react/jsx-runtime");
37
41
 
42
+ var _excluded = ["icon", "to", "exact", "disabled", "external", "action", "label", "note", "pinned"];
43
+
38
44
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
39
45
 
40
46
  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); }
41
47
 
42
48
  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; }
43
49
 
44
- var NavContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\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"])), _styles.BREAKPOINTS.MEDIUM);
50
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
51
+
52
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
53
+
54
+ var NavContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: none;\n flex-grow: 1;\n justify-content: flex-start;\n align-items: center;\n\n ", " {\n display: flex;\n }\n\n a {\n text-decoration: none;\n }\n"])), _styles.BREAKPOINTS.LARGE);
45
55
 
46
56
  var NavButton = _styledComponents.default.button(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n border: 0;\n"])), _styles.COLORS.white);
47
57
 
@@ -69,7 +79,7 @@ var MainMenu = function MainMenu(_ref) {
69
79
  numberOfItemsAllowed = _React$useState4[0],
70
80
  setNumberOfItemsAllowed = _React$useState4[1];
71
81
 
72
- var widthOfItem = 150;
82
+ var widthOfItem = 120;
73
83
 
74
84
  var recalculateNumberOfItemsAllowed = function recalculateNumberOfItemsAllowed() {
75
85
  if (rightSideRef !== null && rightSideRef !== void 0 && rightSideRef.current && mainMenuRef !== null && mainMenuRef !== void 0 && mainMenuRef.current) {
@@ -106,31 +116,46 @@ var MainMenu = function MainMenu(_ref) {
106
116
  window.removeEventListener('resize', recalculateNumberOfItemsAllowed);
107
117
  };
108
118
  }, []);
119
+ React.useEffect(function () {
120
+ recalculateNumberOfItemsAllowed();
121
+ }, [items.length]);
122
+
123
+ var renderItem = function renderItem(item, index) {
124
+ if (index > numberOfItemsAllowed - 2) return null;
125
+ var icon = item.icon,
126
+ to = item.to,
127
+ exact = item.exact,
128
+ disabled = item.disabled,
129
+ external = item.external,
130
+ action = item.action,
131
+ label = item.label,
132
+ note = item.note,
133
+ pinned = item.pinned,
134
+ rest = (0, _objectWithoutProperties2.default)(item, _excluded);
135
+ return item !== null && item !== void 0 && item.disabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
136
+ as: NavButton,
137
+ exact: item.exact,
138
+ className: "disabled",
139
+ onMouseDown: _common.defaultOnMouseDownHandler,
140
+ children: item === null || item === void 0 ? void 0 : item.label
141
+ }, item.label) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, _objectSpread(_objectSpread({
142
+ as: _reactRouterDom.NavLink,
143
+ exact: item.exact,
144
+ to: item.to || '',
145
+ onMouseDown: _common.defaultOnMouseDownHandler,
146
+ onClick: function onClick(e) {
147
+ return item.action && item.action(e);
148
+ }
149
+ }, rest), {}, {
150
+ children: item === null || item === void 0 ? void 0 : item.label
151
+ }), item.label);
152
+ };
153
+
109
154
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(NavContainer, {
110
155
  className: "GlobalNavigationMainMenu",
111
156
  ref: mainMenuRef,
112
157
  open: showExtendedMenu,
113
- children: [items === null || items === void 0 ? void 0 : items.map(function (no, index) {
114
- return index > numberOfItemsAllowed - 2 ? null : no !== null && no !== void 0 && no.disabled ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
115
- as: NavButton,
116
- exact: no.exact,
117
- className: "disabled",
118
- onMouseDown: _common.defaultOnMouseDownHandler,
119
- onClick: function onClick() {
120
- return no.action && no.action();
121
- },
122
- children: no === null || no === void 0 ? void 0 : no.label
123
- }, no.label) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavItem.NavItem, {
124
- as: _reactRouterDom.NavLink,
125
- exact: no.exact,
126
- to: no.to || '',
127
- onMouseDown: _common.defaultOnMouseDownHandler,
128
- onClick: function onClick() {
129
- return no.action && no.action();
130
- },
131
- children: no === null || no === void 0 ? void 0 : no.label
132
- }, no.label);
133
- }), items.length + 1 > numberOfItemsAllowed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(ExtendedSection, {
158
+ children: [items === null || items === void 0 ? void 0 : items.map(renderItem), items.length + 1 > numberOfItemsAllowed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(ExtendedSection, {
134
159
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
135
160
  ref: menuButtonRef,
136
161
  variant: 'secondary',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GlobalNavigationBar/desktop/MainMenu.tsx"],"names":["NavContainer","styled","div","BREAKPOINTS","MEDIUM","NavButton","button","COLORS","white","ExtendedMenuWrapper","props","floatRight","ExtendedSection","MainMenu","items","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","action","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 ExtendedMainMenu from './ExtendedMainMenu';\nimport {IconButton} from '../../Button';\nimport {defaultOnMouseDownHandler} from '../../common';\nimport {MenuNavigationItemTypeItem} from '../types';\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 items: MenuNavigationItemTypeItem[];\n rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;\n};\n\nconst MainMenu = ({items, 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 {items?.map((no: MenuNavigationItemTypeItem, index: number) =>\n index > numberOfItemsAllowed - 2 ? null : no?.disabled ? (\n <NavItem as={NavButton}\n exact={no.exact}\n className=\"disabled\"\n key={no.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => no.action && no.action()}>\n {no?.label}\n </NavItem>\n ) : (\n <NavItem as={NavLink}\n exact={no.exact}\n to={no.to || ''}\n key={no.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => no.action && no.action()}>\n {no?.label}\n </NavItem>\n ),\n )}\n {items.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}\n navigationOptions={items.slice(numberOfItemsAllowed - 1)}/>\n </ExtendedMenuWrapper>\n </ExtendedSection>\n )}\n </NavContainer>\n );\n};\n\nexport default MainMenu;\n"],"file":"MainMenu.cjs"}
1
+ {"version":3,"sources":["../../../src/GlobalNavigationBar/desktop/MainMenu.tsx"],"names":["NavContainer","styled","div","BREAKPOINTS","LARGE","NavButton","button","COLORS","white","ExtendedMenuWrapper","props","floatRight","ExtendedSection","MainMenu","items","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","length","renderItem","item","index","icon","to","exact","disabled","external","action","label","note","pinned","rest","defaultOnMouseDownHandler","NavLink","map","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 ExtendedMainMenu from './ExtendedMainMenu';\nimport {IconButton} from '../../Button';\nimport {defaultOnMouseDownHandler} from '../../common';\nimport {MenuNavigationItemTypeItem} from '../types';\n\nconst NavContainer = styled.div<{ open: boolean }>`\n display: none;\n flex-grow: 1;\n justify-content: flex-start;\n align-items: center;\n\n ${BREAKPOINTS.LARGE} {\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 items: MenuNavigationItemTypeItem[];\n rightSideRef?: React.RefObject<HTMLDivElement> | null | undefined;\n};\n\nconst MainMenu = ({items, 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 = 120;\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 React.useEffect(() => {\n recalculateNumberOfItemsAllowed();\n }, [items.length])\n\n const renderItem = (item: MenuNavigationItemTypeItem, index: number) => {\n\n if (index > numberOfItemsAllowed - 2) return null\n\n const {icon, to, exact, disabled, external, action, label, note, pinned, ...rest} = item;\n\n return item?.disabled\n ? <NavItem as={NavButton}\n exact={item.exact}\n className=\"disabled\"\n key={item.label}\n onMouseDown={defaultOnMouseDownHandler}>\n {item?.label}\n </NavItem>\n : <NavItem as={NavLink}\n exact={item.exact}\n to={item.to || ''}\n key={item.label}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e: React.MouseEvent) => item.action && item.action(e)}\n {...rest}>\n {item?.label}\n </NavItem>\n }\n\n return (\n <NavContainer className=\"GlobalNavigationMainMenu\" ref={mainMenuRef} open={showExtendedMenu}>\n {items?.map(renderItem)}\n {items.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}\n navigationOptions={items.slice(numberOfItemsAllowed - 1)}/>\n </ExtendedMenuWrapper>\n </ExtendedSection>\n )}\n </NavContainer>\n );\n};\n\nexport default MainMenu;\n"],"file":"MainMenu.cjs"}