@boomerang-io/carbon-addons-boomerang-react 4.6.8-beta.9 → 4.6.9-beta.1
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.
- package/dist/cjs/components/AdvantageSideNav/AdvantageSideNav.js +3 -37
- package/dist/cjs/components/Header/Header.js +24 -0
- package/dist/esm/components/AdvantageSideNav/AdvantageSideNav.js +4 -38
- package/dist/esm/components/Header/Header.js +24 -0
- package/dist/types/index.d.ts +0 -2
- package/package.json +1 -1
- package/scss/components/AdvantageSideNav/_advantageSideNav.scss +0 -7
|
@@ -21,16 +21,9 @@ IBM Confidential
|
|
|
21
21
|
© Copyright IBM Corp. 2022, 2024
|
|
22
22
|
*/
|
|
23
23
|
function AdvantageSideNav(props) {
|
|
24
|
-
const { app,
|
|
25
|
-
// multipleRegionalTeams,
|
|
26
|
-
// teamList,
|
|
27
|
-
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;
|
|
24
|
+
const { app, 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;
|
|
28
25
|
const [activeSubmenu, setActiveSubmenu] = React__default.default.useState("");
|
|
29
26
|
const [activeMenu, setActiveMenu] = React__default.default.useState(false);
|
|
30
|
-
// const [multipleRegionalTeams, setMultipleRegionalTeams] = React.useState(false);
|
|
31
|
-
const [teamList, setTeamList] = React__default.default.useState(null);
|
|
32
|
-
const [regionalModalIsOpen, setRegionalModalIsOpen] = React__default.default.useState(false);
|
|
33
|
-
React__default.default.useState(null);
|
|
34
27
|
const isMenuOpen = isOpen || activeMenu;
|
|
35
28
|
const windowLocation = window.location;
|
|
36
29
|
const isPartnerUser = user?.type === UserType.USER_PLATFORM_ROLE.Partner;
|
|
@@ -54,21 +47,6 @@ function AdvantageSideNav(props) {
|
|
|
54
47
|
});
|
|
55
48
|
};
|
|
56
49
|
const handleAssistantClick = () => {
|
|
57
|
-
alert("df");
|
|
58
|
-
setRegionalModalIsOpen(true);
|
|
59
|
-
console.log("regionalTeam", regionalTeam);
|
|
60
|
-
if (regionalTeam?.length > 1) {
|
|
61
|
-
// setMultipleRegionalTeams(true);
|
|
62
|
-
setRegionalModalIsOpen(true);
|
|
63
|
-
setTeamList(regionalTeam?.map((team) => ({
|
|
64
|
-
id: team.id,
|
|
65
|
-
name: team.name,
|
|
66
|
-
})));
|
|
67
|
-
}
|
|
68
|
-
// if(multipleRegionalTeams)
|
|
69
|
-
// {
|
|
70
|
-
// setRegionalModalIsOpen(true);
|
|
71
|
-
// }
|
|
72
50
|
triggerEvent &&
|
|
73
51
|
triggerEvent({
|
|
74
52
|
action: "Clicked on SideNav Assistant link",
|
|
@@ -136,11 +114,7 @@ function AdvantageSideNav(props) {
|
|
|
136
114
|
//@ts-ignore
|
|
137
115
|
accountsRef.current = Array(accounts?.length).fill().map((_, i) => accountsRef.current[i] || React__default.default.createRef());
|
|
138
116
|
}
|
|
139
|
-
const assistantSideNavLink = (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton),
|
|
140
|
-
// isActive={windowLocation.href.includes(assistantLink)}
|
|
141
|
-
renderIcon: icons.ChatBot,
|
|
142
|
-
// href={enableChatButton && assistantLink}
|
|
143
|
-
onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
|
|
117
|
+
const assistantSideNavLink = assistantLink && (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton), isActive: windowLocation.href.includes(assistantLink), renderIcon: icons.ChatBot, href: enableChatButton && assistantLink, onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
|
|
144
118
|
return (React__default.default.createElement(react.SideNav, { "aria-label": "sidenav-container", className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-container`, className, {
|
|
145
119
|
"--closed": !isMenuOpen,
|
|
146
120
|
}), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onToggle: () => setActiveSubmenu(""), onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
|
|
@@ -159,18 +133,10 @@ function AdvantageSideNav(props) {
|
|
|
159
133
|
handleHomeClick();
|
|
160
134
|
} }, "Home")) : null,
|
|
161
135
|
!isPartnerUser &&
|
|
136
|
+
assistantLink &&
|
|
162
137
|
showChatButton &&
|
|
163
138
|
(showChatTooltip ? (React__default.default.createElement(TooltipHover.default, { className: `${settings.prefix}--bmrg-side-nav__tooltip`, content: tooltipMessage, direction: "right" },
|
|
164
139
|
React__default.default.createElement("span", null, assistantSideNavLink))) : (assistantSideNavLink)),
|
|
165
|
-
regionalModalIsOpen && React__default.default.createElement(react.ComposedModal
|
|
166
|
-
// composedModalProps={{ containerClassName: teamSelectionModalContainer }}
|
|
167
|
-
, {
|
|
168
|
-
// composedModalProps={{ containerClassName: teamSelectionModalContainer }}
|
|
169
|
-
modalHeaderProps: {
|
|
170
|
-
title: "Select Team to Start a New Chat",
|
|
171
|
-
}, open: regionalModalIsOpen, onClose: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" }, ({ closeModal }) => {
|
|
172
|
-
return (React__default.default.createElement(React__default.default.Fragment, null, "ddd"));
|
|
173
|
-
}),
|
|
174
140
|
!isPartnerUser && joinCreateTrigger ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-create-join-trigger", renderIcon: icons.AddAlt, onClick: (e) => {
|
|
175
141
|
joinCreateTrigger(e);
|
|
176
142
|
handleCreateJoinClick();
|
|
@@ -31,6 +31,7 @@ const MenuListId = {
|
|
|
31
31
|
SideNav: "header-sidenav-menu",
|
|
32
32
|
Support: "header-support-menu",
|
|
33
33
|
instanceSwitcher: "header-instanceSwitcher-menu",
|
|
34
|
+
defaultTeamsFlowMenu: "header-defaultTeamsFlowMenu-menu",
|
|
34
35
|
Switcher: "header-switcher-menu",
|
|
35
36
|
};
|
|
36
37
|
const MenuButtonId = {
|
|
@@ -41,6 +42,7 @@ const MenuButtonId = {
|
|
|
41
42
|
SideNav: "header-sidenav-menu-button",
|
|
42
43
|
Support: "header-support-menu-button",
|
|
43
44
|
InstanceSwitcher: "header-instanceSwitcher-menu-button",
|
|
45
|
+
defaultTeamsFlowMenu: "header-defaultTeamsFlowMenu-menu-button",
|
|
44
46
|
Switcher: "header-switcher-menu-button",
|
|
45
47
|
};
|
|
46
48
|
const MenuAriaLabelRecord = {
|
|
@@ -50,6 +52,7 @@ const MenuAriaLabelRecord = {
|
|
|
50
52
|
RightPanel: "RightPanel dialog",
|
|
51
53
|
SideNav: "SideNav menu",
|
|
52
54
|
instanceSwitcher: "Instance Switcher Menu",
|
|
55
|
+
defaultTeamsFlowMenu: "Default Teams Flow Menu",
|
|
53
56
|
Support: "Support menu",
|
|
54
57
|
Switcher: "Switcher menu",
|
|
55
58
|
};
|
|
@@ -57,6 +60,9 @@ const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn
|
|
|
57
60
|
const instanceCheckMarkContainerClass = "instance-checkmark-style-container";
|
|
58
61
|
function Header(props) {
|
|
59
62
|
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
|
|
63
|
+
const personalTeams = [];
|
|
64
|
+
const standardTeamsList = [...personalTeams.map((pteams) => ({ ...pteams, isPersonal: true }))];
|
|
65
|
+
console.log("standardTeamsList", standardTeamsList);
|
|
60
66
|
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
61
67
|
React__default.default.createElement(react.Theme, { theme: carbonTheme },
|
|
62
68
|
React__default.default.createElement(react.Header, { "aria-label": "App navigation header", className: className },
|
|
@@ -67,6 +73,7 @@ function Header(props) {
|
|
|
67
73
|
? 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)))
|
|
68
74
|
: null),
|
|
69
75
|
React__default.default.createElement(react.HeaderGlobalBar, null,
|
|
76
|
+
React__default.default.createElement(DefaultTeamsFlowMenu, { menuItems: standardTeamsList }),
|
|
70
77
|
props?.instanceSwitcherEnabled && (React__default.default.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
71
78
|
React__default.default.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
72
79
|
React__default.default.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -94,6 +101,23 @@ function InstanceSwitcherMenu(props) {
|
|
|
94
101
|
" ")) : ("")))))
|
|
95
102
|
: null)) : null));
|
|
96
103
|
}
|
|
104
|
+
function DefaultTeamsFlowMenu(props) {
|
|
105
|
+
const currentURL = window?.location?.href;
|
|
106
|
+
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.defaultTeamsFlowMenu);
|
|
107
|
+
// if (!props.enabled) {
|
|
108
|
+
// return null;
|
|
109
|
+
// }
|
|
110
|
+
return (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-header-instance-switcher`, style: { position: "relative" }, ref: ref },
|
|
111
|
+
React__default.default.createElement("button", { "aria-controls": MenuListId.defaultTeamsFlowMenu, "aria-expanded": isOpen, "aria-haspopup": "menu", "aria-label": MenuAriaLabelRecord.defaultTeamsFlowMenu, className: headerButtonClassNames, "data-testid": "header-defaultTeamsFlow-link", id: MenuButtonId.defaultTeamsFlowMenu, onClick: toggleActive }, "default team Name"),
|
|
112
|
+
isOpen ? (React__default.default.createElement(HeaderMenu.default, { "aria-labelledby": MenuButtonId.defaultTeamsFlowMenu, id: MenuListId.defaultTeamsFlowMenu }, Array.isArray(props.menuItems)
|
|
113
|
+
? props.menuItems.map((item) => (React__default.default.createElement(react.HeaderMenuItem, { "aria-label": `Default Teams for ${item.instanceName}`, "data-testid": "header-menu-default-teams-flow", href: item.url, key: item.instanceName, target: "_self", rel: "noopener noreferrer" },
|
|
114
|
+
React__default.default.createElement("div", { className: instanceCheckMarkContainerClass },
|
|
115
|
+
React__default.default.createElement("span", null, item.instanceName),
|
|
116
|
+
item.url && currentURL?.includes(item.url) ? (React__default.default.createElement("span", null,
|
|
117
|
+
React__default.default.createElement(icons.Checkmark, null),
|
|
118
|
+
" ")) : ("")))))
|
|
119
|
+
: null)) : null));
|
|
120
|
+
}
|
|
97
121
|
function RequestsMenu(props) {
|
|
98
122
|
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.Requests);
|
|
99
123
|
if (!props.enabled) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cx from 'classnames';
|
|
3
|
-
import { SideNavLink, SideNav, SideNavItems, SideNavDivider,
|
|
3
|
+
import { SideNavLink, SideNav, SideNavItems, SideNavDivider, SkeletonPlaceholder, SideNavMenu } from '@carbon/react';
|
|
4
4
|
import TooltipHover from '../TooltipHover/TooltipHover.js';
|
|
5
5
|
import { ChatBot, Home, AddAlt, UserMultiple, User, Locked, Unlocked, ChevronRight, GroupAccount } from '@carbon/react/icons';
|
|
6
6
|
import { USER_PLATFORM_ROLE } from '../../constants/UserType.js';
|
|
@@ -12,16 +12,9 @@ IBM Confidential
|
|
|
12
12
|
© Copyright IBM Corp. 2022, 2024
|
|
13
13
|
*/
|
|
14
14
|
function AdvantageSideNav(props) {
|
|
15
|
-
const { app,
|
|
16
|
-
// multipleRegionalTeams,
|
|
17
|
-
// teamList,
|
|
18
|
-
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;
|
|
15
|
+
const { app, 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;
|
|
19
16
|
const [activeSubmenu, setActiveSubmenu] = React.useState("");
|
|
20
17
|
const [activeMenu, setActiveMenu] = React.useState(false);
|
|
21
|
-
// const [multipleRegionalTeams, setMultipleRegionalTeams] = React.useState(false);
|
|
22
|
-
const [teamList, setTeamList] = React.useState(null);
|
|
23
|
-
const [regionalModalIsOpen, setRegionalModalIsOpen] = React.useState(false);
|
|
24
|
-
React.useState(null);
|
|
25
18
|
const isMenuOpen = isOpen || activeMenu;
|
|
26
19
|
const windowLocation = window.location;
|
|
27
20
|
const isPartnerUser = user?.type === USER_PLATFORM_ROLE.Partner;
|
|
@@ -45,21 +38,6 @@ function AdvantageSideNav(props) {
|
|
|
45
38
|
});
|
|
46
39
|
};
|
|
47
40
|
const handleAssistantClick = () => {
|
|
48
|
-
alert("df");
|
|
49
|
-
setRegionalModalIsOpen(true);
|
|
50
|
-
console.log("regionalTeam", regionalTeam);
|
|
51
|
-
if (regionalTeam?.length > 1) {
|
|
52
|
-
// setMultipleRegionalTeams(true);
|
|
53
|
-
setRegionalModalIsOpen(true);
|
|
54
|
-
setTeamList(regionalTeam?.map((team) => ({
|
|
55
|
-
id: team.id,
|
|
56
|
-
name: team.name,
|
|
57
|
-
})));
|
|
58
|
-
}
|
|
59
|
-
// if(multipleRegionalTeams)
|
|
60
|
-
// {
|
|
61
|
-
// setRegionalModalIsOpen(true);
|
|
62
|
-
// }
|
|
63
41
|
triggerEvent &&
|
|
64
42
|
triggerEvent({
|
|
65
43
|
action: "Clicked on SideNav Assistant link",
|
|
@@ -127,11 +105,7 @@ function AdvantageSideNav(props) {
|
|
|
127
105
|
//@ts-ignore
|
|
128
106
|
accountsRef.current = Array(accounts?.length).fill().map((_, i) => accountsRef.current[i] || React.createRef());
|
|
129
107
|
}
|
|
130
|
-
const assistantSideNavLink = (React.createElement(SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton),
|
|
131
|
-
// isActive={windowLocation.href.includes(assistantLink)}
|
|
132
|
-
renderIcon: ChatBot,
|
|
133
|
-
// href={enableChatButton && assistantLink}
|
|
134
|
-
onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
|
|
108
|
+
const assistantSideNavLink = assistantLink && (React.createElement(SideNavLink, { "data-testid": "sidenav-assistant-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", disabled: Boolean(!enableChatButton), isActive: windowLocation.href.includes(assistantLink), renderIcon: ChatBot, href: enableChatButton && assistantLink, onClick: enableChatButton ? handleAssistantClick : (e) => e.preventDefault() }, `Start a ${defaultAssistantLink ? "" : "New "}Chat`));
|
|
135
109
|
return (React.createElement(SideNav, { "aria-label": "sidenav-container", className: cx(`${prefix}--bmrg-advantage-sidenav-container`, className, {
|
|
136
110
|
"--closed": !isMenuOpen,
|
|
137
111
|
}), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onToggle: () => setActiveSubmenu(""), onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
|
|
@@ -150,18 +124,10 @@ function AdvantageSideNav(props) {
|
|
|
150
124
|
handleHomeClick();
|
|
151
125
|
} }, "Home")) : null,
|
|
152
126
|
!isPartnerUser &&
|
|
127
|
+
assistantLink &&
|
|
153
128
|
showChatButton &&
|
|
154
129
|
(showChatTooltip ? (React.createElement(TooltipHover, { className: `${prefix}--bmrg-side-nav__tooltip`, content: tooltipMessage, direction: "right" },
|
|
155
130
|
React.createElement("span", null, assistantSideNavLink))) : (assistantSideNavLink)),
|
|
156
|
-
regionalModalIsOpen && React.createElement(ComposedModal
|
|
157
|
-
// composedModalProps={{ containerClassName: teamSelectionModalContainer }}
|
|
158
|
-
, {
|
|
159
|
-
// composedModalProps={{ containerClassName: teamSelectionModalContainer }}
|
|
160
|
-
modalHeaderProps: {
|
|
161
|
-
title: "Select Team to Start a New Chat",
|
|
162
|
-
}, open: regionalModalIsOpen, onClose: () => setRegionalModalIsOpen(false), onKeyDown: (e) => e.stopPropagation(), "data-testid": "select-team-chat-modal" }, ({ closeModal }) => {
|
|
163
|
-
return (React.createElement(React.Fragment, null, "ddd"));
|
|
164
|
-
}),
|
|
165
131
|
!isPartnerUser && joinCreateTrigger ? (React.createElement(SideNavLink, { "data-testid": "sidenav-create-join-trigger", renderIcon: AddAlt, onClick: (e) => {
|
|
166
132
|
joinCreateTrigger(e);
|
|
167
133
|
handleCreateJoinClick();
|
|
@@ -23,6 +23,7 @@ const MenuListId = {
|
|
|
23
23
|
SideNav: "header-sidenav-menu",
|
|
24
24
|
Support: "header-support-menu",
|
|
25
25
|
instanceSwitcher: "header-instanceSwitcher-menu",
|
|
26
|
+
defaultTeamsFlowMenu: "header-defaultTeamsFlowMenu-menu",
|
|
26
27
|
Switcher: "header-switcher-menu",
|
|
27
28
|
};
|
|
28
29
|
const MenuButtonId = {
|
|
@@ -33,6 +34,7 @@ const MenuButtonId = {
|
|
|
33
34
|
SideNav: "header-sidenav-menu-button",
|
|
34
35
|
Support: "header-support-menu-button",
|
|
35
36
|
InstanceSwitcher: "header-instanceSwitcher-menu-button",
|
|
37
|
+
defaultTeamsFlowMenu: "header-defaultTeamsFlowMenu-menu-button",
|
|
36
38
|
Switcher: "header-switcher-menu-button",
|
|
37
39
|
};
|
|
38
40
|
const MenuAriaLabelRecord = {
|
|
@@ -42,6 +44,7 @@ const MenuAriaLabelRecord = {
|
|
|
42
44
|
RightPanel: "RightPanel dialog",
|
|
43
45
|
SideNav: "SideNav menu",
|
|
44
46
|
instanceSwitcher: "Instance Switcher Menu",
|
|
47
|
+
defaultTeamsFlowMenu: "Default Teams Flow Menu",
|
|
45
48
|
Support: "Support menu",
|
|
46
49
|
Switcher: "Switcher menu",
|
|
47
50
|
};
|
|
@@ -49,6 +52,9 @@ const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn
|
|
|
49
52
|
const instanceCheckMarkContainerClass = "instance-checkmark-style-container";
|
|
50
53
|
function Header(props) {
|
|
51
54
|
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
|
|
55
|
+
const personalTeams = [];
|
|
56
|
+
const standardTeamsList = [...personalTeams.map((pteams) => ({ ...pteams, isPersonal: true }))];
|
|
57
|
+
console.log("standardTeamsList", standardTeamsList);
|
|
52
58
|
return (React.createElement(React.Fragment, null,
|
|
53
59
|
React.createElement(Theme, { theme: carbonTheme },
|
|
54
60
|
React.createElement(Header$1, { "aria-label": "App navigation header", className: className },
|
|
@@ -59,6 +65,7 @@ function Header(props) {
|
|
|
59
65
|
? navLinks.map((link) => (React.createElement(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)))
|
|
60
66
|
: null),
|
|
61
67
|
React.createElement(HeaderGlobalBar, null,
|
|
68
|
+
React.createElement(DefaultTeamsFlowMenu, { menuItems: standardTeamsList }),
|
|
62
69
|
props?.instanceSwitcherEnabled && (React.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances })),
|
|
63
70
|
React.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
64
71
|
React.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
@@ -86,6 +93,23 @@ function InstanceSwitcherMenu(props) {
|
|
|
86
93
|
" ")) : ("")))))
|
|
87
94
|
: null)) : null));
|
|
88
95
|
}
|
|
96
|
+
function DefaultTeamsFlowMenu(props) {
|
|
97
|
+
const currentURL = window?.location?.href;
|
|
98
|
+
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.defaultTeamsFlowMenu);
|
|
99
|
+
// if (!props.enabled) {
|
|
100
|
+
// return null;
|
|
101
|
+
// }
|
|
102
|
+
return (React.createElement("div", { className: `${prefix}--bmrg-header-instance-switcher`, style: { position: "relative" }, ref: ref },
|
|
103
|
+
React.createElement("button", { "aria-controls": MenuListId.defaultTeamsFlowMenu, "aria-expanded": isOpen, "aria-haspopup": "menu", "aria-label": MenuAriaLabelRecord.defaultTeamsFlowMenu, className: headerButtonClassNames, "data-testid": "header-defaultTeamsFlow-link", id: MenuButtonId.defaultTeamsFlowMenu, onClick: toggleActive }, "default team Name"),
|
|
104
|
+
isOpen ? (React.createElement(HeaderMenu, { "aria-labelledby": MenuButtonId.defaultTeamsFlowMenu, id: MenuListId.defaultTeamsFlowMenu }, Array.isArray(props.menuItems)
|
|
105
|
+
? props.menuItems.map((item) => (React.createElement(HeaderMenuItem, { "aria-label": `Default Teams for ${item.instanceName}`, "data-testid": "header-menu-default-teams-flow", href: item.url, key: item.instanceName, target: "_self", rel: "noopener noreferrer" },
|
|
106
|
+
React.createElement("div", { className: instanceCheckMarkContainerClass },
|
|
107
|
+
React.createElement("span", null, item.instanceName),
|
|
108
|
+
item.url && currentURL?.includes(item.url) ? (React.createElement("span", null,
|
|
109
|
+
React.createElement(Checkmark, null),
|
|
110
|
+
" ")) : ("")))))
|
|
111
|
+
: null)) : null));
|
|
112
|
+
}
|
|
89
113
|
function RequestsMenu(props) {
|
|
90
114
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.Requests);
|
|
91
115
|
if (!props.enabled) {
|
package/dist/types/index.d.ts
CHANGED
package/package.json
CHANGED