@rh-support/troubleshoot 2.1.21 → 2.2.0

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 (51) hide show
  1. package/lib/esm/components/AccountInfo/ManagedAccountsDropdown.js +1 -1
  2. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  3. package/lib/esm/components/AccountInfo/OwnerSelector.js +57 -19
  4. package/lib/esm/components/AccountInfo/css/accountSelector.css +4 -0
  5. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  6. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +60 -16
  7. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  8. package/lib/esm/components/CaseInformation/CaseInformation.js +3 -3
  9. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  10. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +20 -13
  11. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
  12. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +1 -5
  13. package/lib/esm/components/CaseManagement/CaseManagement.js +4 -4
  14. package/lib/esm/components/CaseManagement/Cep.js +1 -1
  15. package/lib/esm/components/IdeaInformation/IdeaInformtion.d.ts.map +1 -1
  16. package/lib/esm/components/IdeaInformation/IdeaInformtion.js +4 -4
  17. package/lib/esm/components/ProductSelector/AllProductsSelector.js +2 -2
  18. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  19. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +1 -1
  20. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +1 -1
  21. package/lib/esm/components/ProductSelector/ProductSelector.js +2 -2
  22. package/lib/esm/components/Recommendations/AsideResults.js +1 -1
  23. package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
  24. package/lib/esm/components/SubmitCase/SubmitCase.js +9 -7
  25. package/lib/esm/components/Suggestions/Suggestions.js +1 -1
  26. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  27. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +13 -6
  28. package/lib/esm/components/shared/fileUpload/FileLister.js +1 -1
  29. package/lib/esm/components/shared/fileUpload/UploadButton.d.ts.map +1 -1
  30. package/lib/esm/components/shared/fileUpload/UploadButton.js +2 -1
  31. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts.map +1 -1
  32. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +17 -3
  33. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -1
  34. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts +2 -1
  35. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
  36. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +28 -10
  37. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  38. package/lib/esm/components/shared/useIsSectionValid.js +24 -6
  39. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  40. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +2 -0
  41. package/lib/esm/constants/caseDetailsConstants.d.ts +0 -1
  42. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  43. package/lib/esm/constants/caseDetailsConstants.js +0 -1
  44. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  45. package/lib/esm/reducers/CaseConstNTypes.js +4 -2
  46. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  47. package/lib/esm/reducers/CaseHelpers.js +12 -8
  48. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  49. package/lib/esm/reducers/CaseReducer.js +2 -0
  50. package/lib/esm/scss/_pf4-overrides.scss +40 -0
  51. package/package.json +8 -8
@@ -31,7 +31,7 @@ function ManagedAccountsDropdown(props) {
31
31
  React.createElement(InfoCircleIcon, null),
32
32
  " ",
33
33
  React.createElement(Trans, null, "Subscription abuse"))))), children: (React.createElement(React.Fragment, null, account.subscriptionAbuse ? (React.createElement("span", { className: "form-instructions form-invalid" }, getLabelForAccountOption(account))) : (getLabelForAccountOption(account)))) }, account))) || [];
34
- return (React.createElement(Dropdown, { className: `push-top ${props.className}`, id: props.id, placeholder: "Select a managed account", list: toOptions(managedAccountsOptions, {
34
+ return (React.createElement(Dropdown, { className: `margin-top ${props.className}`, id: props.id, placeholder: "Select a managed account", list: toOptions(managedAccountsOptions, {
35
35
  childrenKey: 'children',
36
36
  actionItemKey: 'actionItem',
37
37
  }), selectedItem: selectedItem, title: `Select a managed account`, onChange: props.onManagedAccountChange, disabled: props.disabled || managedAccountsOptions.length === 0 }));
@@ -1 +1 @@
1
- {"version":3,"file":"OwnerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/OwnerSelector.tsx"],"names":[],"mappings":"AAqCA,UAAU,MAAM;CAAG;AAEnB,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,eA0RnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"OwnerSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/AccountInfo/OwnerSelector.tsx"],"names":[],"mappings":"AAqCA,UAAU,MAAM;CAAG;AAEnB,iBAAS,aAAa,CAAC,KAAK,EAAE,MAAM,eA6TnC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -52,22 +52,41 @@ function OwnerSelector(props) {
52
52
  const canEditCase = useCanEditCase();
53
53
  const setContactPhoneNumber = (sso) => __awaiter(this, void 0, void 0, function* () {
54
54
  if (sso === loggedInUser.data.ssoUsername) {
55
- setCaseDetails(caseDispatch, {
56
- phone: loggedInUser.data.phone,
57
- suppliedPhoneNumberVerified: 'True',
58
- });
55
+ if (loggedInUser.data.supportPhoneAreaCodePrefixLineNumber) {
56
+ setCaseDetails(caseDispatch, {
57
+ phoneAreaCodePrefixLineNumber: loggedInUser.data.supportPhoneAreaCodePrefixLineNumber,
58
+ phoneCountryCode: loggedInUser.data.supportPhoneCountryCode,
59
+ suppliedPhoneNumberVerified: 'True',
60
+ });
61
+ }
62
+ else {
63
+ setCaseDetails(caseDispatch, {
64
+ phone: loggedInUser.data.phone,
65
+ suppliedPhoneNumberVerified: 'True',
66
+ });
67
+ }
59
68
  }
60
69
  else {
61
70
  try {
62
71
  const selectedContact = yield contacts.getSFDCContactBySso(sso);
63
- setCaseDetails(caseDispatch, {
64
- phone: selectedContact.phone,
65
- suppliedPhoneNumberVerified: 'Deferred',
66
- });
72
+ if (selectedContact.supportPhoneAreaCodePrefixLineNumber) {
73
+ setCaseDetails(caseDispatch, {
74
+ phoneAreaCodePrefixLineNumber: selectedContact.supportPhoneAreaCodePrefixLineNumber,
75
+ phoneCountryCode: selectedContact.supportPhoneCountryCode,
76
+ suppliedPhoneNumberVerified: 'True',
77
+ });
78
+ }
79
+ else {
80
+ setCaseDetails(caseDispatch, {
81
+ phone: selectedContact.phone,
82
+ suppliedPhoneNumberVerified: 'Deferred',
83
+ });
84
+ }
67
85
  }
68
86
  catch (e) {
69
87
  setCaseDetails(caseDispatch, {
70
- phone: '',
88
+ phoneAreaCodePrefixLineNumber: '',
89
+ phoneCountryCode: '',
71
90
  suppliedPhoneNumberVerified: 'Deferred',
72
91
  });
73
92
  }
@@ -76,22 +95,41 @@ function OwnerSelector(props) {
76
95
  const updateContactPhoneNumber = (sso) => __awaiter(this, void 0, void 0, function* () {
77
96
  try {
78
97
  if (sso === loggedInUser.data.ssoUsername) {
79
- yield updateCaseDetails(caseDispatch, caseNumber, {
80
- phone: loggedInUser.data.phone,
81
- suppliedPhoneNumberVerified: 'Deferred',
82
- });
98
+ if (loggedInUser.data.supportPhoneAreaCodePrefixLineNumber) {
99
+ updateCaseDetails(caseDispatch, caseNumber, {
100
+ phoneAreaCodePrefixLineNumber: loggedInUser.data.supportPhoneAreaCodePrefixLineNumber,
101
+ phoneCountryCode: loggedInUser.data.supportPhoneCountryCode,
102
+ suppliedPhoneNumberVerified: 'True',
103
+ });
104
+ }
105
+ else {
106
+ yield updateCaseDetails(caseDispatch, caseNumber, {
107
+ phone: loggedInUser.data.phone,
108
+ suppliedPhoneNumberVerified: 'Deferred',
109
+ });
110
+ }
83
111
  }
84
112
  else {
85
113
  try {
86
114
  const selectedContact = yield contacts.getSFDCContactBySso(sso);
87
- yield updateCaseDetails(caseDispatch, caseNumber, {
88
- phone: selectedContact.phone,
89
- suppliedPhoneNumberVerified: 'Deferred',
90
- });
115
+ if (selectedContact.supportPhoneAreaCodePrefixLineNumber) {
116
+ updateCaseDetails(caseDispatch, caseNumber, {
117
+ phoneAreaCodePrefixLineNumber: selectedContact.supportPhoneAreaCodePrefixLineNumber,
118
+ phoneCountryCode: selectedContact.supportPhoneCountryCode,
119
+ suppliedPhoneNumberVerified: 'True',
120
+ });
121
+ }
122
+ else {
123
+ yield updateCaseDetails(caseDispatch, caseNumber, {
124
+ phone: selectedContact.phone,
125
+ suppliedPhoneNumberVerified: 'Deferred',
126
+ });
127
+ }
91
128
  }
92
129
  catch (e) {
93
130
  yield updateCaseDetails(caseDispatch, caseNumber, {
94
- phone: '',
131
+ phoneAreaCodePrefixLineNumber: '',
132
+ phoneCountryCode: '',
95
133
  suppliedPhoneNumberVerified: 'Deferred',
96
134
  });
97
135
  }
@@ -209,7 +247,7 @@ function OwnerSelector(props) {
209
247
  const showUsersWithSelectedGroupAccess = caseNumber &&
210
248
  (selectedCaseGroupUsers.isFetching ||
211
249
  (!selectedCaseGroupUsers.isFetching && (selectedCaseGroupUsers.data || []).length > 0));
212
- return (React.createElement("div", { className: "form-group" },
250
+ return (React.createElement("div", { className: "form-group get-support-owner-wapper" },
213
251
  React.createElement("label", { htmlFor: "get-support-owner" },
214
252
  React.createElement(Trans, null, "Owner"),
215
253
  React.createElement(ValueChangedIcon, { afterLocalChange: afterLocalChange, comparator: ownerComparator, isLocalChange: localOwnerChange, value: selectedOwner.data, getTooltipContent: getChangedValueTooltip(() => CaseValuesToWatch.owner, (v) => v.fullNameCustom) }),
@@ -1,3 +1,7 @@
1
1
  .preview-case .account-selector-wrapper .account-selector {
2
2
  width: 100%;
3
3
  }
4
+
5
+ .get-support-owner-wapper input {
6
+ min-height: 36px;
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,sBAAsB,gBA8GrC"}
1
+ {"version":3,"file":"CaseContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,sBAAsB,gBAuKrC"}
@@ -7,6 +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 { contacts } from '@cee-eng/hydrajs';
10
11
  import { InputGroupText, InputGroupTextVariant, ValidatedOptions } from '@patternfly/react-core';
11
12
  import CheckIcon from '@patternfly/react-icons/dist/js/icons/check-icon';
12
13
  import TimesIcon from '@patternfly/react-icons/dist/js/icons/times-icon';
@@ -15,7 +16,6 @@ import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-co
15
16
  import isEqual from 'lodash/isEqual';
16
17
  import React, { useContext, useState } from 'react';
17
18
  import { Trans, useTranslation } from 'react-i18next';
18
- import { PHONE_INSTRUCTION } from '../../../../constants/caseDetailsConstants';
19
19
  import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
20
20
  import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
21
21
  import { PHONE_LIMIT } from '../../../../reducers/CaseConstNTypes';
@@ -23,8 +23,9 @@ import { updateCaseDetails } from '../../../../reducers/CaseReducer';
23
23
  import { ContactPhoneNumberPopOver } from '../../../CaseInformation/ContactPhoneNumberPopOver';
24
24
  import { PDFContext } from '../../PDFContainer';
25
25
  export function CaseContactPhoneNumber() {
26
- const { phone, caseNumber, contactSSOName, suppliedPhoneNumberVerified, isCaseOwnerUpdating } = useCaseSelector((state) => ({
27
- phone: state.caseDetails.phone || '',
26
+ const { phoneCountryCode, phoneAreaCodePrefixLineNumber, caseNumber, contactSSOName, suppliedPhoneNumberVerified, isCaseOwnerUpdating, } = useCaseSelector((state) => ({
27
+ phoneCountryCode: state.caseDetails.phoneCountryCode || '',
28
+ phoneAreaCodePrefixLineNumber: state.caseDetails.phoneAreaCodePrefixLineNumber || '',
28
29
  caseNumber: state.caseDetails.caseNumber,
29
30
  contactSSOName: state.caseDetails.contactSSOName,
30
31
  suppliedPhoneNumberVerified: state.caseDetails.suppliedPhoneNumberVerified,
@@ -33,51 +34,94 @@ export function CaseContactPhoneNumber() {
33
34
  const { globalMetadataState: { loggedInUser }, } = useContext(GlobalMetadataStateContext);
34
35
  const canEditCase = useCanEditCase();
35
36
  const [isCasePhoneUpdating, setCasePhoneUpdating] = useState(false);
36
- const [localPhoneState, setLocalPhoneState] = useState(phone);
37
+ const [localFullPhoneState, setLocalFullPhoneState] = useState(phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber);
38
+ const [localCountryCodeState, setLocalCountryCodeState] = useState(phoneCountryCode);
37
39
  const caseDispatch = useCaseDispatch();
38
40
  const caseUpdateError = useCaseUpdateErrorMessage();
39
41
  const { t } = useTranslation();
40
42
  const { isExportingPDF } = useContext(PDFContext);
41
43
  // To handle phone change
42
- const onPhoneChange = (phone) => __awaiter(this, void 0, void 0, function* () {
44
+ const onPhoneChange = (fullPhone) => __awaiter(this, void 0, void 0, function* () {
43
45
  if (canEditCase.alert())
44
46
  return;
45
- setLocalPhoneState(phone);
47
+ setLocalFullPhoneState(fullPhone);
46
48
  });
49
+ const onCountryCodeChange = (countryCode) => {
50
+ if (canEditCase.alert())
51
+ return;
52
+ setLocalCountryCodeState(countryCode);
53
+ };
47
54
  const onSave = () => __awaiter(this, void 0, void 0, function* () {
48
55
  setCasePhoneUpdating(true);
56
+ const phoneLine = localFullPhoneState
57
+ .substring(localCountryCodeState.length, localFullPhoneState.length)
58
+ .trim();
59
+ const countryCode = localCountryCodeState.trim();
49
60
  try {
50
- yield updateCaseDetails(caseDispatch, caseNumber, { phone: localPhoneState.trim() });
61
+ yield updateCaseDetails(caseDispatch, caseNumber, {
62
+ phoneCountryCode: countryCode,
63
+ phoneAreaCodePrefixLineNumber: phoneLine,
64
+ });
51
65
  setCasePhoneUpdating(false);
52
66
  ToastNotification.addSuccessMessage(t(`Phone number has been successfully updated`));
67
+ try {
68
+ contacts.updateContactBySSO(loggedInUser.data.ssoUsername, {
69
+ supportPhoneCountryCode: countryCode,
70
+ supportPhoneAreaCodePrefixLineNumber: phoneLine,
71
+ });
72
+ }
73
+ catch (e) {
74
+ // silently fails
75
+ }
76
+ }
77
+ catch (e) {
78
+ setCasePhoneUpdating(false);
79
+ caseUpdateError.showError(e, t(`Phone number failed to update`));
80
+ }
81
+ });
82
+ const onClear = () => __awaiter(this, void 0, void 0, function* () {
83
+ setLocalFullPhoneState('');
84
+ setLocalCountryCodeState('');
85
+ setCasePhoneUpdating(true);
86
+ try {
87
+ yield updateCaseDetails(caseDispatch, caseNumber, {
88
+ phoneCountryCode: '',
89
+ phoneAreaCodePrefixLineNumber: '',
90
+ });
91
+ setCasePhoneUpdating(false);
92
+ ToastNotification.addSuccessMessage(t(`Phone number has been successfully updated`));
93
+ try {
94
+ contacts.updateContactBySSO(loggedInUser.data.ssoUsername, {
95
+ clearPhoneNumber: true,
96
+ });
97
+ }
98
+ catch (e) {
99
+ // silently fails
100
+ }
53
101
  }
54
102
  catch (e) {
55
103
  setCasePhoneUpdating(false);
56
104
  caseUpdateError.showError(e, t(`Phone number failed to update`));
57
105
  }
58
106
  });
59
- const onClear = () => {
60
- setLocalPhoneState('');
61
- onSave();
62
- };
63
107
  const maxLengthErrorMessage = t('Phone number cannot be more than {{limit}} characters.', {
64
108
  limit: PHONE_LIMIT,
65
109
  });
66
110
  const isPhoneNeedsReview = contactSSOName === loggedInUser.data.ssoUsername && suppliedPhoneNumberVerified === 'Deferred';
67
- return (React.createElement("div", { className: "form-group", style: { minWidth: '200px' } },
111
+ return (React.createElement("div", { className: "form-group pf-u-pb-lg", style: { minWidth: '200px' } },
68
112
  React.createElement("h3", { className: `subheading subheading-sm ${isExportingPDF ? 'expand-input' : ''}` },
69
113
  React.createElement(Trans, null, "Case owner's phone number"),
70
114
  !isExportingPDF ? ContactPhoneNumberPopOver() : ''),
71
115
  React.createElement(InputGroupText, { variant: InputGroupTextVariant.plain },
72
- React.createElement(PhoneInput, { phoneValue: localPhoneState, onPhoneValueChange: onPhoneChange, validations: (localPhoneState === null || localPhoneState === void 0 ? void 0 : localPhoneState.length) > PHONE_LIMIT
116
+ React.createElement(PhoneInput, { phoneValue: localFullPhoneState, onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT
73
117
  ? ValidatedOptions.error
74
118
  : isPhoneNeedsReview
75
119
  ? ValidatedOptions.warning
76
120
  : ValidatedOptions.default, isDisabled: isCasePhoneUpdating || isCaseOwnerUpdating, isLoading: isCasePhoneUpdating, "data-tracking-id": "case-details-page-supplied-phone" }),
77
- React.createElement("button", { className: "btn btn-app btn-link pf-u-ml-sm", type: "button", "data-tracking-id": "case-details-page-supplied-phone-save", onClick: () => onSave(), disabled: (localPhoneState === null || localPhoneState === void 0 ? void 0 : localPhoneState.length) > PHONE_LIMIT || localPhoneState === phone, style: { display: isExportingPDF ? 'none' : '' } },
121
+ React.createElement("button", { className: "btn btn-app btn-link pf-u-ml-sm", type: "button", "data-tracking-id": "case-details-page-supplied-phone-save", onClick: () => onSave(), disabled: (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT ||
122
+ localFullPhoneState === phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber, style: { display: isExportingPDF ? 'none' : '' } },
78
123
  React.createElement(CheckIcon, null)),
79
124
  React.createElement("button", { className: "btn btn-app btn-link", type: "button", onClick: onClear, "data-tracking-id": "case-details-page-supplied-phone-cancel", style: { display: isExportingPDF ? 'none' : '' } },
80
125
  React.createElement(TimesIcon, { color: "#6A6E73" }))),
81
- (localPhoneState === null || localPhoneState === void 0 ? void 0 : localPhoneState.length) > PHONE_LIMIT ? (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage)) : (React.createElement("p", { className: "form-instructions" },
82
- React.createElement(Trans, null, PHONE_INSTRUCTION)))));
126
+ (localFullPhoneState === null || localFullPhoneState === void 0 ? void 0 : localFullPhoneState.length) > PHONE_LIMIT && (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage))));
83
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CaseInformation.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseInformation.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,eAyGpD"}
1
+ {"version":3,"file":"CaseInformation.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/CaseInformation.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,KAAK,EAAE,MAAM,eA8GpD"}
@@ -60,14 +60,14 @@ export default function CaseInformation(props) {
60
60
  ]);
61
61
  return (React.createElement(React.Fragment, null,
62
62
  React.createElement(LoadingIndicator, { show: isMetadataLoading(), size: "lg" }),
63
- React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "push-top", title: t("Sorry, we're having a problem gathering your information."), show: isMetadataLoadingError() }),
64
- React.createElement(AlertMessage, { show: !canManageCase(loggedInUserJwtToken), variant: AlertType.DANGER, className: "push-top" },
63
+ React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "pf-u-mt-lg", title: t("Sorry, we're having a problem gathering your information."), show: isMetadataLoadingError() }),
64
+ React.createElement(AlertMessage, { show: !canManageCase(loggedInUserJwtToken), variant: AlertType.DANGER, className: "pf-u-mt-lg" },
65
65
  React.createElement(Trans, { i18nKey: "i18ManageCaseContactCustomerService" },
66
66
  "You need additional access to manage cases.\u00A0 Please contact",
67
67
  ' ',
68
68
  React.createElement("a", { href: "/support/contact/customerService" }, "Customer Service"),
69
69
  " for assistance.")),
70
- React.createElement(AlertMessage, { show: hasInvalidEntitlements, variant: AlertType.DANGER, className: "push-top", isInline: true },
70
+ React.createElement(AlertMessage, { show: hasInvalidEntitlements, variant: AlertType.DANGER, className: "pf-u-mt-lg", isInline: true },
71
71
  React.createElement(Trans, { i18nKey: "i18ValidEntitlementContactCustomerService" },
72
72
  "You need a valid entitlement to create a case.\u00A0 Please contact",
73
73
  ' ',
@@ -1 +1 @@
1
- {"version":3,"file":"ContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumber.tsx"],"names":[],"mappings":"AAaA,wBAAgB,kBAAkB,gBA8CjC"}
1
+ {"version":3,"file":"ContactPhoneNumber.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumber.tsx"],"names":[],"mappings":"AAYA,wBAAgB,kBAAkB,gBAuDjC"}
@@ -4,35 +4,42 @@ import isEmpty from 'lodash/isEmpty';
4
4
  import isEqual from 'lodash/isEqual';
5
5
  import React from 'react';
6
6
  import { Trans, useTranslation } from 'react-i18next';
7
- import { PHONE_INSTRUCTION } from '../../constants/caseDetailsConstants';
8
7
  import { useCaseDispatch, useCaseSelector } from '../../context/CaseContext';
9
8
  import { PHONE_LIMIT } from '../../reducers/CaseConstNTypes';
10
9
  import { setCaseDetails } from '../../reducers/CaseReducer';
11
10
  import { ContactPhoneNumberPopOver } from './ContactPhoneNumberPopOver';
12
11
  export function ContactPhoneNumber() {
13
12
  var _a, _b;
14
- const { caseDetails } = useCaseSelector((state) => ({
15
- caseDetails: state.caseDetails,
16
- selectedOwner: state.selectedOwner,
13
+ const { suppliedPhoneNumberVerified, severity, phoneCountryCode, phoneAreaCodePrefixLineNumber } = useCaseSelector((state) => ({
14
+ suppliedPhoneNumberVerified: state.caseDetails.suppliedPhoneNumberVerified,
15
+ severity: state.caseDetails.severity,
16
+ phoneCountryCode: state.caseDetails.phoneCountryCode,
17
+ phoneAreaCodePrefixLineNumber: state.caseDetails.phoneAreaCodePrefixLineNumber,
17
18
  }), isEqual);
19
+ const getPhone = () => phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber;
18
20
  const caseDispatch = useCaseDispatch();
19
21
  const { t } = useTranslation();
20
- const onPhoneChange = (phone) => {
21
- setCaseDetails(caseDispatch, { phone });
22
+ const onPhoneChange = (fullPhone) => {
23
+ setCaseDetails(caseDispatch, {
24
+ phoneAreaCodePrefixLineNumber: phoneCountryCode
25
+ ? fullPhone.substring(phoneCountryCode.length, fullPhone.length).trim()
26
+ : fullPhone.trim(),
27
+ });
28
+ };
29
+ const onCountryCodeChange = (phoneCountryCode) => {
30
+ setCaseDetails(caseDispatch, { phoneCountryCode });
22
31
  };
23
32
  const maxLengthErrorMessage = t('Phone number cannot be more than {{limit}} characters.', {
24
33
  limit: PHONE_LIMIT,
25
34
  });
26
- return (React.createElement("div", { className: "form-group", style: { minWidth: '200px' } },
27
- React.createElement("label", { className: "subheading subheading-sm" },
35
+ return (React.createElement("div", { className: "form-group pf-u-pb-xl", style: { minWidth: '200px' } },
36
+ React.createElement("label", null,
28
37
  React.createElement(Trans, null, "Case owner's phone number"),
29
38
  ContactPhoneNumberPopOver()),
30
- React.createElement(PhoneInput, { phoneValue: caseDetails.phone, onPhoneValueChange: onPhoneChange, validations: ((_a = caseDetails.phone) === null || _a === void 0 ? void 0 : _a.length) > PHONE_LIMIT
39
+ React.createElement(PhoneInput, { phoneValue: getPhone(), onPhoneValueChange: onPhoneChange, onCountryCodeChange: onCountryCodeChange, validations: ((_a = getPhone) === null || _a === void 0 ? void 0 : _a.length) > PHONE_LIMIT
31
40
  ? ValidatedOptions.error
32
- : caseDetails.severity === "1 (Urgent)" /* SEV_1 */ &&
33
- isEmpty(caseDetails.suppliedPhoneNumberVerified)
41
+ : severity === "1 (Urgent)" /* SEV_1 */ && isEmpty(suppliedPhoneNumberVerified)
34
42
  ? ValidatedOptions.warning
35
43
  : ValidatedOptions.default }),
36
- ((_b = caseDetails.phone) === null || _b === void 0 ? void 0 : _b.length) > PHONE_LIMIT ? (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage)) : (React.createElement("p", { className: "form-instructions" },
37
- React.createElement(Trans, null, PHONE_INSTRUCTION)))));
44
+ ((_b = getPhone()) === null || _b === void 0 ? void 0 : _b.length) > PHONE_LIMIT && (React.createElement("p", { className: "form-instructions form-invalid" }, maxLengthErrorMessage))));
38
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContactPhoneNumberPopOver.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumberPopOver.tsx"],"names":[],"mappings":"AAKA,wBAAgB,yBAAyB,gBA2BxC"}
1
+ {"version":3,"file":"ContactPhoneNumberPopOver.d.ts","sourceRoot":"","sources":["../../../../src/components/CaseInformation/ContactPhoneNumberPopOver.tsx"],"names":[],"mappings":"AAKA,wBAAgB,yBAAyB,gBAexC"}
@@ -4,10 +4,6 @@ import React from 'react';
4
4
  import { Trans } from 'react-i18next';
5
5
  export function ContactPhoneNumberPopOver() {
6
6
  return (React.createElement(Popover, { "aria-label": "Support Severity Level info", position: PopoverPosition.right, bodyContent: React.createElement("p", null,
7
- React.createElement(Trans, null,
8
- "These changes to your phone number affect only this case. To update your phone number for all future cases, go to",
9
- ' ',
10
- React.createElement("a", { href: "https://www.redhat.com/wapps/ugc/protected/personalInfo.html", "data-tracking-id": "case-contact-phone-number-account-details", target: "_blank", rel: "noopener noreferrer" }, "your account details"),
11
- ".")), closeBtnAriaLabel: "Close" },
7
+ React.createElement(Trans, null, "These changes to your phone number affect only this case.")), closeBtnAriaLabel: "Close" },
12
8
  React.createElement(QuestionCircleIcon, { className: "pf-u-ml-xs icon-size", "aria-label": "Contact Phone Number Info" })));
13
9
  }
@@ -19,12 +19,12 @@ export default function CaseManagement(props) {
19
19
  setCaseDetails(caseDispatch, payload);
20
20
  };
21
21
  return (React.createElement("form", null,
22
- React.createElement(SupportLevel, null),
23
- React.createElement(Flex, { direction: { default: 'column', '2xl': 'row' } },
22
+ React.createElement(Flex, { direction: { default: 'column', '2xl': 'row' }, className: "severity-flex-case-management" },
24
23
  React.createElement(FlexItem, { flex: { default: 'flex_1' } },
25
- React.createElement(Severity, { showSeverityInfoIcon: true, onSeverityChange: onSeverityChange })),
24
+ React.createElement(SupportLevel, null)),
26
25
  React.createElement(FlexItem, { flex: { default: 'flex_1' } },
27
- React.createElement(ContactPhoneNumber, null))),
26
+ React.createElement(Severity, { showSeverityInfoIcon: true, onSeverityChange: onSeverityChange }))),
27
+ React.createElement(ContactPhoneNumber, null),
28
28
  React.createElement(ContactPhoneNumberAlert, null),
29
29
  React.createElement(Fts, { inlineEditable: false }),
30
30
  React.createElement(CaseLanguageSelector, { isManageStep: true }),
@@ -137,7 +137,7 @@ export function Cep(props) {
137
137
  if (!canUseCep) {
138
138
  return React.createElement(React.Fragment, null);
139
139
  }
140
- return (React.createElement("div", { className: "form-group push-top" },
140
+ return (React.createElement("div", { className: "form-group pf-u-mt-lg" },
141
141
  React.createElement("input", { type: "checkbox", id: "get-support-cep", name: "get-support-cep", checked: isEqual(cep, undefined) ? false : cep, onChange: onCepChange, "data-tracking-id": "get-support-cep" }),
142
142
  React.createElement("label", { htmlFor: "get-support-cep" },
143
143
  React.createElement(Trans, null, "Consultant has been engaged")),
@@ -1 +1 @@
1
- {"version":3,"file":"IdeaInformtion.d.ts","sourceRoot":"","sources":["../../../../src/components/IdeaInformation/IdeaInformtion.tsx"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,UAAU,eAAe,gBAsItC"}
1
+ {"version":3,"file":"IdeaInformtion.d.ts","sourceRoot":"","sources":["../../../../src/components/IdeaInformation/IdeaInformtion.tsx"],"names":[],"mappings":"AA8BA,MAAM,CAAC,OAAO,UAAU,eAAe,gBAyItC"}
@@ -93,12 +93,12 @@ export default function IdeaInformation() {
93
93
  React.createElement("form", null,
94
94
  React.createElement(Description, { inlineEditable: false, customTitle: t('Please describe your request') }),
95
95
  React.createElement(KtQuestions, { onlyShowKT4: true }),
96
- React.createElement(SupportLevel, null),
97
- React.createElement(Flex, { direction: { default: 'column', '2xl': 'row' } },
96
+ React.createElement(Flex, { direction: { default: 'column', '2xl': 'row' }, className: "severity-flex-case-management" },
98
97
  React.createElement(FlexItem, { flex: { default: 'flex_1' } },
99
- React.createElement(Severity, { showSeverityInfoIcon: true, onSeverityChange: onSeverityChange })),
98
+ React.createElement(SupportLevel, null)),
100
99
  React.createElement(FlexItem, { flex: { default: 'flex_1' } },
101
- React.createElement(ContactPhoneNumber, null))),
100
+ React.createElement(Severity, { showSeverityInfoIcon: true, onSeverityChange: onSeverityChange }))),
101
+ React.createElement(ContactPhoneNumber, null),
102
102
  React.createElement(ContactPhoneNumberAlert, null),
103
103
  React.createElement(CaseLanguageSelector, { isManageStep: true }),
104
104
  React.createElement(CaseGroup, { init: true }),
@@ -122,11 +122,11 @@ const AllProductsSelector = forwardRef((props, ref) => {
122
122
  }, [caseDispatch, product]);
123
123
  return (React.createElement(React.Fragment, null,
124
124
  React.createElement("div", { className: "form-group product-selector-wrapper" },
125
- React.createElement("div", { className: "case-details-summary push-bottom-narrow" },
125
+ React.createElement("div", { className: "case-details-summary" },
126
126
  React.createElement(OpenCaseIssue, { inlineEditable: false, required: true })),
127
127
  React.createElement("div", { className: "all-product-selector-dropdown" },
128
128
  React.createElement(ProductVersionDropdownSelector, { isLoading: allProducts.isFetching, products: props.checkEntitledProduct ? entitledProducts : allProducts.data.productsResult, selectedProduct: selectedProductForDropdown, onProductChange: onProductChange, onVersionChange: onVersionChange, version: version, ref: ref }))),
129
- React.createElement(AlertMessage, { isInline: true, variant: AlertType.DANGER, className: "push-top", title: t(`${loggedInUserRights.data.isSSOUsernameSameAsLoggedInUser(contactSSOName)
129
+ React.createElement(AlertMessage, { isInline: true, variant: AlertType.DANGER, className: "pf-u-mt-lg", title: t(`${loggedInUserRights.data.isSSOUsernameSameAsLoggedInUser(contactSSOName)
130
130
  ? 'You are'
131
131
  : 'Selected owner is'} not allowed to create case on this product.`), show: !allProducts.isFetching && props.checkEntitledProduct && !isEntitledProduct && !isEmpty(product) }),
132
132
  React.createElement(LoadingIndicator, { show: topContent.isFetching && props.loadTCOnChange }),
@@ -1 +1 @@
1
- {"version":3,"file":"NewProductDropdownSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/NewProductDropdownSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAOpE,UAAU,MAAM;IACZ,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IACvD,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;IAC1C,qCAAqC,EAAE,OAAO,CAAC;IAC/C,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,UAAW,MAAM,gBA0GvD,CAAC"}
1
+ {"version":3,"file":"NewProductDropdownSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/NewProductDropdownSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAOpE,UAAU,MAAM;IACZ,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAChC,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;IACvD,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,CAAC;IAC1C,qCAAqC,EAAE,OAAO,CAAC;IAC/C,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,UAAW,MAAM,gBAiHvD,CAAC"}
@@ -20,7 +20,7 @@ export const NewProductDropdownSelector = (props) => {
20
20
  // eslint-disable-next-line react-hooks/exhaustive-deps
21
21
  }, [props.isNextBtnClickedToShowValidationError]);
22
22
  const createOption = (product, id, type) => {
23
- return React.createElement(SelectOption, { key: `${type}-${id}`, value: product.name, className: "pf-c-select__menu-wrapper" });
23
+ return (React.createElement(SelectOption, { key: `${type}-${id}`, value: product.name, className: "pf-c-select__menu-wrapper", "data-tracking-id": `${product.name ? product.name.replace(/\s+/g, '') : ''}-${type}-dropdown` }));
24
24
  };
25
25
  const onToggle = (isOpen) => {
26
26
  setIsOpen(isOpen);
@@ -33,7 +33,7 @@ export const NewProductVersionSelector = (props) => {
33
33
  renderVersions();
34
34
  // eslint-disable-next-line react-hooks/exhaustive-deps
35
35
  }, [props.selectedProduct]);
36
- let options = [React.createElement(SelectGroup, { label: "Version", key: "productVersions" }), ...selectVersionOptions];
36
+ let options = [React.createElement(SelectGroup, { key: "productVersions" }), ...selectVersionOptions];
37
37
  const onToggle = (isOpen) => {
38
38
  setIsOpen(isOpen);
39
39
  };
@@ -35,7 +35,7 @@ export default function ProductSelector(props) {
35
35
  const productSelectorRef = useRef(null);
36
36
  return (React.createElement(React.Fragment, null,
37
37
  allProducts.isFetching && React.createElement(ProductSelectorLoader, null),
38
- React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "push-top", title: t('There was an error loading products.'), show: allProducts.isError }),
38
+ React.createElement(AlertMessage, { variant: AlertType.DANGER, className: "pf-u-mt-lg", title: t('There was an error loading products.'), show: allProducts.isError }),
39
39
  !allProducts.isFetching && !allProducts.isError && (React.createElement(React.Fragment, null,
40
40
  React.createElement("form", null,
41
41
  React.createElement(AllProductsSelector, { isDropdownSelected: true, routeProps: props.routeProps, checkEntitledProduct: isCaseCreate ? true : false, ref: productSelectorRef }),
@@ -50,7 +50,7 @@ export default function ProductSelector(props) {
50
50
  ' ',
51
51
  "for help.") })),
52
52
  React.createElement(EARuleWidget, null)),
53
- React.createElement("div", { className: "push-top" },
53
+ React.createElement("div", { className: "suggestions-result-section" },
54
54
  React.createElement(ErrorBoundary, { errorMsgInfo: { message: t('There was an error loading recommendations') } }, !isEmpty(version) && (React.createElement("div", { className: "common-suggestions" },
55
55
  React.createElement(Recommendations, { renderOnlyRecommendations: true })))))))));
56
56
  }
@@ -129,7 +129,7 @@ export function AsideResults() {
129
129
  if (!canShowSideRecommendations())
130
130
  return React.createElement(React.Fragment, null);
131
131
  return (React.createElement("div", { className: "card card-white card-support top-recommendations" },
132
- React.createElement("h3", { className: "card-heading popular-solutions" }, isIdea ? React.createElement(Trans, null, "Search recommendations") : React.createElement(Trans, null, "Knowledgebase recommendations")),
132
+ React.createElement("h3", { className: "card-heading popular-solutions green-card-heading" }, isIdea ? React.createElement(Trans, null, "Search recommendations") : React.createElement(Trans, null, "Knowledgebase recommendations")),
133
133
  React.createElement("div", { className: "card-body" },
134
134
  React.createElement("ul", { className: "list-flat" }, recommendationState.sideRecommendation.map((doc, index) => {
135
135
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitCase.d.ts","sourceRoot":"","sources":["../../../../src/components/SubmitCase/SubmitCase.tsx"],"names":[],"mappings":"AA4BA,MAAM,CAAC,OAAO,UAAU,UAAU,gBA2RjC"}
1
+ {"version":3,"file":"SubmitCase.d.ts","sourceRoot":"","sources":["../../../../src/components/SubmitCase/SubmitCase.tsx"],"names":[],"mappings":"AA4BA,MAAM,CAAC,OAAO,UAAU,UAAU,gBAqSjC"}
@@ -1,5 +1,5 @@
1
1
  import { Env, publicApi } from '@cee-eng/hydrajs';
2
- import { ActionList, ActionListItem, Button, Text, TextVariants } from '@patternfly/react-core';
2
+ import { ActionList, ActionListItem, Button, Text, TextVariants, Tooltip } from '@patternfly/react-core';
3
3
  import CheckCircleIcon from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
4
4
  import { AlertMessage, AlertType, useFetch } from '@rh-support/components';
5
5
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
@@ -83,8 +83,8 @@ export default function SubmitCase() {
83
83
  : attachmentState.caseFiles.selectedLocalFiles.every((localFile) => !isUploadedAndAnalyzed(localFile));
84
84
  const isNotAnIdea = caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT;
85
85
  return (React.createElement("article", { className: "gird-main" },
86
- React.createElement(AlertMessage, { className: "push-top", title: t('Failed to add user.'), variant: AlertType.DANGER, show: addNotifiedUserError }),
87
- React.createElement(AlertMessage, { className: "push-top", variant: AlertType.DANGER, show: caseCreationError, title: t("Sorry, we're experiencing an error"), isInline: true },
86
+ React.createElement(AlertMessage, { className: "pf-u-mt-lg", title: t('Failed to add user.'), variant: AlertType.DANGER, show: addNotifiedUserError }),
87
+ React.createElement(AlertMessage, { className: "pf-u-mt-lg", variant: AlertType.DANGER, show: caseCreationError, title: t("Sorry, we're experiencing an error"), isInline: true },
88
88
  React.createElement(React.Fragment, null, caseCreationErrorMessage)),
89
89
  !isCreatingCase && !caseCreationError && (React.createElement(React.Fragment, null,
90
90
  showRemoteRiderBanner && !loggedInUser.data.isInternal && (React.createElement(RemoteRiderBanner, { onConfirm: onRemoteRiderConfirm, onClose: onRemoteRiderClose, caseNumber: caseNumber, isSecureSupport: loggedInUsersAccount.data.secureSupport })),
@@ -92,7 +92,7 @@ export default function SubmitCase() {
92
92
  React.createElement("p", { className: "kicker kicker-sm pf-u-mb-sm" }, !isEmpty(RouteUtils.seBasePath) &&
93
93
  !isUploadingAttachment(attachmentState.caseFiles.selectedLocalFiles) ? (React.createElement(React.Fragment, null,
94
94
  React.createElement("div", { className: "submit-page-title pf-u-mb-lg" },
95
- React.createElement(CheckCircleIcon, { size: "lg" }),
95
+ React.createElement(CheckCircleIcon, { className: "submit-case-check-icon", size: "lg" }),
96
96
  ' ',
97
97
  React.createElement(Text, { className: "pf-u-ml-md pf-u-mb-0", component: TextVariants.h1 },
98
98
  React.createElement(Trans, null, "We've added your case to our queue"))),
@@ -101,7 +101,7 @@ export default function SubmitCase() {
101
101
  "\u00A0",
102
102
  React.createElement(Link, { to: `/case/${caseNumber}`, "data-tracking-id": "get-support-queued-case-number", className: viewDisabled ? 'case-link-disabled' : '' }, caseNumber)))) : (React.createElement(React.Fragment, null,
103
103
  React.createElement("div", { className: "submit-page-title" },
104
- React.createElement(CheckCircleIcon, { size: "lg" }),
104
+ React.createElement(CheckCircleIcon, { className: "submit-case-check-icon", size: "lg" }),
105
105
  ' ',
106
106
  React.createElement(Text, { component: TextVariants.h1 },
107
107
  React.createElement(Trans, null, "We\u2019ve added your case to our queue"))),
@@ -132,9 +132,11 @@ export default function SubmitCase() {
132
132
  React.createElement("div", null,
133
133
  React.createElement(ActionList, null,
134
134
  React.createElement(ActionListItem, null,
135
- React.createElement(Button, { component: "a", href: `${getRedhatDotComHost(Env.getEnvName())}/wapps/ugc/protected/${'personalInfo.html'}`, target: "_blank", variant: "secondary", "data-tracking-id": "get-support-update-info" }, "Update info")),
135
+ React.createElement(Button, { component: "a", href: `${getRedhatDotComHost(Env.getEnvName())}/wapps/ugc/protected/${'personalInfo.html'}`, target: "_blank", variant: "secondary", "data-tracking-id": "get-support-update-info", className: "update-info-button" }, "Update info")),
136
136
  React.createElement(ActionListItem, null,
137
- React.createElement(Button, { className: "pf-u-ml-md", component: (props) => React.createElement(Link, Object.assign({}, props, { to: `/case/${caseNumber}` })), href: getCaseURL(), variant: "primary", "data-tracking-id": "get-support-view-case", isDisabled: viewDisabled }, "View case"))))),
137
+ React.createElement(Tooltip, { content: React.createElement("div", null, "File upload in progress."), position: "bottom", isVisible: viewDisabled },
138
+ React.createElement("div", null,
139
+ React.createElement(Button, { className: "pf-u-ml-md", component: (props) => (React.createElement(Link, Object.assign({}, props, { to: `/case/${caseNumber}` }))), variant: "primary", "data-tracking-id": "get-support-view-case", isDisabled: viewDisabled }, "View case"))))))),
138
140
  !isEmpty(attachmentState.caseFiles.selectedLocalFiles) && (React.createElement(FileUploader, { idToUploadTo: caseNumber, isSessionId: false, isSecureSupport: loggedInUsersAccount.data.secureSupport })),
139
141
  React.createElement("div", null,
140
142
  (!isEmpty(topContent.data) || !rulesState.EARules.rules || !clusterRecommendations) &&
@@ -45,7 +45,7 @@ export default function Suggestions(props) {
45
45
  return (React.createElement("div", null,
46
46
  showTitleDescription && (React.createElement("div", { className: "card card-support" },
47
47
  !isTCSearchEnabled && (React.createElement(Trans, null,
48
- React.createElement("h3", { className: "card-heading popular-solutions" }, props.title ? props.title : t('i18nKeyPopularSolutions', 'Popular solutions and docs')))),
48
+ React.createElement("h3", { className: "card-heading popular-solutions green-card-heading" }, props.title ? props.title : t('i18nKeyPopularSolutions', 'Popular solutions and docs')))),
49
49
  isTCSearchEnabled && (React.createElement("div", { className: "card-body" },
50
50
  React.createElement(TopContentSearch, { topContentData: topContent.data, topContentResultsWrapperRef: accordionRef, onSearch: onSearchChange, dataTrackingId: "top-content-filter-troubleshoot", enableEventTracking: true }))))),
51
51
  React.createElement("pfe-accordion", { ref: accordionRef }, map(filteredTC.slice(0, maxTC), (sug, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAkBA,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,eA0GzC;kBA1GQ,mBAAmB;;;AA6G5B,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TroubleshootSection.d.ts","sourceRoot":"","sources":["../../../../src/components/TroubleshootSection/TroubleshootSection.tsx"],"names":[],"mappings":"AAmBA,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,eAqHzC;kBArHQ,mBAAmB;;;AAwH5B,eAAe,mBAAmB,CAAC"}