@rh-support/troubleshoot 2.6.20 → 2.6.21

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 (73) hide show
  1. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts +0 -1
  2. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  3. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +5 -31
  4. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  5. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +34 -33
  6. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +1 -2
  8. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  9. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +0 -1
  10. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
  11. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +22 -16
  12. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  13. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +95 -52
  14. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  15. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +19 -15
  16. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +1 -1
  17. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +8 -0
  18. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  19. package/lib/esm/components/CaseInformation/Fts.js +2 -6
  20. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  21. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +8 -5
  22. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
  23. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +7 -7
  24. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
  25. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +1 -1
  26. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts +0 -5
  27. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  28. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +12 -82
  29. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts +1 -0
  30. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts.map +1 -1
  31. package/lib/esm/components/shared/input/ContactSelectorInternal.js +6 -1
  32. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  33. package/lib/esm/components/wizardLayout/WizardLayout.js +4 -5
  34. package/lib/esm/components/wizardLayout/WizardMain.d.ts +1 -3
  35. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  36. package/lib/esm/components/wizardLayout/WizardMain.js +9 -115
  37. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts +0 -2
  38. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  39. package/lib/esm/components/wizardLayout/WizardNavigation.js +3 -11
  40. package/lib/esm/components/wizardLayout/index.d.ts +0 -1
  41. package/lib/esm/components/wizardLayout/index.d.ts.map +1 -1
  42. package/lib/esm/components/wizardLayout/index.js +0 -1
  43. package/lib/esm/context/RootTroubleshootProvider.d.ts.map +1 -1
  44. package/lib/esm/context/RootTroubleshootProvider.js +6 -8
  45. package/lib/esm/css/case.css +12 -0
  46. package/lib/esm/hooks/useWizard.d.ts +0 -4
  47. package/lib/esm/hooks/useWizard.d.ts.map +1 -1
  48. package/lib/esm/hooks/useWizard.js +1 -1
  49. package/lib/esm/reducers/CaseConstNTypes.d.ts +0 -2
  50. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  51. package/lib/esm/reducers/CaseConstNTypes.js +0 -2
  52. package/lib/esm/scss/_main.scss +13 -0
  53. package/lib/esm/scss/_pf-overrides.scss +5 -0
  54. package/package.json +6 -7
  55. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts +0 -7
  56. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts.map +0 -1
  57. package/lib/esm/components/TroubleshootSection/AskRedHat.js +0 -73
  58. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts +0 -9
  59. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts.map +0 -1
  60. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.js +0 -9
  61. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts +0 -9
  62. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts.map +0 -1
  63. package/lib/esm/components/TroubleshootSection/icons/StarIcon.js +0 -17
  64. package/lib/esm/context/AIResponseContext.d.ts +0 -10
  65. package/lib/esm/context/AIResponseContext.d.ts.map +0 -1
  66. package/lib/esm/context/AIResponseContext.js +0 -26
  67. package/lib/esm/css/AskRedHat.css +0 -283
  68. package/lib/esm/reducers/AIResponseConstNTypes.d.ts +0 -48
  69. package/lib/esm/reducers/AIResponseConstNTypes.d.ts.map +0 -1
  70. package/lib/esm/reducers/AIResponseConstNTypes.js +0 -16
  71. package/lib/esm/reducers/AIResponseReducer.d.ts +0 -9
  72. package/lib/esm/reducers/AIResponseReducer.d.ts.map +0 -1
  73. package/lib/esm/reducers/AIResponseReducer.js +0 -43
@@ -103,7 +103,7 @@ function CaseHostname(props) {
103
103
  React.createElement("p", null, "You can share this information at any time to improve your support experience."),
104
104
  React.createElement(Switch, { label: shareHostnameLabel, isChecked: isShareHostNamesChecked, onChange: onShareHostnameCheck }),
105
105
  isHostnamesLoading && (React.createElement(Spinner, { size: "lg", className: "pf-v6-u-ml-sm hostnameSpinner", "aria-label": "Hostname loading" }))));
106
- if (!canUseHostName && canUseHostName) {
106
+ if (!canUseHostName) {
107
107
  return React.createElement(React.Fragment, null);
108
108
  }
109
109
  const lengthError = (hostnameState === null || hostnameState === void 0 ? void 0 : hostnameState.length) > HOSTNAME_LENGTH_LIMIT;
@@ -81,11 +81,14 @@
81
81
  display: flex;
82
82
  align-items: center;
83
83
  }
84
+
84
85
  #options-menu-top-pagination {
85
86
  display: flex !important;
86
87
  flex-wrap: nowrap !important;
87
88
  justify-content: flex-start;
89
+ margin-left: 1rem;
88
90
  }
91
+
89
92
  .timeline-sort-order-select {
90
93
  width: auto;
91
94
  margin-left: 1rem;
@@ -282,6 +285,11 @@ ul#case-history-paginated-timeline {
282
285
  height: 100% !important;
283
286
  }
284
287
 
288
+ .case-history-timeline-datepicker .pf-v6-c-calendar-month__header-year input {
289
+ font-size: var(--pf-t--global--font--size--body--default);
290
+ line-height: var(--pf-t--global--font--line-height--body);
291
+ }
292
+
285
293
  .empty-state-date-picker {
286
294
  margin-left: 82%;
287
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Fts.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Fts.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAQD,iBAAS,GAAG,CAAC,KAAK,EAAE,MAAM,qBA2OzB;kBA3OQ,GAAG;;;AA8OZ,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"Fts.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/Fts.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAQD,iBAAS,GAAG,CAAC,KAAK,EAAE,MAAM,qBA+OzB;kBA/OQ,GAAG;;;AAkPZ,eAAe,GAAG,CAAC"}
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { InlineEdit, LoadingIndicator, PhoneInput, ToastNotification, usePrevious } from '@rh-support/components';
10
+ import { InlineEdit, LoadingIndicator, TextAreaAutosize, ToastNotification, usePrevious } from '@rh-support/components';
11
11
  import { useCanEditCase } from '@rh-support/react-context';
12
12
  import { isFtsEditableOnEditPage, PreviousCaseTypes, showFtsOnCaseViewEditPage, showFtsOnCreateCasePage, } from '@rh-support/utils';
13
13
  import isEmpty from 'lodash/isEmpty';
@@ -171,11 +171,7 @@ function Fts(props) {
171
171
  React.createElement("input", { type: "checkbox", id: "same-as-case-owner-phone", name: "same-as-case-owner-phone", "data-tracking-id": "same-as-case-owner-phone", checked: ftsContactSameAsOwner, onChange: onSetContactSameAsOwner }),
172
172
  React.createElement("label", { htmlFor: "same-as-case-owner-phone", className: "pf-v6-u-font-weight-normal pf-v6-u-font-size-md" },
173
173
  React.createElement(Trans, null, "Same as case owner's phone number")),
174
- React.createElement(PhoneInput
175
- // id="get-support-24-7-contact"
176
- , {
177
- // id="get-support-24-7-contact"
178
- isDisabled: disableFtsNContact || ftsContactSameAsOwner, "data-tracking-id": "get-support-24-7-contact", phoneValue: contactInfo24X7State || '', onPhoneValueChange: onFtsContactChange }),
174
+ React.createElement(TextAreaAutosize, { id: "get-support-24-7-contact", className: `form-control`, name: "get-support-24-7-contact", value: contactInfo24X7State, onChange: (event) => onFtsContactChange(event.target.value), disabled: disableFtsNContact || ftsContactSameAsOwner, "data-tracking-id": "get-support-24-7-contact" }),
179
175
  React.createElement("p", { className: "form-instructions" },
180
176
  React.createElement(Trans, null, "Please provide contact information where you can be reached at any time to help you with your case."))),
181
177
  (contactInfo24X7State === null || contactInfo24X7State === void 0 ? void 0 : contactInfo24X7State.length) > CONTACT_INFO_24X7_LIMIT && (React.createElement("div", { className: "pull-top" },
@@ -1 +1 @@
1
- {"version":3,"file":"RHAssociatesSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/RHAssociatesSelector.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,qBA+M1C;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"RHAssociatesSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseManagement/RHAssociatesSelector.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,oBAAoB,CAAC,KAAK,EAAE,MAAM,qBAqN1C;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -100,6 +100,7 @@ function RHAssociatesSelector(props) {
100
100
  onNotifiedUserChange([Object.assign(Object.assign({}, loggedInUser.data), { accountNumber: loggedInUserRights.data.getAccountNumber() })], true);
101
101
  });
102
102
  const removeCurrentUser = () => {
103
+ console.log(isCurrentUserSelectedInternalNotifiedUser());
103
104
  if (isCurrentUserSelectedInternalNotifiedUser()) {
104
105
  onNotifiedUserChange(filter(selectedNotificationContacts, (contact) => contact.ssoUsername !== loggedInUser.data.ssoUsername));
105
106
  }
@@ -110,21 +111,23 @@ function RHAssociatesSelector(props) {
110
111
  };
111
112
  const canNotifyRHAssociates = ability.can(resourceActions.PATCH, resources.CASE_CREATE, CaseListFields.NOTIFY_RH_ASSOCIATES);
112
113
  const toolTipRef = useRef();
114
+ const contactsToExclude = !isEmpty(selectedOwner.data) ? [{ ssoUsername: selectedOwner.data.ssoUsername }] : [];
113
115
  if (!canNotifyRHAssociates)
114
116
  return React.createElement(React.Fragment, null);
115
117
  return (React.createElement(React.Fragment, null, canNotifyRHAssociates && (React.createElement("div", { className: "form-group" },
116
118
  React.createElement("label", { className: "react-typeahead-label-wrapper", htmlFor: "get-support-notifications" },
117
119
  React.createElement(Trans, null, "Internal Contacts"),
118
- React.createElement(ContactSelectorInternal, { className: "push-bottom-narrow", selectedContacts: filter(selectedNotificationContacts, (c) => c.isInternal), showSelectedContacts: true, contactsToExclude: !isEmpty(selectedOwner.data) ? [{ ssoUsername: selectedOwner.data.ssoUsername }] : [], id: "open-case-rh-notifications", name: "open-case-rh-notifications", multiple: true, contactListParams: {
120
+ React.createElement(ContactSelectorInternal, { className: "push-bottom-narrow", selectedContacts: filter(selectedNotificationContacts, (c) => c.isInternal), showSelectedContacts: true, contactsToExclude: contactsToExclude, disableContactRemoval: contactsToExclude, id: "open-case-rh-notifications", name: "open-case-rh-notifications", multiple: true, contactListParams: {
119
121
  internal: false, // to get non-ldap contacts only
120
122
  isInternalContact: true,
121
123
  }, placeholder: t(`Add an internal associate to watch this case`), onSelect: onNotifiedUserChange, renderToken: renderToken, isUpdating: isRHAssociatesUpdating, "data-tracking-id": "case-contact-select-rh-watcher" })),
122
- caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-rh-watcher" },
124
+ caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { className: "add-watcher-button", variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-rh-watcher", isDisabled: isRHAssociatesUpdating },
123
125
  React.createElement(Trans, null, "Add me as a watcher"))),
124
- caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-v6-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
126
+ caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { className: "remove-me-as-watcher pf-v6-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
125
127
  React.createElement(Tooltip, { trigger: 'mouseenter focus', triggerRef: toolTipRef, position: TooltipPosition.top, content: React.createElement(Trans, null, "You are case contact and therefore you cannot be removed as watcher") }),
126
- React.createElement(Button, { variant: "tertiary", onClick: removeCurrentUser, type: "button", isDisabled: true, "data-tracking-id": "case-remove-me-rh-watcher-case-contact" },
127
- React.createElement(Trans, null, "Remove me as a watcher")))) : (React.createElement(Button, { variant: "secondary", onClick: removeCurrentUser, type: "button", "data-tracking-id": "case-remove-me-rh-watcher" },
128
+ React.createElement("div", { ref: toolTipRef },
129
+ React.createElement(Button, { className: "remove-watcher-button", variant: "tertiary", onClick: removeCurrentUser, isDisabled: true, "data-tracking-id": "case-remove-me-rh-watcher-case-contact" },
130
+ React.createElement(Trans, null, "Remove me as a watcher"))))) : (React.createElement(Button, { className: "remove-watcher-button", variant: "secondary", onClick: removeCurrentUser, "data-tracking-id": "case-remove-me-rh-watcher", isDisabled: isRHAssociatesUpdating },
128
131
  React.createElement(Trans, null, "Remove me as a watcher")))))))));
129
132
  }
130
133
  export { RHAssociatesSelector };
@@ -1 +1 @@
1
- {"version":3,"file":"CaseContactSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/CaseContactSelector.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAgBvE,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBA4czC;AAED,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"CaseContactSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/CaseContactSelector.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAgBvE,MAAM,WAAW,MAAM;CAAG;AAG1B,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAodzC;AAED,eAAe,mBAAmB,CAAC"}
@@ -17,7 +17,6 @@ import differenceBy from 'lodash/differenceBy';
17
17
  import filter from 'lodash/filter';
18
18
  import find from 'lodash/find';
19
19
  import intersection from 'lodash/intersection';
20
- import intersectionBy from 'lodash/intersectionBy';
21
20
  import isEmpty from 'lodash/isEmpty';
22
21
  import isEqual from 'lodash/isEqual';
23
22
  import map from 'lodash/map';
@@ -112,7 +111,7 @@ function CaseContactSelector(props) {
112
111
  });
113
112
  const processCaseContacts = (selectedContacts) => __awaiter(this, void 0, void 0, function* () {
114
113
  const toAdd = filter(differenceBy(selectedContacts, selectedNotificationContacts, 'ssoUsername'), (item) => item.ssoUsername !== contactSsoUsername);
115
- const toRemove = filter(intersectionBy(selectedContacts, selectedNotificationContacts, 'ssoUsername'), (item) => !item.isInternal && item.ssoUsername !== contactSsoUsername);
114
+ const toRemove = filter(differenceBy(selectedNotificationContacts, selectedContacts, 'ssoUsername'), (item) => !item.isInternal && item.ssoUsername !== contactSsoUsername);
116
115
  (toAdd.length || toRemove.length) && clearErrorState();
117
116
  if ((toAdd || []).length > 0) {
118
117
  if (loggedInUserRights.data.isOrgAdmin()) {
@@ -267,7 +266,7 @@ function CaseContactSelector(props) {
267
266
  React.createElement(CaseContactsSelectorExternal, { isDisabled: isUpdatingCustomEmails || isAssociatesUpdating, groupContactsAndEmails: true, allowCustomEmailAdd: true, contactSsoUsername: contactSsoUsername !== null && contactSsoUsername !== void 0 ? contactSsoUsername : '', loggedInUserRights: loggedInUserRights.data, selectedAccountNumber: accountNumber, selected: [
268
267
  ...customEmailsList.data,
269
268
  ...filter(selectedNotificationContacts, (c) => !c.isInternal),
270
- ], contactsToExclude: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onNotifiedUserChange, clearButton: true, multiple: true, placeholder: t(`Search for an email address or username of the person you want to notify`), id: "open-case-notifications", name: "open-case-notifications", className: "react-select-custom", renderToken: renderToken, isUpdating: isAssociatesUpdating ||
269
+ ], contactsToExclude: !isEmpty(selectedOwner.data) ? [selectedOwner.data] : [], onChange: onNotifiedUserChange, clearButton: true, multiple: true, placeholder: t('Search for an email address or username of the person you want to notify'), id: "open-case-notifications", name: "open-case-notifications", className: "react-select-custom", renderToken: renderToken, isUpdating: isAssociatesUpdating ||
271
270
  customEmailsList.isFetching ||
272
271
  isUpdatingCustomEmails ||
273
272
  isCaseOwnerUpdating, isExportingPDF: isExportingPDF, customEmails: accountCustomEmails.data || [], canAddNew: onAddNew, getCreateNewText: getCreateNewText })),
@@ -284,12 +283,13 @@ function CaseContactSelector(props) {
284
283
  " is not listed under your account. You can always",
285
284
  ' ',
286
285
  React.createElement(Button, { variant: "link", isInline: true, component: "span", onClick: onAddEmailToAccountBtnClick }, "add them at the account level"))))),
287
- caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-watcher" },
286
+ caseNumber && showAddWatchButton() && !isExportingPDF && (React.createElement(Button, { className: "add-watcher-button", variant: "secondary", onClick: addCurrentUser, type: "button", "data-tracking-id": "case-add-me-watcher", isDisabled: isUpdatingCustomEmails || isAssociatesUpdating },
288
287
  React.createElement(Trans, null, "Add me as a watcher"))),
289
- caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { ref: toolTipRef, className: "remove-me-as-watcher pf-v6-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
288
+ caseNumber && showRemoveWatchButton() && !isExportingPDF && (React.createElement("div", { className: "remove-me-as-watcher pf-v6-u-display-inline-block" }, isCurrentUserCaseContact ? (React.createElement(React.Fragment, null,
290
289
  React.createElement(Tooltip, { trigger: 'mouseenter focus', triggerRef: toolTipRef, position: TooltipPosition.top, content: React.createElement(Trans, null, "You are case contact and therefore you cannot be removed as watcher") }),
291
- React.createElement(Button, { variant: "tertiary", onClick: removeCurrentUser, type: "button", isDisabled: true, "data-tracking-id": "case-remove-me-watcher" },
292
- React.createElement(Trans, null, "Remove me as a watcher")))) : (React.createElement(Button, { variant: "secondary", onClick: removeCurrentUser, type: "button", "data-tracking-id": "case-remove-me-watcher" },
290
+ React.createElement("div", { className: "pf-v6-u-display-inline-block", ref: toolTipRef },
291
+ React.createElement(Button, { className: "remove-watcher-button", variant: "tertiary", onClick: removeCurrentUser, type: "button", isDisabled: true, "data-tracking-id": "case-remove-me-watcher" },
292
+ React.createElement(Trans, null, "Remove me as a watcher"))))) : (React.createElement(Button, { className: "remove-watcher-button", variant: "secondary", onClick: removeCurrentUser, isDisabled: isUpdatingCustomEmails || isAssociatesUpdating, type: "button", "data-tracking-id": "case-remove-me-watcher" },
293
293
  React.createElement(Trans, null, "Remove me as a watcher"))))))) : (React.createElement(NonOrgCaseNotifyeesSelector, { id: "open-case-notifications", placeholder: t('Enter an email address or username for the person you want to notify'), isDisabled: isAssociatesUpdating || customEmailsList.isFetching || isUpdatingCustomEmails, selectedItems: [
294
294
  ...customEmailsList.data,
295
295
  ...filter(selectedNotificationContacts, (c) => !c.isInternal),
@@ -1 +1 @@
1
- {"version":3,"file":"NonOrgCaseNotifyeesSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAwB,oBAAoB,EAAY,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,UAAU,MAAO,SAAQ,gBAAgB;IACrC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAqCD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBA0MxD"}
1
+ {"version":3,"file":"NonOrgCaseNotifyeesSelector.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAwB,oBAAoB,EAAY,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,UAAU,MAAO,SAAQ,gBAAgB;IACrC,aAAa,EAAE,oBAAoB,EAAE,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAqCD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBA2MxD"}
@@ -144,7 +144,7 @@ export function NonOrgCaseNotifyeesSelector(props) {
144
144
  const isContactOption = isContact(option);
145
145
  const isCurrentUserCaseContact = isContactOption && option.ssoUsername === props.contactSsoUsername;
146
146
  const isDisabled = (props.isChipDisabled && isContactOption) || isCurrentUserCaseContact;
147
- return (React.createElement(Label, { key: getKey(option) || index, onClose: !isDisabled ? () => onRemoveItem(option) : undefined, closeBtnAriaLabel: `Remove ${getHydraContactLabel(option)}`, variant: "outline" }, getHydraContactLabel(option)));
147
+ return (React.createElement(Label, { key: getKey(option) || index, onClose: () => onRemoveItem(option), isDisabled: isDisabled, closeBtnAriaLabel: `Remove ${getHydraContactLabel(option)}`, variant: "outline" }, getHydraContactLabel(option)));
148
148
  })));
149
149
  };
150
150
  const menu = (React.createElement(Menu, { ref: menuRef },
@@ -1,4 +1,3 @@
1
- import '@ifd-ui/ask-redhat-core/ask-redhat-core.css';
2
1
  import React from 'react';
3
2
  interface IProps {
4
3
  inlineEditable: boolean;
@@ -7,10 +6,6 @@ interface IProps {
7
6
  collapseOnBlur?: boolean;
8
7
  autoFocus?: boolean;
9
8
  hideSaveCancel?: boolean;
10
- isAIChatMode: boolean;
11
- setIsAIChatMode: (value: boolean) => void;
12
- onChatWithAIClick?: () => void;
13
- aiServicesAvailable: boolean;
14
9
  }
15
10
  declare function TroubleshootSection(props: IProps): React.JSX.Element;
16
11
  declare namespace TroubleshootSection {
@@ -1 +1 @@
1
- {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAAA,OAAO,6CAA6C,CAAC;AASrD,OAAO,KAAqB,MAAM,OAAO,CAAC;AAY1C,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;CAChC;AAUD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAsJzC;kBAtJQ,mBAAmB;;;AAyJ5B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAU1C,UAAU,MAAM;IACZ,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AASD,iBAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAoFzC;kBApFQ,mBAAmB;;;AAuF5B,eAAe,mBAAmB,CAAC"}
@@ -1,14 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import '@ifd-ui/ask-redhat-core/ask-redhat-core.css';
11
- import { AskRedHatChat, setAuthToken } from '@ifd-ui/ask-redhat-core';
12
1
  import { Card, CardBody, CardHeader, Tooltip } from '@patternfly/react-core';
13
2
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
14
3
  import { ErrorBoundary, LoadingDots } from '@rh-support/components';
@@ -17,31 +6,23 @@ import isEmpty from 'lodash/isEmpty';
17
6
  import isEqual from 'lodash/isEqual';
18
7
  import React, { useContext } from 'react';
19
8
  import { Trans, useTranslation } from 'react-i18next';
20
- import { useAIResponseState } from '../../context/AIResponseContext';
21
9
  import { useCaseSelector } from '../../context/CaseContext';
22
10
  import { TCStateContext } from '../../context/TopContentContext';
23
- import { appSourceId_ARH, excludedCaseTypesforARH } from '../../reducers/CaseConstNTypes';
24
11
  import { OpenShiftClusterId } from '../CaseManagement/OpenShiftClusterId';
25
12
  import ClusterRecommendations from '../Recommendations/ClusterRecommendations';
26
13
  import InsightsResults from '../Recommendations/InsightsResults';
27
14
  import Suggestions from '../Suggestions/Suggestions';
28
- import { AskRedHat } from './AskRedHat';
29
15
  const defaultProps = {
30
16
  initialIsEditing: false,
31
17
  required: false,
32
18
  collapseOnBlur: false,
33
19
  autoFocus: false,
34
20
  hideSaveCancel: false,
35
- aiServicesAvailable: false,
36
21
  };
37
22
  function TroubleshootSection(props) {
38
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23
+ var _a;
39
24
  const { t } = useTranslation();
40
- const { aiServicesAvailable, isAIChatMode, setIsAIChatMode, onChatWithAIClick } = props;
41
25
  const { topContentState: { topContent }, } = useContext(TCStateContext);
42
- const aiResponseState = useAIResponseState();
43
- const session = window === null || window === void 0 ? void 0 : window.sessionjs;
44
- const keycloakSession = (_b = (_a = session === null || session === void 0 ? void 0 : session._state) === null || _a === void 0 ? void 0 : _a.keycloak) !== null && _b !== void 0 ? _b : null;
45
26
  const { product, version, isCreatingCase, caseType } = useCaseSelector((state) => ({
46
27
  product: state.caseDetails.product,
47
28
  version: state.caseDetails.version,
@@ -51,69 +32,18 @@ function TroubleshootSection(props) {
51
32
  issue: state.caseDetails.issue,
52
33
  }), isEqual);
53
34
  const canShowTopProducts = isEmpty(product);
54
- const canShowTopContent = !canShowTopProducts && ((_c = topContent === null || topContent === void 0 ? void 0 : topContent.data) === null || _c === void 0 ? void 0 : _c.length) > 0;
35
+ const canShowTopContent = !canShowTopProducts && ((_a = topContent === null || topContent === void 0 ? void 0 : topContent.data) === null || _a === void 0 ? void 0 : _a.length) > 0;
55
36
  const isNotAnIdea = caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT;
56
- const isExcludedCaseType = excludedCaseTypesforARH.includes(caseType !== null && caseType !== void 0 ? caseType : '');
57
- const handleInitialized = (success, error) => {
58
- if (success) {
59
- console.log('Chat initialized successfully');
60
- }
61
- else {
62
- console.error('Chat initialization failed:', error);
63
- }
64
- };
65
- const preprocessRequest = () => __awaiter(this, void 0, void 0, function* () {
66
- var _a;
67
- if (!keycloakSession) {
68
- throw new Error('No Keycloak session available');
69
- }
70
- try {
71
- yield ((_a = session === null || session === void 0 ? void 0 : session.updateToken) === null || _a === void 0 ? void 0 : _a.call(session, 500));
72
- const token = session === null || session === void 0 ? void 0 : session.getEncodedToken();
73
- if (token) {
74
- setAuthToken(token);
75
- }
76
- else {
77
- throw new Error('No token available');
78
- }
79
- return Promise.resolve();
80
- }
81
- catch (error) {
82
- console.error('Failed to refresh token:', error);
83
- throw error;
84
- }
85
- });
86
- const initConfig = {
87
- packageVersion: (_d = window === null || window === void 0 ? void 0 : window.supportVersionInfo) === null || _d === void 0 ? void 0 : _d.packageVersion,
88
- appSourceId: appSourceId_ARH,
89
- enableDebugLogging: false,
90
- headerTitle: 'AI insights',
91
- showWelcomeMessage: false,
92
- conversationId: ((_e = aiResponseState.aiResponse) === null || _e === void 0 ? void 0 : _e.conversationId) || undefined,
93
- enableHeaderMenu: false,
94
- enableTheme: false,
95
- tokenAuth: {
96
- auth: {
97
- userInfo: (_h = (_g = (_f = window === null || window === void 0 ? void 0 : window.sessionjs) === null || _f === void 0 ? void 0 : _f.getToken) === null || _g === void 0 ? void 0 : _g.call(_f)) !== null && _h !== void 0 ? _h : {},
98
- authToken: (_k = (_j = window === null || window === void 0 ? void 0 : window.sessionjs) === null || _j === void 0 ? void 0 : _j.getEncodedToken()) !== null && _k !== void 0 ? _k : '',
99
- },
100
- events: {
101
- preprocessRequest,
102
- isAuthenticated: () => {
103
- var _a, _b, _c;
104
- return (_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.sessionjs) === null || _a === void 0 ? void 0 : _a.isAuthenticated) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : false;
105
- },
106
- },
107
- },
108
- onInitialized: handleInitialized,
109
- };
110
- const handleChatWithAIClick = () => {
111
- setIsAIChatMode(true);
112
- onChatWithAIClick === null || onChatWithAIClick === void 0 ? void 0 : onChatWithAIClick();
113
- };
114
- return (React.createElement(React.Fragment, null, isAIChatMode ? (React.createElement(AskRedHatChat, { initConfig: initConfig })) : (React.createElement(React.Fragment, null,
37
+ return (React.createElement(React.Fragment, null,
115
38
  React.createElement("section", null,
116
- !isExcludedCaseType && aiServicesAvailable && (React.createElement(AskRedHat, { onChatWithAIClick: handleChatWithAIClick })),
39
+ React.createElement("header", null,
40
+ React.createElement("p", { className: "pf-v6-u-pt-md" },
41
+ React.createElement("span", { className: "pf-v6-u-font-family-heading pf-v6-u-pr-xs" }, t('Product')),
42
+ " ",
43
+ product),
44
+ React.createElement("p", null,
45
+ React.createElement("span", { className: "pf-v6-u-font-family-heading pf-v6-u-pr-xs" }, t('Version')),
46
+ version)),
117
47
  !isCreatingCase && (React.createElement(OpenShiftClusterId, { className: "push-bottom", "data-tracking-id": "troubleshoot-section-openshift-cluster-id" })),
118
48
  React.createElement(LoadingDots, { show: topContent.isFetching }),
119
49
  topContent.data.length === 0 && (React.createElement(Card, { id: "card", className: "pf-v6-u-mb-md" },
@@ -126,7 +56,7 @@ function TroubleshootSection(props) {
126
56
  React.createElement(Trans, null, "No recommendations for this product")))),
127
57
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading suggestions') } }, canShowTopContent && !isEmpty(version) && React.createElement(Suggestions, null)),
128
58
  !isCreatingCase && React.createElement(ClusterRecommendations, { className: "pf-v6-u-mt-lg" })),
129
- React.createElement("section", { className: "pf-v6-u-mt-lg" }, isNotAnIdea && (React.createElement(InsightsResults, { isDisplayOnMain: true, "data-tracking-id": "troubleshoot-section-file-recs" })))))));
59
+ React.createElement("section", { className: "pf-v6-u-mt-lg" }, isNotAnIdea && (React.createElement(InsightsResults, { isDisplayOnMain: true, "data-tracking-id": "troubleshoot-section-file-recs" })))));
130
60
  }
131
61
  TroubleshootSection.defaultProps = defaultProps;
132
62
  export default TroubleshootSection;
@@ -8,6 +8,7 @@ export interface IProps {
8
8
  disabled?: boolean;
9
9
  selectedContacts?: IContact[];
10
10
  contactsToExclude?: IContact[];
11
+ disableContactRemoval?: IContact[];
11
12
  className?: string;
12
13
  id: string;
13
14
  typeAheadSize?: 'sm' | 'md' | 'lg';
@@ -1 +1 @@
1
- {"version":3,"file":"ContactSelectorInternal.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/input/ContactSelectorInternal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAqBrF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,GAAG,KAAA,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,qBAAa,uBAAwB,SAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACxE,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAC5C,QAAQ,oCAAuC;IAE/C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAalC;gBAEU,KAAK,EAAE,MAAM;IAYzB,gBAAgB,YAAa,QAAQ,KAAG,MAAM,CAS5C;IAEF,mBAAmB,aAAc,QAAQ,EAAE,KAAG,QAAQ,EAAE,CAGtD;IAEF,sBAAsB,MAAO,QAAQ,KAAG,OAAO,CAE7C;IAEF,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAmBpC,QAAQ,aAAoB,QAAQ,EAAE,mBAKpC;IAEF,YAAY,UAAiB,MAAM,mBA0CjC;IAEF,iBAAiB,UAAW,MAAM,UAiBhC;IAEF,YAAY,UAAW,GAAG,aAAa,GAAG,UAkBxC;IAEF,mBAAmB,oBAAqB,QAAQ,UAI9C;IAEF,aAAa,UAAW,KAAK,CAAC,aAAa,UAkCzC;IAEF,WAAW,aAIT;IAEF,UAAU,aAKR;IAEF,WAAW,aAGT;IAEF,QAAQ,aAEN;IAEF,MAAM;CAqGT"}
1
+ {"version":3,"file":"ContactSelectorInternal.d.ts","sourceRoot":"","sources":["../../../../../src/components/shared/input/ContactSelectorInternal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAsBrF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,MAAM;IACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,GAAG,KAAA,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CAClE;AAED,MAAM,WAAW,MAAM;IACnB,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,qBAAa,uBAAwB,SAAQ,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACxE,UAAU,EAAE,eAAe,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAC5C,QAAQ,oCAAuC;IAE/C,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,CAalC;gBAEU,KAAK,EAAE,MAAM;IAYzB,gBAAgB,YAAa,QAAQ,KAAG,MAAM,CAS5C;IAEF,mBAAmB,aAAc,QAAQ,EAAE,KAAG,QAAQ,EAAE,CAGtD;IAEF,sBAAsB,MAAO,QAAQ,KAAG,OAAO,CAE7C;IAEF,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAmBpC,QAAQ,aAAoB,QAAQ,EAAE,mBAKpC;IAEF,YAAY,UAAiB,MAAM,mBA0CjC;IAEF,iBAAiB,UAAW,MAAM,UAiBhC;IAEF,YAAY,UAAW,GAAG,aAAa,GAAG,UAkBxC;IAEF,mBAAmB,oBAAqB,QAAQ,UAI9C;IAEF,aAAa,UAAW,KAAK,CAAC,aAAa,UAkCzC;IAEF,WAAW,aAIT;IAEF,UAAU,aAKR;IAEF,WAAW,aAGT;IAEF,QAAQ,aAEN;IAEF,MAAM;CA6GT"}
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { contacts } from '@cee-eng/hydrajs';
11
11
  import { Button, Label, LabelGroup, MenuToggle, Select, SelectList, SelectOption, Spinner, TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, } from '@patternfly/react-core';
12
12
  import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
13
+ import { haltEvent } from '@rh-support/utils';
13
14
  import assign from 'lodash/assign';
14
15
  import differenceBy from 'lodash/differenceBy';
15
16
  import filter from 'lodash/filter';
@@ -212,7 +213,11 @@ export class ContactSelectorInternal extends React.Component {
212
213
  : searchValue;
213
214
  const toggle = (toggleRef) => (React.createElement(MenuToggle, { ref: toggleRef, variant: "typeahead", onClick: this.onToggle, isExpanded: isOpen, isDisabled: this.props.disabled || this.props.isUpdating, isFullWidth: true },
214
215
  React.createElement(TextInputGroup, { isPlain: true },
215
- React.createElement(TextInputGroupMain, { value: displayValue, onChange: (_, value) => this.handleInputChange(value), onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, placeholder: this.props.placeholder || 'Search contact by name or username', ref: this.inputRef, autoComplete: "off", isExpanded: isOpen, role: "combobox" }, this.props.multiple && selectedContacts.length > 0 && (React.createElement(LabelGroup, { "aria-label": "Selected contacts" }, selectedContacts.map((contact, index) => (React.createElement(Label, { key: contact.ssoUsername, variant: "outline", color: "blue", onClose: () => this.handleRemoveContact(contact) }, this.getSelectedLabel(contact))))))),
216
+ React.createElement(TextInputGroupMain, { value: displayValue, onChange: (_, value) => this.handleInputChange(value), onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, placeholder: this.props.placeholder || 'Search contact by name or username', ref: this.inputRef, autoComplete: "off", isExpanded: isOpen, role: "combobox" }, this.props.multiple && selectedContacts.length > 0 && (React.createElement(LabelGroup, { "aria-label": "Selected contacts" }, selectedContacts.map((contact, index) => {
217
+ var _a, _b;
218
+ const isDisabled = !!((_b = (_a = this.props) === null || _a === void 0 ? void 0 : _a.disableContactRemoval) === null || _b === void 0 ? void 0 : _b.find((v) => v.ssoUsername === contact.ssoUsername));
219
+ return (React.createElement(Label, { key: contact.ssoUsername, variant: "outline", color: "blue", onClick: haltEvent, onClose: () => this.handleRemoveContact(contact), isDisabled: isDisabled }, this.getSelectedLabel(contact)));
220
+ })))),
216
221
  React.createElement(TextInputGroupUtilities, null,
217
222
  isLoading && React.createElement(Spinner, { size: "sm" }),
218
223
  this.props.clearButton && (searchValue || selectedContacts.length > 0) && (React.createElement(Button, { variant: "plain", icon: React.createElement(TimesCircleIcon, null), onClick: this.handleClear, "aria-label": "Clear input" }))))));
@@ -1 +1 @@
1
- {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAyNzC"}
1
+ {"version":3,"file":"WizardLayout.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardLayout.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAcvG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;CACpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBAoNzC"}
@@ -35,7 +35,6 @@ import WizardMain from './WizardMain';
35
35
  export function WizardLayout(props) {
36
36
  const { routeState: { activeSection, isCaseCreate }, } = useContext(RouteContext);
37
37
  const { getMetadata } = useMetadata();
38
- const [isAIChatMode, setIsAIChatMode] = useState(false);
39
38
  const { caseCreationError, contactSSOName, caseType, product, caseState, ABTestVariation } = useCaseSelector((state) => ({
40
39
  caseState: state,
41
40
  caseCreationError: state.caseCreationError,
@@ -153,9 +152,9 @@ export function WizardLayout(props) {
153
152
  React.createElement(GlobalTroubleshootEffects, { routeProps: props.routeProps }),
154
153
  activeSection !== AppRouteSections.DESCRIBE_IDEA && (React.createElement(PreCaseConfirmationModals, { onModalClose: onModalClose, confirmationModalType: confirmationModalType, onConfirm: () => submitCaseAndNavigate(caseCreationError) })),
155
154
  React.createElement(Grid, { style: { height: '100%' } },
156
- React.createElement(GridItem, { sm: 12, md: 12, lg: isAIChatMode ? 12 : 8, xl2: isAIChatMode ? 12 : 8 },
157
- React.createElement(WizardMain, { routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate, confirmSupportModal: confirmSupportModal, isAIChatMode: isAIChatMode, setIsAIChatMode: setIsAIChatMode })),
158
- !isAIChatMode && (React.createElement(GridItem, { span: 4, className: "grid-wizard-aside-content" },
159
- React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps })))),
155
+ React.createElement(GridItem, { sm: 12, md: 12, lg: 8, xl2: 8 },
156
+ React.createElement(WizardMain, { routeProps: props.routeProps, submitCaseAndNavigate: submitCaseAndNavigate, confirmSupportModal: confirmSupportModal })),
157
+ React.createElement(GridItem, { span: 4, className: "grid-wizard-aside-content" },
158
+ React.createElement(WizardAside, { isAttachmentUploadModalOpen: confirmationModalType === PreCaseConfirmationModalsEnum.NO_ATTACHMENT_MODAL, routeProps: props.routeProps }))),
160
159
  React.createElement(AlertToastWrapper, { submitCaseAndNavigate: submitCaseAndNavigate, routeProps: props.routeProps })));
161
160
  }
@@ -1,12 +1,10 @@
1
- import React, { Dispatch, SetStateAction } from 'react';
1
+ import React from 'react';
2
2
  import { RouteComponentProps } from 'react-router-dom';
3
3
  import { IRouteUrlParams } from '../../reducers/RouteConstNTypes';
4
4
  interface IProps {
5
5
  routeProps: RouteComponentProps<IRouteUrlParams>;
6
6
  submitCaseAndNavigate: (isReSubmitting: boolean) => void;
7
7
  confirmSupportModal: (hasPreferredSecureSupportAccount: boolean) => void;
8
- isAIChatMode: boolean;
9
- setIsAIChatMode: Dispatch<SetStateAction<boolean>>;
10
8
  }
11
9
  declare function WizardMain(props: IProps): React.JSX.Element;
12
10
  export default WizardMain;
@@ -1 +1 @@
1
- {"version":3,"file":"WizardMain.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardMain.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAqD,MAAM,OAAO,CAAC;AAE3G,OAAO,EAAS,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAU9D,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAyCpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACtD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,qBAwShC;AACD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"WizardMain.d.ts","sourceRoot":"","sources":["../../../../src/components/wizardLayout/WizardMain.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAS,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO9D,OAAO,EAAoB,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOpF,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,mBAAmB,EAAE,CAAC,gCAAgC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5E;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,MAAM,qBAwMhC;AACD,eAAe,UAAU,CAAC"}