@boomerang-io/carbon-addons-boomerang-react 4.6.5-beta.36 → 4.6.5-beta.5

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.
@@ -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, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
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
- props?.instanceSwitcherEnabled &&
72
- React__default.default.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances }),
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", { className: `${settings.prefix}--bmrg-header-instance-switcher`, style: { position: "relative" }, ref: ref },
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.Wikis, { size: 20 })),
90
- isOpen ? (React__default.default.createElement(HeaderMenu.default, { "aria-labelledby": MenuButtonId.InstanceSwitcher, id: MenuListId.instanceSwitcher }, Array.isArray(props.menuItems)
91
- ? props.menuItems.map((item) => (React__default.default.createElement(react.HeaderMenuItem, { "aria-label": `Instance Switcher for ${item.instanceName}`, "data-testid": "header-menu-instance-switcher", href: item.url, isCurrentPage: window?.location?.href && item.url ? window.location.href.startsWith(item.url) : false, key: item.instanceName, target: "_self", rel: "noopener noreferrer" },
92
- React__default.default.createElement("div", null,
93
- React__default.default.createElement("span", null, item.instanceName),
94
- item.instanceName && currentURL.includes((item.instanceName).toLowerCase()) ? React__default.default.createElement("span", { className: instanceCheckMarkStyle },
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(platform?.["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, instanceSwitcherEnabled: instanceSwitcherEnabled, enableNotifications: isNotificationsEnabled, enableNotificationsCount: isNotificationsCountEnabled, leftPanel: leftPanel, navLinks: navigation, platform: platform, platformMessage: platformMessage, prefixName: names.platformName, productName: names.productName, rightPanel: rightPanel, requestSummary: user?.requestSummary, skipToContentProps: skipToContentProps, templateMeteringEvent: templateMeteringEvent, triggerEvent: triggerEvent, profileMenuItems: [
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 { Wikis, Checkmark, Collaborate, NotificationNew, Notification, Help, UserAvatar, Close, Switcher, OpenPanelFilledRight } from '@carbon/react/icons';
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, platform, prefixName = "", rightPanel, skipToContentProps, templateMeteringEvent, triggerEvent, userTeams, } = props;
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
- props?.instanceSwitcherEnabled &&
64
- React.createElement(InstanceSwitcherMenu, { enabled: Boolean(props.instanceSwitcherEnabled), menuItems: platform?.instances }),
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", { className: `${prefix}--bmrg-header-instance-switcher`, style: { position: "relative" }, ref: ref },
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(Wikis, { size: 20 })),
82
- isOpen ? (React.createElement(HeaderMenu, { "aria-labelledby": MenuButtonId.InstanceSwitcher, id: MenuListId.instanceSwitcher }, Array.isArray(props.menuItems)
83
- ? props.menuItems.map((item) => (React.createElement(HeaderMenuItem, { "aria-label": `Instance Switcher for ${item.instanceName}`, "data-testid": "header-menu-instance-switcher", href: item.url, isCurrentPage: window?.location?.href && item.url ? window.location.href.startsWith(item.url) : false, key: item.instanceName, target: "_self", rel: "noopener noreferrer" },
84
- React.createElement("div", null,
85
- React.createElement("span", null, item.instanceName),
86
- item.instanceName && currentURL.includes((item.instanceName).toLowerCase()) ? React.createElement("span", { className: instanceCheckMarkStyle },
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(platform?.["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, instanceSwitcherEnabled: instanceSwitcherEnabled, enableNotifications: isNotificationsEnabled, enableNotificationsCount: isNotificationsCountEnabled, leftPanel: leftPanel, navLinks: navigation, platform: platform, platformMessage: platformMessage, prefixName: names.platformName, productName: names.productName, rightPanel: rightPanel, requestSummary: user?.requestSummary, skipToContentProps: skipToContentProps, templateMeteringEvent: templateMeteringEvent, triggerEvent: triggerEvent, profileMenuItems: [
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 })),
@@ -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;
@@ -1387,8 +1385,6 @@ type Props = {
1387
1385
  askICAEnabled?: boolean;
1388
1386
  signOutUrl?: string;
1389
1387
  version?: string;
1390
- instanceSwitcherEnabled?: boolean;
1391
- instances?: any[];
1392
1388
  assistantVersion?: string;
1393
1389
  agentsVersion?: string;
1394
1390
  scribeFlowVersion?: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@boomerang-io/carbon-addons-boomerang-react",
3
3
  "description": "Carbon Addons for Boomerang apps",
4
- "version": "4.6.5-beta.36",
4
+ "version": "4.6.5-beta.5",
5
5
  "author": {
6
6
  "name": "Tim Bula",
7
7
  "email": "timrbula@gmail.com"
@@ -115,15 +115,7 @@ IBM Confidential
115
115
  align-items: center;
116
116
  font-size: 10px;
117
117
  }
118
- .#{$prefix}--bmrg-header-instance-switcher .cds--bmrg-header-drop-down a.cds--header__menu-item
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
+ #header-instanceSwitcher-menu .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;