@boomerang-io/carbon-addons-boomerang-react 4.6.10-beta.3 → 4.6.10-beta.4

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.
@@ -21,8 +21,7 @@ IBM Confidential
21
21
  © Copyright IBM Corp. 2022, 2024
22
22
  */
23
23
  function AdvantageSideNav(props) {
24
- const { app, appLink, regionalTeam, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, assistantLink, defaultAssistantLink, joinCreateTrigger, isLoading, isOpen, teams = [], triggerEvent, accounts = [], baseEnvUrl, className, navLinks, personalTeams = [], user, showChatTooltip, templateMeteringEvent, tooltipMessage, isLaunchpad = false, userTeamsError = false, userTeamsLoading = false, history, children, ...rest } = props;
25
- const [activeSubmenu, setActiveSubmenu] = React__default.default.useState("");
24
+ const { app, appLink, regionalTeam, enableChatButton = true, showChatButton = true, showSelectTeamPurpose = false, homeLink, agentAssistantStudioLink, agentAssistantLibraryLink, assistantLink, defaultAssistantLink, documentCollectionsLink, settingsLink, toolsLink, joinCreateTrigger, isLoading, isOpen, teams = [], triggerEvent, accounts = [], baseEnvUrl, className, navLinks, navigation, personalTeams = [], user, showChatTooltip, templateMeteringEvent, tooltipMessage, isLaunchpad = false, history, children, ...rest } = props;
26
25
  const [activeMenu, setActiveMenu] = React__default.default.useState(false);
27
26
  const [teamList, setTeamList] = React__default.default.useState(null);
28
27
  const [regionalModalIsOpen, setRegionalModalIsOpen] = React__default.default.useState(false);
@@ -31,15 +30,37 @@ function AdvantageSideNav(props) {
31
30
  const windowLocation = window.location;
32
31
  const isPartnerUser = user?.type === UserType.USER_PLATFORM_ROLE.Partner;
33
32
  const joinButtontitle = showSelectTeamPurpose ? "Create Team" : "Create or Join Team";
34
- const standardTeamsList = [...personalTeams.map((pteams) => ({ ...pteams, isPersonal: true })), ...teams];
35
- const teamsMenuRef = React__default.default.useRef(null);
36
- const accountsMenuRef = React__default.default.useRef(null);
37
33
  const hamburguerMenu = document.getElementById("header-sidenav-menu-button");
38
- const noTeamsMessage = userTeamsError
39
- ? "Failed to get teams, please try again later."
40
- : "No teams or accounts available.";
41
- const teamsRef = React__default.default.useRef([]);
42
- const accountsRef = React__default.default.useRef([]);
34
+ // get current selected team
35
+ let teamSwitcherTeam = null;
36
+ if (personalTeams.length > 0) {
37
+ personalTeams.forEach((team) => {
38
+ if (team.id === user?.teamInstanceSwitcherDefault) {
39
+ teamSwitcherTeam = { ...team, isPersonal: true };
40
+ }
41
+ });
42
+ }
43
+ if (teams.length > 0) {
44
+ teams.forEach((team) => {
45
+ if (team.id === user?.teamInstanceSwitcherDefault) {
46
+ teamSwitcherTeam = { ...team, isStandard: true };
47
+ }
48
+ });
49
+ }
50
+ if (accounts.length > 0) {
51
+ accounts.forEach((account) => {
52
+ if (account.id === user?.teamInstanceSwitcherDefault) {
53
+ teamSwitcherTeam = { ...account, isAccount: true };
54
+ }
55
+ else if (account.projectTeams && account.projectTeams?.length > 0) {
56
+ account.projectTeams.forEach((projectTeam) => {
57
+ if (projectTeam.id === user?.teamInstanceSwitcherDefault) {
58
+ teamSwitcherTeam = { ...projectTeam, isProject: true };
59
+ }
60
+ });
61
+ }
62
+ });
63
+ }
43
64
  // Functions to track IBM Instrumentation on Segment
44
65
  const handleHomeClick = () => {
45
66
  triggerEvent &&
@@ -53,6 +74,46 @@ function AdvantageSideNav(props) {
53
74
  const assistantLink = `${appLink?.newChatRedirect()}?teamName=${team.name}&teamId=${team.id}`;
54
75
  window.open(assistantLink, "_self", "noopener,noreferrer");
55
76
  };
77
+ const handleToolsClick = () => {
78
+ triggerEvent &&
79
+ triggerEvent({
80
+ action: "Clicked on SideNav Tools link",
81
+ category: "Sidenav",
82
+ destinationPath: toolsLink,
83
+ });
84
+ };
85
+ const handleAgentAssistantStudioClick = () => {
86
+ triggerEvent &&
87
+ triggerEvent({
88
+ action: "Clicked on SideNav Agent & Assistant Studio link",
89
+ category: "Sidenav",
90
+ destinationPath: agentAssistantStudioLink,
91
+ });
92
+ };
93
+ const handleAgentAssistantLibraryClick = () => {
94
+ triggerEvent &&
95
+ triggerEvent({
96
+ action: "Clicked on SideNav Agent & Assistant Library link",
97
+ category: "Sidenav",
98
+ destinationPath: agentAssistantLibraryLink,
99
+ });
100
+ };
101
+ const handleDocumentCollectionsClick = () => {
102
+ triggerEvent &&
103
+ triggerEvent({
104
+ action: "Clicked on SideNav Document Collections link",
105
+ category: "Sidenav",
106
+ destinationPath: documentCollectionsLink,
107
+ });
108
+ };
109
+ const handleSettingsClick = () => {
110
+ triggerEvent &&
111
+ triggerEvent({
112
+ action: "Clicked on SideNav Settings link",
113
+ category: "Sidenav",
114
+ destinationPath: settingsLink,
115
+ });
116
+ };
56
117
  const handleAssistantClick = () => {
57
118
  if (regionalTeam?.length > 1) {
58
119
  setRegionalModalIsOpen(true);
@@ -87,60 +148,26 @@ function AdvantageSideNav(props) {
87
148
  teamType: type,
88
149
  });
89
150
  };
90
- const handleServiceClick = ({ service, team }) => {
91
- if (templateMeteringEvent) {
92
- templateMeteringEvent({ service, team });
93
- }
94
- triggerEvent &&
95
- triggerEvent({
96
- action: "Clicked on SideNav Service link",
97
- category: "Sidenav",
98
- destinationPath: service.url,
99
- });
100
- };
101
151
  const handleLaunchpadLink = (event) => {
102
152
  event.preventDefault();
103
- // remediation to close menu, submenu and accordion when select a team on Launchpad
104
- //@ts-ignore
105
- if (Boolean(teamsMenuRef.current?.ariaExpanded === "true")) {
106
- //@ts-ignore
107
- teamsMenuRef.current.click();
108
- }
109
- //@ts-ignore
110
- if (Boolean(accountsMenuRef.current?.ariaExpanded === "true")) {
111
- //@ts-ignore
112
- accountsMenuRef.current.click();
113
- }
114
153
  //@ts-ignore
115
154
  if (Boolean(hamburguerMenu) && hamburguerMenu.className.includes("active")) {
116
155
  //@ts-ignore
117
156
  Boolean(hamburguerMenu) && hamburguerMenu?.click();
118
157
  }
119
158
  setActiveMenu(false);
120
- setActiveSubmenu("");
121
159
  };
122
- // add or remove refs
123
- if (teamsRef.current.length !== standardTeamsList?.length) {
124
- //@ts-ignore
125
- teamsRef.current = Array(standardTeamsList?.length).fill().map((_, i) => teamsRef.current[i] || React__default.default.createRef());
126
- }
127
- if (accountsRef.current.length !== accounts?.length) {
128
- //@ts-ignore
129
- accountsRef.current = Array(accounts?.length).fill().map((_, i) => accountsRef.current[i] || React__default.default.createRef());
130
- }
131
160
  const assistantSideNavLink = (
132
- // assistantLink &&
133
- React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton), isActive: assistantLink ? windowLocation.href.includes(assistantLink) : '', renderIcon: icons.ChatBot, href: enableChatButton && assistantLink, onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
161
+ // assistantLink &&
162
+ React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton), isActive: assistantLink ? windowLocation.href.includes(assistantLink) : "", renderIcon: icons.ChatBot, href: enableChatButton && assistantLink, onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, "Chat"));
163
+ const catalogNavlink = navigation?.navigation?.find((navlink) => navlink.name === "Catalog");
164
+ const adminNavlink = navigation?.navigation?.find((navlink) => navlink.name === "Admin");
134
165
  return (React__default.default.createElement(react.SideNav, { "aria-label": "sidenav-container", className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-container`, className, {
135
166
  "--closed": !isMenuOpen,
136
- }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onToggle: () => setActiveSubmenu(""), onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
167
+ }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
137
168
  setActiveMenu(false);
138
- setActiveSubmenu("");
139
169
  }, ...rest }, React__default.default.createElement(react.SideNavItems, null,
140
- isMenuOpen && navLinks?.length ? (React__default.default.createElement("div", null,
141
- navLinks.map((link) => (React__default.default.createElement(react.SideNavLink, { href: link.url, target: link.isExternal ? "_blank" : undefined, rel: link.isExternal ? "noopener noreferrer" : undefined }, link.name))),
142
- React__default.default.createElement(react.SideNavDivider, null))) : null,
143
- React__default.default.createElement("div", { onMouseEnter: () => setActiveSubmenu("") },
170
+ React__default.default.createElement("div", null,
144
171
  homeLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-home-link", isActive: `${baseEnvUrl}/${app}/`.includes(windowLocation.href), renderIcon: icons.Home, href: homeLink, onClick: (e) => {
145
172
  if (isLaunchpad) {
146
173
  handleLaunchpadLink(e);
@@ -148,12 +175,55 @@ function AdvantageSideNav(props) {
148
175
  }
149
176
  handleHomeClick();
150
177
  } }, "Home")) : null,
178
+ teamSwitcherTeam ? (React__default.default.createElement(react.SideNavLink, { title: teamSwitcherTeam.isAccount ? "Account Page" : "Team Page", name: teamSwitcherTeam.name, "data-testid": "sidenav-team-link", id: teamSwitcherTeam.id, isActive: windowLocation.href.includes(teamSwitcherTeam.id), className: `${settings.prefix}--bmrg-advantage-sidenav-team`, renderIcon: icons.UserMultiple, href: `${baseEnvUrl}/${app}/teams/${teamSwitcherTeam.id}`, onClick: (e) => {
179
+ if (isLaunchpad) {
180
+ handleLaunchpadLink(e);
181
+ history.push(`/teams/${teamSwitcherTeam.id}`);
182
+ }
183
+ handleTeamClick({
184
+ team: teamSwitcherTeam,
185
+ type: teamSwitcherTeam.isPersonal
186
+ ? "personal"
187
+ : teamSwitcherTeam.isAccount
188
+ ? "account"
189
+ : teamSwitcherTeam.isproject
190
+ ? "project"
191
+ : "standard",
192
+ });
193
+ } },
194
+ React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-advantage-sidenav-teams__title` }, teamSwitcherTeam.isAccount ? "Account Page" : "Team Page"))) : !isPartnerUser && joinCreateTrigger ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-join-trigger", renderIcon: icons.AddAlt, onClick: (e) => {
195
+ joinCreateTrigger(e);
196
+ handleCreateJoinClick();
197
+ } }, joinButtontitle)) : null,
198
+ React__default.default.createElement(react.SideNavDivider, null),
151
199
  !isPartnerUser &&
152
200
  // assistantLink &&
153
201
  showChatButton &&
154
202
  (showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, content: tooltipMessage, direction: "right" },
155
203
  React__default.default.createElement("span", null, assistantSideNavLink))) : (assistantSideNavLink)),
156
- regionalModalIsOpen && React__default.default.createElement(react.ComposedModal, { className: `${settings.prefix}--teamSelectionModalContainer`, open: regionalModalIsOpen, onClose: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" },
204
+ toolsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-tools-link", renderIcon: icons.Api, href: toolsLink, onClick: (e) => {
205
+ handleToolsClick();
206
+ } }, "Tools")) : null,
207
+ agentAssistantStudioLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-agent-assistant-studio-link", isActive: `${baseEnvUrl}/${app}/agent-assistant-studio`.includes(windowLocation.href), renderIcon: icons.IntentRequestCreate, href: agentAssistantStudioLink, onClick: (e) => {
208
+ if (isLaunchpad) {
209
+ handleLaunchpadLink(e);
210
+ history.push(agentAssistantStudioLink);
211
+ }
212
+ handleAgentAssistantStudioClick();
213
+ } }, "Agent & Assistant Studio")) : null,
214
+ agentAssistantLibraryLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-agent-assistant-library-link", renderIcon: icons.Folders, href: agentAssistantLibraryLink, onClick: (e) => {
215
+ handleAgentAssistantLibraryClick();
216
+ } }, "Agent & Assistant Library")) : null,
217
+ documentCollectionsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-document-collections-link", renderIcon: icons.DocumentMultiple_02, href: documentCollectionsLink, onClick: (e) => {
218
+ handleDocumentCollectionsClick();
219
+ } }, "Document Collections")) : null,
220
+ React__default.default.createElement(react.SideNavDivider, null),
221
+ catalogNavlink ? (React__default.default.createElement(react.SideNavLink, { href: catalogNavlink.url, renderIcon: icons.Catalog }, catalogNavlink.name)) : null,
222
+ settingsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: icons.Settings, href: settingsLink, onClick: (e) => {
223
+ handleSettingsClick();
224
+ } }, "Settings")) : null,
225
+ adminNavlink ? (React__default.default.createElement(react.SideNavLink, { href: adminNavlink.url, renderIcon: icons.LicenseThirdParty }, adminNavlink.name)) : null,
226
+ regionalModalIsOpen && (React__default.default.createElement(react.ComposedModal, { className: `${settings.prefix}--teamSelectionModalContainer`, open: regionalModalIsOpen, onClose: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" },
157
227
  React__default.default.createElement(react.ModalHeader, { title: "Select Team to Start a New Chat", closeModal: () => setRegionalModalIsOpen(false) }),
158
228
  React__default.default.createElement(react.ModalBody, { className: `${settings.prefix}--teamSelectModalBody` },
159
229
  React__default.default.createElement(react.Dropdown, { items: teamList, disabled: !teamList?.length, id: "select-team-chat-modal-dropdown", selectedItem: selectedTeam, size: "md", "data-testid": "select-team-chat-modal-dropdown", itemToString: (item) => item?.name, label: "Choose a team", onChange: ({ selectedItem }) => setSelectedTeam(selectedItem) })),
@@ -165,97 +235,10 @@ function AdvantageSideNav(props) {
165
235
  setRegionalModalIsOpen(false);
166
236
  // closeModal();
167
237
  }
168
- } }, "Continue"))),
169
- !isPartnerUser && joinCreateTrigger ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-join-trigger", renderIcon: icons.AddAlt, onClick: (e) => {
170
- joinCreateTrigger(e);
171
- handleCreateJoinClick();
172
- } }, joinButtontitle)) : null),
238
+ } }, "Continue"))))),
173
239
  children ? (React__default.default.createElement(React__default.default.Fragment, null,
174
240
  React__default.default.createElement(react.SideNavDivider, null),
175
- children)) : null,
176
- userTeamsLoading && isMenuOpen ? (React__default.default.createElement(React__default.default.Fragment, null,
177
- React__default.default.createElement(react.SideNavDivider, null),
178
- React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-advantage-sidenav-loading-container` },
179
- React__default.default.createElement(react.SkeletonPlaceholder, { className: `${settings.prefix}--bmrg-advantage-sidenav-loading` }),
180
- React__default.default.createElement(react.SkeletonPlaceholder, { className: `${settings.prefix}--bmrg-advantage-sidenav-loading` }),
181
- React__default.default.createElement(react.SkeletonPlaceholder, { className: `${settings.prefix}--bmrg-advantage-sidenav-loading` })))) : null,
182
- ((!Boolean(standardTeamsList?.length) && !Boolean(accounts?.length) && !userTeamsLoading) ||
183
- userTeamsError) &&
184
- isMenuOpen ? (React__default.default.createElement(React__default.default.Fragment, null,
185
- React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-advantage-sidenav-no-teams__text` }, noTeamsMessage))) : null,
186
- Boolean(standardTeamsList?.length) ? (React__default.default.createElement(React__default.default.Fragment, null,
187
- React__default.default.createElement(react.SideNavDivider, null),
188
- React__default.default.createElement(react.SideNavMenu, { className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-menu`, {
189
- "--active-closed": !isMenuOpen && standardTeamsList.some((t) => windowLocation.href.includes(t.id)),
190
- }), renderIcon: icons.UserMultiple, title: "Teams", "data-testid": "sidenav-teams", id: "sidenav-teams", ref: teamsMenuRef, isActive: standardTeamsList.some((t) => windowLocation.href.includes(t.id)), isSideNavExpanded: isMenuOpen }, isMenuOpen
191
- ? standardTeamsList?.map((team, i) => {
192
- const topPosition = document?.getElementById(team.id)?.getBoundingClientRect()?.top ?? 0;
193
- const teamDisplayName = Boolean(team.displayName) ? team.displayName : team.name;
194
- return (React__default.default.createElement(React__default.default.Fragment, null,
195
- React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-advantage-sidenav-team-item` },
196
- React__default.default.createElement(react.SideNavLink, { title: teamDisplayName, name: team.name, "data-testid": "sidenav-team-link", id: team.id, isActive: windowLocation.href.includes(team.id), ref: teamsRef.current[i], className: `${settings.prefix}--bmrg-advantage-sidenav-team`, renderIcon: team?.isPersonal ? icons.User : team.privateTeam ? icons.Locked : icons.Unlocked, href: `${baseEnvUrl}/${app}/teams/${team.id}`, onMouseEnter: () => setActiveSubmenu(team.id), onFocus: () => setActiveSubmenu(team.id), onClick: (e) => {
197
- if (isLaunchpad) {
198
- handleLaunchpadLink(e);
199
- history.push(`/teams/${team.id}`);
200
- }
201
- handleTeamClick({ team, type: team.isPersonal ? "personal" : "standard" });
202
- } },
203
- React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-advantage-sidenav-teams__title` }, teamDisplayName),
204
- Boolean(team?.services?.length) ? React__default.default.createElement(icons.ChevronRight, null) : null),
205
- Boolean(team?.services?.length) && team.id === activeSubmenu ? (React__default.default.createElement("ul", { className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-submenu`, {
206
- "--open": team.id === activeSubmenu,
207
- }), style: { top: `${window.scrollY + topPosition}px` } },
208
- React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-advantage-sidenav-submenu-wrapper` },
209
- React__default.default.createElement("ul", { className: `${settings.prefix}--bmrg-advantage-sidenav-services-submenu` },
210
- React__default.default.createElement(react.SideNavLink, { title: "Team Page", className: `${settings.prefix}--bmrg-advantage-sidenav-submenu-link`, "data-testid": "sidenav-team-submenu-link", href: `${baseEnvUrl}/${app}/teams/${team.id}`, onClick: (e) => {
211
- if (isLaunchpad) {
212
- handleLaunchpadLink(e);
213
- history.push(`/teams/${team.id}`);
214
- }
215
- handleTeamClick({ team, type: team.isPersonal ? "personal" : "standard" });
216
- } }, "Team Page"),
217
- team.services?.map((service) => (React__default.default.createElement(react.SideNavLink, { title: service.name, className: `${settings.prefix}--bmrg-advantage-sidenav-submenu-link`, "data-testid": "sidenav-service-submenu-link", href: service.url, onClick: () => handleServiceClick({ service, team }) }, service.name))) ?? null)))) : null)));
218
- })
219
- : null))) : null,
220
- Boolean(accounts?.length) ? (React__default.default.createElement(React__default.default.Fragment, null,
221
- React__default.default.createElement(react.SideNavDivider, null),
222
- React__default.default.createElement(react.SideNavMenu, { className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-menu`, {
223
- "--active-closed": !isMenuOpen &&
224
- accounts.some((t) => {
225
- const pIds = t?.projectTeams?.map((project) => project.id) ?? [];
226
- return windowLocation.href.includes(t.id) || pIds.some((id) => windowLocation.href.includes(id));
227
- }),
228
- }), renderIcon: icons.GroupAccount, title: "Accounts", "data-testid": "sidenav-accounts", id: "sidenav-accounts", ref: accountsMenuRef, "aria-expanded": isMenuOpen, isSideNavExpanded: isMenuOpen }, isMenuOpen
229
- ? accounts?.map((team, i) => {
230
- const topPosition = document?.getElementById(team.id)?.getBoundingClientRect()?.top ?? 0;
231
- const teamDisplayName = Boolean(team.displayName) ? team.displayName : team.name;
232
- const projectIds = team?.projectTeams?.map((project) => project.id) ?? [];
233
- const isAccountActive = windowLocation.href.includes(team.id) ||
234
- projectIds.some((id) => windowLocation.href.includes(id));
235
- return (React__default.default.createElement(React__default.default.Fragment, null,
236
- React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-advantage-sidenav-team-item` },
237
- React__default.default.createElement(react.SideNavLink, { title: teamDisplayName, id: team.id, isActive: isAccountActive, ref: accountsRef.current[i], className: `${settings.prefix}--bmrg-advantage-sidenav-account`, href: `${baseEnvUrl}/${app}/teams/${team.id}`, onMouseEnter: () => setActiveSubmenu(team.id), onFocus: () => setActiveSubmenu(team.id), onClick: (e) => {
238
- if (isLaunchpad) {
239
- handleLaunchpadLink(e);
240
- history.push(`/teams/${team.id}`);
241
- }
242
- handleTeamClick({ team, type: "account" });
243
- } },
244
- React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-advantage-sidenav-teams__title` }, teamDisplayName),
245
- Boolean(team?.projectTeams?.length) ? React__default.default.createElement(icons.ChevronRight, null) : null),
246
- Boolean(team?.projectTeams?.length) && team.id === activeSubmenu ? (React__default.default.createElement("ul", { className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-submenu`, {
247
- "--open": team.id === activeSubmenu,
248
- }), style: { top: `${window.scrollY + topPosition}px` } },
249
- React__default.default.createElement("li", { className: `${settings.prefix}--bmrg-advantage-sidenav-submenu-wrapper` },
250
- React__default.default.createElement("ul", { className: `${settings.prefix}--bmrg-advantage-sidenav-services-submenu` }, team.projectTeams?.map((accTeam) => (React__default.default.createElement(react.SideNavLink, { title: accTeam.name, className: `${settings.prefix}--bmrg-advantage-sidenav-submenu-link`, "data-testid": "sidenav-account-submenu-link", href: `${baseEnvUrl}/${app}/teams/${accTeam.id}`, onClick: (e) => {
251
- if (isLaunchpad) {
252
- handleLaunchpadLink(e);
253
- history.push(`/teams/${accTeam.id}`);
254
- }
255
- handleTeamClick({ team: accTeam, type: "project" });
256
- } }, accTeam.name))) ?? null)))) : null)));
257
- })
258
- : null))) : null)));
241
+ children)) : null)));
259
242
  }
260
243
 
261
244
  exports.AdvantageSideNav = AdvantageSideNav;
@@ -62,13 +62,13 @@ const MenuAriaLabelRecord = {
62
62
  const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn cds--btn--primary cds--btn--icon-only cds--btn cds--btn--primary";
63
63
  const instanceCheckMarkContainerClass = "instance-checkmark-style-container";
64
64
  function Header(props) {
65
- const { analyticsHelpers, productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, createJoinTeamTrigger, history, isLaunchpad = false, navLinks, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, trackEvent, triggerEvent, user, userTeams, } = props;
65
+ const { analyticsHelpers, productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, createJoinTeamTrigger, history, isLaunchpad = false, isLoadingTeamSwitcher, isSuccessTeamSwitcher, setIsSuccessTeamSwitcher, navLinks, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, trackEvent, triggerEvent, user, userTeams, } = props;
66
66
  const hasUserTeams = Boolean(userTeams);
67
67
  const userTeamsUrl = servicesConfig.serviceUrl.getUserTeamsServices({ baseServicesUrl });
68
68
  const teamsQuery = reactQuery.useQuery({
69
69
  queryKey: userTeamsUrl,
70
70
  queryFn: servicesConfig.resolver.query(userTeamsUrl, null),
71
- enabled: !hasUserTeams,
71
+ enabled: !hasUserTeams && Boolean(baseServicesUrl),
72
72
  });
73
73
  return (React__default.default.createElement(React__default.default.Fragment, null,
74
74
  React__default.default.createElement(react.Theme, { theme: carbonTheme },
@@ -80,7 +80,7 @@ function Header(props) {
80
80
  ? navLinks.map((link) => (React__default.default.createElement(react.HeaderMenuItem, { "aria-label": `Link for ${link.name}`, "data-testid": "header-menu-link", href: link.url, isCurrentPage: window?.location?.href && link.url ? window.location.href.startsWith(link.url) : false, key: link.name, target: link.isExternal ? "_blank" : undefined, rel: link.isExternal ? "noopener noreferrer" : undefined }, link.name)))
81
81
  : null),
82
82
  React__default.default.createElement(react.HeaderGlobalBar, null,
83
- React__default.default.createElement(HeaderTeamSwitcher.default, { analyticsHelpers: analyticsHelpers, baseServicesUrl: baseServicesUrl, createJoinTeamTrigger: createJoinTeamTrigger, history: history, isLaunchpad: isLaunchpad, menuAriaLabelRecord: MenuAriaLabelRecord.TeamSwitcher, menuButtonId: MenuButtonId.TeamSwitcher, menuListId: MenuListId.TeamSwitcher, navigationPlatform: platform, teamsQuery: teamsQuery, trackEvent: trackEvent, user: user, userTeams: userTeams }),
83
+ React__default.default.createElement(HeaderTeamSwitcher.default, { analyticsHelpers: analyticsHelpers, baseServicesUrl: baseServicesUrl, createJoinTeamTrigger: createJoinTeamTrigger, history: history, isLaunchpad: isLaunchpad, isLoadingTeamSwitcher: isLoadingTeamSwitcher, isSuccessTeamSwitcher: isSuccessTeamSwitcher, setIsSuccessTeamSwitcher: setIsSuccessTeamSwitcher, menuAriaLabelRecord: MenuAriaLabelRecord.TeamSwitcher, menuButtonId: MenuButtonId.TeamSwitcher, menuListId: MenuListId.TeamSwitcher, navigationPlatform: platform, teamsQuery: teamsQuery, trackEvent: trackEvent, user: user, userTeams: userTeams }),
84
84
  props?.instanceSwitcherEnabled && (React__default.default.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
85
85
  React__default.default.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
86
86
  React__default.default.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),