@rh-support/troubleshoot 2.6.46 → 2.6.48

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 (154) hide show
  1. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts +1 -0
  2. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  3. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +31 -5
  4. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  5. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +33 -34
  6. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  7. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +3 -2
  8. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  9. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +1 -0
  10. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  11. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +14 -18
  12. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +1 -1
  13. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
  14. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +16 -22
  15. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.d.ts.map +1 -1
  16. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.js +2 -2
  17. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  18. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +53 -102
  19. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
  20. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +1 -1
  21. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +23 -21
  23. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +4 -2
  24. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map +1 -1
  25. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +7 -4
  26. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  27. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +1 -1
  28. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  29. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +7 -9
  30. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +0 -8
  31. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  32. package/lib/esm/components/CaseInformation/Fts.js +6 -2
  33. package/lib/esm/components/CaseInformation/Severity.js +1 -1
  34. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  35. package/lib/esm/components/CaseInformation/SupportLevel.js +1 -1
  36. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts +3 -0
  37. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  38. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +15 -20
  39. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  40. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +5 -7
  41. package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.d.ts.map +1 -1
  42. package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.js +20 -18
  43. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
  44. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +6 -9
  45. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
  46. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +22 -15
  47. package/lib/esm/components/Cve/CveModal.d.ts.map +1 -1
  48. package/lib/esm/components/Cve/CveModal.js +2 -3
  49. package/lib/esm/components/Cve/CveSidebar.js +1 -1
  50. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +1 -1
  51. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  52. package/lib/esm/components/ProductSelector/AllProductsSelector.js +6 -9
  53. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  54. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +1 -10
  55. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  56. package/lib/esm/components/Recommendations/AsideResults.js +3 -3
  57. package/lib/esm/components/Recommendations/ClusterRecommendationsModal.d.ts.map +1 -1
  58. package/lib/esm/components/Recommendations/ClusterRecommendationsModal.js +4 -7
  59. package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.d.ts.map +1 -1
  60. package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.js +1 -3
  61. package/lib/esm/components/Recommendations/InsightsResults.js +1 -1
  62. package/lib/esm/components/Recommendations/InsightsRuleInfo.d.ts.map +1 -1
  63. package/lib/esm/components/Recommendations/InsightsRuleInfo.js +2 -9
  64. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.d.ts.map +1 -1
  65. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +4 -4
  66. package/lib/esm/components/Recommendations/Recommendations.js +2 -2
  67. package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
  68. package/lib/esm/components/Recommendations/RulesModal.js +4 -7
  69. package/lib/esm/components/Recommendations/WatsonxAiIcon.js +1 -1
  70. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts.map +1 -1
  71. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.js +3 -5
  72. package/lib/esm/components/SessionRestore/SessionRestore.js +1 -1
  73. package/lib/esm/components/Suggestions/Suggestions.d.ts.map +1 -1
  74. package/lib/esm/components/Suggestions/Suggestions.js +12 -17
  75. package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
  76. package/lib/esm/components/Suggestions/TopContent.js +13 -13
  77. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts +7 -0
  78. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts.map +1 -0
  79. package/lib/esm/components/TroubleshootSection/AskRedHat.js +176 -0
  80. package/lib/esm/components/TroubleshootSection/CloseButton.d.ts +9 -0
  81. package/lib/esm/components/TroubleshootSection/CloseButton.d.ts.map +1 -0
  82. package/lib/esm/components/TroubleshootSection/CloseButton.js +5 -0
  83. package/lib/esm/components/TroubleshootSection/QuickResponse.d.ts +15 -0
  84. package/lib/esm/components/TroubleshootSection/QuickResponse.d.ts.map +1 -0
  85. package/lib/esm/components/TroubleshootSection/QuickResponse.js +26 -0
  86. package/lib/esm/components/TroubleshootSection/ResponseActionButton.d.ts +18 -0
  87. package/lib/esm/components/TroubleshootSection/ResponseActionButton.d.ts.map +1 -0
  88. package/lib/esm/components/TroubleshootSection/ResponseActionButton.js +28 -0
  89. package/lib/esm/components/TroubleshootSection/ResponseActions.d.ts +20 -0
  90. package/lib/esm/components/TroubleshootSection/ResponseActions.d.ts.map +1 -0
  91. package/lib/esm/components/TroubleshootSection/ResponseActions.js +52 -0
  92. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts +7 -0
  93. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  94. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +99 -13
  95. package/lib/esm/components/TroubleshootSection/UserFeedback.d.ts +12 -0
  96. package/lib/esm/components/TroubleshootSection/UserFeedback.d.ts.map +1 -0
  97. package/lib/esm/components/TroubleshootSection/UserFeedback.js +44 -0
  98. package/lib/esm/components/TroubleshootSection/UserFeedbackComplete.d.ts +10 -0
  99. package/lib/esm/components/TroubleshootSection/UserFeedbackComplete.d.ts.map +1 -0
  100. package/lib/esm/components/TroubleshootSection/UserFeedbackComplete.js +46 -0
  101. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts +9 -0
  102. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts.map +1 -0
  103. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.js +9 -0
  104. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts +9 -0
  105. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts.map +1 -0
  106. package/lib/esm/components/TroubleshootSection/icons/StarIcon.js +17 -0
  107. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +3 -3
  108. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +0 -1
  109. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts +0 -1
  110. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts.map +1 -1
  111. package/lib/esm/components/shared/input/ContactSelectorInternal.js +1 -6
  112. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  113. package/lib/esm/components/shared/useIsSectionValid.js +1 -7
  114. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  115. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +2 -8
  116. package/lib/esm/components/wizardLayout/WizardAside.js +3 -3
  117. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  118. package/lib/esm/components/wizardLayout/WizardLayout.js +9 -6
  119. package/lib/esm/components/wizardLayout/WizardMain.d.ts +7 -1
  120. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  121. package/lib/esm/components/wizardLayout/WizardMain.js +217 -18
  122. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts +4 -2
  123. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  124. package/lib/esm/components/wizardLayout/WizardNavigation.js +13 -16
  125. package/lib/esm/components/wizardLayout/index.d.ts +1 -0
  126. package/lib/esm/components/wizardLayout/index.d.ts.map +1 -1
  127. package/lib/esm/components/wizardLayout/index.js +1 -0
  128. package/lib/esm/constants/askRedHatMessages.d.ts +35 -0
  129. package/lib/esm/constants/askRedHatMessages.d.ts.map +1 -0
  130. package/lib/esm/constants/askRedHatMessages.js +36 -0
  131. package/lib/esm/context/AIResponseContext.d.ts +10 -0
  132. package/lib/esm/context/AIResponseContext.d.ts.map +1 -0
  133. package/lib/esm/context/AIResponseContext.js +26 -0
  134. package/lib/esm/context/RootTroubleshootProvider.d.ts.map +1 -1
  135. package/lib/esm/context/RootTroubleshootProvider.js +8 -6
  136. package/lib/esm/css/AskRedHat.css +359 -0
  137. package/lib/esm/css/app.css +4 -5
  138. package/lib/esm/css/case.css +6 -39
  139. package/lib/esm/css/results.css +2 -2
  140. package/lib/esm/hooks/useWizard.d.ts +6 -0
  141. package/lib/esm/hooks/useWizard.d.ts.map +1 -1
  142. package/lib/esm/hooks/useWizard.js +1 -1
  143. package/lib/esm/reducers/AIResponseConstNTypes.d.ts +48 -0
  144. package/lib/esm/reducers/AIResponseConstNTypes.d.ts.map +1 -0
  145. package/lib/esm/reducers/AIResponseConstNTypes.js +18 -0
  146. package/lib/esm/reducers/AIResponseReducer.d.ts +9 -0
  147. package/lib/esm/reducers/AIResponseReducer.d.ts.map +1 -0
  148. package/lib/esm/reducers/AIResponseReducer.js +42 -0
  149. package/lib/esm/reducers/CaseConstNTypes.d.ts +2 -0
  150. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  151. package/lib/esm/reducers/CaseConstNTypes.js +2 -0
  152. package/lib/esm/scss/_main.scss +22 -84
  153. package/lib/esm/scss/_pf-overrides.scss +10 -37
  154. package/package.json +7 -6
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { IAIResponseActionType, IAIResponseState } from '../reducers/AIResponseConstNTypes';
3
+ export declare const AIResponseStateContext: React.Context<IAIResponseState>;
4
+ export declare const AIResponseDispatchContext: React.Context<React.Dispatch<IAIResponseActionType>>;
5
+ export declare function AIResponseContextProvider({ children }: {
6
+ children: React.ReactNode;
7
+ }): React.JSX.Element;
8
+ export declare const useAIResponseState: () => IAIResponseState;
9
+ export declare const useAIResponseDispatch: () => React.Dispatch<IAIResponseActionType>;
10
+ //# sourceMappingURL=AIResponseContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIResponseContext.d.ts","sourceRoot":"","sources":["../../../src/context/AIResponseContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAA0B,MAAM,mCAAmC,CAAC;AAKpH,eAAO,MAAM,sBAAsB,iCAAgE,CAAC;AACpG,eAAO,MAAM,yBAAyB,sDACgD,CAAC;AAEvF,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAUpF;AAGD,eAAO,MAAM,kBAAkB,wBAM9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,6CAMjC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import React, { useReducer } from 'react';
2
+ import { initialAIResponseState } from '../reducers/AIResponseConstNTypes';
3
+ import { aiResponseReducer } from '../reducers/AIResponseReducer';
4
+ const initialDispatchContext = () => { };
5
+ export const AIResponseStateContext = React.createContext(initialAIResponseState);
6
+ export const AIResponseDispatchContext = React.createContext(initialDispatchContext);
7
+ export function AIResponseContextProvider({ children }) {
8
+ const [aiResponseState, aiResponseDispatch] = useReducer(aiResponseReducer, initialAIResponseState);
9
+ return (React.createElement(AIResponseStateContext.Provider, { value: aiResponseState },
10
+ React.createElement(AIResponseDispatchContext.Provider, { value: aiResponseDispatch }, children)));
11
+ }
12
+ // Custom hooks for easy access
13
+ export const useAIResponseState = () => {
14
+ const context = React.useContext(AIResponseStateContext);
15
+ if (context === undefined) {
16
+ throw new Error('useAIResponseState must be used within a AIResponseContextProvider');
17
+ }
18
+ return context;
19
+ };
20
+ export const useAIResponseDispatch = () => {
21
+ const context = React.useContext(AIResponseDispatchContext);
22
+ if (context === undefined) {
23
+ throw new Error('useAIResponseDispatch must be used within a AIResponseContextProvider');
24
+ }
25
+ return context;
26
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"RootTroubleshootProvider.d.ts","sourceRoot":"","sources":["../../../src/context/RootTroubleshootProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,MAAM;IACZ,QAAQ,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACzC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,qBAkBrD"}
1
+ {"version":3,"file":"RootTroubleshootProvider.d.ts","sourceRoot":"","sources":["../../../src/context/RootTroubleshootProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,UAAU,MAAM;IACZ,QAAQ,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;CACzC;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,qBAoBrD"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { AttachmentContextProvider } from '../components/shared/fileUpload/reducer/AttachmentReducerContext';
3
+ import { AIResponseContextProvider } from './AIResponseContext';
3
4
  import { CaseContextProvider } from './CaseContext';
4
5
  import { ClusterRecommendationsContextProvider } from './ClusterRecommendationsContext';
5
6
  import { RecommendationContextProvider } from './RecommendationContext';
@@ -10,10 +11,11 @@ import { TCContextProvider } from './TopContentContext';
10
11
  export function RootTroubleshootProvider(props) {
11
12
  return (React.createElement(RouteContextProvider, null,
12
13
  React.createElement(CaseContextProvider, null,
13
- React.createElement(RecommendationContextProvider, null,
14
- React.createElement(AttachmentContextProvider, null,
15
- React.createElement(RulesContextProvider, null,
16
- React.createElement(ClusterRecommendationsContextProvider, null,
17
- React.createElement(TCContextProvider, null,
18
- React.createElement(SessionRestoreContextProvider, null, props.children)))))))));
14
+ React.createElement(AIResponseContextProvider, null,
15
+ React.createElement(RecommendationContextProvider, null,
16
+ React.createElement(AttachmentContextProvider, null,
17
+ React.createElement(RulesContextProvider, null,
18
+ React.createElement(ClusterRecommendationsContextProvider, null,
19
+ React.createElement(TCContextProvider, null,
20
+ React.createElement(SessionRestoreContextProvider, null, props.children))))))))));
19
21
  }
@@ -0,0 +1,359 @@
1
+ .ask-redhat {
2
+ padding: 1rem 1rem 2rem;
3
+ }
4
+
5
+ .ask-redhat-title {
6
+ display: flex;
7
+ flex-direction: row;
8
+ width: 387.666px;
9
+ height: 24px;
10
+ flex-shrink: 0;
11
+ color: #000;
12
+ font-family: 'Red Hat Display';
13
+ font-size: 16px;
14
+ font-style: normal;
15
+ font-weight: 600;
16
+ line-height: normal;
17
+ align-items: center;
18
+ gap: 0.5rem;
19
+ }
20
+
21
+ .ask-redhat-content-wrapper {
22
+ position: relative;
23
+ }
24
+
25
+ .ask-redhat-content {
26
+ max-height: 120px;
27
+ color: #000;
28
+ font-family: 'Red Hat Text';
29
+ font-size: 16px;
30
+ font-style: normal;
31
+ font-weight: 400;
32
+ line-height: 24px;
33
+ overflow: hidden;
34
+ position: relative;
35
+ transition: max-height 0.8s ease;
36
+ }
37
+
38
+ .ask-redhat-content--expanded {
39
+ max-height: calc(100vh - 390px);
40
+ transition: max-height 0.8s ease !important;
41
+ }
42
+
43
+ .ask-redhat-content--expanded-scrollable {
44
+ max-height: calc(100vh - 500px);
45
+ overflow-y: auto;
46
+ }
47
+
48
+ .ask-redhat-list {
49
+ margin-left: 1.5rem;
50
+ }
51
+
52
+ .ask-redhat-cards {
53
+ display: flex;
54
+ gap: 1rem;
55
+ margin-top: 1rem;
56
+ }
57
+
58
+ .ask-redhat-card {
59
+ flex: 1;
60
+ }
61
+
62
+ .ask-redhat-card-title {
63
+ margin: 0;
64
+ }
65
+
66
+ .ask-redhat-footer-wrapper {
67
+ position: relative;
68
+ margin-top: 1rem;
69
+ padding-bottom: 3rem;
70
+ }
71
+
72
+ .ask-redhat-footer {
73
+ display: flex;
74
+ justify-content: space-between;
75
+ align-items: center;
76
+ margin: 1.5rem 0 2rem;
77
+ }
78
+
79
+ .ask-redhat-footer-text {
80
+ margin: 0;
81
+ }
82
+
83
+ :root {
84
+ --color-red: var(--Core-color-palette-Red-red-40, #f56e6e);
85
+ --color-purple: var(--Secondary-color-palette-Purple-purple-50, #5e40be);
86
+ --gradient-red-purple: linear-gradient(90deg, var(--color-red), var(--color-purple));
87
+ --gorgey: #f56e6e;
88
+ }
89
+
90
+ .ask-redhat-chat-button {
91
+ width: 129px;
92
+ height: 30px;
93
+ justify-content: center;
94
+ align-items: center !important;
95
+ gap: 8px;
96
+ flex-shrink: 0;
97
+ border-radius: 40px;
98
+ background: var(--gradient-red-purple) !important;
99
+ color: #000;
100
+ text-decoration: none;
101
+ transition: all 0.2s ease;
102
+ cursor: pointer;
103
+ position: relative;
104
+ display: flex;
105
+ padding: 1px;
106
+ }
107
+
108
+ .ask-redhat-chat-button svg {
109
+ display: flex;
110
+ align-items: center;
111
+ justify-content: center;
112
+ margin: 0;
113
+ padding: 0;
114
+ vertical-align: middle;
115
+ }
116
+
117
+ .ask-redhat-chat-button .pf-v6-c-button__text {
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ line-height: 1;
122
+ color: #000;
123
+ margin: 0;
124
+ padding: 0;
125
+ height: 100%;
126
+ }
127
+
128
+ .ask-redhat-chat-button .pf-v6-c-button__icon {
129
+ display: flex;
130
+ align-items: center;
131
+ justify-content: center;
132
+ margin: 0;
133
+ padding: 0;
134
+ height: 100%;
135
+ }
136
+
137
+ .ask-redhat-chat-button::before {
138
+ content: '';
139
+ position: absolute;
140
+ top: 1px;
141
+ left: 1px;
142
+ right: 1px;
143
+ bottom: 1px;
144
+ background: #fff;
145
+ border-radius: 39px;
146
+ z-index: 1;
147
+ }
148
+
149
+ .ask-redhat-chat-button > * {
150
+ position: relative;
151
+ z-index: 2;
152
+ }
153
+
154
+ .ask-redhat-chat-button:focus {
155
+ outline: none;
156
+ box-shadow: 0 0 0 2px rgba(94, 64, 190, 0.2);
157
+ }
158
+
159
+ .ask-redhat-fade-overlay {
160
+ position: absolute;
161
+ bottom: 0;
162
+ left: 0;
163
+ width: 1002px;
164
+ height: 147px;
165
+ flex-shrink: 0;
166
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 80%, #fff 100%);
167
+ pointer-events: none;
168
+ z-index: 1;
169
+ }
170
+
171
+ .ask-redhat-toggle-button {
172
+ display: flex;
173
+ justify-content: center;
174
+ align-items: center;
175
+ gap: 8px;
176
+ flex-shrink: 0;
177
+ left: 50%;
178
+ width: 211.839px;
179
+ height: 40px;
180
+ transform: translateX(-50%);
181
+ background-color: #fff;
182
+ z-index: 3;
183
+ background: var(--gradient-red-purple) !important;
184
+ padding: 2px;
185
+ color: #000;
186
+ border-radius: 40px;
187
+ }
188
+
189
+ .ask-redhat-toggle-button .pf-v6-c-button__text {
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: center;
193
+ line-height: 1;
194
+ margin: 0;
195
+ padding: 0;
196
+ gap: 8px;
197
+ color: #000;
198
+ }
199
+
200
+ .ask-redhat-toggle-button svg {
201
+ display: flex;
202
+ align-items: center;
203
+ justify-content: center;
204
+ margin: 0;
205
+ padding: 0;
206
+ vertical-align: middle;
207
+ }
208
+
209
+ .ask-redhat-toggle-button::before {
210
+ content: '';
211
+ position: absolute;
212
+ top: 2px;
213
+ left: 2px;
214
+ right: 2px;
215
+ bottom: 2px;
216
+ background: #fff;
217
+ border-radius: 38px;
218
+ z-index: 1;
219
+ }
220
+
221
+ .ask-redhat-toggle-button > * {
222
+ position: relative;
223
+ z-index: 2;
224
+ }
225
+
226
+ .ask-redhat-toggle-button-collapsed {
227
+ display: flex;
228
+ width: 50px;
229
+ height: 24px;
230
+ padding: 6px 16px;
231
+ justify-content: center;
232
+ align-items: center;
233
+ gap: 8px;
234
+ flex-shrink: 0;
235
+ border-radius: 40px;
236
+ background: var(--gradient-red-purple) !important;
237
+ color: #000;
238
+ position: absolute;
239
+ left: 50%;
240
+ transform: translateX(-50%);
241
+ z-index: 3;
242
+ }
243
+
244
+ .ask-redhat-toggle-button-collapsed::before {
245
+ content: '';
246
+ position: absolute;
247
+ top: 1px;
248
+ left: 1px;
249
+ right: 1px;
250
+ bottom: 1px;
251
+ background: #fff;
252
+ border-radius: 39px;
253
+ z-index: 1;
254
+ }
255
+
256
+ .ask-redhat-toggle-button-collapsed > * {
257
+ position: relative;
258
+ z-index: 2;
259
+ }
260
+
261
+ .ask-redhat-toggle-button-collapsed svg {
262
+ display: flex;
263
+ align-items: center;
264
+ justify-content: center;
265
+ margin: 0;
266
+ padding: 0;
267
+ vertical-align: middle;
268
+ line-height: 1;
269
+ }
270
+
271
+ .ask-redhat-toggle-button-wrapper {
272
+ position: relative;
273
+ }
274
+
275
+ .ask-redhat-border-line {
276
+ position: absolute;
277
+ top: 50%;
278
+ left: 0;
279
+ right: 0;
280
+ height: 1px;
281
+ background: #d2d2d2;
282
+ z-index: 1;
283
+ }
284
+
285
+ .return-to-case-btn {
286
+ border: none;
287
+ background-color: transparent;
288
+ color: #0066cc;
289
+ padding: 0.5rem 1rem;
290
+ cursor: pointer;
291
+ font-size: 1rem;
292
+ }
293
+
294
+ .pf-chatbot--fullscreen {
295
+ position: absolute !important;
296
+ }
297
+
298
+ .pf-chatbot--embedded {
299
+ height: calc(100vh - 276px) !important;
300
+ }
301
+
302
+ .pf-chatbot--fullscreen .pf-chatbot-container {
303
+ height: calc(100vh - 255px) !important;
304
+ }
305
+
306
+ .fullscreen-chat-footer {
307
+ position: absolute !important;
308
+ bottom: 0 !important;
309
+ left: 0 !important;
310
+ right: 0 !important;
311
+ height: 42px !important;
312
+ background: #f6f6f6 !important;
313
+ border-top: 1px solid #d1d1d1 !important;
314
+ align-items: center !important;
315
+ z-index: 10001 !important;
316
+ padding-left: 25px;
317
+ display: none !important;
318
+ }
319
+
320
+ body:has(.pf-chatbot--fullscreen) .pf-v6-c-wizard__footer {
321
+ z-index: 0 !important;
322
+ }
323
+
324
+ body:has(.pf-chatbot--fullscreen) .fullscreen-chat-footer {
325
+ display: flex !important;
326
+ }
327
+
328
+ body:has(.pf-chatbot--fullscreen) .main-section {
329
+ min-height: calc(100vh - 212px) !important;
330
+ }
331
+
332
+ body:has(.pf-chatbot--embedded) .main-section {
333
+ min-height: calc(100vh - 218px) !important;
334
+ }
335
+
336
+ body:has(.pf-chatbot--embedded) .pf-v6-c-wizard__main-body:last-child {
337
+ padding: 0 !important;
338
+ }
339
+
340
+ .pf-v6-c-modal-box__close + * {
341
+ margin-inline-end: 0 !important;
342
+ }
343
+
344
+ .pf-chatbot__feedback-card {
345
+ max-width: 100% !important;
346
+ }
347
+
348
+ .privacy-notice-container {
349
+ margin-top: calc(-0.9 * var(--pf-v6-c-form--GridGap)) !important;
350
+ padding: 0.5rem;
351
+ }
352
+
353
+ .privacy-notice-container + .pf-v6-c-form__group {
354
+ margin-top: calc(-1 * var(--pf-v6-c-form--GridGap)) !important;
355
+ }
356
+
357
+ .response-actions-wrapper {
358
+ margin-top: 24px;
359
+ }
@@ -91,6 +91,10 @@ form textarea.form-control:focus {
91
91
  border-bottom-color: #06c;
92
92
  }
93
93
 
94
+ form textarea {
95
+ resize: vertical !important;
96
+ }
97
+
94
98
  .pf-v6-c-form-control.pf-m-warning {
95
99
  border-bottom-color: var(--pf-v5-c-form-control--m-warning--BorderBottomColor);
96
100
  border-bottom-width: 2px;
@@ -341,7 +345,6 @@ input[type='checkbox'] {
341
345
 
342
346
  .list-flushleft li {
343
347
  margin-bottom: 0.5em;
344
- list-style-type: none;
345
348
  }
346
349
 
347
350
  .list-flushleft li:last-child {
@@ -445,7 +448,3 @@ input[type='checkbox'] {
445
448
  row-gap: 9px;
446
449
  line-height: 2px;
447
450
  }
448
-
449
- #additional-information-section textarea {
450
- resize: none !important;
451
- }
@@ -177,36 +177,15 @@ button,
177
177
  }
178
178
 
179
179
  .clipboard-wrapper {
180
- display: flex;
181
180
  position: relative;
182
181
  }
183
182
 
184
- .clipboard-wrapper svg {
185
- color: var(--pf-t--global--text--color--link--default);
186
- }
187
-
188
- .clipboard-wrapper :first-child {
189
- white-space: nowrap;
190
- overflow: hidden;
191
- text-overflow: ellipsis;
192
- }
193
-
194
- .helper-text-size {
195
- font-size: var(--pf-t--global--font--size--100);
196
- }
197
-
198
- .label-text-size {
199
- font-size: var(--pf-t--global--font--size--300);
200
- }
201
-
202
- .request-collaboration-input {
203
- background-color: var(--pf-t--global--background--color--200);
204
- border: var(--pf-t--global--border--width--box--default) solid var(--pf-t--global--border--color--100);
205
- }
206
-
207
- .copy-button {
208
- display: flex;
209
- align-items: center;
183
+ .clip-content-wrapper {
184
+ position: relative;
185
+ border: 1px solid #ededed;
186
+ background: #f5f5f5;
187
+ padding: 2px 4px;
188
+ overflow: auto;
210
189
  }
211
190
 
212
191
  .clip-code-raw-btn {
@@ -384,15 +363,3 @@ input[aria-invalid='true'].pf-v6-c-form-control {
384
363
  min-width: 552px;
385
364
  }
386
365
  }
387
-
388
- #reopen-case-description {
389
- resize: none !important;
390
- }
391
-
392
- .add-watcher-button {
393
- max-width: 15rem;
394
- }
395
-
396
- .remove-watcher-button {
397
- max-width: 15rem;
398
- }
@@ -41,11 +41,11 @@
41
41
  }
42
42
 
43
43
  .recommendation-list {
44
- margin-top: 26px;
44
+ margin-top: 2rem;
45
45
  }
46
46
 
47
47
  .recommendation-list .result {
48
- margin-bottom: 18px;
48
+ margin-bottom: 1.75rem;
49
49
  }
50
50
 
51
51
  .recommendation-list .result:last-child {
@@ -5,6 +5,12 @@ interface IProps {
5
5
  userClickedNextonRecommendationsValue: boolean;
6
6
  resultsRowRef: any;
7
7
  userScrolledLabel: boolean;
8
+ isAIChatMode: boolean;
9
+ setIsAIChatMode: (value: boolean) => void;
10
+ onChatWithAIClick?: () => void;
11
+ aiServicesAvailable: boolean;
12
+ isSecureSupport?: boolean;
13
+ hasConfirmedStatesideSupport?: boolean;
8
14
  }
9
15
  export declare function useWizard(routeProps: any, props?: IProps): {
10
16
  getStepsSequece: (showRest?: boolean) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,UAAU,MAAM;IACZ,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,EAAE,MAAM;iCA2Qb,OAAO;EAwC7C"}
1
+ {"version":3,"file":"useWizard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWizard.tsx"],"names":[],"mappings":"AA+BA,UAAU,MAAM;IACZ,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,4BAA4B,EAAE,OAAO,CAAC;IACtC,6BAA6B,EAAE,OAAO,CAAC;IACvC,qCAAqC,EAAE,OAAO,CAAC;IAC/C,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,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;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4BAA4B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,wBAAgB,SAAS,CAAC,UAAU,KAAA,EAAE,KAAK,CAAC,EAAE,MAAM;iCAkRb,OAAO;EAwC7C"}
@@ -68,7 +68,7 @@ export function useWizard(routeProps, props) {
68
68
  [AppRouteSections.RESOURCES]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.RESOURCES, name: isCaseCreate ? t('Resources') : t('Resources'), component: (React.createElement(MainSection, { stepNumber: 3, totalSteps: 6, section: AppRouteSections.RESOURCES, title: t('Recommendations') },
69
69
  React.createElement(Suspense, { fallback: React.createElement(LoadingIndicator, { size: "sm" }) },
70
70
  alertMessage(),
71
- React.createElement(TroubleshootSection, null)))), canJumpTo: isSectionValidFn(AppRouteSections.RESOURCES || activeSection === AppRouteSections.RESOURCES) &&
71
+ React.createElement(TroubleshootSection, { isAIChatMode: props.isAIChatMode, setIsAIChatMode: props.setIsAIChatMode, onChatWithAIClick: props.onChatWithAIClick, aiServicesAvailable: props.aiServicesAvailable, isSecureSupport: props.isSecureSupport, hasConfirmedStatesideSupport: props.hasConfirmedStatesideSupport })))), canJumpTo: isSectionValidFn(AppRouteSections.RESOURCES || activeSection === AppRouteSections.RESOURCES) &&
72
72
  (props === null || props === void 0 ? void 0 : props.userSeenRecommendationsValue) &&
73
73
  (props === null || props === void 0 ? void 0 : props.userCanNavigateToTroubleshoot), nextButtonLabel: isCaseCreate ? t('Continue') : t('Convert to case') }),
74
74
  [AppRouteSections.ADDITIONAL_INFORMATION]: Object.assign(Object.assign({}, defaultRouteConfiguration), { id: AppRouteSections.ADDITIONAL_INFORMATION, name: t('Additional information'), component: (React.createElement(MainSection, { stepNumber: 4, totalSteps: 6, section: AppRouteSections.ADDITIONAL_INFORMATION, title: React.createElement(React.Fragment, null,
@@ -0,0 +1,48 @@
1
+ import { IARHDirectAPIResponse } from '@ifd-ui/ask-redhat-core';
2
+ export interface IActionType {
3
+ type: string;
4
+ payload?: any;
5
+ }
6
+ export interface IAIResponseState {
7
+ aiResponse: IARHDirectAPIResponse | null;
8
+ error: string | null;
9
+ lastUpdated: Date | null;
10
+ streamingChunk?: string;
11
+ accumulatedResponse?: string;
12
+ isStreaming?: boolean;
13
+ }
14
+ export declare const initialAIResponseState: IAIResponseState;
15
+ export declare enum AIResponseConstants {
16
+ clearAIResponse = "clearAIResponse",
17
+ streamingStarted = "streamingStarted",
18
+ streamingChunkReceived = "streamingChunkReceived",
19
+ streamingCompleted = "streamingCompleted",
20
+ streamingError = "streamingError"
21
+ }
22
+ export interface IClearAIResponseAction extends IActionType {
23
+ type: AIResponseConstants.clearAIResponse;
24
+ }
25
+ export interface IStreamingStartedAction extends IActionType {
26
+ type: AIResponseConstants.streamingStarted;
27
+ }
28
+ export interface IStreamingChunkReceivedAction extends IActionType {
29
+ type: AIResponseConstants.streamingChunkReceived;
30
+ payload: {
31
+ chunk: string;
32
+ accumulatedResponse: string;
33
+ };
34
+ }
35
+ export interface IStreamingCompletedAction extends IActionType {
36
+ type: AIResponseConstants.streamingCompleted;
37
+ payload: {
38
+ finalResponse: IARHDirectAPIResponse;
39
+ };
40
+ }
41
+ export interface IStreamingErrorAction extends IActionType {
42
+ type: AIResponseConstants.streamingError;
43
+ payload: {
44
+ error: string;
45
+ };
46
+ }
47
+ export type IAIResponseActionType = IClearAIResponseAction | IStreamingStartedAction | IStreamingChunkReceivedAction | IStreamingCompletedAction | IStreamingErrorAction;
48
+ //# sourceMappingURL=AIResponseConstNTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIResponseConstNTypes.d.ts","sourceRoot":"","sources":["../../../src/reducers/AIResponseConstNTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC7B,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,eAAO,MAAM,sBAAsB,EAAE,gBAOpC,CAAC;AAGF,oBAAY,mBAAmB;IAC3B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,cAAc,mBAAmB;CACpC;AAGD,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACvD,IAAI,EAAE,mBAAmB,CAAC,eAAe,CAAC;CAC7C;AAED,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IACxD,IAAI,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;CAC9C;AAED,MAAM,WAAW,6BAA8B,SAAQ,WAAW;IAC9D,IAAI,EAAE,mBAAmB,CAAC,sBAAsB,CAAC;IACjD,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,mBAAmB,EAAE,MAAM,CAAC;KAC/B,CAAC;CACL;AAED,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC1D,IAAI,EAAE,mBAAmB,CAAC,kBAAkB,CAAC;IAC7C,OAAO,EAAE;QACL,aAAa,EAAE,qBAAqB,CAAC;KACxC,CAAC;CACL;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACtD,IAAI,EAAE,mBAAmB,CAAC,cAAc,CAAC;IACzC,OAAO,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,MAAM,MAAM,qBAAqB,GAC3B,sBAAsB,GACtB,uBAAuB,GACvB,6BAA6B,GAC7B,yBAAyB,GACzB,qBAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ // Initial State
2
+ export const initialAIResponseState = {
3
+ aiResponse: null,
4
+ error: null,
5
+ lastUpdated: null,
6
+ streamingChunk: '',
7
+ accumulatedResponse: '',
8
+ isStreaming: false,
9
+ };
10
+ // Action Constants
11
+ export var AIResponseConstants;
12
+ (function (AIResponseConstants) {
13
+ AIResponseConstants["clearAIResponse"] = "clearAIResponse";
14
+ AIResponseConstants["streamingStarted"] = "streamingStarted";
15
+ AIResponseConstants["streamingChunkReceived"] = "streamingChunkReceived";
16
+ AIResponseConstants["streamingCompleted"] = "streamingCompleted";
17
+ AIResponseConstants["streamingError"] = "streamingError";
18
+ })(AIResponseConstants || (AIResponseConstants = {}));
@@ -0,0 +1,9 @@
1
+ import { IARHDirectAPIResponse } from '@ifd-ui/ask-redhat-core';
2
+ import { IAIResponseActionType, IAIResponseState } from './AIResponseConstNTypes';
3
+ export declare const aiResponseReducer: (state: IAIResponseState, action: IAIResponseActionType) => IAIResponseState;
4
+ export declare const clearAIResponse: () => IAIResponseActionType;
5
+ export declare const streamingStarted: () => IAIResponseActionType;
6
+ export declare const streamingChunkReceived: (chunk: string, accumulatedResponse: string) => IAIResponseActionType;
7
+ export declare const streamingCompleted: (finalResponse: IARHDirectAPIResponse) => IAIResponseActionType;
8
+ export declare const streamingError: (error: string) => IAIResponseActionType;
9
+ //# sourceMappingURL=AIResponseReducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIResponseReducer.d.ts","sourceRoot":"","sources":["../../../src/reducers/AIResponseReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAEH,qBAAqB,EACrB,gBAAgB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,iBAAiB,UACnB,gBAAgB,UACf,qBAAqB,KAC9B,gBAgDF,CAAC;AAGF,eAAO,MAAM,eAAe,QAAO,qBAGJ,CAAC;AAEhC,eAAO,MAAM,gBAAgB,QAAO,qBAGL,CAAC;AAEhC,eAAO,MAAM,sBAAsB,UAAW,MAAM,uBAAuB,MAAM,KAAG,qBAIrD,CAAC;AAEhC,eAAO,MAAM,kBAAkB,kBAAmB,qBAAqB,KAAG,qBAI3C,CAAC;AAEhC,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,qBAIhB,CAAC"}