@boomerang-io/carbon-addons-boomerang-react 4.6.5-beta.35 → 4.6.5-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.
- package/dist/cjs/components/Header/Header.js +11 -16
- package/dist/cjs/components/UIShell/UIShell.js +1 -2
- package/dist/esm/components/Header/Header.js +12 -17
- package/dist/esm/components/UIShell/UIShell.js +1 -2
- package/dist/types/index.d.ts +0 -5
- package/package.json +1 -1
- package/scss/components/Header/_header.scss +6 -10
|
@@ -54,10 +54,8 @@ const MenuAriaLabelRecord = {
|
|
|
54
54
|
Switcher: "Switcher menu",
|
|
55
55
|
};
|
|
56
56
|
const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn cds--btn--primary cds--btn--icon-only cds--btn cds--btn--primary";
|
|
57
|
-
const instanceCheckMarkStyle = "instance-checkmark-style";
|
|
58
57
|
function Header(props) {
|
|
59
|
-
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks,
|
|
60
|
-
console.log("platform", platform);
|
|
58
|
+
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
|
|
61
59
|
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
62
60
|
React__default.default.createElement(react.Theme, { theme: carbonTheme },
|
|
63
61
|
React__default.default.createElement(react.Header, { "aria-label": "App navigation header", className: className },
|
|
@@ -68,8 +66,9 @@ function Header(props) {
|
|
|
68
66
|
? 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)))
|
|
69
67
|
: null),
|
|
70
68
|
React__default.default.createElement(react.HeaderGlobalBar, null,
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
React__default.default.createElement(InstanceSwitcherMenu, { enabled: true,
|
|
70
|
+
// enabled={Array.isArray(props.instanceSwitcherMenuItems) && props.instanceSwitcherMenuItems.length > 0}
|
|
71
|
+
menuItems: props.instanceSwitcherMenuItems }),
|
|
73
72
|
React__default.default.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
74
73
|
React__default.default.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
75
74
|
React__default.default.createElement(SupportMenu, { enabled: Array.isArray(props.supportMenuItems) && props.supportMenuItems.length > 0, menuItems: props.supportMenuItems }),
|
|
@@ -79,22 +78,18 @@ function Header(props) {
|
|
|
79
78
|
React__default.default.createElement(NotificationsContainer.default, { enableMultiContainer: true, containerId: `${settings.prefix}--bmrg-header-notifications` })));
|
|
80
79
|
}
|
|
81
80
|
function InstanceSwitcherMenu(props) {
|
|
82
|
-
const currentURL = window.location.href;
|
|
83
81
|
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.InstanceSwitcher);
|
|
84
82
|
if (!props.enabled) {
|
|
85
83
|
return null;
|
|
86
84
|
}
|
|
87
|
-
return (React__default.default.createElement("div", {
|
|
85
|
+
return (React__default.default.createElement("div", { style: { position: "relative" }, ref: ref },
|
|
88
86
|
React__default.default.createElement("button", { "aria-controls": MenuListId.instanceSwitcher, "aria-expanded": isOpen, "aria-haspopup": "menu", "aria-label": MenuAriaLabelRecord.instanceSwitcher, className: headerButtonClassNames, "data-testid": "header-instanceSwitcher-link", id: MenuButtonId.InstanceSwitcher, onClick: toggleActive },
|
|
89
|
-
React__default.default.createElement(icons.
|
|
90
|
-
isOpen ? (React__default.default.createElement(HeaderMenu.default, { "aria-labelledby": MenuButtonId.InstanceSwitcher, id: MenuListId.instanceSwitcher },
|
|
91
|
-
|
|
92
|
-
React__default.default.createElement("div", null,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
React__default.default.createElement(icons.Checkmark, null),
|
|
96
|
-
" ") : ""))))
|
|
97
|
-
: null)) : null));
|
|
87
|
+
React__default.default.createElement(icons.Help, { size: 20 })),
|
|
88
|
+
isOpen ? (React__default.default.createElement(HeaderMenu.default, { "aria-labelledby": MenuButtonId.InstanceSwitcher, id: MenuListId.instanceSwitcher },
|
|
89
|
+
React__default.default.createElement(react.HeaderMenuItem, { key: "Global", text: "Global", type: "link", kind: "app", href: "https://servicesessentials.ibm.com/launchpad", target: "_self" },
|
|
90
|
+
React__default.default.createElement("div", null, "Global")),
|
|
91
|
+
React__default.default.createElement(react.HeaderMenuItem, { key: "Australlia", text: "Australlia", type: "link", kind: "app", href: "https://au.ica.ibm.com", target: "_self" }, "Australlia"),
|
|
92
|
+
React__default.default.createElement(react.HeaderMenuItem, { key: "Canada", text: "Australlia", type: "link", kind: "app", href: "https://canada.ica.ibm.com", target: "_self" }, "Canada"))) : null));
|
|
98
93
|
}
|
|
99
94
|
function RequestsMenu(props) {
|
|
100
95
|
const { isOpen, toggleActive, ref } = useHeaderMenu.default(MenuButtonId.Requests);
|
|
@@ -40,7 +40,6 @@ function UIShell({ baseEnvUrl, carbonTheme = "g10", config, leftPanel, platformN
|
|
|
40
40
|
* Check feature enablement via explicit feature flags
|
|
41
41
|
*/
|
|
42
42
|
const isAppSwitcherEnabled = Boolean(features?.["appSwitcher.enabled"]);
|
|
43
|
-
const instanceSwitcherEnabled = Boolean(features?.["instanceSwitcherEnabled"]);
|
|
44
43
|
const isFeedbackEnabled = Boolean(features?.["feedback.enabled"]);
|
|
45
44
|
const isNotificationsEnabled = Boolean(features?.["notifications.enabled"]);
|
|
46
45
|
const isNotificationsCountEnabled = Boolean(features?.["notificationsCount.enabled"]);
|
|
@@ -69,7 +68,7 @@ function UIShell({ baseEnvUrl, carbonTheme = "g10", config, leftPanel, platformN
|
|
|
69
68
|
*/
|
|
70
69
|
const isPrivacyStatementDisabled = renderPrivacyStatement === false || features?.["consent.enabled"] === false;
|
|
71
70
|
return (React__default.default.createElement(reactQuery.QueryClientProvider, { client: servicesConfig.queryClient },
|
|
72
|
-
React__default.default.createElement(Header.default, { baseEnvUrl: platform.baseEnvUrl, baseServicesUrl: platform.baseServicesUrl, carbonTheme: carbonTheme, enableAppSwitcher: isAppSwitcherEnabled,
|
|
71
|
+
React__default.default.createElement(Header.default, { baseEnvUrl: platform.baseEnvUrl, baseServicesUrl: platform.baseServicesUrl, carbonTheme: carbonTheme, enableAppSwitcher: isAppSwitcherEnabled, enableNotifications: isNotificationsEnabled, enableNotificationsCount: isNotificationsCountEnabled, leftPanel: leftPanel, navLinks: navigation, platformMessage: platformMessage, prefixName: names.platformName, productName: names.productName, rightPanel: rightPanel, requestSummary: user?.requestSummary, skipToContentProps: skipToContentProps, templateMeteringEvent: templateMeteringEvent, triggerEvent: triggerEvent, profileMenuItems: [
|
|
73
72
|
isUserEnabled && (React__default.default.createElement(ProfileSettings.ProfileSettingsMenuItem, { key: "profile-settings", baseServicesUrl: platform.baseServicesUrl, src: `${platform.baseServicesUrl}/users/image/${user?.email}`, userName: user?.displayName ?? user?.name })),
|
|
74
73
|
isSendMailEnabled && (React__default.default.createElement(HeaderMenuItem.default, { key: "email-preferences", href: `${platform.baseEnvUrl}/launchpad/email-preferences`, icon: React__default.default.createElement(icons.Email, null), kind: "internal", text: "Email Preferences", type: "link" })),
|
|
75
74
|
!isPrivacyStatementDisabled && (React__default.default.createElement(PrivacyStatement.PrivacyStatementMenuItem, { key: "privacy-statement", baseServicesUrl: platform.baseServicesUrl, platformEmail: platform?.platformEmail })),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Theme, Header as Header$1, SkipToContent, HeaderName, HeaderNavigation, HeaderMenuItem, HeaderGlobalBar, HeaderPanel, HeaderMenuButton, SideNav, SideNavItems, SideNavLink } from '@carbon/react';
|
|
3
|
-
import {
|
|
3
|
+
import { Help, Collaborate, NotificationNew, Notification, UserAvatar, Close, Switcher, OpenPanelFilledRight } from '@carbon/react/icons';
|
|
4
4
|
import HeaderAppSwitcher from './HeaderAppSwitcher.js';
|
|
5
5
|
import HeaderMenu from './HeaderMenu.js';
|
|
6
6
|
import NotificationsContainer from '../Notifications/NotificationsContainer.js';
|
|
@@ -46,10 +46,8 @@ const MenuAriaLabelRecord = {
|
|
|
46
46
|
Switcher: "Switcher menu",
|
|
47
47
|
};
|
|
48
48
|
const headerButtonClassNames = "cds--btn--icon-only cds--header__action cds--btn cds--btn--primary cds--btn--icon-only cds--btn cds--btn--primary";
|
|
49
|
-
const instanceCheckMarkStyle = "instance-checkmark-style";
|
|
50
49
|
function Header(props) {
|
|
51
|
-
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks,
|
|
52
|
-
console.log("platform", platform);
|
|
50
|
+
const { productName, baseEnvUrl, baseServicesUrl, carbonTheme = "g10", className, navLinks, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
|
|
53
51
|
return (React.createElement(React.Fragment, null,
|
|
54
52
|
React.createElement(Theme, { theme: carbonTheme },
|
|
55
53
|
React.createElement(Header$1, { "aria-label": "App navigation header", className: className },
|
|
@@ -60,8 +58,9 @@ function Header(props) {
|
|
|
60
58
|
? 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)))
|
|
61
59
|
: null),
|
|
62
60
|
React.createElement(HeaderGlobalBar, null,
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
React.createElement(InstanceSwitcherMenu, { enabled: true,
|
|
62
|
+
// enabled={Array.isArray(props.instanceSwitcherMenuItems) && props.instanceSwitcherMenuItems.length > 0}
|
|
63
|
+
menuItems: props.instanceSwitcherMenuItems }),
|
|
65
64
|
React.createElement(RequestsMenu, { baseEnvUrl: baseEnvUrl, enabled: Boolean(props.requestSummary), summary: props.requestSummary }),
|
|
66
65
|
React.createElement(NotificationsMenu, { baseEnvUrl: baseEnvUrl, baseServicesUrl: baseServicesUrl, enabled: Boolean(props.enableNotifications), countEnabled: Boolean(props.enableNotificationsCount) }),
|
|
67
66
|
React.createElement(SupportMenu, { enabled: Array.isArray(props.supportMenuItems) && props.supportMenuItems.length > 0, menuItems: props.supportMenuItems }),
|
|
@@ -71,22 +70,18 @@ function Header(props) {
|
|
|
71
70
|
React.createElement(NotificationsContainer, { enableMultiContainer: true, containerId: `${prefix}--bmrg-header-notifications` })));
|
|
72
71
|
}
|
|
73
72
|
function InstanceSwitcherMenu(props) {
|
|
74
|
-
const currentURL = window.location.href;
|
|
75
73
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.InstanceSwitcher);
|
|
76
74
|
if (!props.enabled) {
|
|
77
75
|
return null;
|
|
78
76
|
}
|
|
79
|
-
return (React.createElement("div", {
|
|
77
|
+
return (React.createElement("div", { style: { position: "relative" }, ref: ref },
|
|
80
78
|
React.createElement("button", { "aria-controls": MenuListId.instanceSwitcher, "aria-expanded": isOpen, "aria-haspopup": "menu", "aria-label": MenuAriaLabelRecord.instanceSwitcher, className: headerButtonClassNames, "data-testid": "header-instanceSwitcher-link", id: MenuButtonId.InstanceSwitcher, onClick: toggleActive },
|
|
81
|
-
React.createElement(
|
|
82
|
-
isOpen ? (React.createElement(HeaderMenu, { "aria-labelledby": MenuButtonId.InstanceSwitcher, id: MenuListId.instanceSwitcher },
|
|
83
|
-
|
|
84
|
-
React.createElement("div", null,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
React.createElement(Checkmark, null),
|
|
88
|
-
" ") : ""))))
|
|
89
|
-
: null)) : null));
|
|
79
|
+
React.createElement(Help, { size: 20 })),
|
|
80
|
+
isOpen ? (React.createElement(HeaderMenu, { "aria-labelledby": MenuButtonId.InstanceSwitcher, id: MenuListId.instanceSwitcher },
|
|
81
|
+
React.createElement(HeaderMenuItem, { key: "Global", text: "Global", type: "link", kind: "app", href: "https://servicesessentials.ibm.com/launchpad", target: "_self" },
|
|
82
|
+
React.createElement("div", null, "Global")),
|
|
83
|
+
React.createElement(HeaderMenuItem, { key: "Australlia", text: "Australlia", type: "link", kind: "app", href: "https://au.ica.ibm.com", target: "_self" }, "Australlia"),
|
|
84
|
+
React.createElement(HeaderMenuItem, { key: "Canada", text: "Australlia", type: "link", kind: "app", href: "https://canada.ica.ibm.com", target: "_self" }, "Canada"))) : null));
|
|
90
85
|
}
|
|
91
86
|
function RequestsMenu(props) {
|
|
92
87
|
const { isOpen, toggleActive, ref } = useHeaderMenu(MenuButtonId.Requests);
|
|
@@ -32,7 +32,6 @@ function UIShell({ baseEnvUrl, carbonTheme = "g10", config, leftPanel, platformN
|
|
|
32
32
|
* Check feature enablement via explicit feature flags
|
|
33
33
|
*/
|
|
34
34
|
const isAppSwitcherEnabled = Boolean(features?.["appSwitcher.enabled"]);
|
|
35
|
-
const instanceSwitcherEnabled = Boolean(features?.["instanceSwitcherEnabled"]);
|
|
36
35
|
const isFeedbackEnabled = Boolean(features?.["feedback.enabled"]);
|
|
37
36
|
const isNotificationsEnabled = Boolean(features?.["notifications.enabled"]);
|
|
38
37
|
const isNotificationsCountEnabled = Boolean(features?.["notificationsCount.enabled"]);
|
|
@@ -61,7 +60,7 @@ function UIShell({ baseEnvUrl, carbonTheme = "g10", config, leftPanel, platformN
|
|
|
61
60
|
*/
|
|
62
61
|
const isPrivacyStatementDisabled = renderPrivacyStatement === false || features?.["consent.enabled"] === false;
|
|
63
62
|
return (React.createElement(QueryClientProvider, { client: queryClient },
|
|
64
|
-
React.createElement(Header, { baseEnvUrl: platform.baseEnvUrl, baseServicesUrl: platform.baseServicesUrl, carbonTheme: carbonTheme, enableAppSwitcher: isAppSwitcherEnabled,
|
|
63
|
+
React.createElement(Header, { baseEnvUrl: platform.baseEnvUrl, baseServicesUrl: platform.baseServicesUrl, carbonTheme: carbonTheme, enableAppSwitcher: isAppSwitcherEnabled, enableNotifications: isNotificationsEnabled, enableNotificationsCount: isNotificationsCountEnabled, leftPanel: leftPanel, navLinks: navigation, platformMessage: platformMessage, prefixName: names.platformName, productName: names.productName, rightPanel: rightPanel, requestSummary: user?.requestSummary, skipToContentProps: skipToContentProps, templateMeteringEvent: templateMeteringEvent, triggerEvent: triggerEvent, profileMenuItems: [
|
|
65
64
|
isUserEnabled && (React.createElement(ProfileSettingsMenuItem, { key: "profile-settings", baseServicesUrl: platform.baseServicesUrl, src: `${platform.baseServicesUrl}/users/image/${user?.email}`, userName: user?.displayName ?? user?.name })),
|
|
66
65
|
isSendMailEnabled && (React.createElement(HeaderMenuItem, { key: "email-preferences", href: `${platform.baseEnvUrl}/launchpad/email-preferences`, icon: React.createElement(Email, null), kind: "internal", text: "Email Preferences", type: "link" })),
|
|
67
66
|
!isPrivacyStatementDisabled && (React.createElement(PrivacyStatementMenuItem, { key: "privacy-statement", baseServicesUrl: platform.baseServicesUrl, platformEmail: platform?.platformEmail })),
|
package/dist/types/index.d.ts
CHANGED
|
@@ -349,7 +349,6 @@ type Props$G = {
|
|
|
349
349
|
carbonTheme?: "white" | "g10" | "g90" | "g100";
|
|
350
350
|
className?: string;
|
|
351
351
|
enableAppSwitcher?: boolean;
|
|
352
|
-
instanceSwitcherEnabled?: boolean;
|
|
353
352
|
enableNotifications?: boolean;
|
|
354
353
|
enableNotificationsCount?: boolean;
|
|
355
354
|
leftPanel?: (args: {
|
|
@@ -358,7 +357,6 @@ type Props$G = {
|
|
|
358
357
|
navLinks?: NavLink[];
|
|
359
358
|
}) => React.ReactNode;
|
|
360
359
|
navLinks?: NavLink[];
|
|
361
|
-
platform?: any;
|
|
362
360
|
platformMessage?: string;
|
|
363
361
|
prefixName?: string;
|
|
364
362
|
productName: string;
|
|
@@ -1356,7 +1354,6 @@ type Props = {
|
|
|
1356
1354
|
baseEnvUrl?: string;
|
|
1357
1355
|
config?: {
|
|
1358
1356
|
features?: {
|
|
1359
|
-
"instanceSwitcherEnabled"?: boolean;
|
|
1360
1357
|
"appSwitcher.enabled"?: boolean;
|
|
1361
1358
|
"consent.enabled"?: boolean;
|
|
1362
1359
|
"docs.enabled"?: boolean;
|
|
@@ -1388,8 +1385,6 @@ type Props = {
|
|
|
1388
1385
|
askICAEnabled?: boolean;
|
|
1389
1386
|
signOutUrl?: string;
|
|
1390
1387
|
version?: string;
|
|
1391
|
-
instanceSwitcherEnabled?: boolean;
|
|
1392
|
-
instances?: any[];
|
|
1393
1388
|
assistantVersion?: string;
|
|
1394
1389
|
agentsVersion?: string;
|
|
1395
1390
|
scribeFlowVersion?: string;
|
package/package.json
CHANGED
|
@@ -115,15 +115,7 @@ IBM Confidential
|
|
|
115
115
|
align-items: center;
|
|
116
116
|
font-size: 10px;
|
|
117
117
|
}
|
|
118
|
-
|
|
119
|
-
{
|
|
120
|
-
padding: 10px 15px !important;
|
|
121
|
-
border-bottom: 1px solid lightgrey !important;
|
|
122
|
-
}
|
|
123
|
-
.instance-checkmark-style
|
|
124
|
-
{
|
|
125
|
-
padding-left: 8rem;
|
|
126
|
-
}
|
|
118
|
+
|
|
127
119
|
// span, p, a, div {
|
|
128
120
|
// color: shell.$bmrg-theme-primary;
|
|
129
121
|
// &:hover {
|
|
@@ -150,7 +142,11 @@ a.#{$prefix}--header__menu-item {
|
|
|
150
142
|
color: shell.$bmrg-theme-primary !important;
|
|
151
143
|
background-color: shell.$bmrg-theme-active !important;
|
|
152
144
|
}
|
|
153
|
-
|
|
145
|
+
}
|
|
146
|
+
#InstanceSwitcher .cds--header .cds--bmrg-header-drop-down a.cds--header__menu-item
|
|
147
|
+
{
|
|
148
|
+
padding: 10px 15px;
|
|
149
|
+
border-bottom: 1px solid lightgrey;
|
|
154
150
|
}
|
|
155
151
|
a.#{$prefix}--side-nav__link {
|
|
156
152
|
color: shell.$bmrg-theme-secondary;
|