@boomerang-io/carbon-addons-boomerang-react 4.6.21-beta.42 → 4.6.21-beta.43

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.
@@ -107,7 +107,8 @@ function AdvantageSideNav(props) {
107
107
  category: "Sidenav",
108
108
  destinationPath: redirectLink,
109
109
  });
110
- window.open(redirectLink, "_self", "noopener,noreferrer");
110
+ // window.open(redirectLink, "_self", "noopener,noreferrer");
111
+ navigateInternal(redirectLink);
111
112
  };
112
113
  const handleCreateJoinClick = () => {
113
114
  triggerEvent &&
@@ -139,6 +140,18 @@ function AdvantageSideNav(props) {
139
140
  };
140
141
  const chatSideNavLink = (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` : "", isActive: windowLocation.href.includes(`${baseEnvUrl}/chat`), disabled: Boolean(!enableChatButton), renderIcon: icons.ChatBot, href: enableChatButton && chatLink, onClick: enableChatButton ? handleChatClick : (e) => e.preventDefault() }, "Chat"));
141
142
  const showSecondDivider = showChatButton || toolsLink || agentAssistantStudioLink || agentAssistantLibraryLink || documentCollectionsLink;
143
+ const navigateInternal = (url) => {
144
+ const target = new URL(url, window.location.origin);
145
+ if (target.origin === window.location.origin) {
146
+ const pathname = target.pathname.startsWith("/ica")
147
+ ? target.pathname.slice(4) // removes "/ica"
148
+ : target.pathname;
149
+ history.push(pathname + target.search + target.hash);
150
+ }
151
+ else {
152
+ window.location.href = url;
153
+ }
154
+ };
142
155
  return (React__default.default.createElement(react.SideNav, { "aria-label": "sidenav-container", className: cx__default.default(`${settings.prefix}--bmrg-advantage-sidenav-container`, className, {
143
156
  "--closed": !isMenuOpen,
144
157
  }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
@@ -200,11 +213,24 @@ function AdvantageSideNav(props) {
200
213
  //href={documentCollectionsLink}
201
214
  className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Document Collections")) : null,
202
215
  showSecondDivider ? React__default.default.createElement(react.SideNavDivider, null) : null,
203
- catalogNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), href: catalogNavlink, renderIcon: icons.Catalog }, "Catalog")) : null,
216
+ catalogNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), renderIcon: icons.Catalog, onClick: (e) => {
217
+ e.preventDefault();
218
+ navigateInternal(catalogNavlink);
219
+ } }, "Catalog")) : null,
204
220
  settingsLink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: icons.Settings,
205
221
  // href={settingsLink}
206
- className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Settings")) : null,
207
- adminNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-admin-link", href: adminNavlink, renderIcon: icons.LicenseThirdParty }, "Admin")) : null),
222
+ className: `${settings.prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink),
223
+ // onClick={(e: any) => {
224
+ // handleSettingsClick();
225
+ // }}
226
+ onClick: (e) => {
227
+ e.preventDefault();
228
+ navigateInternal(settingsLink);
229
+ } }, "Settings")) : null,
230
+ adminNavlink ? (React__default.default.createElement(react.SideNavLink, { "data-testid": "sidenav-admin-link", renderIcon: icons.LicenseThirdParty, onClick: (e) => {
231
+ e.preventDefault();
232
+ navigateInternal(adminNavlink);
233
+ } }, "Admin")) : null),
208
234
  children ? (React__default.default.createElement(React__default.default.Fragment, null,
209
235
  React__default.default.createElement(react.SideNavDivider, null),
210
236
  children)) : null)));
@@ -5,9 +5,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var react = require('@carbon/react');
7
7
  var icons = require('@carbon/react/icons');
8
- var core = require('@dnd-kit/core');
9
- var sortable = require('@dnd-kit/sortable');
10
- var utilities = require('@dnd-kit/utilities');
11
8
  var cx = require('classnames');
12
9
  var TooltipHover = require('../TooltipHover/TooltipHover.js');
13
10
  var accessibility = require('../../tools/accessibility.js');
@@ -23,7 +20,7 @@ IBM Confidential
23
20
  694970X, 69497O0
24
21
  © Copyright IBM Corp. 2022, 2024
25
22
  */
26
- function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creatable__button`, buttonContent = "Add", buttonProps, createKeyValuePair = false, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText = "", max, nonDeletable = false, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, reorderable, tagProps, tagType = "teal", textInputProps, tooltipClassName = `${settings.prefix}--bmrg-creatable__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = "text", valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput = false, removeOnlyFirst = false, }) {
23
+ function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creatable__button`, buttonContent = "Add", buttonProps, createKeyValuePair = false, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText = "", max, nonDeletable = false, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, tagProps, tagType = "teal", textInputProps, tooltipClassName = `${settings.prefix}--bmrg-creatable__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = "text", valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput = false, removeOnlyFirst = false, }) {
27
24
  const [keyValue, setKeyValue] = React.useState("");
28
25
  const [value, setValue] = React.useState("");
29
26
  const [input, setInput] = React.useState("");
@@ -131,21 +128,6 @@ function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creata
131
128
  if (onChange)
132
129
  onChange(items);
133
130
  };
134
- const sensors = core.useSensors(core.useSensor(core.PointerSensor, {
135
- activationConstraint: { distance: 5 },
136
- }));
137
- function handleDragEnd(event) {
138
- const { active, over } = event;
139
- if (over && active.id !== over.id) {
140
- const oldIndex = tagItems.indexOf(active.id);
141
- const newIndex = tagItems.indexOf(over.id);
142
- const reorderedItems = sortable.arrayMove(tagItems, oldIndex, newIndex);
143
- setCreatedItems(reorderedItems);
144
- if (onChange) {
145
- onChange(reorderedItems);
146
- }
147
- }
148
- }
149
131
  return (React__default.default.createElement("div", { key: key, className: `${settings.prefix}--bmrg-creatable` },
150
132
  React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__input` },
151
133
  createKeyValuePair ? (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__key-value-inputs` },
@@ -167,20 +149,9 @@ function CreatableComponent({ buttonClassName = `${settings.prefix}--bmrg-creata
167
149
  React__default.default.createElement(TooltipHover.default, { ...tooltipProps, tooltipText: tooltipContent },
168
150
  React__default.default.createElement(icons.Information, { size: 16, fill: "currentColor" }))))), onBlur: onInputBlur, onChange: onInputChange, placeholder: placeholder, ref: inputRef, type: type, value: input, ...textInputProps })),
169
151
  React__default.default.createElement(react.Button, { className: createButtonClassName, disabled: isAddButtonDisabled, onClick: addValue, iconDescription: "Add", renderIcon: icons.Add, size: "md", type: "button", ...buttonProps }, buttonContent)),
170
- reorderable ? (React__default.default.createElement(core.DndContext, { sensors: disabled ? [] : sensors, collisionDetection: core.closestCenter, onDragEnd: handleDragEnd },
171
- React__default.default.createElement(sortable.SortableContext, { items: tagsToShow, strategy: sortable.verticalListSortingStrategy },
172
- React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__tags--reorderable` }, tagsToShow.map((item, index) => (React__default.default.createElement(ReorderableTag, { key: `${item}-${index}`, disabled: disabled, initialTagItems: initialTagItems, item: item, nonDeletable: nonDeletable, removeValue: removeValue, tagProps: tagProps, tagType: tagType }))))))) : (React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__tags` }, tagsToShow.map((item, index) => (React__default.default.createElement(react.Tag, { key: `${item}-${index}`, disabled: disabled, type: tagType, onClick: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), onKeyDown: nonDeletable && initialTagItems.includes(item)
152
+ React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-creatable__tags` }, tagsToShow.map((item, index) => (React__default.default.createElement(react.Tag, { key: `${item}-${index}`, disabled: disabled, type: tagType, onClick: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), onKeyDown: nonDeletable && initialTagItems.includes(item)
173
153
  ? undefined
174
- : (e) => accessibility.isAccessibleKeyDownEvent(e) && removeValue(item), filter: !nonDeletable || (nonDeletable && !initialTagItems.includes(item)), ...tagProps }, item)))))));
175
- }
176
- function ReorderableTag({ disabled, initialTagItems, item, nonDeletable, removeValue, tagProps, tagType, }) {
177
- const { attributes, listeners, setNodeRef, transform, transition } = sortable.useSortable({ id: item });
178
- const style = {
179
- transform: utilities.CSS.Transform.toString(transform),
180
- transition,
181
- };
182
- return (React__default.default.createElement("div", { ref: setNodeRef, ...attributes, ...(!disabled ? listeners : {}), style: style },
183
- React__default.default.createElement(react.DismissibleTag, { disabled: disabled, type: tagType, onClose: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), renderIcon: icons.Draggable, title: "", text: item, ...tagProps })));
154
+ : (e) => accessibility.isAccessibleKeyDownEvent(e) && removeValue(item), filter: !nonDeletable || (nonDeletable && !initialTagItems.includes(item)), ...tagProps }, item))))));
184
155
  }
185
156
 
186
157
  exports.default = CreatableComponent;
@@ -117,18 +117,9 @@ function DataDrivenInput(props) {
117
117
  Component = Creatable$1;
118
118
  componentProps = {
119
119
  ...allInputProps,
120
- createKeyValuePair: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR ||
121
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
122
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
123
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
120
+ createKeyValuePair: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR || type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
124
121
  nonDeletable: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
125
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
126
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
127
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
128
- reorderable: type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE ||
129
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
130
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
131
- type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
122
+ type === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
132
123
  invalid: invalidInput,
133
124
  invalidText: invalidTextMessage,
134
125
  placeholder,
@@ -134,13 +134,7 @@ async function handleGoverningSelectChange({ formikProps, input, inputs, isInput
134
134
  /** Erase value of governed inputs */
135
135
  if (inputsGovernedByCurrentOne.length) {
136
136
  await inputsGovernedByCurrentOne.forEach(async (input) => {
137
- await handleGoverningSelectChange({
138
- formikProps,
139
- input,
140
- inputs,
141
- isInputBeingChanged: false,
142
- selectedItem: null,
143
- });
137
+ await handleGoverningSelectChange({ formikProps, input, inputs, isInputBeingChanged: false, selectedItem: null });
144
138
  });
145
139
  }
146
140
  // only the top governing select should display warnings if changed and reset touched status for governed ones
@@ -232,12 +226,8 @@ function generateYupAst({ inputs, allowCustomPropertySyntax, customPropertySynta
232
226
  if (inputType === DataDrivenInputTypes.MULTI_SELECT_TYPES.MULTI_SELECT ||
233
227
  inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE ||
234
228
  inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
235
- inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE ||
236
- inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
237
229
  inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR ||
238
230
  inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
239
- inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
240
- inputType === DataDrivenInputTypes.CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE ||
241
231
  inputType === DataDrivenInputTypes.CHECKBOX_TYPES.CHECKBOX) {
242
232
  if (useCSVforArrays) {
243
233
  yupValidationArray.push(["yup.string"]);
@@ -307,70 +307,67 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
307
307
  React__default.default.createElement("span", { className: headerTeamSwitcherCreateTeamButtonTextClassname }, createTeamButtonText),
308
308
  React__default.default.createElement(icons.AddAlt, { className: headerTeamSwitcherCreateTeamButtonIconClassname })))),
309
309
  allTeams.map((team) => {
310
- if (Boolean(team?.id)) {
311
- const isTeamSelected = team.id === selectedTeam?.id;
312
- if (team.type === TeamTypes.TEAM_TYPES.ACCOUNT) {
313
- const isSubmenuOpen = team.id === openAccountSubmenuId;
314
- const projectTeams = team.projectTeams;
315
- const existProjectTeams = Array.isArray(projectTeams) && projectTeams.length > 0;
316
- let selectedProjectTeamIndex = -1;
317
- if (existProjectTeams) {
318
- selectedProjectTeamIndex = projectTeams.findIndex((team) => team.id === selectedTeam?.id);
319
- }
320
- const isProjectTeamSelected = selectedProjectTeamIndex >= 0;
321
- const isMenuSelected = isTeamSelected || isProjectTeamSelected;
322
- if (existProjectTeams && isProjectTeamSelected) {
323
- const [removedTeam] = projectTeams.splice(selectedProjectTeamIndex, 1);
324
- projectTeams.unshift(removedTeam);
325
- }
326
- return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-account-menu` },
327
- React__default.default.createElement(react.HeaderMenuItem, { "aria-expanded": isSubmenuOpen, "aria-selected": isMenuSelected, className: headerDropdownMenuItemAccountContainerClassname, onClick: (e) => handleOpenAccountSubmenu({ e, id: team.id }),
328
- // eslint-disable-next-line no-script-url
329
- href: "javascript:void(0)", "data-testid": "header-team-switcher-menu-account-accordion" },
330
- React__default.default.createElement("div", { className: headerDropdownMenuItemAccountClassname },
331
- React__default.default.createElement("div", { className: headerDropdownMenuItemTextIconClassname },
332
- React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
333
- isMenuSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null),
334
- React__default.default.createElement("div", { className: headerDropdownMenuItemAccountIconsClassname },
335
- React__default.default.createElement(icons.GroupAccount, { className: headerDropdownMenuItemAccountGroupIconClassname }),
336
- React__default.default.createElement(icons.ChevronDown, { className: headerDropdownMenuItemAccountChevronIconClassname })))),
337
- React__default.default.createElement("div", { id: `${team.id}-account-submenu`, key: `${team.id}-account-submenu`, "aria-expanded": isSubmenuOpen, className: headerDropdownMenuItemAccountSubmenuClassname },
338
- React__default.default.createElement(react.HeaderMenuItem, { key: `${team.id}-menu-item`, id: `${team.id}-account-menu-item`, "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
339
- handleTeamClick({ team, type: "account" });
340
- }, "data-testid": "header-team-switcher-menu-account-accordion-item",
341
- // eslint-disable-next-line no-script-url
342
- href: "javascript:void(0)" },
343
- React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
344
- React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, "Account Page"),
345
- isTeamSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null)),
346
- projectTeams && projectTeams.length > 0
347
- ? projectTeams.map((team) => {
348
- const isTeamSelected = team.id === selectedTeam?.id;
349
- return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-project-menu-item` },
350
- React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
351
- handleTeamClick({ team, type: "project" });
352
- }, "data-testid": "header-team-switcher-menu-account-accordion-item",
353
- // eslint-disable-next-line no-script-url
354
- href: "javascript:void(0)" },
355
- React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
356
- React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
357
- isTeamSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null))));
358
- })
359
- : null)));
310
+ const isTeamSelected = team.id === selectedTeam?.id;
311
+ if (team.type === TeamTypes.TEAM_TYPES.ACCOUNT) {
312
+ const isSubmenuOpen = team.id === openAccountSubmenuId;
313
+ const projectTeams = team.projectTeams;
314
+ const existProjectTeams = Array.isArray(projectTeams) && projectTeams.length > 0;
315
+ let selectedProjectTeamIndex = -1;
316
+ if (existProjectTeams) {
317
+ selectedProjectTeamIndex = projectTeams.findIndex((team) => team.id === selectedTeam?.id);
318
+ }
319
+ const isProjectTeamSelected = selectedProjectTeamIndex >= 0;
320
+ const isMenuSelected = isTeamSelected || isProjectTeamSelected;
321
+ if (existProjectTeams && isProjectTeamSelected) {
322
+ const [removedTeam] = projectTeams.splice(selectedProjectTeamIndex, 1);
323
+ projectTeams.unshift(removedTeam);
360
324
  }
361
- else {
362
- return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-${team.type}-menu-item` },
363
- React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
364
- handleTeamClick({ team, type: team.type ?? "" });
365
- }, "data-testid": "header-team-switcher-menu-item",
325
+ return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-account-menu` },
326
+ React__default.default.createElement(react.HeaderMenuItem, { "aria-expanded": isSubmenuOpen, "aria-selected": isMenuSelected, className: headerDropdownMenuItemAccountContainerClassname, onClick: (e) => handleOpenAccountSubmenu({ e, id: team.id }),
327
+ // eslint-disable-next-line no-script-url
328
+ href: "javascript:void(0)", "data-testid": "header-team-switcher-menu-account-accordion" },
329
+ React__default.default.createElement("div", { className: headerDropdownMenuItemAccountClassname },
330
+ React__default.default.createElement("div", { className: headerDropdownMenuItemTextIconClassname },
331
+ React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
332
+ isMenuSelected ? React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null),
333
+ React__default.default.createElement("div", { className: headerDropdownMenuItemAccountIconsClassname },
334
+ React__default.default.createElement(icons.GroupAccount, { className: headerDropdownMenuItemAccountGroupIconClassname }),
335
+ React__default.default.createElement(icons.ChevronDown, { className: headerDropdownMenuItemAccountChevronIconClassname })))),
336
+ React__default.default.createElement("div", { id: `${team.id}-account-submenu`, key: `${team.id}-account-submenu`, "aria-expanded": isSubmenuOpen, className: headerDropdownMenuItemAccountSubmenuClassname },
337
+ React__default.default.createElement(react.HeaderMenuItem, { key: `${team.id}-menu-item`, id: `${team.id}-account-menu-item`, "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
338
+ handleTeamClick({ team, type: "account" });
339
+ }, "data-testid": "header-team-switcher-menu-account-accordion-item",
366
340
  // eslint-disable-next-line no-script-url
367
341
  href: "javascript:void(0)" },
368
- React__default.default.createElement("div", { className: headerDropdownMenuItemClassname },
369
- React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
370
- isTeamSelected ? React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null))));
371
- }
342
+ React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
343
+ React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, "Account Page"),
344
+ isTeamSelected ? React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null)),
345
+ projectTeams && projectTeams.length > 0
346
+ ? projectTeams.map((team) => {
347
+ const isTeamSelected = team.id === selectedTeam?.id;
348
+ return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-project-menu-item` },
349
+ React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
350
+ handleTeamClick({ team, type: "project" });
351
+ }, "data-testid": "header-team-switcher-menu-account-accordion-item",
352
+ // eslint-disable-next-line no-script-url
353
+ href: "javascript:void(0)" },
354
+ React__default.default.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
355
+ React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
356
+ isTeamSelected ? (React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null))));
357
+ })
358
+ : null)));
359
+ }
360
+ else {
361
+ return (React__default.default.createElement("div", { key: team.id, id: `${team.id}-${team.type}-menu-item` },
362
+ React__default.default.createElement(react.HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
363
+ handleTeamClick({ team, type: team.type ?? "" });
364
+ }, "data-testid": "header-team-switcher-menu-item",
365
+ // eslint-disable-next-line no-script-url
366
+ href: "javascript:void(0)" },
367
+ React__default.default.createElement("div", { className: headerDropdownMenuItemClassname },
368
+ React__default.default.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
369
+ isTeamSelected ? React__default.default.createElement(icons.CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null))));
372
370
  }
373
- return null;
374
371
  })))));
375
372
  }
376
373
  return null;
@@ -11,12 +11,8 @@ const CHECKBOX_TYPES = {
11
11
  const CREATABLE_TYPES = {
12
12
  CREATABLE_SINGLE: "creatable-single",
13
13
  CREATABLE_SINGLE_NON_DELETABLE: "creatable-single-non-deletable",
14
- CREATABLE_SINGLE_REORDERABLE: "creatable-single-reorderable",
15
- CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE: "creatable-single-reorderable-non-deletable",
16
14
  CREATABLE_PAIR: "creatable-pair",
17
15
  CREATABLE_PAIR_NON_DELETABLE: "creatable-pair-non-deletable",
18
- CREATABLE_PAIR_REORDERABLE: "creatable-pair-reorderable",
19
- CREATABLE_PAIR_REORDERABLE_NON_DELETABLE: "creatable-pair-reorderable-non-deletable",
20
16
  };
21
17
  const DATE_TYPES = {
22
18
  DATE: "date",
@@ -98,7 +98,8 @@ function AdvantageSideNav(props) {
98
98
  category: "Sidenav",
99
99
  destinationPath: redirectLink,
100
100
  });
101
- window.open(redirectLink, "_self", "noopener,noreferrer");
101
+ // window.open(redirectLink, "_self", "noopener,noreferrer");
102
+ navigateInternal(redirectLink);
102
103
  };
103
104
  const handleCreateJoinClick = () => {
104
105
  triggerEvent &&
@@ -130,6 +131,18 @@ function AdvantageSideNav(props) {
130
131
  };
131
132
  const chatSideNavLink = (React.createElement(SideNavLink, { "data-testid": "sidenav-chat-link", className: !enableChatButton ? `${prefix}--bmrg-advantage-sidenav__inactive-link` : "", isActive: windowLocation.href.includes(`${baseEnvUrl}/chat`), disabled: Boolean(!enableChatButton), renderIcon: ChatBot, href: enableChatButton && chatLink, onClick: enableChatButton ? handleChatClick : (e) => e.preventDefault() }, "Chat"));
132
133
  const showSecondDivider = showChatButton || toolsLink || agentAssistantStudioLink || agentAssistantLibraryLink || documentCollectionsLink;
134
+ const navigateInternal = (url) => {
135
+ const target = new URL(url, window.location.origin);
136
+ if (target.origin === window.location.origin) {
137
+ const pathname = target.pathname.startsWith("/ica")
138
+ ? target.pathname.slice(4) // removes "/ica"
139
+ : target.pathname;
140
+ history.push(pathname + target.search + target.hash);
141
+ }
142
+ else {
143
+ window.location.href = url;
144
+ }
145
+ };
133
146
  return (React.createElement(SideNav, { "aria-label": "sidenav-container", className: cx(`${prefix}--bmrg-advantage-sidenav-container`, className, {
134
147
  "--closed": !isMenuOpen,
135
148
  }), "data-testid": "sidenav-container", isRail: true, expanded: isMenuOpen, onMouseEnter: () => setActiveMenu(true), onMouseLeave: () => {
@@ -191,11 +204,24 @@ function AdvantageSideNav(props) {
191
204
  //href={documentCollectionsLink}
192
205
  className: `${prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Document Collections")) : null,
193
206
  showSecondDivider ? React.createElement(SideNavDivider, null) : null,
194
- catalogNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), href: catalogNavlink, renderIcon: Catalog }, "Catalog")) : null,
207
+ catalogNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-catalog-link", isActive: windowLocation.href.includes(`${baseEnvUrl}/catalog`), renderIcon: Catalog, onClick: (e) => {
208
+ e.preventDefault();
209
+ navigateInternal(catalogNavlink);
210
+ } }, "Catalog")) : null,
195
211
  settingsLink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-settings-link", renderIcon: Settings,
196
212
  // href={settingsLink}
197
- className: `${prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink) }, "Settings")) : null,
198
- adminNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-admin-link", href: adminNavlink, renderIcon: LicenseThirdParty }, "Admin")) : null),
213
+ className: `${prefix}--bmrg-advantage-sidenav__inactive-link` , disabled: Boolean(!AssistantStudioLink),
214
+ // onClick={(e: any) => {
215
+ // handleSettingsClick();
216
+ // }}
217
+ onClick: (e) => {
218
+ e.preventDefault();
219
+ navigateInternal(settingsLink);
220
+ } }, "Settings")) : null,
221
+ adminNavlink ? (React.createElement(SideNavLink, { "data-testid": "sidenav-admin-link", renderIcon: LicenseThirdParty, onClick: (e) => {
222
+ e.preventDefault();
223
+ navigateInternal(adminNavlink);
224
+ } }, "Admin")) : null),
199
225
  children ? (React.createElement(React.Fragment, null,
200
226
  React.createElement(SideNavDivider, null),
201
227
  children)) : null)));
@@ -1,9 +1,6 @@
1
1
  import React, { useState } from 'react';
2
- import { TextInput, Button, Tag, DismissibleTag } from '@carbon/react';
3
- import { Information, Add, Draggable } from '@carbon/react/icons';
4
- import { useSensors, useSensor, PointerSensor, DndContext, closestCenter } from '@dnd-kit/core';
5
- import { SortableContext, verticalListSortingStrategy, useSortable, arrayMove } from '@dnd-kit/sortable';
6
- import { CSS } from '@dnd-kit/utilities';
2
+ import { TextInput, Button, Tag } from '@carbon/react';
3
+ import { Information, Add } from '@carbon/react/icons';
7
4
  import cx from 'classnames';
8
5
  import TooltipHover from '../TooltipHover/TooltipHover.js';
9
6
  import { isAccessibleKeyDownEvent } from '../../tools/accessibility.js';
@@ -14,7 +11,7 @@ IBM Confidential
14
11
  694970X, 69497O0
15
12
  © Copyright IBM Corp. 2022, 2024
16
13
  */
17
- function CreatableComponent({ buttonClassName = `${prefix}--bmrg-creatable__button`, buttonContent = "Add", buttonProps, createKeyValuePair = false, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText = "", max, nonDeletable = false, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, reorderable, tagProps, tagType = "teal", textInputProps, tooltipClassName = `${prefix}--bmrg-creatable__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = "text", valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput = false, removeOnlyFirst = false, }) {
14
+ function CreatableComponent({ buttonClassName = `${prefix}--bmrg-creatable__button`, buttonContent = "Add", buttonProps, createKeyValuePair = false, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText = "", max, nonDeletable = false, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, tagProps, tagType = "teal", textInputProps, tooltipClassName = `${prefix}--bmrg-creatable__tooltip`, tooltipContent, tooltipProps = { direction: "top" }, type = "text", valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput = false, removeOnlyFirst = false, }) {
18
15
  const [keyValue, setKeyValue] = useState("");
19
16
  const [value, setValue] = useState("");
20
17
  const [input, setInput] = useState("");
@@ -122,21 +119,6 @@ function CreatableComponent({ buttonClassName = `${prefix}--bmrg-creatable__butt
122
119
  if (onChange)
123
120
  onChange(items);
124
121
  };
125
- const sensors = useSensors(useSensor(PointerSensor, {
126
- activationConstraint: { distance: 5 },
127
- }));
128
- function handleDragEnd(event) {
129
- const { active, over } = event;
130
- if (over && active.id !== over.id) {
131
- const oldIndex = tagItems.indexOf(active.id);
132
- const newIndex = tagItems.indexOf(over.id);
133
- const reorderedItems = arrayMove(tagItems, oldIndex, newIndex);
134
- setCreatedItems(reorderedItems);
135
- if (onChange) {
136
- onChange(reorderedItems);
137
- }
138
- }
139
- }
140
122
  return (React.createElement("div", { key: key, className: `${prefix}--bmrg-creatable` },
141
123
  React.createElement("div", { className: `${prefix}--bmrg-creatable__input` },
142
124
  createKeyValuePair ? (React.createElement("div", { className: `${prefix}--bmrg-creatable__key-value-inputs` },
@@ -158,20 +140,9 @@ function CreatableComponent({ buttonClassName = `${prefix}--bmrg-creatable__butt
158
140
  React.createElement(TooltipHover, { ...tooltipProps, tooltipText: tooltipContent },
159
141
  React.createElement(Information, { size: 16, fill: "currentColor" }))))), onBlur: onInputBlur, onChange: onInputChange, placeholder: placeholder, ref: inputRef, type: type, value: input, ...textInputProps })),
160
142
  React.createElement(Button, { className: createButtonClassName, disabled: isAddButtonDisabled, onClick: addValue, iconDescription: "Add", renderIcon: Add, size: "md", type: "button", ...buttonProps }, buttonContent)),
161
- reorderable ? (React.createElement(DndContext, { sensors: disabled ? [] : sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd },
162
- React.createElement(SortableContext, { items: tagsToShow, strategy: verticalListSortingStrategy },
163
- React.createElement("div", { className: `${prefix}--bmrg-creatable__tags--reorderable` }, tagsToShow.map((item, index) => (React.createElement(ReorderableTag, { key: `${item}-${index}`, disabled: disabled, initialTagItems: initialTagItems, item: item, nonDeletable: nonDeletable, removeValue: removeValue, tagProps: tagProps, tagType: tagType }))))))) : (React.createElement("div", { className: `${prefix}--bmrg-creatable__tags` }, tagsToShow.map((item, index) => (React.createElement(Tag, { key: `${item}-${index}`, disabled: disabled, type: tagType, onClick: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), onKeyDown: nonDeletable && initialTagItems.includes(item)
143
+ React.createElement("div", { className: `${prefix}--bmrg-creatable__tags` }, tagsToShow.map((item, index) => (React.createElement(Tag, { key: `${item}-${index}`, disabled: disabled, type: tagType, onClick: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), onKeyDown: nonDeletable && initialTagItems.includes(item)
164
144
  ? undefined
165
- : (e) => isAccessibleKeyDownEvent(e) && removeValue(item), filter: !nonDeletable || (nonDeletable && !initialTagItems.includes(item)), ...tagProps }, item)))))));
166
- }
167
- function ReorderableTag({ disabled, initialTagItems, item, nonDeletable, removeValue, tagProps, tagType, }) {
168
- const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: item });
169
- const style = {
170
- transform: CSS.Transform.toString(transform),
171
- transition,
172
- };
173
- return (React.createElement("div", { ref: setNodeRef, ...attributes, ...(!disabled ? listeners : {}), style: style },
174
- React.createElement(DismissibleTag, { disabled: disabled, type: tagType, onClose: nonDeletable && initialTagItems.includes(item) ? undefined : () => removeValue(item), renderIcon: Draggable, title: "", text: item, ...tagProps })));
145
+ : (e) => isAccessibleKeyDownEvent(e) && removeValue(item), filter: !nonDeletable || (nonDeletable && !initialTagItems.includes(item)), ...tagProps }, item))))));
175
146
  }
176
147
 
177
148
  export { CreatableComponent as default };
@@ -109,18 +109,9 @@ function DataDrivenInput(props) {
109
109
  Component = Creatable;
110
110
  componentProps = {
111
111
  ...allInputProps,
112
- createKeyValuePair: type === CREATABLE_TYPES.CREATABLE_PAIR ||
113
- type === CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
114
- type === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
115
- type === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
112
+ createKeyValuePair: type === CREATABLE_TYPES.CREATABLE_PAIR || type === CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
116
113
  nonDeletable: type === CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
117
- type === CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
118
- type === CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
119
- type === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
120
- reorderable: type === CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE ||
121
- type === CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
122
- type === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
123
- type === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE,
114
+ type === CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE,
124
115
  invalid: invalidInput,
125
116
  invalidText: invalidTextMessage,
126
117
  placeholder,
@@ -106,13 +106,7 @@ async function handleGoverningSelectChange({ formikProps, input, inputs, isInput
106
106
  /** Erase value of governed inputs */
107
107
  if (inputsGovernedByCurrentOne.length) {
108
108
  await inputsGovernedByCurrentOne.forEach(async (input) => {
109
- await handleGoverningSelectChange({
110
- formikProps,
111
- input,
112
- inputs,
113
- isInputBeingChanged: false,
114
- selectedItem: null,
115
- });
109
+ await handleGoverningSelectChange({ formikProps, input, inputs, isInputBeingChanged: false, selectedItem: null });
116
110
  });
117
111
  }
118
112
  // only the top governing select should display warnings if changed and reset touched status for governed ones
@@ -204,12 +198,8 @@ function generateYupAst({ inputs, allowCustomPropertySyntax, customPropertySynta
204
198
  if (inputType === MULTI_SELECT_TYPES.MULTI_SELECT ||
205
199
  inputType === CREATABLE_TYPES.CREATABLE_SINGLE ||
206
200
  inputType === CREATABLE_TYPES.CREATABLE_SINGLE_NON_DELETABLE ||
207
- inputType === CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE ||
208
- inputType === CREATABLE_TYPES.CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE ||
209
201
  inputType === CREATABLE_TYPES.CREATABLE_PAIR ||
210
202
  inputType === CREATABLE_TYPES.CREATABLE_PAIR_NON_DELETABLE ||
211
- inputType === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE ||
212
- inputType === CREATABLE_TYPES.CREATABLE_PAIR_REORDERABLE_NON_DELETABLE ||
213
203
  inputType === CHECKBOX_TYPES.CHECKBOX) {
214
204
  if (useCSVforArrays) {
215
205
  yupValidationArray.push(["yup.string"]);
@@ -298,70 +298,67 @@ function HeaderTeamSwitcher({ analyticsHelpers, baseServicesUrl, createJoinTeamT
298
298
  React.createElement("span", { className: headerTeamSwitcherCreateTeamButtonTextClassname }, createTeamButtonText),
299
299
  React.createElement(AddAlt, { className: headerTeamSwitcherCreateTeamButtonIconClassname })))),
300
300
  allTeams.map((team) => {
301
- if (Boolean(team?.id)) {
302
- const isTeamSelected = team.id === selectedTeam?.id;
303
- if (team.type === TEAM_TYPES.ACCOUNT) {
304
- const isSubmenuOpen = team.id === openAccountSubmenuId;
305
- const projectTeams = team.projectTeams;
306
- const existProjectTeams = Array.isArray(projectTeams) && projectTeams.length > 0;
307
- let selectedProjectTeamIndex = -1;
308
- if (existProjectTeams) {
309
- selectedProjectTeamIndex = projectTeams.findIndex((team) => team.id === selectedTeam?.id);
310
- }
311
- const isProjectTeamSelected = selectedProjectTeamIndex >= 0;
312
- const isMenuSelected = isTeamSelected || isProjectTeamSelected;
313
- if (existProjectTeams && isProjectTeamSelected) {
314
- const [removedTeam] = projectTeams.splice(selectedProjectTeamIndex, 1);
315
- projectTeams.unshift(removedTeam);
316
- }
317
- return (React.createElement("div", { key: team.id, id: `${team.id}-account-menu` },
318
- React.createElement(HeaderMenuItem, { "aria-expanded": isSubmenuOpen, "aria-selected": isMenuSelected, className: headerDropdownMenuItemAccountContainerClassname, onClick: (e) => handleOpenAccountSubmenu({ e, id: team.id }),
319
- // eslint-disable-next-line no-script-url
320
- href: "javascript:void(0)", "data-testid": "header-team-switcher-menu-account-accordion" },
321
- React.createElement("div", { className: headerDropdownMenuItemAccountClassname },
322
- React.createElement("div", { className: headerDropdownMenuItemTextIconClassname },
323
- React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
324
- isMenuSelected ? (React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null),
325
- React.createElement("div", { className: headerDropdownMenuItemAccountIconsClassname },
326
- React.createElement(GroupAccount, { className: headerDropdownMenuItemAccountGroupIconClassname }),
327
- React.createElement(ChevronDown, { className: headerDropdownMenuItemAccountChevronIconClassname })))),
328
- React.createElement("div", { id: `${team.id}-account-submenu`, key: `${team.id}-account-submenu`, "aria-expanded": isSubmenuOpen, className: headerDropdownMenuItemAccountSubmenuClassname },
329
- React.createElement(HeaderMenuItem, { key: `${team.id}-menu-item`, id: `${team.id}-account-menu-item`, "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
330
- handleTeamClick({ team, type: "account" });
331
- }, "data-testid": "header-team-switcher-menu-account-accordion-item",
332
- // eslint-disable-next-line no-script-url
333
- href: "javascript:void(0)" },
334
- React.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
335
- React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, "Account Page"),
336
- isTeamSelected ? (React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null)),
337
- projectTeams && projectTeams.length > 0
338
- ? projectTeams.map((team) => {
339
- const isTeamSelected = team.id === selectedTeam?.id;
340
- return (React.createElement("div", { key: team.id, id: `${team.id}-project-menu-item` },
341
- React.createElement(HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
342
- handleTeamClick({ team, type: "project" });
343
- }, "data-testid": "header-team-switcher-menu-account-accordion-item",
344
- // eslint-disable-next-line no-script-url
345
- href: "javascript:void(0)" },
346
- React.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
347
- React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
348
- isTeamSelected ? (React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null))));
349
- })
350
- : null)));
301
+ const isTeamSelected = team.id === selectedTeam?.id;
302
+ if (team.type === TEAM_TYPES.ACCOUNT) {
303
+ const isSubmenuOpen = team.id === openAccountSubmenuId;
304
+ const projectTeams = team.projectTeams;
305
+ const existProjectTeams = Array.isArray(projectTeams) && projectTeams.length > 0;
306
+ let selectedProjectTeamIndex = -1;
307
+ if (existProjectTeams) {
308
+ selectedProjectTeamIndex = projectTeams.findIndex((team) => team.id === selectedTeam?.id);
309
+ }
310
+ const isProjectTeamSelected = selectedProjectTeamIndex >= 0;
311
+ const isMenuSelected = isTeamSelected || isProjectTeamSelected;
312
+ if (existProjectTeams && isProjectTeamSelected) {
313
+ const [removedTeam] = projectTeams.splice(selectedProjectTeamIndex, 1);
314
+ projectTeams.unshift(removedTeam);
351
315
  }
352
- else {
353
- return (React.createElement("div", { key: team.id, id: `${team.id}-${team.type}-menu-item` },
354
- React.createElement(HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
355
- handleTeamClick({ team, type: team.type ?? "" });
356
- }, "data-testid": "header-team-switcher-menu-item",
316
+ return (React.createElement("div", { key: team.id, id: `${team.id}-account-menu` },
317
+ React.createElement(HeaderMenuItem, { "aria-expanded": isSubmenuOpen, "aria-selected": isMenuSelected, className: headerDropdownMenuItemAccountContainerClassname, onClick: (e) => handleOpenAccountSubmenu({ e, id: team.id }),
318
+ // eslint-disable-next-line no-script-url
319
+ href: "javascript:void(0)", "data-testid": "header-team-switcher-menu-account-accordion" },
320
+ React.createElement("div", { className: headerDropdownMenuItemAccountClassname },
321
+ React.createElement("div", { className: headerDropdownMenuItemTextIconClassname },
322
+ React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
323
+ isMenuSelected ? React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null),
324
+ React.createElement("div", { className: headerDropdownMenuItemAccountIconsClassname },
325
+ React.createElement(GroupAccount, { className: headerDropdownMenuItemAccountGroupIconClassname }),
326
+ React.createElement(ChevronDown, { className: headerDropdownMenuItemAccountChevronIconClassname })))),
327
+ React.createElement("div", { id: `${team.id}-account-submenu`, key: `${team.id}-account-submenu`, "aria-expanded": isSubmenuOpen, className: headerDropdownMenuItemAccountSubmenuClassname },
328
+ React.createElement(HeaderMenuItem, { key: `${team.id}-menu-item`, id: `${team.id}-account-menu-item`, "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
329
+ handleTeamClick({ team, type: "account" });
330
+ }, "data-testid": "header-team-switcher-menu-account-accordion-item",
357
331
  // eslint-disable-next-line no-script-url
358
332
  href: "javascript:void(0)" },
359
- React.createElement("div", { className: headerDropdownMenuItemClassname },
360
- React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
361
- isTeamSelected ? React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null))));
362
- }
333
+ React.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
334
+ React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, "Account Page"),
335
+ isTeamSelected ? React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null)),
336
+ projectTeams && projectTeams.length > 0
337
+ ? projectTeams.map((team) => {
338
+ const isTeamSelected = team.id === selectedTeam?.id;
339
+ return (React.createElement("div", { key: team.id, id: `${team.id}-project-menu-item` },
340
+ React.createElement(HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
341
+ handleTeamClick({ team, type: "project" });
342
+ }, "data-testid": "header-team-switcher-menu-account-accordion-item",
343
+ // eslint-disable-next-line no-script-url
344
+ href: "javascript:void(0)" },
345
+ React.createElement("div", { className: headerDropdownMenuItemClassname, style: { paddingLeft: "1rem" } },
346
+ React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
347
+ isTeamSelected ? (React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname })) : null))));
348
+ })
349
+ : null)));
350
+ }
351
+ else {
352
+ return (React.createElement("div", { key: team.id, id: `${team.id}-${team.type}-menu-item` },
353
+ React.createElement(HeaderMenuItem, { "aria-selected": isTeamSelected, className: headerDropdownMenuItemContainerClassname, onClick: () => {
354
+ handleTeamClick({ team, type: team.type ?? "" });
355
+ }, "data-testid": "header-team-switcher-menu-item",
356
+ // eslint-disable-next-line no-script-url
357
+ href: "javascript:void(0)" },
358
+ React.createElement("div", { className: headerDropdownMenuItemClassname },
359
+ React.createElement("span", { title: team.nameToDisplay, className: headerDropdownMenuItemTextClassname }, team.nameToDisplay),
360
+ isTeamSelected ? React.createElement(CheckmarkFilled, { className: headerDropdownMenuItemIconClassname }) : null))));
363
361
  }
364
- return null;
365
362
  })))));
366
363
  }
367
364
  return null;
@@ -9,12 +9,8 @@ const CHECKBOX_TYPES = {
9
9
  const CREATABLE_TYPES = {
10
10
  CREATABLE_SINGLE: "creatable-single",
11
11
  CREATABLE_SINGLE_NON_DELETABLE: "creatable-single-non-deletable",
12
- CREATABLE_SINGLE_REORDERABLE: "creatable-single-reorderable",
13
- CREATABLE_SINGLE_REORDERABLE_NON_DELETABLE: "creatable-single-reorderable-non-deletable",
14
12
  CREATABLE_PAIR: "creatable-pair",
15
13
  CREATABLE_PAIR_NON_DELETABLE: "creatable-pair-non-deletable",
16
- CREATABLE_PAIR_REORDERABLE: "creatable-pair-reorderable",
17
- CREATABLE_PAIR_REORDERABLE_NON_DELETABLE: "creatable-pair-reorderable-non-deletable",
18
14
  };
19
15
  const DATE_TYPES = {
20
16
  DATE: "date",
@@ -658,7 +658,6 @@ type Props$y = {
658
658
  onChange?: (items: string[]) => void;
659
659
  placeholder?: string;
660
660
  readOnly?: boolean;
661
- reorderable?: boolean;
662
661
  tagProps?: any;
663
662
  tagType?: string;
664
663
  textInputProps?: any;
@@ -673,7 +672,7 @@ type Props$y = {
673
672
  value?: string | string[];
674
673
  values?: string | string[];
675
674
  };
676
- declare function CreatableComponent({ buttonClassName, buttonContent, buttonProps, createKeyValuePair, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText, max, nonDeletable, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, reorderable, tagProps, tagType, textInputProps, tooltipClassName, tooltipContent, tooltipProps, type, valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput, removeOnlyFirst, }: Props$y): React.JSX.Element;
675
+ declare function CreatableComponent({ buttonClassName, buttonContent, buttonProps, createKeyValuePair, disabled, id, initialValues: externalInitialValues, invalid, invalidText, helperText, key, keyHelperText, keyLabel, keyLabelText, keyPlaceholder, label, labelText, max, nonDeletable, onKeyBlur, onValueBlur, onInputBlur, onChange, placeholder, tagProps, tagType, textInputProps, tooltipClassName, tooltipContent, tooltipProps, type, valueHelperText, valueLabel, valueLabelText, valuePlaceholder, value: externalValues, values, trimInput, removeOnlyFirst, }: Props$y): React.JSX.Element;
677
676
 
678
677
  type OwnDataDrivenInputProps = {
679
678
  id?: string;
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@boomerang-io/carbon-addons-boomerang-react",
3
3
  "description": "Carbon Addons for Boomerang apps",
4
- "version": "4.6.21-beta.42",
4
+ "version": "4.6.21-beta.43",
5
5
  "author": {
6
6
  "name": "Tim Bula",
7
7
  "email": "timrbula@gmail.com"
8
8
  },
9
9
  "license": "Apache-2",
10
- "repository": {
10
+ "repository": {
11
11
  "type": "git",
12
12
  "url": "git@github.com:boomerang-io/carbon-addons-boomerang-react"
13
13
  },
@@ -49,9 +49,6 @@
49
49
  "dependencies": {
50
50
  "@carbon/ibm-products": "2.57.1",
51
51
  "@carbon/react": "1.77.0",
52
- "@dnd-kit/core": "^6.3.1",
53
- "@dnd-kit/sortable": "^10.0.0",
54
- "@dnd-kit/utilities": "^3.2.2",
55
52
  "@stomp/stompjs": "6.1.2",
56
53
  "@tippyjs/react": "4.2.6",
57
54
  "classnames": "2.3.2",
@@ -4,6 +4,7 @@ IBM Confidential
4
4
  © Copyright IBM Corp. 2022, 2024
5
5
  */
6
6
 
7
+
7
8
  @use "../../global/config" as *;
8
9
  .#{$prefix}--bmrg-creatable {
9
10
  position: relative;
@@ -41,37 +42,6 @@ IBM Confidential
41
42
  width: 100%;
42
43
  }
43
44
 
44
- .#{$prefix}--bmrg-creatable__tags--reorderable {
45
- display: flex;
46
- flex-direction: column;
47
- margin-top: 0.5rem;
48
- width: 100%;
49
-
50
- .cds--tag {
51
- cursor: grab;
52
- margin-left: 0;
53
- min-width: 100%;
54
- width: 100%;
55
-
56
- .cds--tag__custom-icon ~ span {
57
- min-width: calc(100% - 1.25rem);
58
- }
59
-
60
- .cds--interactive--tag-children {
61
- max-inline-size: none !important;
62
- width: 100%;
63
-
64
- .cds--popover {
65
- display: none;
66
- }
67
- }
68
-
69
- .cds--tag__label {
70
- min-width: calc(100% - 1.5rem);
71
- }
72
- }
73
- }
74
-
75
45
  .#{$prefix}--bmrg-creatable__tooltip {
76
46
  line-height: 0;
77
47
  margin-left: 0.5rem;