@rh-support/manage 2.6.1 → 2.32.2-prodBackup

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.
Files changed (96) hide show
  1. package/lib/esm/components/Configs/ConfigsTable.d.ts.map +1 -1
  2. package/lib/esm/components/Configs/ConfigsTable.js +6 -4
  3. package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.d.ts.map +1 -1
  4. package/lib/esm/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.js +1 -1
  5. package/lib/esm/components/Groups/GroupSelect/GroupSelect.d.ts.map +1 -1
  6. package/lib/esm/components/Groups/GroupSelect/GroupSelect.js +54 -23
  7. package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.d.ts.map +1 -1
  8. package/lib/esm/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.js +19 -14
  9. package/lib/esm/components/Groups/ManageGroupUsers/ManageGroupUsers.js +5 -5
  10. package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.d.ts.map +1 -1
  11. package/lib/esm/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.js +15 -12
  12. package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.d.ts.map +1 -1
  13. package/lib/esm/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.js +106 -67
  14. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.d.ts.map +1 -1
  15. package/lib/esm/components/ManageBookmarkedAccountsTab/ManageGroupedBookmarkedAccountsTab.js +14 -21
  16. package/lib/esm/components/ManageExpiredContents/ExpiredContentCategory.js +4 -4
  17. package/lib/esm/components/ManageExpiredContents/ExpiredContentHeader.js +1 -1
  18. package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.d.ts.map +1 -1
  19. package/lib/esm/components/ManageExpiredContents/ExpiredContentManager.js +12 -12
  20. package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItem.js +3 -3
  21. package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.d.ts.map +1 -1
  22. package/lib/esm/components/ManageExpiredContents/ExpiredContentSingleItemView.js +37 -35
  23. package/lib/esm/components/ManagePartnerships/NonOrgCustomerInfoModal.d.ts.map +1 -1
  24. package/lib/esm/components/ManagePartnerships/NonOrgCustomerInfoModal.js +8 -5
  25. package/lib/esm/components/ManagePartnerships/PartnershipsList.d.ts.map +1 -1
  26. package/lib/esm/components/ManagePartnerships/PartnershipsList.js +8 -9
  27. package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.d.ts.map +1 -1
  28. package/lib/esm/components/ManagePartnerships/PartnershipsTermsModal.js +17 -20
  29. package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.d.ts.map +1 -1
  30. package/lib/esm/components/ManagePartnerships/RequestCollaborationModal.js +21 -25
  31. package/lib/esm/components/ManagePartnerships/Requests.d.ts.map +1 -1
  32. package/lib/esm/components/ManagePartnerships/Requests.js +9 -9
  33. package/lib/esm/components/ManagePartnerships/index.js +1 -1
  34. package/lib/esm/components/ManagePreferences/PreferencesHeader.d.ts.map +1 -1
  35. package/lib/esm/components/ManagePreferences/PreferencesHeader.js +1 -1
  36. package/lib/esm/components/ManagePreferences/components/PreferenceSelect.d.ts +1 -1
  37. package/lib/esm/components/ManagePreferences/components/PreferenceSelect.d.ts.map +1 -1
  38. package/lib/esm/components/ManagePreferences/components/PreferenceSelect.js +26 -27
  39. package/lib/esm/components/ManagePreferences/sections/PreferencesACL.js +5 -5
  40. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.d.ts.map +1 -1
  41. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseCreate.js +4 -5
  42. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.d.ts.map +1 -1
  43. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseSearch.js +3 -4
  44. package/lib/esm/components/ManagePreferences/sections/PreferencesCaseView.js +7 -8
  45. package/lib/esm/components/ManageTable/ManageTable.d.ts +3 -4
  46. package/lib/esm/components/ManageTable/ManageTable.d.ts.map +1 -1
  47. package/lib/esm/components/ManageTable/ManageTable.js +12 -18
  48. package/lib/esm/components/ManageTags/TagsManager.d.ts.map +1 -1
  49. package/lib/esm/components/ManageTags/TagsManager.js +58 -50
  50. package/lib/esm/components/NotificationEmails/NotificationEmailsModal.d.ts.map +1 -1
  51. package/lib/esm/components/NotificationEmails/NotificationEmailsModal.js +30 -23
  52. package/lib/esm/components/NotificationEmails/index.d.ts.map +1 -1
  53. package/lib/esm/components/NotificationEmails/index.js +10 -7
  54. package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimit.d.ts.map +1 -1
  55. package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimit.js +2 -3
  56. package/lib/esm/components/TopContentManagement/CategoryLimit/CategoryLimitGuidelines.js +6 -6
  57. package/lib/esm/components/TopContentManagement/CategoryLimit/QuestionAnswer.js +1 -1
  58. package/lib/esm/components/TopContentManagement/ContentUsage/ContentAccordion.d.ts.map +1 -1
  59. package/lib/esm/components/TopContentManagement/ContentUsage/ContentAccordion.js +7 -9
  60. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricClickCount.d.ts +1 -0
  61. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricClickCount.d.ts.map +1 -1
  62. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricClickCount.js +2 -2
  63. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetrics.d.ts.map +1 -1
  64. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetrics.js +12 -10
  65. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.d.ts +2 -3
  66. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.d.ts.map +1 -1
  67. package/lib/esm/components/TopContentManagement/ContentUsage/PerformanceMetricsSelect.js +16 -9
  68. package/lib/esm/components/TopContentManagement/ContentUsage/VersionPerformanceMetrics.d.ts.map +1 -1
  69. package/lib/esm/components/TopContentManagement/ContentUsage/VersionPerformanceMetrics.js +15 -16
  70. package/lib/esm/components/TopContentManagement/NoTopContentFound.d.ts.map +1 -1
  71. package/lib/esm/components/TopContentManagement/NoTopContentFound.js +14 -15
  72. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.d.ts.map +1 -1
  73. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/AddNewCategoryDropDown.js +47 -39
  74. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategory.js +4 -4
  75. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentCategoryNew.js +3 -3
  76. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentComponent.d.ts.map +1 -1
  77. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentComponent.js +4 -6
  78. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.d.ts.map +1 -1
  79. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItem.js +62 -53
  80. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItemLink.d.ts.map +1 -1
  81. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentCategoryContent/TopContentSingleItemLink.js +2 -3
  82. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.d.ts.map +1 -1
  83. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentEditor.js +8 -9
  84. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestion.js +2 -2
  85. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHint.js +4 -5
  86. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHintAccept.d.ts.map +1 -1
  87. package/lib/esm/components/TopContentManagement/TopContentEditor/TopContentSuggestion/TopContentSuggestionHintAccept.js +51 -25
  88. package/lib/esm/components/TopContentManagement/TopContentHeader.js +1 -1
  89. package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.d.ts.map +1 -1
  90. package/lib/esm/components/TopContentManagement/TopContentProductVersionSelector.js +64 -32
  91. package/lib/esm/reducers/TagManagmentReducer.d.ts +1 -1
  92. package/lib/esm/reducers/TagManagmentReducer.d.ts.map +1 -1
  93. package/lib/esm/scss/_main.scss +158 -25
  94. package/lib/esm/scss/_pf-overrides.scss +61 -53
  95. package/lib/esm/scss/index.scss +4 -4
  96. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigsTable.d.ts","sourceRoot":"","sources":["../../../../src/components/Configs/ConfigsTable.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,eAAO,MAAM,YAAY,yBA4JxB,CAAC"}
1
+ {"version":3,"file":"ConfigsTable.d.ts","sourceRoot":"","sources":["../../../../src/components/Configs/ConfigsTable.tsx"],"names":[],"mappings":"AAMA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,eAAO,MAAM,YAAY,yBA8JxB,CAAC"}
@@ -13,11 +13,12 @@ import { defaultTableSortMethod, ErrorBoundary, ToastNotification, useFetch } fr
13
13
  import { formatDate } from '@rh-support/utils';
14
14
  import isEmpty from 'lodash/isEmpty';
15
15
  import React, { useEffect, useState } from 'react';
16
- import { Trans } from 'react-i18next';
16
+ import { Trans, useTranslation } from 'react-i18next';
17
17
  import { ManageTable } from '../ManageTable/ManageTable';
18
18
  import { ConfigInLineEdit } from './ConfigInLineEdit';
19
19
  import { ConfigSwitch } from './ConfigSwitch';
20
20
  export const ConfigsTable = () => {
21
+ const { t } = useTranslation();
21
22
  const [configValues, setConfigValues] = useState([]);
22
23
  const [filteredValues, setFilteredValues] = useState([]);
23
24
  const [searchString, setSearchString] = useState('');
@@ -68,9 +69,10 @@ export const ConfigsTable = () => {
68
69
  },
69
70
  {
70
71
  // @ts-ignore
71
- cell: (data) => () => {
72
+ cell: (data) => {
72
73
  const value = data.fieldValue;
73
74
  const name = data.fieldName;
75
+ console.log(data);
74
76
  if (value === '0' || value === '1') {
75
77
  return (React.createElement(ConfigSwitch, { id: data.id, isChecked: value === '1' ? true : false, onChange: onUpdate, isUpdating: isUpdating, fieldName: name }));
76
78
  }
@@ -120,7 +122,7 @@ export const ConfigsTable = () => {
120
122
  React.createElement("div", { className: "toolbar-right" },
121
123
  React.createElement("label", { htmlFor: "search-config-filelds" },
122
124
  React.createElement(Trans, null, "Filter by")),
123
- React.createElement(SearchInput, { className: "pf-v5-u-flex-grow-1 pf-v5-c-search-input pf-v5-u-background-color-100", id: "search-config-filelds", placeholder: "Search for an existing config name", value: searchString, onChange: (_, value) => onSearchChange(value), onClear: () => onSearchChange(''), "aria-label": "Search for an existing config name" }))),
125
+ React.createElement(SearchInput, { className: "pf-v6-u-flex-grow-1 pf-v6-c-search-input pf-v6-u-background-color-100", id: "search-config-filelds", placeholder: "Search for an existing config name", value: searchString, onChange: (_, value) => onSearchChange(value), onClear: () => onSearchChange(''), "aria-label": "Search for an existing config name" }))),
124
126
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: 'There was an error loading config page' } },
125
- React.createElement(ManageTable, { sortInfo: { column: 'created-date', direction: 'desc' }, ariaLabel: 'Table to manage pcm config', columns: columns, data: filteredValues, isFetching: isFetching, isError: false, errorTitle: 'Config table error', errorComponent: React.createElement(Trans, null, "Could not get configs"), keepPageNumberOnDataChange: keepPageNumberOnDataChange }))));
127
+ React.createElement(ManageTable, { sortInfo: { column: 'created-date', direction: 'desc' }, ariaLabel: t('Table to manage pcm config'), columns: columns, data: filteredValues, isFetching: isFetching, isError: false, errorTitle: 'Config table error', errorComponent: React.createElement(Trans, null, "Could not get configs"), keepPageNumberOnDataChange: keepPageNumberOnDataChange }))));
126
128
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultGroupSwitch.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAIvF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,MAAM;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,kBAAkB,UAAW,MAAM,sBA6C/C,CAAC"}
1
+ {"version":3,"file":"DefaultGroupSwitch.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/DefualtGroupSwitch/DefaultGroupSwitch.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAIvF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,MAAM;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5D;AAED,eAAO,MAAM,kBAAkB,UAAW,MAAM,sBA4C/C,CAAC"}
@@ -34,6 +34,6 @@ export const DefaultGroupSwitch = (props) => {
34
34
  }
35
35
  });
36
36
  return (React.createElement(React.Fragment, null,
37
- React.createElement(Switch, { "aria-label": "Toggle default group", "data-tracking-id": `group-user-toggle-default-${user.isDefault ? 'off' : 'on'}`, label: t('On'), labelOff: t('Off'), id: id, isDisabled: user.access === false || user.write === false || toggleDefaultGroupFetch.isFetching, isChecked: user.isDefault, onChange: (_event, isChecked) => toggleDefault(isChecked) }),
37
+ React.createElement(Switch, { "aria-label": "Toggle default group", "data-tracking-id": `group-user-toggle-default-${user.isDefault ? 'off' : 'on'}`, label: t('On'), id: id, isDisabled: user.access === false || user.write === false || toggleDefaultGroupFetch.isFetching, isChecked: user.isDefault, onChange: (_event, isChecked) => toggleDefault(isChecked) }),
38
38
  React.createElement(LoadingIndicator, { show: toggleDefaultGroupFetch.isFetching, size: "xs" })));
39
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GroupSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/GroupSelect/GroupSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AA4B3E,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAKD,eAAO,MAAM,WAAW,UAAW,MAAM,sBAycxC,CAAC"}
1
+ {"version":3,"file":"GroupSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/GroupSelect/GroupSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAuC3E,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,UAAU,MAAM;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAKD,eAAO,MAAM,WAAW,UAAW,MAAM,sBAshBxC,CAAC"}
@@ -8,9 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { publicApi } from '@cee-eng/hydrajs';
11
- import { Dropdown, DropdownItem, DropdownToggle, Select, SelectOption, SelectVariant, } from '@patternfly/react-core/deprecated';
11
+ import { Button, Dropdown, MenuContent, MenuItem, MenuList, MenuToggle, Select, SelectList, SelectOption, Spinner, TextInput, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
12
12
  import CogIcon from '@patternfly/react-icons/dist/js/icons/cog-icon';
13
- import { AlertMessage, AlertType, ToastNotification, useConfirmation, useFetch, usePrevious, } from '@rh-support/components';
13
+ import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
14
+ import { AlertMessage, AlertType, ToastNotification, useConfirmation, useFetch, usePrevious, useSelectKeyboardNavigator, } from '@rh-support/components';
14
15
  import { fetchCaseGroupsForSSO, setCaseGroups, useGlobalDispatchContext, useGlobalStateContext, } from '@rh-support/react-context';
15
16
  import { ability, resourceActions, resources } from '@rh-support/user-permissions';
16
17
  import { haventLoadedMetadata } from '@rh-support/utils';
@@ -34,6 +35,8 @@ export const GroupSelect = (props) => {
34
35
  : t('Select a group to view accounts');
35
36
  const getGroup = useCallback((groupName) => (caseGroups.data || []).find((groupObj) => groupObj.name === groupName), [caseGroups]);
36
37
  const confirmation = useConfirmation();
38
+ const [input, setInput] = useState('');
39
+ const [shouldFilter, setShouldFilter] = useState(false);
37
40
  // Fetch groups on init
38
41
  useEffect(() => {
39
42
  var _a, _b;
@@ -53,12 +56,12 @@ export const GroupSelect = (props) => {
53
56
  }, [dispatch, loggedInUserJwtToken, caseGroups]);
54
57
  // handle dropdown open/close toggle.
55
58
  const [isOpen, setIsOpen] = useState(false);
56
- const toggleIsOpen = (isExpanded) => setIsOpen(isExpanded);
57
59
  // handle group selection
58
60
  const [selectedGroup, setSelectedGroup] = useState();
59
61
  const previouslySelectedGroup = usePrevious(selectedGroup);
60
62
  const onClear = () => {
61
63
  setSelectedGroup(null);
64
+ setShouldFilter(false);
62
65
  props.onSelect(null);
63
66
  };
64
67
  useEffect(() => {
@@ -66,10 +69,12 @@ export const GroupSelect = (props) => {
66
69
  onSelectProp(selectedGroup ? getGroup(selectedGroup) : null);
67
70
  }
68
71
  }, [selectedGroup, getGroup, onSelectProp, previouslySelectedGroup]);
69
- const onSelect = (event, group) => {
70
- const newGroup = getGroup(group);
72
+ const handleSelect = (group) => {
73
+ const newGroup = selectedGroup !== group.name;
74
+ setInput(group.name);
71
75
  if (newGroup) {
72
- setSelectedGroup(group);
76
+ setSelectedGroup(group.name);
77
+ setShouldFilter(false);
73
78
  }
74
79
  setIsOpen(false);
75
80
  };
@@ -91,17 +96,17 @@ export const GroupSelect = (props) => {
91
96
  const deleteGroupFetch = useFetch(publicApi.caseGroups.deleteGroup, { propgateErrors: true });
92
97
  const duplicateGroupFetch = useFetch(publicApi.caseGroups.createGroup, { propgateErrors: true });
93
98
  // group actions input state
94
- const [input, setInput] = useState('');
95
- const onMultiSelect = () => null;
96
- const onMultiClear = () => setInput('');
99
+ const textInputRef = useRef();
97
100
  const disableOnFetch = caseGroups.isFetching ||
98
101
  createGroupFetch.isFetching ||
99
102
  renameGroupFetch.isFetching ||
100
103
  deleteGroupFetch.isFetching ||
101
104
  duplicateGroupFetch.isFetching;
102
- const onChange = (e) => {
103
- setInput(e.target.value);
104
- return [];
105
+ const onChange = (e, value) => {
106
+ setInput(value);
107
+ if (value !== input) {
108
+ setShouldFilter(true);
109
+ }
105
110
  };
106
111
  useEffect(() => setInput(selectedGroup), [selectedGroup]);
107
112
  // group actions
@@ -261,13 +266,12 @@ export const GroupSelect = (props) => {
261
266
  setInput(selectedGroup);
262
267
  };
263
268
  const dropdownItems = [
264
- React.createElement(DropdownItem, { className: "create-group-action", isDisabled: !ability.can(resourceActions.CREATE, resources.CASE_GROUPS), key: "create", component: "button", onClick: onActionFocus(actions.create), "data-tracking-id": "manage-group-create" }, t('Create')),
265
- React.createElement(DropdownItem, { className: "create-group-action", isDisabled: !selectedGroup || !ability.can(resourceActions.UPDATE, resources.CASE_GROUPS), key: "rename", component: "button", onClick: onActionFocus(actions.rename), "data-tracking-id": "manage-group-rename" }, t('Rename')),
266
- React.createElement(DropdownItem, { className: "create-group-action", isDisabled: !selectedGroup || !ability.can(resourceActions.DELETE, resources.CASE_GROUPS), key: "delete", component: "button", onClick: onActionFocus(actions.delete), "data-tracking-id": "manage-group-delete" }, t('Delete')),
267
- React.createElement(DropdownItem, { className: "create-group-action", isDisabled: !selectedGroup || !ability.can(resourceActions.CREATE, resources.CASE_GROUPS), key: "duplicate", component: "button", "data-tracking-id": "manage-group-duplicate", onClick: onActionFocus(actions.duplicate) }, t('Duplicate')),
269
+ React.createElement(MenuItem, { className: "create-group-action", isDisabled: !ability.can(resourceActions.CREATE, resources.CASE_GROUPS), key: "create", onClick: onActionFocus(actions.create), "data-tracking-id": "manage-group-create" }, t('Create')),
270
+ React.createElement(MenuItem, { className: "create-group-action", isDisabled: !selectedGroup || !ability.can(resourceActions.UPDATE, resources.CASE_GROUPS), key: "rename", onClick: onActionFocus(actions.rename), "data-tracking-id": "manage-group-rename" }, t('Rename')),
271
+ React.createElement(MenuItem, { className: "create-group-action", isDisabled: !selectedGroup || !ability.can(resourceActions.DELETE, resources.CASE_GROUPS), key: "delete", onClick: onActionFocus(actions.delete), "data-tracking-id": "manage-group-delete" }, t('Delete')),
272
+ React.createElement(MenuItem, { className: "create-group-action", isDisabled: !selectedGroup || !ability.can(resourceActions.CREATE, resources.CASE_GROUPS), key: "duplicate", onClick: onActionFocus(actions.duplicate), "data-tracking-id": "manage-group-duplicate" }, t('Duplicate')),
268
273
  ];
269
- const dropdownToggle = (React.createElement(DropdownToggle, { isDisabled: props.isDisabled || disableOnFetch, toggleIndicator: null, onToggle: toggleIsDropdownOpen, "data-tracking-id": "manage-group-toggle-options", "aria-label": "Group actions dropdown toggle" },
270
- React.createElement(CogIcon, null)));
274
+ const dropdownToggle = (toggleRef) => (React.createElement(MenuToggle, { isFullHeight: true, className: "pf-v6-u-ml-sm manage-group-actions-toggle-options", ref: toggleRef, isDisabled: props.isDisabled || disableOnFetch, onClick: toggleIsDropdownOpen, isExpanded: isDropdownOpen, "data-tracking-id": "manage-group-toggle-options", "aria-label": "Group actions dropdown toggle", icon: React.createElement(CogIcon, null) }));
271
275
  const submitActionBtn = useRef();
272
276
  useEffect(() => {
273
277
  if (isEmpty(manageActionsRef.current))
@@ -316,18 +320,45 @@ export const GroupSelect = (props) => {
316
320
  const containsOnlySpecialChars = (str) => {
317
321
  return /^[^a-zA-Z0-9]*$/.test(str);
318
322
  };
323
+ const onToggleClick = () => {
324
+ var _a;
325
+ setIsOpen(!isOpen);
326
+ setShouldFilter(false);
327
+ (_a = textInputRef === null || textInputRef === void 0 ? void 0 : textInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
328
+ };
329
+ const filteredGroups = (caseGroups.data || [])
330
+ .filter((g) => g.groupNum !== unGroupedCaseGroupNumber)
331
+ .filter((g) => !shouldFilter ||
332
+ isEmpty(input && typeof input === 'string' && input.trim()) ||
333
+ g.name.toLowerCase().includes(input.toLowerCase()));
334
+ const { focusedItemIndex, onInputKeyDown } = useSelectKeyboardNavigator({
335
+ list: filteredGroups,
336
+ isOpen,
337
+ ignoreResetOnListChange: true,
338
+ resetIndexOnClose: true,
339
+ isDisabled: props.isDisabled,
340
+ setIsOpen,
341
+ onSelect: (selection) => handleSelect(selection),
342
+ });
343
+ const toggle = (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, variant: "typeahead", onClick: onToggleClick, isExpanded: isOpen, isFullWidth: true, isDisabled: props.isDisabled },
344
+ React.createElement(TextInputGroup, { isPlain: true },
345
+ React.createElement(TextInputGroupMain, { value: input, onClick: onToggleClick, onKeyDown: onInputKeyDown, onChange: onChange, autoComplete: "off", innerRef: textInputRef, placeholder: selectAGroupText, role: "combobox", isExpanded: isOpen, "aria-controls": "group-selector-listbox" }),
346
+ caseGroups.isFetching ? (React.createElement(TextInputGroupUtilities, null,
347
+ React.createElement(Spinner, { size: "md" }))) : (React.createElement(TextInputGroupUtilities, Object.assign({}, (!input ? { style: { display: 'none' } } : {})),
348
+ React.createElement(Button, { icon: React.createElement(TimesIcon, { "aria-hidden": true }), variant: "plain", onClick: onClear, "aria-label": "Clear input value" }))))));
319
349
  return (React.createElement("div", { ref: manageActionsRef, className: "toolbar-left" },
320
350
  showErrorMessage && (React.createElement(AlertMessage, { variant: AlertType.DANGER, title: t('Could not create group'), show: true })),
321
351
  !showErrorMessage && !showInput && (React.createElement(React.Fragment, null,
322
352
  React.createElement("label", null,
323
353
  React.createElement(Trans, null, "Group")),
324
- React.createElement(Select, { variant: SelectVariant.typeahead, isDisabled: caseGroups.isFetching || caseGroups.isError || props.isDisabled || disableOnFetch, "aria-label": "Select a group to view accounts", onToggle: (_event, isExpanded) => toggleIsOpen(isExpanded), onSelect: onSelect, onClear: onClear, noResultsFoundText: t('No results found'), selections: selectedGroup, isOpen: isOpen, "aria-labelledby": selectAGroupText, placeholderText: selectAGroupText, "data-tracking-id": "group-list-selector" }, (caseGroups.data || [])
325
- .filter((g) => g.groupNum !== unGroupedCaseGroupNumber)
326
- .map((data, index) => (React.createElement(SelectOption, { key: index, isSelected: data.name === selectedGroup, value: data.name }, data.name)))))),
327
- !showErrorMessage && showDropdown && (React.createElement(Dropdown, { className: "group-actions-dropdown group-action", onSelect: closeDropdown, toggle: dropdownToggle, isOpen: isDropdownOpen, "aria-label": t('Group actions dropdown'), isPlain: true, dropdownItems: dropdownItems })),
354
+ React.createElement(Select, { id: "group-selector", isOpen: isOpen, onSelect: (e, selection) => handleSelect(selection), onOpenChange: (isOpen) => setIsOpen(isOpen), toggle: toggle, selected: selectedGroup, shouldFocusFirstItemOnOpen: false, "aria-label": "Select a group to view accounts", "aria-labelledby": selectAGroupText, "data-tracking-id": "group-list-selector" },
355
+ React.createElement(SelectList, { id: "group-selector-listbox" }, filteredGroups.length > 0 ? (filteredGroups.map((group, index) => (React.createElement(SelectOption, { id: `group-option-${group.name}`, key: index, value: group, isFocused: focusedItemIndex === index, className: "pf-v6-c-select__menu-wrapper", isSelected: group.name === selectedGroup }, group.name)))) : (React.createElement(SelectOption, { key: "no-results", value: '' }, t('No results found'))))))),
356
+ !showErrorMessage && showDropdown && (React.createElement(Dropdown, { className: "group-actions-dropdown group-action", toggle: dropdownToggle, isOpen: isDropdownOpen, onOpenChange: (isOpen) => setIsDropdownOpen(isOpen), "aria-label": t('Group actions dropdown'), shouldFocusFirstItemOnOpen: false, shouldFocusToggleOnSelect: true },
357
+ React.createElement(MenuContent, null,
358
+ React.createElement(MenuList, null, dropdownItems)))),
328
359
  !showErrorMessage && showInput && (React.createElement("div", { className: "group-name-select" },
329
360
  React.createElement("div", { className: "group-name-buttons" },
330
- React.createElement(Select, { className: "group-select-input pf-v5-u-mr-sm", isDisabled: disableOnFetch, variant: SelectVariant.typeahead, "aria-label": t('Enter group name'), onToggle: onMultiSelect, onSelect: onMultiSelect, onClear: onMultiClear, onFilter: onChange, selections: input, isOpen: false, placeholderText: t('Enter group name') }),
361
+ React.createElement(TextInput, { className: "group-select-input pf-v6-u-mr-sm", isDisabled: disableOnFetch, "aria-label": t('Enter group name'), placeholder: t('Enter group name'), onChange: onChange, value: input || '' }),
331
362
  React.createElement("button", { ref: submitActionBtn, disabled: disableOnFetch || input.length === 0 || containsOnlySpecialChars(input), className: "btn btn-app btn-link group-action", onClick: onAction, "aria-label": "Group action submit", "data-tracking-id": "group-action-submit", type: "button" },
332
363
  React.createElement(Trans, null, "Save")),
333
364
  React.createElement("button", { key: "cancel", onClick: onGroupActionCancel, className: "btn btn-app btn-link group-action", disabled: disableOnFetch, "data-tracking-id": "group-action-cancel", "aria-label": "Group action cancel", type: "button" },
@@ -1 +1 @@
1
- {"version":3,"file":"GroupUserPermissionsSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAGlE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,UAAU,MAAM;IACZ,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CAClE;AAID,eAAO,MAAM,0BAA0B,UAAW,MAAM,sBAoFvD,CAAC"}
1
+ {"version":3,"file":"GroupUserPermissionsSelect.d.ts","sourceRoot":"","sources":["../../../../../src/components/Groups/GroupUserPermissionsSelect/GroupUserPermissionsSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAQlE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,UAAU,MAAM;IACZ,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CAClE;AAID,eAAO,MAAM,0BAA0B,UAAW,MAAM,sBAkFvD,CAAC"}
@@ -8,40 +8,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { publicApi } from '@cee-eng/hydrajs';
11
- import { Select, SelectOption } from '@patternfly/react-core/deprecated';
12
- import { LoadingIndicator, ToastNotification, useFetch } from '@rh-support/components';
11
+ import { LoadingIndicator, SingleSelectDropdown, ToastNotification, useFetch, } from '@rh-support/components';
13
12
  import React, { useEffect, useState } from 'react';
14
13
  import { useTranslation } from 'react-i18next';
15
14
  import { GroupUserPermissionOptions } from '../../../constants/GroupUserPermissionsOptions';
16
15
  const options = GroupUserPermissionOptions;
17
16
  export const GroupUserPermissionsSelect = (props) => {
18
17
  const { t } = useTranslation();
19
- const [isOpen, setIsOpen] = useState(false);
20
- const onToggle = () => setIsOpen(!isOpen);
21
18
  const [option, setOption] = useState(initialOptionsSelect(props.user));
22
- const onClear = () => setOption(null);
23
19
  const updateUsersFetch = useFetch(publicApi.caseGroups.updateUsers, { propgateErrors: true });
24
20
  // reset options when user changes
25
21
  useEffect(() => setOption(initialOptionsSelect(props.user)), [props.user]);
26
- const onSelect = (event, newOption) => __awaiter(void 0, void 0, void 0, function* () {
27
- setIsOpen(false);
28
- if (newOption === option) {
22
+ const onSelect = (newOption) => __awaiter(void 0, void 0, void 0, function* () {
23
+ if (newOption.value === option) {
29
24
  return;
30
25
  }
31
26
  try {
32
27
  let newUser = null;
33
28
  switch (true) {
34
- case options.readWrite === newOption:
29
+ case options.readWrite === newOption.value:
35
30
  newUser = Object.assign(Object.assign({}, props.user), { write: true, access: true });
36
31
  break;
37
- case options.read === newOption:
32
+ case options.read === newOption.value:
38
33
  newUser = Object.assign(Object.assign({}, props.user), { write: false, access: true });
39
34
  break;
40
- case options.noAccess === newOption:
35
+ case options.noAccess === newOption.value:
41
36
  newUser = Object.assign(Object.assign({}, props.user), { write: false, access: false });
42
37
  break;
43
38
  }
44
- setOption(newOption);
39
+ setOption(newOption.value);
45
40
  yield updateUsersFetch.request(props.account.accountNumber, props.group.groupNum, [newUser]);
46
41
  props.onChange(newUser);
47
42
  ToastNotification.addSuccessMessage(t(`User permission updated successfully`));
@@ -71,7 +66,17 @@ export const GroupUserPermissionsSelect = (props) => {
71
66
  * 3. We are fetching users
72
67
  * 4. Non-org admins cannot see the manage tab itself and thus that check is not added.
73
68
  */
74
- return (React.createElement(React.Fragment, null,
75
- React.createElement(Select, { isDisabled: updateUsersFetch.isFetching, className: "permissions-select", "aria-label": t('User permissions'), onToggle: onToggle, onSelect: onSelect, onClear: onClear, selections: option, isOpen: isOpen, "aria-labelledby": t('User permissions'), placeholderText: t('Select a permission') }, Object.keys(options).map((key) => (React.createElement(SelectOption, { key: key, value: options[key], "data-tracking-id": `group-user-permission-${key}` }, t(options[key]))))),
69
+ const getSelectedDropdownOption = {
70
+ label: option || '',
71
+ value: option || '',
72
+ };
73
+ const getDropdownOptions = () => {
74
+ return Object.keys(options).map((key) => ({
75
+ label: t(options[key]),
76
+ value: options[key],
77
+ }));
78
+ };
79
+ return (React.createElement("div", { className: "permissions-select" },
80
+ React.createElement(SingleSelectDropdown, { placeholder: 'Select a permission', className: "permissions-select", ariaLabel: t('User permissions'), options: getDropdownOptions(), onSelect: onSelect, isDisabled: updateUsersFetch.isFetching, selected: getSelectedDropdownOption }),
76
81
  React.createElement(LoadingIndicator, { show: updateUsersFetch.isFetching, size: "xs" })));
77
82
  };
@@ -132,7 +132,7 @@ export const ManageGroupUsers = () => {
132
132
  return (React.createElement(React.Fragment, null,
133
133
  React.createElement(AlertMessage, { variant: AlertType.INFO, show: loggedInUserRights.data.isOrgAdmin() &&
134
134
  !loggedInUsersAccount.data.hasGroupACLs &&
135
- !loggedInUserRights.data.isInternal(), isInline: true, className: "pf-v5-u-mb-md", title: t('Case Group ACL is not enabled') },
135
+ !loggedInUserRights.data.isInternal(), isInline: true, className: "pf-v6-u-mb-lg", title: t('Case Group ACL is not enabled') },
136
136
  React.createElement("p", null,
137
137
  React.createElement(Trans, { i18nKey: "i18nRequestControl" },
138
138
  "To use case groups to limit user access, enable the",
@@ -146,7 +146,7 @@ export const ManageGroupUsers = () => {
146
146
  }, "data-tracking-id": "case-contact-phone-number-review" }, "Preferences")),
147
147
  React.createElement("br", null),
148
148
  React.createElement(Trans, null, "You can organize and group related cases and filter on the case list page, but you cannot change permissions for case groups unless the Case Group ACL is enabled."))),
149
- React.createElement(AlertMessage, { variant: AlertType.INFO, show: loggedInUserRights.data.isInternal(), isInline: true, className: "pf-v5-u-mb-md", title: t('Case Group ACL is not available for internal users.') },
149
+ React.createElement(AlertMessage, { variant: AlertType.INFO, show: loggedInUserRights.data.isInternal(), isInline: true, className: "pf-v6-u-mb-lg", title: t('Case Group ACL is not available for internal users.') },
150
150
  React.createElement("p", null,
151
151
  React.createElement(Trans, { i18nKey: "i18nRequestControl" },
152
152
  "As an internal user you can use case group without ACL functionality. To use case groups to limit user access, customers can enable the",
@@ -161,14 +161,14 @@ export const ManageGroupUsers = () => {
161
161
  React.createElement("br", null),
162
162
  React.createElement(Trans, null, "Customers can organize and group related cases and filter on the case list page, but they cannot change permissions for case groups unless the Case Group ACL is enabled."))),
163
163
  React.createElement("header", null,
164
- React.createElement("h2", null, t('Groups')),
165
- React.createElement("p", null, t('Add or edit groups to easily filter while searching through cases.'))),
164
+ React.createElement("h2", { className: "pf-v6-u-pb-sm" }, t('Groups')),
165
+ React.createElement("p", null, t('To filter cases while searching, add or edit groups.'))),
166
166
  React.createElement("div", { className: "toolbar" },
167
167
  React.createElement(GroupSelect, { isDisabled: isFetching || disableGroupSelect, onSelect: onGroupSelect }),
168
168
  React.createElement("span", { className: "toolbar-right" },
169
169
  React.createElement("label", { htmlFor: "account-group-filter" },
170
170
  React.createElement(Trans, null, "Filter by")),
171
- React.createElement(SearchInput, { className: "pf-v5-u-flex-grow-1 pf-v5-c-search-input pf-v5-u-background-color-100", id: "account-group-filter", value: userSearch, isDisabled: isFetching || !selectedGroup, onChange: (_, value) => setUserSearch(value), placeholder: t('Search for people in this group'), "aria-label": "Group search input", onClear: () => setUserSearch('') }))),
171
+ React.createElement(SearchInput, { className: "pf-v6-u-flex-grow-1 pf-v6-c-search-input pf-v6-u-background-color-100", id: "account-group-filter", value: userSearch, isDisabled: isFetching || !selectedGroup, onChange: (_, value) => setUserSearch(value), placeholder: t('Search for people in this group'), "aria-label": "Group search input", onClear: () => setUserSearch('') }))),
172
172
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading group users list') } },
173
173
  React.createElement(ManageTable, { ariaLabel: t('Table to manage groups'), columns: columns, data: data, sortInfo: { column: 'first-name', direction: 'asc' }, isFetching: isFetching, isError: false }))));
174
174
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AddEditBookmarkModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,UAAU,MAAM;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,oBAAoB,UAAW,MAAM,sBA2IjD,CAAC"}
1
+ {"version":3,"file":"AddEditBookmarkModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/AddEditBookmarkModal.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAMnD,UAAU,MAAM;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,oBAAoB,UAAW,MAAM,sBA8IjD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Button, ButtonVariant, Modal, ModalVariant } from '@patternfly/react-core';
1
+ import { Button, ButtonVariant, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant, } from '@patternfly/react-core';
2
2
  import isEmpty from 'lodash/isEmpty';
3
3
  import isEqual from 'lodash/isEqual';
4
4
  import React, { useEffect, useState } from 'react';
@@ -70,18 +70,21 @@ export const AddEditBookmarkModal = (props) => {
70
70
  isEqual(props.selectedAccounts.map((a) => a.accountNumber).sort(), localSelectedBookmarks.map((a) => a.accountNumber).sort()) &&
71
71
  selectedGroup === ((_a = props.selectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.bookmarkGroupName));
72
72
  };
73
- return (React.createElement(Modal, { id: "Add-edit-bookmark-modal", className: "pf-modal-overflow-visible", title: props.title, "aria-describedby": "Add-edit-bookmark-modal", isOpen: props.isOpen, onClose: close, showClose: true, onEscapePress: props.onClose, variant: ModalVariant.medium, actions: [
73
+ return (React.createElement(Modal, { id: "Add-edit-bookmark-modal", className: "pf-modal-overflow-visible", "aria-describedby": "Add-edit-bookmark-modal", isOpen: props.isOpen, onClose: close, onEscapePress: props.onClose, variant: ModalVariant.medium },
74
+ React.createElement(ModalHeader, null,
75
+ React.createElement("h2", null, props.title)),
76
+ React.createElement(ModalBody, null,
77
+ React.createElement("div", null,
78
+ React.createElement("div", { className: "pf-v6-u-mb-lg" },
79
+ React.createElement(BookmarkGroupSelector, { selectedGroup: selectedGroup, groups: props.groups, onGroupInputBoxChanged: onGroupInputBoxChanged, isInValid: isInValid && (isPresentInGroups || isEmpty(selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.trim())), setIsInValid: setIsInValid, isPresentInGroups: isPresentInGroups })),
80
+ React.createElement("div", null,
81
+ React.createElement("label", { id: "add-bookmark-account-on-add-modal" },
82
+ React.createElement(Trans, null, "Account(s)"),
83
+ React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
84
+ React.createElement(BookmarkAccountSelector, { defaultSelected: props.selectedAccounts, labelId: "add-bookmark-account-on-add-modal", bookmarkedGroupAccounts: props.bookmarkedGroupAccounts, onBookMarkAccountSelected: onBookMarkAccountSelected, addMode: props.addMode, isInValid: isInValid && isEmpty(localSelectedBookmarks) })))),
85
+ React.createElement(ModalFooter, null,
74
86
  React.createElement(Button, { key: "save", variant: ButtonVariant.primary, onClick: save, isDisabled: isInValid || isNothingIsChangedOnEditMode() },
75
87
  React.createElement(Trans, null, "Save")),
76
88
  React.createElement(Button, { key: "cancel", variant: props.addMode ? ButtonVariant.link : ButtonVariant.secondary, onClick: close },
77
- React.createElement(Trans, null, "Cancel")),
78
- ] },
79
- React.createElement("div", null,
80
- React.createElement("div", { className: "pf-v5-u-mb-lg" },
81
- React.createElement(BookmarkGroupSelector, { selectedGroup: selectedGroup, groups: props.groups, onGroupInputBoxChanged: onGroupInputBoxChanged, isInValid: isInValid && (isPresentInGroups || isEmpty(selectedGroup === null || selectedGroup === void 0 ? void 0 : selectedGroup.trim())), setIsInValid: setIsInValid, isPresentInGroups: isPresentInGroups })),
82
- React.createElement("div", null,
83
- React.createElement("label", { id: "add-bookmark-account-on-add-modal" },
84
- React.createElement(Trans, null, "Account(s)"),
85
- React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
86
- React.createElement(BookmarkAccountSelector, { defaultSelected: props.selectedAccounts, labelId: "add-bookmark-account-on-add-modal", bookmarkedGroupAccounts: props.bookmarkedGroupAccounts, onBookMarkAccountSelected: onBookMarkAccountSelected, addMode: props.addMode, isInValid: isInValid && isEmpty(localSelectedBookmarks) })))));
89
+ React.createElement(Trans, null, "Cancel")))));
87
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BookmarkAccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAIhF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAO3E,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,UAAU,MAAM;IACZ,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,qBA6PpD;yBA7Pe,uBAAuB"}
1
+ {"version":3,"file":"BookmarkAccountSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ManageBookmarkedAccountsTab/BookmarkAccountSelector.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAmBhF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAC;AAO3E,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,UAAU,MAAM;IACZ,uBAAuB,EAAE,SAAS,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yBAAyB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,qBAyUpD;yBAzUe,uBAAuB"}