@rh-support/troubleshoot 2.6.24 → 2.6.28

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 (25) hide show
  1. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +1 -1
  2. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  3. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +9 -4
  4. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  5. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +3 -2
  6. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +5 -8
  8. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  9. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +9 -7
  10. package/lib/esm/components/Cve/CveSidebar.js +1 -1
  11. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +1 -1
  12. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  13. package/lib/esm/components/ProductSelector/AllProductsSelector.js +9 -6
  14. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  15. package/lib/esm/components/Recommendations/AsideResults.js +1 -1
  16. package/lib/esm/components/Recommendations/InsightsResults.js +1 -1
  17. package/lib/esm/components/Recommendations/Recommendations.js +1 -1
  18. package/lib/esm/components/SessionRestore/SessionRestore.js +1 -1
  19. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +3 -3
  20. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +1 -0
  21. package/lib/esm/components/wizardLayout/WizardAside.js +3 -3
  22. package/lib/esm/css/results.css +2 -2
  23. package/lib/esm/scss/_main.scss +22 -8
  24. package/lib/esm/scss/_pf-overrides.scss +4 -6
  25. package/package.json +4 -4
@@ -15,7 +15,7 @@ export function CaseSolutionsItem(props) {
15
15
  React.createElement(Button, { icon: React.createElement(React.Fragment, null,
16
16
  isLoading && React.createElement(LoadingIndicator, { show: isLoading, size: "xs" }),
17
17
  !isLoading && props.showPin && (React.createElement(React.Fragment, null,
18
- React.createElement(Icon, { size: "md" }, props.isPinned ? (React.createElement(StarIcon, { className: "pinned-resource", color: "0066cc" })) : (React.createElement(OutlinedStarIcon, { className: "pinned-resource", color: "0066cc" }))))),
18
+ React.createElement(Icon, { size: "md", color: "0066cc" }, props.isPinned ? (React.createElement(StarIcon, { className: "pinned-resource" })) : (React.createElement(OutlinedStarIcon, { className: "pinned-resource" }))))),
19
19
  !isLoading && props.showLink && React.createElement(LinkIcon, null)), title: props.pinTitle, onClick: props.onPinClicked, "data-tracking-id": `case-resource-${props.pinTitle}`, variant: "plain", className: "list-icon" }),
20
20
  React.createElement("a", { href: props.recommendation.resourceViewURI, "data-tracking-id": `case-resource-${props.type}-link-${props.index}`, target: "_blank", rel: "noopener noreferrer", className: "case-resource-recommendation-link", dangerouslySetInnerHTML: {
21
21
  __html: DOMPurify.sanitize(truncate(decodeMarkTag(props.recommendation.title || ''), maxTitleLength)),
@@ -1 +1 @@
1
- {"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAmW7C"}
1
+ {"version":3,"file":"NewEssTermsModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,qBAyW7C"}
@@ -12,9 +12,10 @@ import { Alert, Button, ButtonVariant, Checkbox, Modal, ModalBody, ModalFooter,
12
12
  import DownloadIcon from '@patternfly/react-icons/dist/js/icons/download-icon';
13
13
  import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
14
14
  import { SingleSelectDropdown, ToastNotification, useFetch } from '@rh-support/components';
15
+ import isEqual from 'lodash/isEqual';
15
16
  import React, { useEffect, useState } from 'react';
16
17
  import { Trans, useTranslation } from 'react-i18next';
17
- import { useCaseDispatch } from '../../../context/CaseContext';
18
+ import { useCaseDispatch, useCaseSelector } from '../../../context/CaseContext';
18
19
  import { useCaseDetailsPageStateContext } from '../../../context/CaseDetailsPageContext';
19
20
  import { useCaseDiscussionTabDispatchContext, useCaseDiscussionTabStateContext, } from '../../../context/CaseDiscussionTabContext';
20
21
  import { updateDiscussionStateComments } from '../../../reducers/CaseDiscussionTabReducer';
@@ -36,6 +37,9 @@ const getLocaleNameFromLocalCode = (localeCode) => {
36
37
  };
37
38
  export function NewEssTermsModal(props) {
38
39
  const { t } = useTranslation();
40
+ const { remoteSessionTermsAcked } = useCaseSelector((state) => ({
41
+ remoteSessionTermsAcked: state.caseDetails.remoteSessionTermsAcked,
42
+ }), isEqual);
39
43
  const [isTermsChecked, setIsTermsChecked] = useState(false);
40
44
  const { request } = useFetch(publicApi.terms.getRequiredTerms);
41
45
  const caseDispatch = useCaseDispatch();
@@ -51,7 +55,7 @@ export function NewEssTermsModal(props) {
51
55
  });
52
56
  const [allTranslations, setAllTranslations] = useState({});
53
57
  const [agreeLoading, setAgreeLoading] = useState(false);
54
- const [isRemoteSessionForm, setIsRemoteSessionForm] = useState(false);
58
+ const [isRemoteSessionForm, setIsRemoteSessionForm] = useState(remoteSessionTermsAcked);
55
59
  const [sessionExpectations, setSessionExpectations] = useState('');
56
60
  const [impact, setImpact] = useState('');
57
61
  const [sessionLink, setSessionLink] = useState('');
@@ -174,8 +178,9 @@ export function NewEssTermsModal(props) {
174
178
  // To check and if I agree button is loading
175
179
  const isAgreeLoading = agreeLoading || isPostingComment;
176
180
  const modalActions = [
177
- React.createElement(Button, { key: "submit", "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": "remote-session-agreement-check", isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm ? !sessionExpectations.trim() || !impact.trim() : !isTermsChecked) ||
178
- isAgreeLoading }, t(isRemoteSessionForm ? 'Submit' : 'I agree')),
181
+ React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": "remote-session-agreement-check", isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
182
+ ? !sessionExpectations.trim() || !impact.trim()
183
+ : !isTermsChecked) || isAgreeLoading }, t(isRemoteSessionForm || remoteSessionTermsAcked ? 'Submit' : 'I agree')),
179
184
  React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, isDisabled: isAgreeLoading }, "Cancel"),
180
185
  ];
181
186
  const renderRemoteSessionForm = (React.createElement("div", { id: "remoteSessionForm", className: "form-group" },
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBA+VxD"}
1
+ {"version":3,"file":"RemoteSessionAgreementModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAgBnD,UAAU,MAAM;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAClD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAiBD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBA8VxD"}
@@ -222,7 +222,8 @@ export function RemoteSessionAgreementModal(props) {
222
222
  React.createElement("h2", null, isRemoteSessionForm ? t('Request remote session') : t('Remote session agreement'))),
223
223
  React.createElement(ModalBody, null, RemoteSessionAgreementModalBody()),
224
224
  React.createElement(ModalFooter, null,
225
- React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": isRemoteSessionForm ? 'remote-session-details-submission' : 'remote-session-agreement-check', isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm ? !sessionExpectations.trim() || !impact.trim() : !isTermsChecked) ||
226
- isAgreeLoading }, t(isRemoteSessionForm ? 'Submit' : 'I agree')),
225
+ React.createElement(Button, { "aria-label": t('I agree'), variant: ButtonVariant.primary, onClick: isRemoteSessionForm || remoteSessionTermsAcked ? onSubmit : toggleRemoteSessionForm, "data-tracking-id": "remote-session-agreement-check", isLoading: isAgreeLoading, isDisabled: (isRemoteSessionForm || remoteSessionTermsAcked
226
+ ? !sessionExpectations.trim() || !impact.trim()
227
+ : !isTermsChecked) || isAgreeLoading }, t(isRemoteSessionForm || remoteSessionTermsAcked ? 'Submit' : 'I agree')),
227
228
  React.createElement(Button, { key: "cancel", variant: "link", onClick: onCancel, isDisabled: isAgreeLoading }, "Cancel"))));
228
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CasePhoneNumberConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBAsIxD"}
1
+ {"version":3,"file":"CasePhoneNumberConfirmAlert.d.ts","sourceRoot":"","sources":["../../../../../../src/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,UAAU,MAAM;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;CACnD;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,qBAyIxD"}
@@ -15,7 +15,6 @@ import isEmpty from 'lodash/isEmpty';
15
15
  import isEqual from 'lodash/isEqual';
16
16
  import React, { useContext, useState } from 'react';
17
17
  import { Trans, useTranslation } from 'react-i18next';
18
- import { Link } from 'react-router-dom';
19
18
  import { useCaseDispatch, useCaseSelector } from '../../../../context/CaseContext';
20
19
  import { useCaseUpdateErrorMessage } from '../../../../hooks/useCaseUpdateErrorMessage';
21
20
  import { updateCaseDetails } from '../../../../reducers/CaseReducer';
@@ -57,16 +56,14 @@ export function CaseContactPhoneNumberAlert(props) {
57
56
  !isCaseOwnerUpdating;
58
57
  const phone = phoneCountryCode + ' ' + phoneAreaCodePrefixLineNumber;
59
58
  const confirmationMessage = `${t('Is this phone number correct,')} ${phone} ?`;
60
- if (!isPhoneNeedsReview)
59
+ if (!isPhoneNeedsReview && isPhoneNeedsReview)
61
60
  return React.createElement(React.Fragment, null);
62
- return (React.createElement(React.Fragment, null, props.isReview && !closeConfirmAlert && !isExportingPDF ? (React.createElement(Alert, { className: "pf-v6-u-p-sm pf-v6-u-mb-md phone-review-banner", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), component: "p", actionLinks: [
63
- React.createElement(Button, { key: "case-contact-phone-number-review-confirm", variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'True' }), "data-tracking-id": "case-contact-phone-number-review-confirm", isLoading: isCaseUpdating, isDisabled: isCaseUpdating },
61
+ return (React.createElement(React.Fragment, null, props.isReview && !closeConfirmAlert && !isExportingPDF ? (React.createElement(Alert, { className: "pf-v6-u-mb-md phone-review-banner", isInline: true, variant: AlertVariant.warning, title: t('Review phone number'), component: "p", actionLinks: [
62
+ React.createElement(Button, { className: "pf-v6-u-mr-md", key: "case-contact-phone-number-review-confirm", variant: ButtonVariant.link, isInline: true, onClick: () => onCaseDetailsChange({ suppliedPhoneNumberVerified: 'True' }), "data-tracking-id": "case-contact-phone-number-review-confirm", isLoading: isCaseUpdating, isDisabled: isCaseUpdating },
64
63
  React.createElement(Trans, null, "Yes, confirm phone number")),
65
- React.createElement(Link, { key: "case-contact-phone-number-review", replace: true, to: {
66
- pathname: `/case/${caseNumber}/management`,
67
- }, onClick: () => goToPhoneField(), "data-tracking-id": "case-contact-phone-number-review" },
64
+ React.createElement(Button, { isInline: true, className: "pf-v6-u-mr-md", variant: ButtonVariant.link, key: "case-contact-phone-number-review", component: "a", href: `#/case/${caseNumber}/management`, onClick: () => goToPhoneField(), "data-tracking-id": "case-contact-phone-number-review" },
68
65
  React.createElement(Trans, null, "No, update phone number")),
69
- React.createElement(Button, { key: "case-contact-phone-number-alert-close", variant: ButtonVariant.link, onClick: () => setCloseConfirmAlert(!closeConfirmAlert), "data-tracking-id": "case-contact-phone-number-alert-close", isDisabled: isCaseUpdating },
66
+ React.createElement(Button, { isInline: true, key: "case-contact-phone-number-alert-close", variant: ButtonVariant.link, onClick: () => setCloseConfirmAlert(!closeConfirmAlert), "data-tracking-id": "case-contact-phone-number-alert-close", isDisabled: isCaseUpdating },
70
67
  React.createElement(Trans, null, "Close")),
71
68
  ] },
72
69
  React.createElement(Trans, null, confirmationMessage))) : props.isConfirm && !isExportingPDF ? (React.createElement(Alert, { isInline: true, className: "pf-v6-u-p-sm pf-v6-u-mb-md phone-review-banner", variant: AlertVariant.warning, title: t('Review phone number'), component: "p", actionLinks: [
@@ -1 +1 @@
1
- {"version":3,"file":"VerifyCaseStatusModal.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAa3E,UAAU,MAAM;IACZ,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,qBAwIlD"}
1
+ {"version":3,"file":"VerifyCaseStatusModal.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAa3E,UAAU,MAAM;IACZ,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,qBA4IlD"}
@@ -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 { Button, ButtonVariant, Modal, ModalFooter, ModalVariant } from '@patternfly/react-core';
10
+ import { Button, ButtonVariant, Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant, } from '@patternfly/react-core';
11
11
  import { SingleSelectDropdown, ToastNotification } from '@rh-support/components';
12
12
  import { GlobalMetadataStateContext, useCanEditCase } from '@rh-support/react-context';
13
13
  import { ability, resourceActions, resources } from '@rh-support/user-permissions';
@@ -95,12 +95,14 @@ export function VerifyCaseStatusModal(props) {
95
95
  disabled: statusOption === status,
96
96
  }));
97
97
  return (React.createElement(Modal, { id: "case-close-modal", title: t(`Please verify this case's status`), "aria-describedby": "case-close-modal", isOpen: true, onClose: props.onClose, variant: ModalVariant.medium },
98
- React.createElement("h3", { className: "subheading subheading-sm" },
99
- React.createElement(Trans, null, "Status"),
100
- React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
101
- React.createElement(SingleSelectDropdown, { ariaLabel: t(status), id: "verify-case-status", selected: getSelectedOption(), options: getDropdownOptions(), onSelect: onStatusChange, isDisabled: !canManageCase ||
102
- caseOverviewState.allCaseStatuses.isFetching ||
103
- (caseOverviewState.caseStatusUpdating && isCaseUpdating), isInvalid: !status, placeholder: t(status) }),
98
+ React.createElement(ModalHeader, null,
99
+ React.createElement("h3", { className: "subheading subheading-sm" },
100
+ React.createElement(Trans, null, "Status"),
101
+ React.createElement("span", { className: "form-required", "aria-hidden": true }, "*"))),
102
+ React.createElement(ModalBody, null,
103
+ React.createElement(SingleSelectDropdown, { ariaLabel: t(status), id: "verify-case-status", selected: getSelectedOption(), options: getDropdownOptions(), onSelect: onStatusChange, isDisabled: !canManageCase ||
104
+ caseOverviewState.allCaseStatuses.isFetching ||
105
+ (caseOverviewState.caseStatusUpdating && isCaseUpdating), isInvalid: !status, placeholder: t(status) })),
104
106
  React.createElement(ModalFooter, null,
105
107
  React.createElement(Button, { key: "submit-description", variant: ButtonVariant.primary, onClick: onSubmit, isLoading: isVerifyCaseStatusLoading, isDisabled: props.isUpdating, "data-tracking-id": "close-case-description-modal-submit" },
106
108
  React.createElement(Trans, null, "Continue")),
@@ -14,7 +14,7 @@ export const CveSidebar = () => {
14
14
  return null;
15
15
  }
16
16
  return (React.createElement(React.Fragment, null,
17
- React.createElement("div", { className: "card card-white card-support file-diag pf-v6-u-mb-md" },
17
+ React.createElement("div", { className: "card card-white card-support file-diag pf-v6-u-mb-lg" },
18
18
  React.createElement("h3", { className: "card-heading popular-solutions green-card-heading card-header-bg" },
19
19
  React.createElement("span", { className: "pf-v6-u-mr-sm" }, cveWorkflowRecommendation.length > 1 ? (React.createElement(Trans, null, "Handpicked for these CVEs")) : (React.createElement(Trans, null, "Handpicked for this CVE"))),
20
20
  React.createElement(Badge, { isRead: true }, size(cveWorkflowRecommendation))),
@@ -132,7 +132,7 @@ export default function SupportTypeSelectorPage() {
132
132
  React.createElement("span", { className: "form-required", "aria-hidden": true }, "*")),
133
133
  (allCaseTypes.isFetching || (isFetchingSelectedAccountDetails && haventLoadedMetadata(allCaseTypes))) && (React.createElement(LoadingIndicator, { size: "lg", show: true })),
134
134
  React.createElement(Gallery, { hasGutter: true, className: "pf-v6-u-mt-sm" }, SupportTypesArray.map((supportTypesArrayValues) => (React.createElement(GalleryItem, { key: supportTypesArrayValues.id },
135
- React.createElement(Card, { id: supportTypesArrayValues.oldSupportType, key: supportTypesArrayValues.oldSupportType, className: `support-types-card${isNextBtnClickedToShowValidationError && !caseType ? ' support-types-invalid' : ''}`, isSelectable: true, onKeyDown: onKeyDown, onClick: onSupportTypeClick, isSelected: !!caseType && supportTypesArrayValues.oldSupportType === caseType, isFullHeight: true, "data-tracking-id": supportTypesArrayValues.dataTrackingID, tabIndex: 0 },
135
+ React.createElement(Card, { id: supportTypesArrayValues.oldSupportType, key: supportTypesArrayValues.oldSupportType, className: `support-types-card cursor-pointer${isNextBtnClickedToShowValidationError && !caseType ? ' support-types-invalid' : ''}`, isSelectable: true, onKeyDown: onKeyDown, onClick: onSupportTypeClick, isSelected: !!caseType && supportTypesArrayValues.oldSupportType === caseType, isFullHeight: true, "data-tracking-id": supportTypesArrayValues.dataTrackingID, tabIndex: 0 },
136
136
  React.createElement(CardBody, null, supportTypesArrayValues.icon ? (React.createElement(Split, null,
137
137
  React.createElement(SplitItem, { className: "pf-v6-u-pr-lg" },
138
138
  React.createElement(Bullseye, null, supportTypesArrayValues.icon && supportTypesArrayValues.icon)),
@@ -1 +1 @@
1
- {"version":3,"file":"AllProductsSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/AllProductsSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvG,UAAU,MAAM;IACZ,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,4EA4KvB,CAAC;AAGH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"AllProductsSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/ProductSelector/AllProductsSelector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAMvD,OAAO,EAAuC,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMvG,UAAU,MAAM;IACZ,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,4EA+KvB,CAAC;AAGH,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Modal, ModalFooter, ModalVariant } from '@patternfly/react-core';
1
+ import { Modal, ModalBody, ModalFooter, ModalHeader, ModalVariant } from '@patternfly/react-core';
2
2
  import { AlertMessage, AlertType } from '@rh-support/components';
3
3
  import { GlobalMetadataStateContext } from '@rh-support/react-context';
4
4
  import filter from 'lodash/filter';
@@ -114,11 +114,14 @@ const AllProductsSelector = forwardRef((props, ref) => {
114
114
  !topContent.isFetching &&
115
115
  topContent.data.length !== 0 && (React.createElement("button", { className: "btn btn-bordered-blue btn-slim pull-top-narrow push-bottom-narrow", "data-tracking-id": "suggested-fixes-trigger", onClick: toggleTCModal, type: "button" },
116
116
  React.createElement(Trans, null, "Suggested fixes"))),
117
- props.loadTCOnChange && !topContent.isFetching && topContent.data.length !== 0 && (React.createElement(Modal, { className: "feedback-modal", title: t('Suggested fixes'), "aria-describedby": "Feedback Form", isOpen: isModalOpen, variant: ModalVariant.large, onClose: toggleTCModal },
118
- React.createElement("p", null, t('There are new updates to suggested fixes after changing your product.')),
119
- React.createElement("span", null,
120
- React.createElement(Trans, null, "Here are some common suggestions:")),
121
- React.createElement(Suggestions, { showTitleDescription: false, showMax: 6 }),
117
+ props.loadTCOnChange && !topContent.isFetching && topContent.data.length !== 0 && (React.createElement(Modal, { className: "feedback-modal", "aria-describedby": "Feedback Form", isOpen: isModalOpen, variant: ModalVariant.large },
118
+ React.createElement(ModalHeader, null,
119
+ React.createElement("h2", null, t('Suggested fixes'))),
120
+ React.createElement(ModalBody, null,
121
+ React.createElement("p", null, t('There are new updates to suggested fixes after changing your product.')),
122
+ React.createElement("span", null,
123
+ React.createElement(Trans, null, "Here are some common suggestions:")),
124
+ React.createElement(Suggestions, { showTitleDescription: false, showMax: 6 })),
122
125
  React.createElement(ModalFooter, null,
123
126
  React.createElement("button", { key: "cancel", onClick: toggleTCModal, className: "btn btn-app btn-primary", type: "button" },
124
127
  React.createElement(Trans, null, "Cancel")))))));
@@ -1 +1 @@
1
- {"version":3,"file":"AsideResults.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/AsideResults.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,OAAO,EAAE,eAAe,EAAsC,MAAM,iCAAiC,CAAC;AAUtG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBA6MzC"}
1
+ {"version":3,"file":"AsideResults.d.ts","sourceRoot":"","sources":["../../../../src/components/Recommendations/AsideResults.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AASvD,OAAO,EAAE,eAAe,EAAsC,MAAM,iCAAiC,CAAC;AAUtG,UAAU,MAAM;IACZ,UAAU,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,qBA4MzC"}
@@ -131,7 +131,7 @@ export function AsideResults(props) {
131
131
  const isIdea = caseType === PreviousCaseTypes.FEATURE_ENHANCEMENT;
132
132
  if (!canShowSideRecommendations())
133
133
  return React.createElement(React.Fragment, null);
134
- return (React.createElement(Card, { className: "pf-v6-u-m-sm" },
134
+ return (React.createElement(Card, { className: "pf-v6-u-mt-lg pf-v6-u-mb-0" },
135
135
  React.createElement(CardHeader, null,
136
136
  React.createElement("h3", null, isIdea ? (React.createElement(Trans, null, "Search recommendations")) : (React.createElement(Trans, null, "Articles recommended by OpenShift AI")))),
137
137
  React.createElement(CardBody, null,
@@ -253,7 +253,7 @@ function InsightsResults(props) {
253
253
  }
254
254
  return (React.createElement(React.Fragment, null,
255
255
  !rulesState.triggerRuleNotification && caseType !== PreviousCaseTypes.FEATURE_ENHANCEMENT && (React.createElement(Alert, { isInline: true, variant: "custom", title: t('File recommendations are ready to view'), "data-tracking-id": "inline-view-critical-solution-alert", children: React.createElement("p", null,
256
- React.createElement(Trans, null, "Troubleshooting specific for your uploaded files.")), className: "pf-v6-u-mb-md" })),
256
+ React.createElement(Trans, null, "Troubleshooting specific for your uploaded files.")), className: "pf-v6-u-mb-lg" })),
257
257
  React.createElement(InsightResultModal, { EARule: validEARules, onModalToggle: insightsModalToggle, isOpen: isRuleModalVisible, insightResults: allResults })));
258
258
  }
259
259
  InsightsResults.defaultProps = defaultProps;
@@ -184,7 +184,7 @@ export default function Recommendations(props) {
184
184
  isATestvariation
185
185
  ? (recommendationState.visibleDocs.length !== 0 ||
186
186
  recommendationState.isLoadingRecommendations) && (React.createElement("div", { className: `${recommendationState.isLoadingRecommendations ? 'gradient' : ''} label-container-icon` },
187
- React.createElement(Label, { id: "DeepPurpleColorAILabel", className: "pf-v6-u-mb-md", color: "purple" },
187
+ React.createElement(Label, { id: "DeepPurpleColorAILabel", color: "purple" },
188
188
  recommendationState.isLoadingRecommendations ? (React.createElement(React.Fragment, null,
189
189
  React.createElement("span", { className: "loading-text" },
190
190
  React.createElement(Spinner, { size: "sm", className: "pf-v6-u-mr-xs" }),
@@ -305,7 +305,7 @@ export function SessionRestore(props) {
305
305
  ], 1000);
306
306
  if (!sessionRestoreCardSections.includes(activeSection))
307
307
  return React.createElement(React.Fragment, null);
308
- return (React.createElement("div", { className: "pf-v6-u-mb-md pf-v6-u-mt-0" },
308
+ return (React.createElement("div", { className: "pf-v6-u-mb-lg pf-v6-u-mt-0" },
309
309
  ' ',
310
310
  React.createElement(SessionRestoreCard, { onRestore: restoreSession, previousSessions: previousSessions, onCardDismiss: onSessionRestoreCardDismiss }),
311
311
  React.createElement(RestoreLastSessionModal, { onRestore: restoreSession, errorSession: sessionRestore.sessionOfCaseCreationError })));
@@ -146,12 +146,12 @@ function WidgetFileUploader(props) {
146
146
  }
147
147
  }
148
148
  });
149
- return (React.createElement(Card, { id: "file-uploader-card", className: `file-diag pf-v6-u-m-sm`, onPaste: handlePaste },
149
+ return (React.createElement(Card, { id: "file-uploader-card", className: "file-diag", onPaste: handlePaste },
150
150
  React.createElement(CardHeader, { "aria-label": t('File uploader') },
151
151
  React.createElement("h3", { id: "file-uploader-title" }, props.isIdea || props.isSecureSupport ? (React.createElement(Trans, null, "File uploader")) : (React.createElement(Trans, null, "Upload a file for Red Hat to analyze")))),
152
- React.createElement(CardBody, { "aria-label": t('File upload area'), className: "file-upload-body pf-v6-u-pt-md" },
152
+ React.createElement(CardBody, { "aria-label": t('File upload area'), className: "file-upload-body" },
153
153
  React.createElement(WidgetFileSelector, { isSessionId: props.isSessionId, isPrivate: props.isPrivate, isIdea: props.isIdea, showFileExceed: fileExceedInfo }),
154
- !hasSomeSelectedFiles(selectedLocalFiles) ? ((!props.isIdea && props.helperText) || (React.createElement("p", { className: "pf-v6-u-mt-sm" },
154
+ !hasSomeSelectedFiles(selectedLocalFiles) ? ((!props.isIdea && props.helperText) || (React.createElement("p", { className: "pf-v6-u-mt-md" },
155
155
  !props.isIdea ? (React.createElement(React.Fragment, null,
156
156
  React.createElement(Trans, null, "To help us provide the right guidance, upload a sosreport."),
157
157
  React.createElement("br", null),
@@ -73,6 +73,7 @@ i.web-icon-check {
73
73
  color: #06c;
74
74
  font-size: 14px;
75
75
  text-align: center;
76
+ margin-bottom: 0;
76
77
  }
77
78
 
78
79
  .file-diag .file-diag-dragndrop:hover,
@@ -39,14 +39,14 @@ function WizardAside(props) {
39
39
  React.createElement("section", { className: "grid-aside-content" },
40
40
  canUseSessionManagement && !isCreatingCase && activeSection !== AppRouteSections.SUBMIT_CASE && (React.createElement(SessionRestore, { routeProps: props.routeProps })),
41
41
  canShowFileUploadWidget() && React.createElement(InsightsResults, null),
42
- canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v6-u-mb-md" }),
42
+ canShowFileUploadWidget() && React.createElement(FileDiag, { className: "pf-v6-u-mb-lg" }),
43
43
  activeSection === (isCaseCreate ? AppRouteSections.SUMMARIZE : AppRouteSections.TROUBLESHOOT) &&
44
44
  !isCveModalOpened && React.createElement(CveSidebar, null),
45
45
  activeSection === AppRouteSections.RESOURCES && React.createElement(CveSidebar, null),
46
46
  canShowEARuleWidget && React.createElement(EARuleWidget, null),
47
- !(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v6-u-mb-md pf-v6-u-mt-0" })),
47
+ !(isIdea && activeSection === 'submit-case') && (React.createElement(AsideResults, { routeProps: props.routeProps, className: "pf-v6-u-mb-lg pf-v6-u-mt-0" })),
48
48
  canShowFileRecommendationSectionsWidget && React.createElement(InsightsResults, { isDisplayOnMain: true }),
49
- React.createElement(ClusterRecommendations, { showClusterRecommendationsList: canShowClusterIdReportWidget, className: "pf-v6-u-mb-md pf-v6-u-mt-0" }))));
49
+ React.createElement(ClusterRecommendations, { showClusterRecommendationsList: canShowClusterIdReportWidget, className: "pf-v6-u-mb-lg pf-v6-u-mt-0" }))));
50
50
  }
51
51
  WizardAside.defaultProps = defaultProps;
52
52
  export default WizardAside;
@@ -41,11 +41,11 @@
41
41
  }
42
42
 
43
43
  .recommendation-list {
44
- margin-top: 2rem;
44
+ margin-top: 26px;
45
45
  }
46
46
 
47
47
  .recommendation-list .result {
48
- margin-bottom: 1.75rem;
48
+ margin-bottom: 18px;
49
49
  }
50
50
 
51
51
  .recommendation-list .result:last-child {
@@ -653,18 +653,20 @@ mark {
653
653
  font-weight: 600;
654
654
 
655
655
  .pinned-resource {
656
- color: var(--pf-v5-global--primary-color--100);
656
+ color: var(--pf-t--global--text--color--link--default);
657
657
  }
658
658
 
659
- button:hover[title='Link'] {
659
+ button:hover[title='Link'] svg {
660
660
  color: #6ca100;
661
661
  }
662
662
 
663
663
  button[title='Unlink'] {
664
- color: #6ca100;
664
+ svg {
665
+ color: #6ca100;
666
+ }
665
667
 
666
- &:hover {
667
- color: var(--pf-v5-global--danger-color--100);
668
+ &:hover svg {
669
+ color: var(pf-t--global--icon--color--status--danger--default);
668
670
  }
669
671
  }
670
672
  }
@@ -765,10 +767,10 @@ p.pref-case-popover-text {
765
767
  }
766
768
 
767
769
  .support-types-card {
768
- border: 1px solid #c7c7c7;
770
+ border: var(--pf-t--global--border--width--box--default) solid var(--pf-t--global--border--color--default);
769
771
 
770
772
  &.pf-m-selected {
771
- border: 1px solid #06c;
773
+ border: var(--pf-t--global--border--width--box--clicked) solid var(--pf-t--global--border--color--clicked);
772
774
  }
773
775
  }
774
776
 
@@ -1151,6 +1153,7 @@ svg.pf-v6-u-ml-xs.icon-size {
1151
1153
  padding: 1px;
1152
1154
  border-radius: 20px;
1153
1155
  height: 32px;
1156
+ margin-bottom: 18px;
1154
1157
  }
1155
1158
 
1156
1159
  .single-select-toggle-text {
@@ -1192,7 +1195,6 @@ svg.pf-v6-u-ml-xs.icon-size {
1192
1195
  position: relative;
1193
1196
  display: inline-block;
1194
1197
  z-index: 1;
1195
- margin: 1px;
1196
1198
  line-height: normal;
1197
1199
  font-size: 14px;
1198
1200
  }
@@ -1267,3 +1269,15 @@ svg.pf-v6-u-ml-xs.icon-size {
1267
1269
  .cursor-pointer {
1268
1270
  cursor: pointer;
1269
1271
  }
1272
+
1273
+ #file-uploader-title {
1274
+ margin-bottom: 0;
1275
+ }
1276
+
1277
+ .file-upload-body {
1278
+ padding-top: 0;
1279
+ }
1280
+
1281
+ .article-recommendations-card h3 {
1282
+ margin-bottom: 0;
1283
+ }
@@ -805,12 +805,10 @@ div.case-details-tabs pre {
805
805
  margin-bottom: 1rem;
806
806
  }
807
807
 
808
- #external-ssousername-filter:has(.pf-v6-c-truncate) {
809
- @media (min-width: 1300px) {
810
- min-width: calc(100% + 269px) !important;
811
- }
812
- }
813
-
814
808
  .case-creation-severity-select {
815
809
  max-width: min-content !important;
816
810
  }
811
+
812
+ .pf-v6-c-wizard__main-body {
813
+ padding: 32px;
814
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/troubleshoot",
3
- "version": "2.6.24",
3
+ "version": "2.6.28",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -58,8 +58,8 @@
58
58
  "@progress/kendo-licensing": "1.3.5",
59
59
  "@progress/kendo-react-pdf": "^5.16.0",
60
60
  "@redux-devtools/extension": "^3.3.0",
61
- "@rh-support/components": "2.5.32",
62
- "@rh-support/react-context": "2.5.34",
61
+ "@rh-support/components": "2.5.33",
62
+ "@rh-support/react-context": "2.5.35",
63
63
  "@rh-support/types": "2.0.5",
64
64
  "@rh-support/user-permissions": "2.5.20",
65
65
  "@rh-support/utils": "2.5.19",
@@ -134,5 +134,5 @@
134
134
  "defaults and supports es6-module",
135
135
  "maintained node versions"
136
136
  ],
137
- "gitHead": "0ecaec663e234789df10d8f8a98a46757388e573"
137
+ "gitHead": "a00e0bcab839947c8f3bfaf882e453408960abf7"
138
138
  }