@rh-support/troubleshoot 2.7.0 → 2.7.10

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 (585) hide show
  1. package/lib/esm/components/AccountInfo/AccountSelector.d.ts.map +1 -1
  2. package/lib/esm/components/AccountInfo/AccountSelector.js +23 -33
  3. package/lib/esm/components/AccountInfo/ManagedAccountsDropdown.js +1 -1
  4. package/lib/esm/components/AccountInfo/OwnerSelector.d.ts.map +1 -1
  5. package/lib/esm/components/AccountInfo/OwnerSelector.js +90 -24
  6. package/lib/esm/components/AccountInfo/css/accountSelector.css +3 -2
  7. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.d.ts.map +1 -1
  8. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/ActiveCustomerEscalation.js +47 -35
  9. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.d.ts.map +1 -1
  10. package/lib/esm/components/CaseEditView/ActiveCustomerEscalation/RequestEscalationModal.js +167 -90
  11. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.d.ts +7 -0
  12. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.d.ts.map +1 -0
  13. package/lib/esm/components/CaseEditView/ArchivedCaseBanner.js +12 -0
  14. package/lib/esm/components/CaseEditView/Case.d.ts.map +1 -1
  15. package/lib/esm/components/CaseEditView/Case.js +103 -37
  16. package/lib/esm/components/CaseEditView/CaseDetailsAside.d.ts.map +1 -1
  17. package/lib/esm/components/CaseEditView/CaseDetailsAside.js +44 -37
  18. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.d.ts +1 -0
  19. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.d.ts.map +1 -1
  20. package/lib/esm/components/CaseEditView/CaseDetailsErrorMessage.js +32 -11
  21. package/lib/esm/components/CaseEditView/CaseDetailsTabs.d.ts.map +1 -1
  22. package/lib/esm/components/CaseEditView/CaseDetailsTabs.js +94 -72
  23. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts +2 -0
  24. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.d.ts.map +1 -1
  25. package/lib/esm/components/CaseEditView/CaseOverview/CaseOwnerInfo.js +4 -4
  26. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts +3 -2
  27. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.d.ts.map +1 -1
  28. package/lib/esm/components/CaseEditView/CaseOverview/CaseStatus.js +24 -11
  29. package/lib/esm/components/CaseEditView/CaseOverview/CaseType.d.ts.map +1 -1
  30. package/lib/esm/components/CaseEditView/CaseOverview/CaseType.js +2 -4
  31. package/lib/esm/components/CaseEditView/CaseOverview/DateTime.d.ts.map +1 -1
  32. package/lib/esm/components/CaseEditView/CaseOverview/DateTime.js +1 -1
  33. package/lib/esm/components/CaseEditView/CaseOverview/index.d.ts.map +1 -1
  34. package/lib/esm/components/CaseEditView/CaseOverview/index.js +123 -70
  35. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.d.ts.map +1 -1
  36. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutions.js +240 -121
  37. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts +0 -1
  38. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.d.ts.map +1 -1
  39. package/lib/esm/components/CaseEditView/CaseSolutions/CaseSolutionsItem.js +6 -6
  40. package/lib/esm/components/CaseEditView/CaseSolutions/HandpicketItem.js +3 -3
  41. package/lib/esm/components/CaseEditView/CaseSubscriptionAbuseAlert.js +1 -1
  42. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts +1 -3
  43. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.d.ts.map +1 -1
  44. package/lib/esm/components/CaseEditView/ConfirmationModals/ReopenCaseModal.js +55 -43
  45. package/lib/esm/components/CaseEditView/PDFContainer.d.ts.map +1 -1
  46. package/lib/esm/components/CaseEditView/PDFContainer.js +19 -15
  47. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.d.ts.map +1 -1
  48. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSession.js +33 -16
  49. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.d.ts.map +1 -1
  50. package/lib/esm/components/CaseEditView/RequestRemoteSession/ESSRemoteSessionModal.js +31 -33
  51. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.d.ts.map +1 -1
  52. package/lib/esm/components/CaseEditView/RequestRemoteSession/NewEssTermsModal.js +116 -91
  53. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.d.ts.map +1 -1
  54. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreement.js +33 -16
  55. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.d.ts.map +1 -1
  56. package/lib/esm/components/CaseEditView/RequestRemoteSession/RemoteSessionAgreementModal.js +114 -89
  57. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts +15 -0
  58. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.d.ts.map +1 -0
  59. package/lib/esm/components/CaseEditView/RequestRemoteSession/remoteSessionUtils.js +47 -0
  60. package/lib/esm/components/CaseEditView/ShareCase/TnC.d.ts.map +1 -1
  61. package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.d.ts.map +1 -1
  62. package/lib/esm/components/CaseEditView/Tabs/CaseActionPlan/CaseActionPlan.js +9 -6
  63. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.d.ts.map +1 -1
  64. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseContactPhoneNumber.js +54 -48
  65. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.d.ts.map +1 -1
  66. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseDetailsManagement.js +84 -17
  67. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.d.ts.map +1 -1
  68. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseHostname.js +8 -8
  69. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.d.ts.map +1 -1
  70. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInformation.js +0 -2
  71. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.d.ts.map +1 -1
  72. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseInternalStatus.js +4 -3
  73. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenShiftPopover.js +1 -1
  74. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenShiftV3Popover.js +1 -1
  75. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.d.ts.map +1 -1
  76. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseOpenshiftClusterId/CaseOpenshiftClusterId.js +137 -59
  77. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.d.ts.map +1 -1
  78. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CasePhoneNumberConfirmAlert.js +6 -9
  79. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.d.ts.map +1 -1
  80. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseReferenceNumber.js +13 -8
  81. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseSbrGroups.d.ts.map +1 -1
  82. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/CaseSbrGroups.js +3 -1
  83. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.d.ts.map +1 -1
  84. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/ProductVersion.js +119 -65
  85. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/SFDCUrl.d.ts.map +1 -1
  86. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/SFDCUrl.js +3 -4
  87. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.d.ts.map +1 -1
  88. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/Summary.js +22 -15
  89. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts +1 -2
  90. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.d.ts.map +1 -1
  91. package/lib/esm/components/CaseEditView/Tabs/CaseDetails/useCustomEmails.js +6 -5
  92. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.d.ts +25 -0
  93. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.d.ts.map +1 -0
  94. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/AsaCommentFeedbackModal.js +102 -0
  95. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.d.ts.map +1 -1
  96. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseAttachment.js +44 -28
  97. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.d.ts.map +1 -1
  98. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseChat.js +7 -1
  99. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts +1 -1
  100. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.d.ts.map +1 -1
  101. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseComments.js +158 -101
  102. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts +10 -2
  103. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.d.ts.map +1 -1
  104. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseDiscussion.js +294 -143
  105. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CaseExternalTrackerUpdate.js +1 -1
  106. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.d.ts.map +1 -1
  107. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/CommentSearch.js +16 -16
  108. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/DiscussionItemLink.d.ts.map +1 -1
  109. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/DiscussionItemLink.js +9 -2
  110. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/JumpAndCopyLink.d.ts.map +1 -1
  111. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/JumpAndCopyLink.js +8 -1
  112. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.d.ts +29 -0
  113. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.d.ts.map +1 -0
  114. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useAttachmentUploadCompletion.js +29 -0
  115. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts +17 -0
  116. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.d.ts.map +1 -0
  117. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useCommentDrafts.js +62 -0
  118. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.d.ts +1 -2
  119. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.d.ts.map +1 -1
  120. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment/useMarkdownFileUploader.js +14 -12
  121. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts +9 -3
  122. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.d.ts.map +1 -1
  123. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/PostComment.js +223 -277
  124. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.d.ts.map +1 -1
  125. package/lib/esm/components/CaseEditView/Tabs/CaseDiscussion/VerifyCaseStatusModal/VerifyCaseStatusModal.js +33 -25
  126. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.d.ts +0 -1
  127. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.d.ts.map +1 -1
  128. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.js +8 -4
  129. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.css +55 -42
  130. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts +36 -3
  131. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.d.ts.map +1 -1
  132. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/Timeline.js +100 -248
  133. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts +4 -5
  134. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.d.ts.map +1 -1
  135. package/lib/esm/components/CaseEditView/Tabs/CasePrivateNotes/CasePrivateNotes.js +29 -12
  136. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.d.ts.map +1 -1
  137. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummary.js +32 -18
  138. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummaryErrorMessage.d.ts.map +1 -1
  139. package/lib/esm/components/CaseEditView/Tabs/CaseSummary/CaseSummaryErrorMessage.js +5 -7
  140. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.d.ts.map +1 -1
  141. package/lib/esm/components/CaseEditView/Tabs/RMEEscalations/RMEEscalationList.js +41 -55
  142. package/lib/esm/components/CaseEditView/Tabs/RelatedTasks/RelatedTasks.d.ts.map +1 -1
  143. package/lib/esm/components/CaseEditView/Tabs/RelatedTasks/RelatedTasks.js +2 -3
  144. package/lib/esm/components/CaseInformation/AISureMessageCard.d.ts +7 -0
  145. package/lib/esm/components/CaseInformation/AISureMessageCard.d.ts.map +1 -0
  146. package/lib/esm/components/CaseInformation/AISureMessageCard.js +15 -0
  147. package/lib/esm/components/CaseInformation/CaseGroup.d.ts.map +1 -1
  148. package/lib/esm/components/CaseInformation/CaseGroup.js +177 -55
  149. package/lib/esm/components/CaseInformation/CaseInformation.d.ts.map +1 -1
  150. package/lib/esm/components/CaseInformation/CaseInformation.js +15 -14
  151. package/lib/esm/components/CaseInformation/CaseLabels.d.ts +3 -0
  152. package/lib/esm/components/CaseInformation/CaseLabels.d.ts.map +1 -0
  153. package/lib/esm/components/CaseInformation/CaseLabels.js +108 -0
  154. package/lib/esm/components/CaseInformation/ContactPhoneNumber.d.ts.map +1 -1
  155. package/lib/esm/components/CaseInformation/ContactPhoneNumber.js +108 -31
  156. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.d.ts.map +1 -1
  157. package/lib/esm/components/CaseInformation/ContactPhoneNumberPopOver.js +3 -3
  158. package/lib/esm/components/CaseInformation/Description.d.ts.map +1 -1
  159. package/lib/esm/components/CaseInformation/Description.js +25 -7
  160. package/lib/esm/components/CaseInformation/FileDiag.d.ts.map +1 -1
  161. package/lib/esm/components/CaseInformation/FileDiag.js +2 -5
  162. package/lib/esm/components/CaseInformation/Fts.d.ts.map +1 -1
  163. package/lib/esm/components/CaseInformation/Fts.js +41 -27
  164. package/lib/esm/components/CaseInformation/OpenCaseIssue.d.ts +1 -0
  165. package/lib/esm/components/CaseInformation/OpenCaseIssue.d.ts.map +1 -1
  166. package/lib/esm/components/CaseInformation/OpenCaseIssue.js +8 -3
  167. package/lib/esm/components/CaseInformation/Severity.d.ts.map +1 -1
  168. package/lib/esm/components/CaseInformation/Severity.js +34 -25
  169. package/lib/esm/components/CaseInformation/SupportLevel.d.ts.map +1 -1
  170. package/lib/esm/components/CaseInformation/SupportLevel.js +43 -51
  171. package/lib/esm/components/CaseManagement/CaseLabelsCreate.d.ts +4 -0
  172. package/lib/esm/components/CaseManagement/CaseLabelsCreate.d.ts.map +1 -0
  173. package/lib/esm/components/CaseManagement/CaseLabelsCreate.js +141 -0
  174. package/lib/esm/components/CaseManagement/CaseLanguageSelector.d.ts.map +1 -1
  175. package/lib/esm/components/CaseManagement/CaseLanguageSelector.js +14 -17
  176. package/lib/esm/components/CaseManagement/CaseManagement.d.ts.map +1 -1
  177. package/lib/esm/components/CaseManagement/CaseManagement.js +15 -12
  178. package/lib/esm/components/CaseManagement/Cep.d.ts.map +1 -1
  179. package/lib/esm/components/CaseManagement/Cep.js +56 -51
  180. package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.d.ts.map +1 -1
  181. package/lib/esm/components/CaseManagement/ESSRemoteSessionCheckBox.js +50 -42
  182. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts +2 -1
  183. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.d.ts.map +1 -1
  184. package/lib/esm/components/CaseManagement/NoClusterIDReasonSelector.js +74 -72
  185. package/lib/esm/components/CaseManagement/OpenShiftClusterId.d.ts.map +1 -1
  186. package/lib/esm/components/CaseManagement/OpenShiftClusterId.js +14 -9
  187. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts +1 -4
  188. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.d.ts.map +1 -1
  189. package/lib/esm/components/CaseManagement/OpenshiftDropdownV4.js +136 -84
  190. package/lib/esm/components/CaseManagement/RHAssociatesSelector.d.ts.map +1 -1
  191. package/lib/esm/components/CaseManagement/RHAssociatesSelector.js +12 -8
  192. package/lib/esm/components/CaseManagement/SendNotifications/AddContactToGroupModal.d.ts.map +1 -1
  193. package/lib/esm/components/CaseManagement/SendNotifications/AddContactToGroupModal.js +8 -8
  194. package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.d.ts.map +1 -1
  195. package/lib/esm/components/CaseManagement/SendNotifications/AddCustomEmailToAccountModal.js +19 -21
  196. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.d.ts.map +1 -1
  197. package/lib/esm/components/CaseManagement/SendNotifications/CaseContactSelector.js +15 -10
  198. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.d.ts.map +1 -1
  199. package/lib/esm/components/CaseManagement/SendNotifications/NonOrgCaseNotifyeesSelector.js +94 -49
  200. package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.d.ts.map +1 -1
  201. package/lib/esm/components/ConfirmationModals/NoAttachmentSelectedModal.js +17 -34
  202. package/lib/esm/components/ConfirmationModals/PreCaseConfirmationModals.d.ts.map +1 -1
  203. package/lib/esm/components/ConfirmationModals/PreferredSecureSupportModal.d.ts.map +1 -1
  204. package/lib/esm/components/ConfirmationModals/PreferredSecureSupportModal.js +1 -1
  205. package/lib/esm/components/Cve/CveItem.d.ts.map +1 -1
  206. package/lib/esm/components/Cve/CveItem.js +14 -11
  207. package/lib/esm/components/Cve/CveModal.d.ts.map +1 -1
  208. package/lib/esm/components/Cve/CveModal.js +12 -11
  209. package/lib/esm/components/Cve/CvePanel.d.ts.map +1 -1
  210. package/lib/esm/components/Cve/CvePanel.js +18 -10
  211. package/lib/esm/components/Cve/CveSidebar.d.ts.map +1 -1
  212. package/lib/esm/components/Cve/CveSidebar.js +9 -8
  213. package/lib/esm/components/EditDescription/EditDescription.d.ts.map +1 -1
  214. package/lib/esm/components/EditDescription/EditDescription.js +4 -2
  215. package/lib/esm/components/IdeaInformation/IdeaInformation.d.ts.map +1 -1
  216. package/lib/esm/components/IdeaInformation/IdeaInformation.js +30 -24
  217. package/lib/esm/components/ImproveCase/Hostname.d.ts.map +1 -1
  218. package/lib/esm/components/ImproveCase/Hostname.js +2 -2
  219. package/lib/esm/components/ImproveCase/KtQuestions.js +6 -6
  220. package/lib/esm/components/OpenCase/CaseTypeIcons/BugIcon.d.ts.map +1 -1
  221. package/lib/esm/components/OpenCase/CaseTypeIcons/CertificationIcon.d.ts.map +1 -1
  222. package/lib/esm/components/OpenCase/CaseTypeIcons/CustomerServiceIcon.d.ts.map +1 -1
  223. package/lib/esm/components/OpenCase/CaseTypeIcons/DocumentationIcon.d.ts.map +1 -1
  224. package/lib/esm/components/OpenCase/CaseTypeIcons/GearIcon.d.ts.map +1 -1
  225. package/lib/esm/components/OpenCase/CaseTypeIcons/IdeaIcon.d.ts.map +1 -1
  226. package/lib/esm/components/OpenCase/CaseTypeIcons/RcaIcon.d.ts.map +1 -1
  227. package/lib/esm/components/OpenCase/OpenCase.d.ts.map +1 -1
  228. package/lib/esm/components/OpenCase/OpenCase.js +2 -8
  229. package/lib/esm/components/OpenCase/SupportTypeIcons/BugIcon.d.ts.map +1 -1
  230. package/lib/esm/components/OpenCase/SupportTypeIcons/CertificationIcon.d.ts.map +1 -1
  231. package/lib/esm/components/OpenCase/SupportTypeIcons/CustomerServiceIcon.d.ts.map +1 -1
  232. package/lib/esm/components/OpenCase/SupportTypeIcons/DocumentationIcon.d.ts.map +1 -1
  233. package/lib/esm/components/OpenCase/SupportTypeIcons/GearIcon.d.ts.map +1 -1
  234. package/lib/esm/components/OpenCase/SupportTypeIcons/IdeaIcon.d.ts.map +1 -1
  235. package/lib/esm/components/OpenCase/SupportTypeIcons/RcaIcon.d.ts.map +1 -1
  236. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.d.ts.map +1 -1
  237. package/lib/esm/components/OpenCase/SupportTypeSelectorPage.js +10 -15
  238. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts +0 -1
  239. package/lib/esm/components/ProductSelector/AllProductsSelector.d.ts.map +1 -1
  240. package/lib/esm/components/ProductSelector/AllProductsSelector.js +20 -39
  241. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts +1 -1
  242. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.d.ts.map +1 -1
  243. package/lib/esm/components/ProductSelector/NewProductDropdownSelector.js +67 -59
  244. package/lib/esm/components/ProductSelector/NewProductVersionSelector.d.ts.map +1 -1
  245. package/lib/esm/components/ProductSelector/NewProductVersionSelector.js +47 -56
  246. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts +3 -0
  247. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.d.ts.map +1 -0
  248. package/lib/esm/components/ProductSelector/ProductNotEntitledWarning.js +9 -0
  249. package/lib/esm/components/ProductSelector/ProductSelector.d.ts.map +1 -1
  250. package/lib/esm/components/ProductSelector/ProductSelector.js +7 -16
  251. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.d.ts.map +1 -1
  252. package/lib/esm/components/ProductSelector/ProductVersionDropdownSelector.js +13 -5
  253. package/lib/esm/components/Recommendations/AsideResults.d.ts.map +1 -1
  254. package/lib/esm/components/Recommendations/AsideResults.js +22 -12
  255. package/lib/esm/components/Recommendations/ClusterRecommendationItems.d.ts +2 -0
  256. package/lib/esm/components/Recommendations/ClusterRecommendationItems.d.ts.map +1 -1
  257. package/lib/esm/components/Recommendations/ClusterRecommendationItems.js +18 -13
  258. package/lib/esm/components/Recommendations/ClusterRecommendationToast.d.ts.map +1 -1
  259. package/lib/esm/components/Recommendations/ClusterRecommendationToast.js +1 -4
  260. package/lib/esm/components/Recommendations/ClusterRecommendations.d.ts.map +1 -1
  261. package/lib/esm/components/Recommendations/ClusterRecommendations.js +3 -9
  262. package/lib/esm/components/Recommendations/ClusterRecommendationsModal.d.ts.map +1 -1
  263. package/lib/esm/components/Recommendations/ClusterRecommendationsModal.js +10 -11
  264. package/lib/esm/components/Recommendations/CriticalSolutionsToast.d.ts.map +1 -1
  265. package/lib/esm/components/Recommendations/CriticalSolutionsToast.js +1 -1
  266. package/lib/esm/components/Recommendations/EARules/EARule.d.ts.map +1 -1
  267. package/lib/esm/components/Recommendations/EARules/EARule.js +9 -4
  268. package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.d.ts.map +1 -1
  269. package/lib/esm/components/Recommendations/EARules/EARuleInfoAccordion.js +6 -4
  270. package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.d.ts.map +1 -1
  271. package/lib/esm/components/Recommendations/EARules/EARuleInfoInline.js +9 -9
  272. package/lib/esm/components/Recommendations/InsightsResults.d.ts.map +1 -1
  273. package/lib/esm/components/Recommendations/InsightsResults.js +9 -5
  274. package/lib/esm/components/Recommendations/InsightsRuleInfo.d.ts.map +1 -1
  275. package/lib/esm/components/Recommendations/InsightsRuleInfo.js +25 -16
  276. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.d.ts.map +1 -1
  277. package/lib/esm/components/Recommendations/RecommendationFeedbackModal.js +7 -7
  278. package/lib/esm/components/Recommendations/RecommendationInfoBox.d.ts.map +1 -1
  279. package/lib/esm/components/Recommendations/RecommendationInfoBox.js +7 -7
  280. package/lib/esm/components/Recommendations/Recommendations.d.ts.map +1 -1
  281. package/lib/esm/components/Recommendations/Recommendations.js +51 -42
  282. package/lib/esm/components/Recommendations/RecommendationsLoader.js +1 -1
  283. package/lib/esm/components/Recommendations/RulesModal.d.ts.map +1 -1
  284. package/lib/esm/components/Recommendations/RulesModal.js +10 -12
  285. package/lib/esm/components/Recommendations/WatsonxAiIcon.d.ts.map +1 -1
  286. package/lib/esm/components/Recommendations/WatsonxAiIcon.js +9 -10
  287. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.d.ts.map +1 -1
  288. package/lib/esm/components/RemoteRider/RemoteRiderAcceptanceModal.js +10 -8
  289. package/lib/esm/components/RemoteRider/RemoteRiderBanner.js +1 -1
  290. package/lib/esm/components/Review/Review.d.ts.map +1 -1
  291. package/lib/esm/components/Review/Review.js +43 -28
  292. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.d.ts.map +1 -1
  293. package/lib/esm/components/SessionRestore/RestoreLastSessionModal.js +7 -5
  294. package/lib/esm/components/SessionRestore/SessionRestore.d.ts +2 -0
  295. package/lib/esm/components/SessionRestore/SessionRestore.d.ts.map +1 -1
  296. package/lib/esm/components/SessionRestore/SessionRestore.js +35 -13
  297. package/lib/esm/components/SessionRestore/SessionRestoreCard.js +1 -1
  298. package/lib/esm/components/SubmitCase/SubmitCase.d.ts.map +1 -1
  299. package/lib/esm/components/SubmitCase/SubmitCase.js +34 -22
  300. package/lib/esm/components/Suggestions/EmptyTopContentSidebar.d.ts +3 -0
  301. package/lib/esm/components/Suggestions/EmptyTopContentSidebar.d.ts.map +1 -0
  302. package/lib/esm/components/Suggestions/EmptyTopContentSidebar.js +26 -0
  303. package/lib/esm/components/Suggestions/Suggestions.d.ts.map +1 -1
  304. package/lib/esm/components/Suggestions/Suggestions.js +31 -25
  305. package/lib/esm/components/Suggestions/TopContent.d.ts.map +1 -1
  306. package/lib/esm/components/Suggestions/TopContent.js +17 -17
  307. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts +9 -0
  308. package/lib/esm/components/TroubleshootSection/AskRedHat.d.ts.map +1 -0
  309. package/lib/esm/components/TroubleshootSection/AskRedHat.js +367 -0
  310. package/lib/esm/components/TroubleshootSection/CloseButton.d.ts +9 -0
  311. package/lib/esm/components/TroubleshootSection/CloseButton.d.ts.map +1 -0
  312. package/lib/esm/components/TroubleshootSection/CloseButton.js +5 -0
  313. package/lib/esm/components/TroubleshootSection/QuickResponse.d.ts +15 -0
  314. package/lib/esm/components/TroubleshootSection/QuickResponse.d.ts.map +1 -0
  315. package/lib/esm/components/TroubleshootSection/QuickResponse.js +26 -0
  316. package/lib/esm/components/TroubleshootSection/ResponseActionButton.d.ts +18 -0
  317. package/lib/esm/components/TroubleshootSection/ResponseActionButton.d.ts.map +1 -0
  318. package/lib/esm/components/TroubleshootSection/ResponseActionButton.js +28 -0
  319. package/lib/esm/components/TroubleshootSection/ResponseActions.d.ts +20 -0
  320. package/lib/esm/components/TroubleshootSection/ResponseActions.d.ts.map +1 -0
  321. package/lib/esm/components/TroubleshootSection/ResponseActions.js +54 -0
  322. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts +20 -0
  323. package/lib/esm/components/TroubleshootSection/TroubleshootSection.d.ts.map +1 -1
  324. package/lib/esm/components/TroubleshootSection/TroubleshootSection.js +346 -27
  325. package/lib/esm/components/TroubleshootSection/UserFeedback.d.ts +13 -0
  326. package/lib/esm/components/TroubleshootSection/UserFeedback.d.ts.map +1 -0
  327. package/lib/esm/components/TroubleshootSection/UserFeedback.js +50 -0
  328. package/lib/esm/components/TroubleshootSection/UserFeedbackComplete.d.ts +10 -0
  329. package/lib/esm/components/TroubleshootSection/UserFeedbackComplete.d.ts.map +1 -0
  330. package/lib/esm/components/TroubleshootSection/UserFeedbackComplete.js +50 -0
  331. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts +9 -0
  332. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.d.ts.map +1 -0
  333. package/lib/esm/components/TroubleshootSection/icons/CollapseIcon.js +9 -0
  334. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts +9 -0
  335. package/lib/esm/components/TroubleshootSection/icons/StarIcon.d.ts.map +1 -0
  336. package/lib/esm/components/TroubleshootSection/icons/StarIcon.js +17 -0
  337. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.d.ts.map +1 -1
  338. package/lib/esm/components/UpdateSeverityModal/UpdateSeverityModal.js +157 -105
  339. package/lib/esm/components/shared/Constants.d.ts +1 -4
  340. package/lib/esm/components/shared/Constants.d.ts.map +1 -1
  341. package/lib/esm/components/shared/Constants.js +1 -4
  342. package/lib/esm/components/shared/Rule.d.ts.map +1 -1
  343. package/lib/esm/components/shared/Rule.js +6 -6
  344. package/lib/esm/components/shared/fileUpload/FileLister.d.ts.map +1 -1
  345. package/lib/esm/components/shared/fileUpload/FileLister.js +11 -14
  346. package/lib/esm/components/shared/fileUpload/FileUpload.js +2 -3
  347. package/lib/esm/components/shared/fileUpload/FileUploader.d.ts.map +1 -1
  348. package/lib/esm/components/shared/fileUpload/FileUploader.js +3 -1
  349. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts +1 -0
  350. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.d.ts.map +1 -1
  351. package/lib/esm/components/shared/fileUpload/WidgetFileUploader.js +13 -10
  352. package/lib/esm/components/shared/fileUpload/common/FileUploaderInfoIcon.js +1 -1
  353. package/lib/esm/components/shared/fileUpload/css/fileSelector.css +2 -0
  354. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts +1 -1
  355. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.d.ts.map +1 -1
  356. package/lib/esm/components/shared/fileUpload/fileSelectors/FileSelectorButton.js +1 -1
  357. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.d.ts.map +1 -1
  358. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelector.js +4 -4
  359. package/lib/esm/components/shared/fileUpload/fileSelectors/WidgetFileSelectorImage.js +2 -2
  360. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts +22 -5
  361. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.d.ts.map +1 -1
  362. package/lib/esm/components/shared/fileUpload/reducer/AttachmentHelper.js +311 -60
  363. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts +5 -1
  364. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.d.ts.map +1 -1
  365. package/lib/esm/components/shared/fileUpload/reducer/AttachmentReducer.js +36 -1
  366. package/lib/esm/components/shared/fileUpload/types/index.d.ts +5 -1
  367. package/lib/esm/components/shared/fileUpload/types/index.d.ts.map +1 -1
  368. package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts +2 -2
  369. package/lib/esm/components/shared/fileUpload/useFileUploader.d.ts.map +1 -1
  370. package/lib/esm/components/shared/fileUpload/useFileUploader.js +119 -47
  371. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts +16 -6
  372. package/lib/esm/components/shared/input/ContactSelectorInternal.d.ts.map +1 -1
  373. package/lib/esm/components/shared/input/ContactSelectorInternal.js +133 -23
  374. package/lib/esm/components/shared/useIsSectionValid.d.ts.map +1 -1
  375. package/lib/esm/components/shared/useIsSectionValid.js +70 -91
  376. package/lib/esm/components/shared/usePostComment.d.ts.map +1 -1
  377. package/lib/esm/components/shared/usePostComment.js +16 -28
  378. package/lib/esm/components/shared/utils.d.ts +1 -0
  379. package/lib/esm/components/shared/utils.d.ts.map +1 -1
  380. package/lib/esm/components/shared/utils.js +9 -3
  381. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.d.ts.map +1 -1
  382. package/lib/esm/components/wizardLayout/GlobalTroubleshootEffects.js +187 -37
  383. package/lib/esm/components/wizardLayout/MainSection.d.ts.map +1 -1
  384. package/lib/esm/components/wizardLayout/MainSection.js +5 -4
  385. package/lib/esm/components/wizardLayout/NewFeatureModal.d.ts.map +1 -1
  386. package/lib/esm/components/wizardLayout/NewFeatureModal.js +6 -6
  387. package/lib/esm/components/wizardLayout/WizardAside.d.ts.map +1 -1
  388. package/lib/esm/components/wizardLayout/WizardAside.js +35 -15
  389. package/lib/esm/components/wizardLayout/WizardLayout.d.ts.map +1 -1
  390. package/lib/esm/components/wizardLayout/WizardLayout.js +17 -46
  391. package/lib/esm/components/wizardLayout/WizardMain.d.ts +10 -1
  392. package/lib/esm/components/wizardLayout/WizardMain.d.ts.map +1 -1
  393. package/lib/esm/components/wizardLayout/WizardMain.js +361 -22
  394. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts +8 -2
  395. package/lib/esm/components/wizardLayout/WizardNavigation.d.ts.map +1 -1
  396. package/lib/esm/components/wizardLayout/WizardNavigation.js +118 -75
  397. package/lib/esm/components/wizardLayout/index.d.ts +1 -0
  398. package/lib/esm/components/wizardLayout/index.d.ts.map +1 -1
  399. package/lib/esm/components/wizardLayout/index.js +1 -0
  400. package/lib/esm/constants/askRedHatMessages.d.ts +35 -0
  401. package/lib/esm/constants/askRedHatMessages.d.ts.map +1 -0
  402. package/lib/esm/constants/askRedHatMessages.js +61 -0
  403. package/lib/esm/constants/caseDetailsConstants.d.ts +15 -11
  404. package/lib/esm/constants/caseDetailsConstants.d.ts.map +1 -1
  405. package/lib/esm/constants/caseDetailsConstants.js +32 -12
  406. package/lib/esm/context/AIResponseContext.d.ts +10 -0
  407. package/lib/esm/context/AIResponseContext.d.ts.map +1 -0
  408. package/lib/esm/context/AIResponseContext.js +26 -0
  409. package/lib/esm/context/CaseContext.d.ts.map +1 -1
  410. package/lib/esm/context/RootTroubleshootProvider.d.ts.map +1 -1
  411. package/lib/esm/context/RootTroubleshootProvider.js +8 -6
  412. package/lib/esm/css/AskRedHat.css +495 -0
  413. package/lib/esm/css/app.css +54 -17
  414. package/lib/esm/css/case.css +499 -37
  415. package/lib/esm/css/productSelector.css +5 -1
  416. package/lib/esm/css/results.css +2 -2
  417. package/lib/esm/graphql/index.d.ts +4 -0
  418. package/lib/esm/graphql/index.d.ts.map +1 -0
  419. package/lib/esm/graphql/index.js +3 -0
  420. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts +2 -0
  421. package/lib/esm/graphql/mutations/createRMECaseEscalation.d.ts.map +1 -0
  422. package/lib/esm/graphql/mutations/createRMECaseEscalation.js +24 -0
  423. package/lib/esm/graphql/mutations/index.d.ts +2 -0
  424. package/lib/esm/graphql/mutations/index.d.ts.map +1 -0
  425. package/lib/esm/graphql/mutations/index.js +1 -0
  426. package/lib/esm/graphql/queries/getEscalationDetails.d.ts +2 -0
  427. package/lib/esm/graphql/queries/getEscalationDetails.d.ts.map +1 -0
  428. package/lib/esm/graphql/queries/getEscalationDetails.js +36 -0
  429. package/lib/esm/graphql/queries/index.d.ts +2 -0
  430. package/lib/esm/graphql/queries/index.d.ts.map +1 -0
  431. package/lib/esm/graphql/queries/index.js +1 -0
  432. package/lib/esm/graphql/schemas/escalation.d.ts +66 -0
  433. package/lib/esm/graphql/schemas/escalation.d.ts.map +1 -0
  434. package/lib/esm/graphql/schemas/escalation.js +1 -0
  435. package/lib/esm/graphql/schemas/index.d.ts +2 -0
  436. package/lib/esm/graphql/schemas/index.d.ts.map +1 -0
  437. package/lib/esm/graphql/schemas/index.js +1 -0
  438. package/lib/esm/hooks/useAB.d.ts +23 -0
  439. package/lib/esm/hooks/useAB.d.ts.map +1 -0
  440. package/lib/esm/hooks/useAB.js +75 -0
  441. package/lib/esm/hooks/useARHResponse.d.ts +15 -0
  442. package/lib/esm/hooks/useARHResponse.d.ts.map +1 -0
  443. package/lib/esm/hooks/useARHResponse.js +103 -0
  444. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts +4 -0
  445. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.d.ts.map +1 -0
  446. package/lib/esm/hooks/useCaseComments/caseCommentsQuery.js +57 -0
  447. package/lib/esm/hooks/useCaseComments/index.d.ts +8 -0
  448. package/lib/esm/hooks/useCaseComments/index.d.ts.map +1 -0
  449. package/lib/esm/hooks/useCaseComments/index.js +5 -0
  450. package/lib/esm/hooks/useCaseComments/mapCaseComment.d.ts +25 -0
  451. package/lib/esm/hooks/useCaseComments/mapCaseComment.d.ts.map +1 -0
  452. package/lib/esm/hooks/useCaseComments/mapCaseComment.js +75 -0
  453. package/lib/esm/hooks/useCaseComments/types.d.ts +93 -0
  454. package/lib/esm/hooks/useCaseComments/types.d.ts.map +1 -0
  455. package/lib/esm/hooks/useCaseComments/types.js +1 -0
  456. package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts +26 -0
  457. package/lib/esm/hooks/useCaseComments/useCaseComments.d.ts.map +1 -0
  458. package/lib/esm/hooks/useCaseComments/useCaseComments.js +116 -0
  459. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.d.ts +19 -0
  460. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.d.ts.map +1 -0
  461. package/lib/esm/hooks/useCaseComments/useCreateCaseComment.js +33 -0
  462. package/lib/esm/hooks/useCaseGroupUiState.d.ts +3 -0
  463. package/lib/esm/hooks/useCaseGroupUiState.d.ts.map +1 -0
  464. package/lib/esm/hooks/useCaseGroupUiState.js +10 -0
  465. package/lib/esm/hooks/useCaseHistory.d.ts +26 -0
  466. package/lib/esm/hooks/useCaseHistory.d.ts.map +1 -0
  467. package/lib/esm/hooks/useCaseHistory.js +107 -0
  468. package/lib/esm/hooks/useCaseLabelLinkMutations.d.ts +23 -0
  469. package/lib/esm/hooks/useCaseLabelLinkMutations.d.ts.map +1 -0
  470. package/lib/esm/hooks/useCaseLabelLinkMutations.js +84 -0
  471. package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts +9 -1
  472. package/lib/esm/hooks/useCaseUpdateErrorMessage.d.ts.map +1 -1
  473. package/lib/esm/hooks/useCaseUpdateErrorMessage.js +108 -11
  474. package/lib/esm/hooks/useResetCaseCreate.d.ts.map +1 -1
  475. package/lib/esm/hooks/useResetCaseCreate.js +18 -11
  476. package/lib/esm/hooks/useS3Upload.d.ts +5 -4
  477. package/lib/esm/hooks/useS3Upload.d.ts.map +1 -1
  478. package/lib/esm/hooks/useS3Upload.js +28 -30
  479. package/lib/esm/hooks/useWizard.d.ts +14 -0
  480. package/lib/esm/hooks/useWizard.d.ts.map +1 -1
  481. package/lib/esm/hooks/useWizard.js +33 -11
  482. package/lib/esm/i18n/template-de.d.ts +82 -4
  483. package/lib/esm/i18n/template-de.d.ts.map +1 -1
  484. package/lib/esm/i18n/template-de.js +82 -4
  485. package/lib/esm/i18n/template-es.d.ts +81 -3
  486. package/lib/esm/i18n/template-es.d.ts.map +1 -1
  487. package/lib/esm/i18n/template-es.js +81 -3
  488. package/lib/esm/i18n/template-fr.d.ts +81 -3
  489. package/lib/esm/i18n/template-fr.d.ts.map +1 -1
  490. package/lib/esm/i18n/template-fr.js +81 -3
  491. package/lib/esm/i18n/template-it.d.ts +81 -3
  492. package/lib/esm/i18n/template-it.d.ts.map +1 -1
  493. package/lib/esm/i18n/template-it.js +81 -3
  494. package/lib/esm/i18n/template-jp.d.ts +81 -3
  495. package/lib/esm/i18n/template-jp.d.ts.map +1 -1
  496. package/lib/esm/i18n/template-jp.js +81 -3
  497. package/lib/esm/i18n/template-ko.d.ts +81 -3
  498. package/lib/esm/i18n/template-ko.d.ts.map +1 -1
  499. package/lib/esm/i18n/template-ko.js +81 -3
  500. package/lib/esm/i18n/template-pt.d.ts +81 -3
  501. package/lib/esm/i18n/template-pt.d.ts.map +1 -1
  502. package/lib/esm/i18n/template-pt.js +81 -3
  503. package/lib/esm/i18n/template-ru.d.ts +47 -3
  504. package/lib/esm/i18n/template-ru.d.ts.map +1 -1
  505. package/lib/esm/i18n/template-ru.js +47 -3
  506. package/lib/esm/i18n/template-zh.d.ts +59 -3
  507. package/lib/esm/i18n/template-zh.d.ts.map +1 -1
  508. package/lib/esm/i18n/template-zh.js +59 -3
  509. package/lib/esm/index.d.ts.map +1 -1
  510. package/lib/esm/index.js +2 -0
  511. package/lib/esm/models/cache.d.ts +0 -2
  512. package/lib/esm/models/cache.d.ts.map +1 -1
  513. package/lib/esm/models/caseHistory.d.ts +86 -0
  514. package/lib/esm/models/caseHistory.d.ts.map +1 -0
  515. package/lib/esm/models/caseHistory.js +1 -0
  516. package/lib/esm/reducers/AIResponseConstNTypes.d.ts +90 -0
  517. package/lib/esm/reducers/AIResponseConstNTypes.d.ts.map +1 -0
  518. package/lib/esm/reducers/AIResponseConstNTypes.js +33 -0
  519. package/lib/esm/reducers/AIResponseReducer.d.ts +14 -0
  520. package/lib/esm/reducers/AIResponseReducer.d.ts.map +1 -0
  521. package/lib/esm/reducers/AIResponseReducer.js +80 -0
  522. package/lib/esm/reducers/CaseConstNTypes.d.ts +129 -9
  523. package/lib/esm/reducers/CaseConstNTypes.d.ts.map +1 -1
  524. package/lib/esm/reducers/CaseConstNTypes.js +39 -10
  525. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts +7 -5
  526. package/lib/esm/reducers/CaseDetailsPageReducer.d.ts.map +1 -1
  527. package/lib/esm/reducers/CaseDetailsPageReducer.js +61 -26
  528. package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts +11 -10
  529. package/lib/esm/reducers/CaseDiscussionTabReducer.d.ts.map +1 -1
  530. package/lib/esm/reducers/CaseDiscussionTabReducer.js +95 -64
  531. package/lib/esm/reducers/CaseHelpers.d.ts +26 -7
  532. package/lib/esm/reducers/CaseHelpers.d.ts.map +1 -1
  533. package/lib/esm/reducers/CaseHelpers.js +150 -27
  534. package/lib/esm/reducers/CaseOverviewReducer.d.ts +3 -1
  535. package/lib/esm/reducers/CaseOverviewReducer.d.ts.map +1 -1
  536. package/lib/esm/reducers/CaseOverviewReducer.js +7 -5
  537. package/lib/esm/reducers/CaseReducer.d.ts +59 -12
  538. package/lib/esm/reducers/CaseReducer.d.ts.map +1 -1
  539. package/lib/esm/reducers/CaseReducer.js +311 -95
  540. package/lib/esm/reducers/ClusterRecommendationsReducer.d.ts.map +1 -1
  541. package/lib/esm/reducers/RecommendationsReducer.d.ts.map +1 -1
  542. package/lib/esm/reducers/RecommendationsReducer.js +16 -19
  543. package/lib/esm/reducers/RouteConstNTypes.d.ts +1 -2
  544. package/lib/esm/reducers/RouteConstNTypes.d.ts.map +1 -1
  545. package/lib/esm/reducers/RouteConstNTypes.js +4 -1
  546. package/lib/esm/reducers/RouteReducer.d.ts +2 -2
  547. package/lib/esm/reducers/RouteReducer.d.ts.map +1 -1
  548. package/lib/esm/reducers/RouteReducer.js +1 -1
  549. package/lib/esm/reducers/RulesReducer.d.ts +11 -4
  550. package/lib/esm/reducers/RulesReducer.d.ts.map +1 -1
  551. package/lib/esm/reducers/RulesReducer.js +6 -1
  552. package/lib/esm/reducers/SessionRestoreReducer.d.ts +4 -3
  553. package/lib/esm/reducers/SessionRestoreReducer.d.ts.map +1 -1
  554. package/lib/esm/reducers/SessionRestoreReducer.js +51 -17
  555. package/lib/esm/reducers/TopContentReducer.d.ts.map +1 -1
  556. package/lib/esm/reducers/TopContentReducer.js +1 -1
  557. package/lib/esm/scss/_main.scss +295 -117
  558. package/lib/esm/scss/_pf-overrides.scss +269 -162
  559. package/lib/esm/utils/TimelineUtils.d.ts +41 -0
  560. package/lib/esm/utils/TimelineUtils.d.ts.map +1 -0
  561. package/lib/esm/utils/TimelineUtils.js +135 -0
  562. package/lib/esm/utils/caseDetailsCacheUtils.d.ts.map +1 -1
  563. package/lib/esm/utils/caseDetailsCacheUtils.js +1 -0
  564. package/lib/esm/utils/caseHistoryUtils.d.ts +85 -0
  565. package/lib/esm/utils/caseHistoryUtils.d.ts.map +1 -0
  566. package/lib/esm/utils/caseHistoryUtils.js +200 -0
  567. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts +1 -2
  568. package/lib/esm/utils/caseOpenshiftClusterIdUtils.d.ts.map +1 -1
  569. package/lib/esm/utils/caseOpenshiftClusterIdUtils.js +4 -4
  570. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.d.ts +6 -0
  571. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.d.ts.map +1 -0
  572. package/lib/esm/utils/caseSeverityFtsGraphQLUtils.js +26 -0
  573. package/lib/esm/utils/caseUtils.d.ts.map +1 -1
  574. package/lib/esm/utils/engagementUtils.d.ts +3 -0
  575. package/lib/esm/utils/engagementUtils.d.ts.map +1 -0
  576. package/lib/esm/utils/engagementUtils.js +16 -0
  577. package/lib/esm/utils/linkifyHtmlTextNodes.d.ts +8 -0
  578. package/lib/esm/utils/linkifyHtmlTextNodes.d.ts.map +1 -0
  579. package/lib/esm/utils/linkifyHtmlTextNodes.js +37 -0
  580. package/lib/esm/utils/remoteRiderUtils.d.ts.map +1 -1
  581. package/lib/esm/utils/visitedResourcesUtils.d.ts +31 -0
  582. package/lib/esm/utils/visitedResourcesUtils.d.ts.map +1 -0
  583. package/lib/esm/utils/visitedResourcesUtils.js +99 -0
  584. package/package.json +21 -26
  585. package/lib/esm/components/CaseEditView/Tabs/CaseHistory/CaseHistory.css +0 -0
@@ -7,21 +7,35 @@ 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 { accounts, contacts, kase, pcm, publicApi } from '@cee-eng/hydrajs';
10
+ var __rest = (this && this.__rest) || function (s, e) {
11
+ var t = {};
12
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
+ t[p] = s[p];
14
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
+ t[p[i]] = s[p[i]];
18
+ }
19
+ return t;
20
+ };
21
+ import { contacts, kase, pcm, publicApi } from '@cee-eng/hydrajs';
11
22
  import { formattedApiErrorMessage } from '@rh-support/components';
12
- import { dtmTrackEventCaseCreationStepEncountered, getApiResourceObject } from '@rh-support/utils';
13
- import delay from 'lodash/delay';
23
+ import { CREATE_CASE_LABEL_LINK, CREATE_SUPPORT_CASE, dtmTrackEventCaseCreationStepEncountered, fetchCaseDetailsByCaseNumber, fetchLoggedInUserAccountContactsFromGraphQL, GET_ACCOUNT, GET_CASE_GROUP, GET_PRODUCTS, getAccountQueryVariables, getApiResourceObject, handleGraphQLAccountResponse, handleGraphQLVersionsResponse, mapGraphQLCaseDetailsToCasePayload, PreviousToNewCaseTypeMap, shouldPersistInProgressOnCustomerActivity, updateCaseDetailsGraphQLRequest, } from '@rh-support/utils';
24
+ // import delay from 'lodash/delay';
14
25
  import filter from 'lodash/filter';
15
26
  import find from 'lodash/find';
16
27
  import isEmpty from 'lodash/isEmpty';
17
28
  import isUndefined from 'lodash/isUndefined';
18
29
  import map from 'lodash/map';
30
+ import unescape from 'lodash/unescape';
19
31
  import uniq from 'lodash/uniq';
20
32
  import uniqBy from 'lodash/uniqBy';
21
33
  import { trimAndReplacePlus } from '../components/shared/utils';
34
+ import { buildCaseSeverityFtsGraphQLUpdate } from '../utils/caseSeverityFtsGraphQLUtils';
22
35
  import { CaseReducerConstants, DESCRIPTION_LENGTH_LIMIT, initialCaseState, SupportLevelDisplay, } from './CaseConstNTypes';
23
- import { createCasePayload, getCaseFromSessionDetails, getCaseRecommendations, getCepCommentFromCepDetails, getHasInvalidEntitlements, getProcessedEntitlements, } from './CaseHelpers';
36
+ import { createCasePayload, createCasePayloadGraphQL, getCaseFromSessionDetails, getCaseRecommendations, getCepCommentFromCepDetails, getHasInvalidEntitlements, getProcessedEntitlements, } from './CaseHelpers';
24
37
  import { updateSession } from './SessionRestoreReducer';
38
+ const safeDecodeGroupName = (value) => unescape(value);
25
39
  export const caseReducer = (pState, action) => {
26
40
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
27
41
  switch (action.type) {
@@ -29,17 +43,18 @@ export const caseReducer = (pState, action) => {
29
43
  const hasLargeCaseDescription = action.payload.caseDetails.hasOwnProperty('description')
30
44
  ? (action.payload.caseDetails.description || '').length > DESCRIPTION_LENGTH_LIMIT
31
45
  : pState.hasLargeCaseDescription;
46
+ let resetEntitlementId = false;
32
47
  if (((_b = (_a = action.payload) === null || _a === void 0 ? void 0 : _a.caseDetails) === null || _b === void 0 ? void 0 : _b.contactSSOName) &&
33
48
  pState.caseDetails.contactSSOName !== ((_d = (_c = action.payload) === null || _c === void 0 ? void 0 : _c.caseDetails) === null || _d === void 0 ? void 0 : _d.contactSSOName)) {
34
49
  // Need to reset casegroup and sla as they are dependent on selected owner
35
50
  action.payload.caseDetails.entitlementSla = undefined;
51
+ resetEntitlementId = true;
36
52
  }
37
- if (((_f = (_e = action.payload) === null || _e === void 0 ? void 0 : _e.caseDetails) === null || _f === void 0 ? void 0 : _f.product) &&
53
+ if (Object.prototype.hasOwnProperty.call((_f = (_e = action.payload) === null || _e === void 0 ? void 0 : _e.caseDetails) !== null && _f !== void 0 ? _f : {}, 'product') &&
38
54
  pState.caseDetails.product !== ((_h = (_g = action.payload) === null || _g === void 0 ? void 0 : _g.caseDetails) === null || _h === void 0 ? void 0 : _h.product)) {
39
- // need to reset sla on product change as individiual products can have independent sla
40
- action.payload.caseDetails.entitlementSla = undefined;
55
+ resetEntitlementId = true;
41
56
  }
42
- return Object.assign(Object.assign({}, pState), { hasLargeCaseDescription, caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCaseUpdating: false });
57
+ return Object.assign(Object.assign(Object.assign({}, pState), { hasLargeCaseDescription, caseDetails: Object.assign(Object.assign({}, pState.caseDetails), action.payload.caseDetails), isCaseUpdating: false }), (resetEntitlementId ? { selectedEntitlementId: undefined } : {}));
43
58
  }
44
59
  case CaseReducerConstants.caseStateChanged: {
45
60
  return Object.assign(Object.assign({}, pState), action.payload);
@@ -89,10 +104,8 @@ export const caseReducer = (pState, action) => {
89
104
  return Object.assign(Object.assign(Object.assign({}, pState), initialCaseState), { isFetchingCaseDetails: true, isFetchingCaseDetailsError: false, caseDetails: Object.assign(Object.assign({}, initialCaseState.caseDetails), { caseNumber: (_l = (_k = (_j = action.payload) === null || _j === void 0 ? void 0 : _j.caseDetails) === null || _k === void 0 ? void 0 : _k.caseNumber) !== null && _l !== void 0 ? _l : '' }) });
90
105
  }
91
106
  case CaseReducerConstants.receivedCaseDetails: {
92
- return Object.assign(Object.assign(Object.assign({}, pState), action.payload), { isFetchingCaseDetails: false, isFetchingCaseDetailsError: false });
93
- }
94
- case CaseReducerConstants.updateComments: {
95
- return Object.assign(Object.assign({}, pState), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), { comments: action.payload.caseDetails.comments }) });
107
+ const _m = action.payload, { caseDetails, selectedOwner } = _m, rest = __rest(_m, ["caseDetails", "selectedOwner"]);
108
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, pState), rest), (selectedOwner ? { selectedOwner } : {})), { caseDetails: Object.assign(Object.assign({}, pState.caseDetails), caseDetails), isFetchingCaseDetails: false, isFetchingCaseDetailsError: false });
96
109
  }
97
110
  case CaseReducerConstants.receivedCaseDetailsError: {
98
111
  return Object.assign(Object.assign({}, pState), { isFetchingCaseDetails: false, isFetchingCaseDetailsError: true, caseDetailsError: action.payload.caseDetailsError });
@@ -167,24 +180,42 @@ export const setNotifiedUser = (dispatch, selectedNotificationContacts) => {
167
180
  payload: { selectedNotificationContacts },
168
181
  });
169
182
  };
170
- export const submitCase = (dispatch_1, sessionRestoreDispatch_1, caseDetails_1, isCaseCreate_1, errorMessage500_1, loggedInUserSsoUsername_1, ...args_1) => __awaiter(void 0, [dispatch_1, sessionRestoreDispatch_1, caseDetails_1, isCaseCreate_1, errorMessage500_1, loggedInUserSsoUsername_1, ...args_1], void 0, function* (dispatch, sessionRestoreDispatch, caseDetails, isCaseCreate, errorMessage500, loggedInUserSsoUsername, isSecureSupport = false, isResubmit, isCreatingCaseFlow, sessionItem) {
171
- var _a, _b;
183
+ export const submitCase = (dispatch_1, sessionRestoreDispatch_1, caseDetails_1, isCaseCreate_1, errorMessage500_1, loggedInUserSsoUsername_1, ...args_1) => __awaiter(void 0, [dispatch_1, sessionRestoreDispatch_1, caseDetails_1, isCaseCreate_1, errorMessage500_1, loggedInUserSsoUsername_1, ...args_1], void 0, function* (dispatch, sessionRestoreDispatch, caseDetails, isCaseCreate, errorMessage500, loggedInUserSsoUsername, isSecureSupport = false, isResubmit, isCreatingCaseFlow, sessionItem, apolloClient, traditionalSupportAgreed = false) {
184
+ var _a, _b, _c, _d, _e, _f, _g;
172
185
  dispatch({ type: CaseReducerConstants.isCreatingCase });
173
186
  try {
174
187
  const casePayload = createCasePayload(caseDetails, sessionItem, isCaseCreate);
188
+ const graphQLPayload = createCasePayloadGraphQL(caseDetails, sessionItem, isCaseCreate, traditionalSupportAgreed);
175
189
  dispatch({ type: CaseReducerConstants.resetCaseNoOfCreatedCase, payload: { caseNoOfCreatedCase: '' } });
176
- const caseNumber = yield publicApi.kase.createCase(casePayload, caseDetails.selectedAccountDetails.data.secureSupport);
190
+ const { data } = yield apolloClient.mutate({
191
+ mutation: CREATE_SUPPORT_CASE,
192
+ variables: {
193
+ caseInput: graphQLPayload,
194
+ },
195
+ });
196
+ const caseRecord = (_b = (_a = data === null || data === void 0 ? void 0 : data.redhat_support_uiapi) === null || _a === void 0 ? void 0 : _a.CaseCreate) === null || _b === void 0 ? void 0 : _b.RedHatSupportRecord;
197
+ const caseNumber = (_c = caseRecord === null || caseRecord === void 0 ? void 0 : caseRecord.CaseNumber__c) === null || _c === void 0 ? void 0 : _c.value;
198
+ let caseSfId = caseRecord === null || caseRecord === void 0 ? void 0 : caseRecord.Id;
199
+ if (!caseSfId && caseNumber && apolloClient && ((_d = caseDetails.selectedLabelIds) === null || _d === void 0 ? void 0 : _d.length)) {
200
+ try {
201
+ const createdCase = yield fetchCaseDetailsByCaseNumber(apolloClient, caseNumber, isSecureSupport);
202
+ caseSfId = createdCase === null || createdCase === void 0 ? void 0 : createdCase.id;
203
+ }
204
+ catch (_h) {
205
+ // Non-blocking: label linking will be skipped if Id cannot be resolved
206
+ }
207
+ }
177
208
  if (casePayload.contactSSOName === loggedInUserSsoUsername &&
178
- !isEmpty((_a = casePayload.phoneAreaCodePrefixLineNumber) === null || _a === void 0 ? void 0 : _a.trim()) &&
209
+ !isEmpty((_e = casePayload.phoneAreaCodePrefixLineNumber) === null || _e === void 0 ? void 0 : _e.trim()) &&
179
210
  !isEmpty(trimAndReplacePlus((casePayload === null || casePayload === void 0 ? void 0 : casePayload.phoneCountryCode) || ''))) {
180
211
  contacts.updateContactBySSO(casePayload.contactSSOName, {
181
212
  supportPhoneCountryCode: casePayload.phoneCountryCode,
182
213
  supportPhoneAreaCodePrefixLineNumber: casePayload.phoneAreaCodePrefixLineNumber,
183
214
  });
184
215
  }
185
- // For updating the sessions and posting cep details after case creation
186
- postCaseCreationProcessing(isSecureSupport, dispatch, sessionRestoreDispatch, caseNumber, caseDetails, sessionItem);
187
- dtmTrackEventCaseCreationStepEncountered(isCreatingCaseFlow, 'Submit', caseNumber, (_b = caseDetails.caseDetails) === null || _b === void 0 ? void 0 : _b.caseType, caseDetails.caseDetails.summary, caseDetails.caseDetails.product, caseDetails.caseDetails.version);
216
+ // For updating the sessions and posting cep details / label links after case creation
217
+ postCaseCreationProcessing(isSecureSupport, dispatch, sessionRestoreDispatch, caseNumber, caseDetails, sessionItem, apolloClient, caseSfId);
218
+ dtmTrackEventCaseCreationStepEncountered(isCreatingCaseFlow, 'Submit', false, caseNumber, PreviousToNewCaseTypeMap[(_f = caseDetails.caseDetails) === null || _f === void 0 ? void 0 : _f.caseType], (_g = caseDetails.caseDetails.summary) !== null && _g !== void 0 ? _g : undefined, caseDetails.caseDetails.product, caseDetails.caseDetails.version);
188
219
  dispatch({ type: CaseReducerConstants.caseCreated, payload: { caseNoOfCreatedCase: caseNumber } });
189
220
  }
190
221
  catch (error) {
@@ -255,10 +286,30 @@ export const postRemoteSessionRequest = (dispatch, caseNumber) => __awaiter(void
255
286
  }
256
287
  });
257
288
  // For all post case creation processing contexts
258
- export const postCaseCreationProcessing = (isSecureSupport, dispatch, sessionRestoreDispatch, caseNumber, caseDetails, sessionItem) => __awaiter(void 0, void 0, void 0, function* () {
289
+ export const postCaseCreationProcessing = (isSecureSupport, dispatch, sessionRestoreDispatch, caseNumber, caseDetails, sessionItem, apolloClient, caseSfId) => __awaiter(void 0, void 0, void 0, function* () {
290
+ var _a;
259
291
  isSecureSupport === false && !!sessionItem && resolveSession(sessionRestoreDispatch, sessionItem, caseNumber);
260
292
  caseDetails.caseDetails.cep === true && postCepDetails(dispatch, caseNumber, caseDetails.cepDetails);
261
293
  caseDetails.caseDetails.screenSessionRequested === true && postRemoteSessionRequest(dispatch, caseNumber);
294
+ if (apolloClient && caseSfId && ((_a = caseDetails.selectedLabelIds) === null || _a === void 0 ? void 0 : _a.length)) {
295
+ postCaseLabelLinks(apolloClient, caseSfId, caseDetails.selectedLabelIds);
296
+ }
297
+ });
298
+ /** Links selected labels to a newly created case. Failures are non-blocking. */
299
+ export const postCaseLabelLinks = (apolloClient, caseSfId, labelIds) => __awaiter(void 0, void 0, void 0, function* () {
300
+ if (!caseSfId || !labelIds.length)
301
+ return;
302
+ yield Promise.allSettled(labelIds.map((labelId) => apolloClient.mutate({
303
+ mutation: CREATE_CASE_LABEL_LINK,
304
+ variables: {
305
+ input: {
306
+ RedHatSupportCaseLabelLink__c: {
307
+ Case__c: caseSfId,
308
+ Label__c: labelId,
309
+ },
310
+ },
311
+ },
312
+ })));
262
313
  });
263
314
  // To resolve or update session API
264
315
  export const resolveSession = (sessionRestoreDispatch, sessionItem, caseNumber) => __awaiter(void 0, void 0, void 0, function* () {
@@ -376,9 +427,13 @@ export const clearSelectedAccount = (dispatch) => {
376
427
  payload: { caseDetails: { accountNumberRef: '' } },
377
428
  });
378
429
  };
379
- export const setCaseAccountNumber = (dispatch_1, accountNumber_1, ...args_1) => __awaiter(void 0, [dispatch_1, accountNumber_1, ...args_1], void 0, function* (dispatch, accountNumber, isLoggedInUsersAccount = false, loggedInUserAccount = {}) {
380
- var _a;
381
- if (isLoggedInUsersAccount && !isEmpty(loggedInUserAccount) && !isEmpty(accountNumber)) {
430
+ export const setCaseAccountNumber = (dispatch_1, accountNumber_1, ...args_1) => __awaiter(void 0, [dispatch_1, accountNumber_1, ...args_1], void 0, function* (dispatch, accountNumber, isLoggedInUsersAccount = false, loggedInUserAccount = {}, apolloClient) {
431
+ var _a, _b, _c, _d, _e;
432
+ const loggedInAccountSalesforceId = loggedInUserAccount.salesforceAccountId;
433
+ if (isLoggedInUsersAccount &&
434
+ !isEmpty(loggedInUserAccount) &&
435
+ !isEmpty(accountNumber) &&
436
+ loggedInAccountSalesforceId) {
382
437
  dispatch({
383
438
  type: CaseReducerConstants.caseStateChanged,
384
439
  payload: { selectedAccountDetails: getApiResourceObject(loggedInUserAccount) },
@@ -410,7 +465,12 @@ export const setCaseAccountNumber = (dispatch_1, accountNumber_1, ...args_1) =>
410
465
  payload: { selectedAccountDetails: getApiResourceObject({}, true) },
411
466
  });
412
467
  try {
413
- const selectedAccountDetails = yield accounts.getAccount(accountNumber);
468
+ const { data } = yield apolloClient.query({
469
+ query: GET_ACCOUNT,
470
+ variables: getAccountQueryVariables(accountNumber),
471
+ });
472
+ const edges = (_e = (_d = (_c = (_b = data === null || data === void 0 ? void 0 : data.redhat_support_uiapi) === null || _b === void 0 ? void 0 : _b.query) === null || _c === void 0 ? void 0 : _c.RedHatSupportAccount) === null || _d === void 0 ? void 0 : _d.edges) !== null && _e !== void 0 ? _e : [];
473
+ const selectedAccountDetails = handleGraphQLAccountResponse(edges);
414
474
  dispatch({
415
475
  type: CaseReducerConstants.caseStateChanged,
416
476
  payload: { selectedAccountDetails: getApiResourceObject(selectedAccountDetails) },
@@ -423,7 +483,33 @@ export const setCaseAccountNumber = (dispatch_1, accountNumber_1, ...args_1) =>
423
483
  });
424
484
  }
425
485
  });
426
- export const setCaseOwner = (dispatch_1, owner_1, product_1, abortSignalCaseGroup_1, abortSignalEntitlements_1, ...args_1) => __awaiter(void 0, [dispatch_1, owner_1, product_1, abortSignalCaseGroup_1, abortSignalEntitlements_1, ...args_1], void 0, function* (dispatch, owner, product, abortSignalCaseGroup, abortSignalEntitlements, setCaseGroupToUngroupedOrDefault = false, caseGroupNumberToRestore, canChangeGroup = true, isUserUpdate, caseNumber) {
486
+ export const fetchCaseGroupsForAccount = (dispatch_1, accountNumber_1, ...args_1) => __awaiter(void 0, [dispatch_1, accountNumber_1, ...args_1], void 0, function* (dispatch, accountNumber, setCaseGroupToUngroupedOrDefault = false, abortSignal, caseGroupNumberToRestore) {
487
+ var _a, _b;
488
+ dispatch({
489
+ type: CaseReducerConstants.caseStateChanged,
490
+ payload: { ownersCaseGroups: getApiResourceObject([], true) },
491
+ });
492
+ try {
493
+ const response = yield publicApi.caseGroups.getCaseGroupsForInternalUser(accountNumber, abortSignal);
494
+ (response || []).sort((a, b) => a.name.localeCompare(b.name));
495
+ const defaultCaseGroup = (_b = (!isEmpty(caseGroupNumberToRestore)
496
+ ? caseGroupNumberToRestore
497
+ : (_a = find(response, (g) => g.isDefault)) === null || _a === void 0 ? void 0 : _a.groupNum)) !== null && _b !== void 0 ? _b : null;
498
+ dispatch({
499
+ type: CaseReducerConstants.caseStateChanged,
500
+ payload: { ownersCaseGroups: getApiResourceObject(response, false) },
501
+ });
502
+ setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: defaultCaseGroup });
503
+ }
504
+ catch (e) {
505
+ dispatch({
506
+ type: CaseReducerConstants.caseStateChanged,
507
+ payload: { ownersCaseGroups: getApiResourceObject([], false, true, e.message) },
508
+ });
509
+ setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: null });
510
+ }
511
+ });
512
+ export const setCaseOwner = (dispatch_1, owner_1, product_1, abortSignalCaseGroup_1, abortSignalEntitlements_1, ...args_1) => __awaiter(void 0, [dispatch_1, owner_1, product_1, abortSignalCaseGroup_1, abortSignalEntitlements_1, ...args_1], void 0, function* (dispatch, owner, product, abortSignalCaseGroup, abortSignalEntitlements, setCaseGroupToUngroupedOrDefault = false, caseGroupNumberToRestore, canChangeGroup = true, isUserUpdate, caseNumber, caseAccountNumber) {
427
513
  if (isEmpty(owner) || isEmpty(owner.ssoUsername)) {
428
514
  dispatch({
429
515
  type: CaseReducerConstants.caseDetailChanged,
@@ -436,7 +522,7 @@ export const setCaseOwner = (dispatch_1, owner_1, product_1, abortSignalCaseGrou
436
522
  },
437
523
  },
438
524
  });
439
- setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: '-1' });
525
+ setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: null });
440
526
  dispatch({
441
527
  type: CaseReducerConstants.caseStateChanged,
442
528
  payload: {
@@ -449,17 +535,29 @@ export const setCaseOwner = (dispatch_1, owner_1, product_1, abortSignalCaseGrou
449
535
  }
450
536
  dispatch({
451
537
  type: CaseReducerConstants.caseStateChanged,
452
- payload: { selectedOwner: getApiResourceObject(owner) },
538
+ payload: {
539
+ selectedOwner: getApiResourceObject(owner),
540
+ // Invert global/user isEntitled (from subscription GraphQL) into case entitlement flag
541
+ hasInvalidEntitlements: owner.isEntitled === false,
542
+ },
453
543
  });
454
544
  dispatch({
455
545
  type: CaseReducerConstants.caseDetailChanged,
456
546
  payload: { caseDetails: { contactSSOName: owner.ssoUsername } },
457
547
  });
458
- canChangeGroup &&
459
- fetchCaseGroupsForSSO(dispatch, owner.ssoUsername, setCaseGroupToUngroupedOrDefault, abortSignalCaseGroup, caseGroupNumberToRestore);
460
- delay(() => __awaiter(void 0, void 0, void 0, function* () {
461
- return yield fetchCaseEntitlements(dispatch, owner.ssoUsername, product, abortSignalEntitlements, isUserUpdate, caseNumber);
462
- }), 5000, 'later');
548
+ // delay(
549
+ // async () =>
550
+ // await fetchCaseEntitlements(
551
+ // dispatch,
552
+ // owner.ssoUsername!,
553
+ // product,
554
+ // abortSignalEntitlements,
555
+ // isUserUpdate,
556
+ // caseNumber
557
+ // ),
558
+ // 5000,
559
+ // 'later'
560
+ // );
463
561
  });
464
562
  //changing the item values to uppercase to match the backend values
465
563
  const slaOrder = Object.values(SupportLevelDisplay).map((item) => {
@@ -480,7 +578,7 @@ const getHighestSLASubscription = (subs) => {
480
578
  return currentIndex > highestIndex ? current : highest;
481
579
  });
482
580
  };
483
- const fetchCaseEntitlements = (dispatch, ssoUserName, product, abortSignal, isUserUpdate, caseNumber) => __awaiter(void 0, void 0, void 0, function* () {
581
+ export const fetchCaseEntitlements = (dispatch, ssoUserName, product, abortSignal, isUserUpdate, caseNumber) => __awaiter(void 0, void 0, void 0, function* () {
484
582
  dispatch({
485
583
  type: CaseReducerConstants.caseStateChanged,
486
584
  payload: { ownersEntitlements: getApiResourceObject([], true) },
@@ -522,7 +620,7 @@ export const fetchCaseGroupsForSSO = (dispatch_1, contactSsoUsername_1, ...args_
522
620
  (response || []).sort((a, b) => a.name.localeCompare(b.name));
523
621
  const defaultCaseGroup = (_b = (!isEmpty(caseGroupNumberToRestore)
524
622
  ? caseGroupNumberToRestore
525
- : (_a = find(response, (g) => g.isDefault)) === null || _a === void 0 ? void 0 : _a.groupNum)) !== null && _b !== void 0 ? _b : '-1';
623
+ : (_a = find(response, (g) => g.isDefault)) === null || _a === void 0 ? void 0 : _a.groupNum)) !== null && _b !== void 0 ? _b : null;
526
624
  dispatch({
527
625
  type: CaseReducerConstants.caseStateChanged,
528
626
  payload: { ownersCaseGroups: getApiResourceObject(response, false) },
@@ -534,18 +632,79 @@ export const fetchCaseGroupsForSSO = (dispatch_1, contactSsoUsername_1, ...args_
534
632
  type: CaseReducerConstants.caseStateChanged,
535
633
  payload: { ownersCaseGroups: getApiResourceObject([], false, true, e.message) },
536
634
  });
537
- setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: '-1' });
635
+ setCaseGroupToUngroupedOrDefault && setCaseDetails(dispatch, { groupNumber: null });
636
+ }
637
+ });
638
+ export const fetchCaseGroupsForContactGraphQL = (dispatch_1, apolloClient_1, contactId_1, accountNumber_1, defaultCaseGroupId_1, ...args_1) => __awaiter(void 0, [dispatch_1, apolloClient_1, contactId_1, accountNumber_1, defaultCaseGroupId_1, ...args_1], void 0, function* (dispatch, apolloClient, contactId, accountNumber, defaultCaseGroupId, isOrgAdmin = false, currentGroupNumber) {
639
+ var _a, _b, _c, _d;
640
+ dispatch({
641
+ type: CaseReducerConstants.caseStateChanged,
642
+ payload: { ownersCaseGroups: getApiResourceObject([], true) },
643
+ });
644
+ try {
645
+ const { data } = yield apolloClient.query({
646
+ query: GET_CASE_GROUP,
647
+ variables: { first: 2000 },
648
+ });
649
+ const response = data;
650
+ const allGroups = (_d = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.redhat_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.RedHatSupportCaseGroup__c) === null || _c === void 0 ? void 0 : _c.edges) !== null && _d !== void 0 ? _d : [];
651
+ const matchedGroups = allGroups
652
+ .filter(({ node }) => isOrgAdmin ||
653
+ node.CaseGroupMembers__r.edges.some(({ node: member }) => member.Contact__c.value === contactId))
654
+ .map(({ node }) => ({
655
+ groupId: node.Id,
656
+ groupName: safeDecodeGroupName(node.Name.value),
657
+ }));
658
+ if (defaultCaseGroupId && !matchedGroups.some((g) => g.groupId === defaultCaseGroupId)) {
659
+ const currentGroupEdge = allGroups.find(({ node }) => node.Id === defaultCaseGroupId);
660
+ if (currentGroupEdge) {
661
+ matchedGroups.push({
662
+ groupId: currentGroupEdge.node.Id,
663
+ groupName: safeDecodeGroupName(currentGroupEdge.node.Name.value),
664
+ });
665
+ }
666
+ }
667
+ matchedGroups.sort((a, b) => a.groupName.localeCompare(b.groupName));
668
+ const ownersCaseGroups = matchedGroups.map((g) => ({
669
+ groupNum: g.groupId,
670
+ name: g.groupName,
671
+ isDefault: defaultCaseGroupId ? g.groupId === defaultCaseGroupId : false,
672
+ isPrivate: false,
673
+ defaultMembers: [],
674
+ members: [],
675
+ }));
676
+ dispatch({
677
+ type: CaseReducerConstants.caseStateChanged,
678
+ payload: { ownersCaseGroups: getApiResourceObject(ownersCaseGroups, false) },
679
+ });
680
+ const defaultGroup = defaultCaseGroupId ? matchedGroups.find((g) => g.groupId === defaultCaseGroupId) : null;
681
+ if (currentGroupNumber === '') {
682
+ // User explicitly cleared the group — don't auto-select
683
+ }
684
+ else if (currentGroupNumber === null || currentGroupNumber === undefined) {
685
+ if (defaultGroup) {
686
+ setCaseDetails(dispatch, { groupNumber: defaultGroup.groupId, groupName: defaultGroup.groupName });
687
+ }
688
+ }
689
+ return matchedGroups;
690
+ }
691
+ catch (e) {
692
+ dispatch({
693
+ type: CaseReducerConstants.caseStateChanged,
694
+ payload: { ownersCaseGroups: getApiResourceObject([], false, true, e.message) },
695
+ });
696
+ return [];
538
697
  }
539
698
  });
540
699
  const getSelectedNotificationContactsFromSession = (contacts, notifiedUsers) => {
541
700
  return filter(contacts, (c) => notifiedUsers.includes(c.ssoUsername));
542
701
  };
543
- export const updateCaseWithSession = (dispatch_1, sessionItem_1, loggedInUserAccountNumber_1, loggedInUserContact_1, ...args_1) => __awaiter(void 0, [dispatch_1, sessionItem_1, loggedInUserAccountNumber_1, loggedInUserContact_1, ...args_1], void 0, function* (dispatch, sessionItem, loggedInUserAccountNumber, loggedInUserContact, loggedInUserAccount = {}) {
702
+ export const updateCaseWithSession = (dispatch_1, sessionItem_1, loggedInUserAccountNumber_1, loggedInUserContact_1, ...args_1) => __awaiter(void 0, [dispatch_1, sessionItem_1, loggedInUserAccountNumber_1, loggedInUserContact_1, ...args_1], void 0, function* (dispatch, sessionItem, loggedInUserAccountNumber, loggedInUserContact, loggedInUserAccount = {}, apolloClient) {
544
703
  var _a, _b, _c, _d;
545
704
  const caseDetails = getCaseFromSessionDetails(sessionItem, loggedInUserAccountNumber, loggedInUserContact.ssoUsername);
546
705
  const { sessionDetails } = sessionItem;
547
706
  setCaseDetails(dispatch, caseDetails);
548
- setCaseAccountNumber(dispatch, caseDetails.accountNumberRef, caseDetails.accountNumberRef === loggedInUserAccountNumber, loggedInUserAccount);
707
+ setCaseAccountNumber(dispatch, caseDetails.accountNumberRef, caseDetails.accountNumberRef === loggedInUserAccountNumber, loggedInUserAccount, apolloClient);
549
708
  // entitlementSla gets undefined when case group, owner or product is changed
550
709
  // Please refer line 60
551
710
  if (isUndefined(caseDetails.entitlementSla)) {
@@ -554,13 +713,13 @@ export const updateCaseWithSession = (dispatch_1, sessionItem_1, loggedInUserAcc
554
713
  // Set owner and Notified users
555
714
  const notifiedUsersExternal = (_b = (_a = sessionDetails.notifiedUsersExternal) === null || _a === void 0 ? void 0 : _a.split(',')) !== null && _b !== void 0 ? _b : [];
556
715
  const notifiedUsersInternal = (_d = (_c = sessionDetails.notifiedUsersInternal) === null || _c === void 0 ? void 0 : _c.split(',')) !== null && _d !== void 0 ? _d : [];
557
- const allRelevantContacts = yield getAllRelevantContacts(loggedInUserContact, caseDetails.accountNumberRef, caseDetails.contactSSOName, notifiedUsersExternal, notifiedUsersInternal);
716
+ const allRelevantContacts = yield getAllRelevantContacts(loggedInUserContact, caseDetails.accountNumberRef, caseDetails.contactSSOName, notifiedUsersExternal, notifiedUsersInternal, apolloClient);
558
717
  const owner = find(allRelevantContacts, (c) => c.ssoUsername === caseDetails.contactSSOName);
559
718
  const selectedNotificationContacts = getSelectedNotificationContactsFromSession(allRelevantContacts, [
560
719
  ...notifiedUsersExternal,
561
720
  ...notifiedUsersInternal,
562
721
  ]);
563
- setCaseOwner(dispatch, owner, '', undefined, undefined, true, caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.groupNumber);
722
+ setCaseOwner(dispatch, owner, '', undefined, undefined, true, caseDetails === null || caseDetails === void 0 ? void 0 : caseDetails.groupNumber, true, undefined, undefined, loggedInUserContact.isInternal ? caseDetails.accountNumberRef : undefined);
564
723
  setNotifiedUser(dispatch, selectedNotificationContacts);
565
724
  const sessionCepDetails = yield pcm.preCase.session.getSessionCepDetails(sessionItem.session.id);
566
725
  if (!isEmpty(sessionCepDetails) &&
@@ -578,7 +737,7 @@ export const updateCaseWithSession = (dispatch_1, sessionItem_1, loggedInUserAcc
578
737
  });
579
738
  }
580
739
  });
581
- const getAllRelevantContacts = (loggedInUserContact, caseAccountNumber, contactSsoUsername, notifiedUsersExternal, notifiedUsersInternal) => __awaiter(void 0, void 0, void 0, function* () {
740
+ const getAllRelevantContacts = (loggedInUserContact, caseAccountNumber, contactSsoUsername, notifiedUsersExternal, notifiedUsersInternal, apolloClient) => __awaiter(void 0, void 0, void 0, function* () {
582
741
  if (loggedInUserContact.isInternal) {
583
742
  // Internal users can use the internal API and be done with it
584
743
  const userArray = uniq([contactSsoUsername, ...notifiedUsersExternal, ...notifiedUsersInternal]);
@@ -589,28 +748,23 @@ const getAllRelevantContacts = (loggedInUserContact, caseAccountNumber, contactS
589
748
  return response.items;
590
749
  }
591
750
  else {
592
- const promiseArray = [];
593
- // Only Org admins have access to there own org accounts
594
- loggedInUserContact.isOrgAdmin &&
595
- promiseArray.push(accounts.getAccountContacts(loggedInUserContact.accountNumber));
596
- // However, all external users (org + non-org) can get list of the managed customer contacts
597
- // This is specifically relevant for partners accessing their customer cases
598
- loggedInUserContact.accountNumber !== caseAccountNumber &&
599
- promiseArray.push(accounts.getAccountContacts(caseAccountNumber));
600
- const response = yield Promise.all(promiseArray);
601
751
  const contactsToReturn = [];
602
- response[0] && contactsToReturn.push(...response[0]);
603
- response[1] && contactsToReturn.push(...response[1]);
752
+ const shouldFetchAccountContacts = loggedInUserContact.isOrgAdmin || loggedInUserContact.accountNumber !== caseAccountNumber;
753
+ if (shouldFetchAccountContacts && apolloClient) {
754
+ const accountContacts = yield fetchLoggedInUserAccountContactsFromGraphQL(apolloClient);
755
+ contactsToReturn.push(...accountContacts);
756
+ }
604
757
  contactsToReturn.push(loggedInUserContact);
605
758
  return uniqBy(contactsToReturn, 'ssoUsername');
606
759
  }
607
760
  });
608
- export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, loggedInUser) => __awaiter(void 0, void 0, void 0, function* () {
761
+ export const fetchCaseDetailsHydra = (dispatch, caseNumber, loggedInUserRights, loggedInUser, apolloClient) => __awaiter(void 0, void 0, void 0, function* () {
609
762
  var _a, _b;
610
763
  dispatch({ type: CaseReducerConstants.requestCaseDetails, payload: { caseDetails: { caseNumber } } });
611
764
  try {
612
765
  const data = yield publicApi.kase.getCase(caseNumber);
613
766
  const caseDetails = {
767
+ id: data.id,
614
768
  product: data.product,
615
769
  version: data.version,
616
770
  summary: data.summary,
@@ -632,7 +786,7 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, logge
632
786
  createdDate: data.createdDate,
633
787
  createdById: data.createdById,
634
788
  alternateId: data.alternateId,
635
- groupNumber: data.groupNumber || '-1', //Explicitly assigning folderNumber = '-1' for ungrouped case when case payload has no group information
789
+ groupNumber: data.groupNumber || null,
636
790
  caseNumber: data.caseNumber,
637
791
  hostname: data.hostname,
638
792
  contactInfo24x7: data.contactInfo24x7,
@@ -644,7 +798,7 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, logge
644
798
  sbrGroups: (data === null || data === void 0 ? void 0 : data.sbrGroups) || [],
645
799
  firstCaseInactivityWarningSentAt: (data === null || data === void 0 ? void 0 : data.firstCaseInactivityWarningSentAt) || undefined,
646
800
  secondCaseInactivityWarningSentAt: (data === null || data === void 0 ? void 0 : data.secondCaseInactivityWarningSentAt) || undefined,
647
- groupName: data.groupName || '',
801
+ groupName: safeDecodeGroupName(data.groupName || ''),
648
802
  remoteSessionTermsAcked: (_a = data.remoteSessionTermsAcked) !== null && _a !== void 0 ? _a : false,
649
803
  noClusterIdReason: data.noClusterIdReason || '',
650
804
  noClusterIdReasonExplanation: data.noClusterIdReasonExplanation || '',
@@ -675,12 +829,10 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, logge
675
829
  caseNoOfCreatedCase: caseNumber,
676
830
  };
677
831
  dispatch({ type: CaseReducerConstants.receivedCaseDetails, payload: Object.assign(Object.assign({}, caseState), { caseDetails }) });
678
- setCaseAccountNumber(dispatch, data.accountNumberRef);
679
- const canChangeGroup = loggedInUserRights.isInternal() ||
680
- loggedInUser.isOrgAdmin ||
681
- loggedInUser.ssoUsername === caseDetails.contactSSOName ||
682
- loggedInUserRights.isPartnerOrgAdmin();
683
- setCaseOwner(dispatch, { ssoUsername: data.contactSSOName, fullNameCustom: data.contactName }, '', undefined, undefined, false, undefined, canChangeGroup);
832
+ setCaseAccountNumber(dispatch, data.accountNumberRef, false, {}, apolloClient);
833
+ // Owner is set by fetchCaseDetails (GraphQL) in Case.tsx via mapGraphQLCaseContactToOwnerState
834
+ // which already sets selectedOwner with id (contactId) from the case details query.
835
+ // The contact details are then enriched by CaseContactsSelectorExternal when the contacts list loads.
684
836
  const notifiedListUsers = map(data.notifiedUsers, (o) => ({
685
837
  ssoUsername: o.ssoUsername,
686
838
  fullNameCustom: o.title,
@@ -689,15 +841,22 @@ export const fetchCaseDetails = (dispatch, caseNumber, loggedInUserRights, logge
689
841
  type: CaseReducerConstants.setLoadedNotificationContacts,
690
842
  payload: { notifiedUsers: notifiedListUsers },
691
843
  });
692
- if (data.groupNumber && data.groupNumber !== '-1') {
844
+ if (data.groupNumber) {
693
845
  setSelectedCaseGroupUsers(dispatch, data.accountNumberRef, data.groupNumber, loggedInUserRights);
694
846
  }
695
- if (loggedInUserRights.isInternal() && !loggedInUserRights.isSecureSupportTech()) {
696
- getNotificationContacts4InternalUser(dispatch, notifiedListUsers, data.contactSSOName);
697
- }
698
- else {
699
- getNotificationContacts4ExternalUser(dispatch, notifiedListUsers, loggedInUserRights, data.accountNumberRef, data.contactSSOName, data.contactName);
700
- }
847
+ // TODO: Re-enable send notifications calls once GraphQL support is available
848
+ // if (loggedInUserRights.isInternal() && !loggedInUserRights.isSecureSupportTech()) {
849
+ // getNotificationContacts4InternalUser(dispatch, notifiedListUsers, data.contactSSOName);
850
+ // } else {
851
+ // getNotificationContacts4ExternalUser(
852
+ // dispatch,
853
+ // notifiedListUsers,
854
+ // loggedInUserRights,
855
+ // data.accountNumberRef,
856
+ // data.contactSSOName,
857
+ // data.contactName
858
+ // );
859
+ // }
701
860
  }
702
861
  catch (error) {
703
862
  dispatch({ type: CaseReducerConstants.receivedCaseDetailsError, payload: { caseDetailsError: error } });
@@ -721,9 +880,61 @@ export const updateCaseDetails = (dispatch, caseNumber, caseDetails, dontSetDeta
721
880
  }
722
881
  catch (error) {
723
882
  dispatch({ type: CaseReducerConstants.updateCaseDetailsError });
724
- return Promise.reject(error);
883
+ throw error;
884
+ }
885
+ });
886
+ export const updateCaseDetailsGraphQL = (dispatch, apolloClient, caseNumber, caseUpdate, dontSetDetails, options) => __awaiter(void 0, void 0, void 0, function* () {
887
+ var _a, _b;
888
+ try {
889
+ dispatch({ type: CaseReducerConstants.updateCaseDetailUpdating });
890
+ const salesforceCaseId = (_a = options === null || options === void 0 ? void 0 : options.salesforceCaseId) !== null && _a !== void 0 ? _a : (_b = options === null || options === void 0 ? void 0 : options.existingCaseDetails) === null || _b === void 0 ? void 0 : _b.id;
891
+ const graphqlDetails = yield updateCaseDetailsGraphQLRequest(apolloClient, caseNumber, caseUpdate, {
892
+ salesforceCaseId,
893
+ existingCaseDetails: (options === null || options === void 0 ? void 0 : options.existingCaseDetails)
894
+ ? {
895
+ product: options.existingCaseDetails.product,
896
+ version: options.existingCaseDetails.version,
897
+ noClusterIdReason: options.existingCaseDetails.noClusterIdReason,
898
+ noClusterIdReasonExplanation: options.existingCaseDetails.noClusterIdReasonExplanation,
899
+ additionalCaseInformation: options.existingCaseDetails.additionalCaseInformation,
900
+ }
901
+ : undefined,
902
+ });
903
+ if (dontSetDetails) {
904
+ dispatch({ type: CaseReducerConstants.updateCaseDetailCompleted });
905
+ return;
906
+ }
907
+ // productId/entitlementId/entitlementSla are not sent in GraphQL case updates from case edit
908
+ const { productId: _productId, entitlementId: _entitlementId, entitlementSla: _entitlementSla } = caseUpdate, caseUpdateWithoutIds = __rest(caseUpdate, ["productId", "entitlementId", "entitlementSla"]);
909
+ let updatedCaseDetails = Object.assign({}, caseUpdateWithoutIds);
910
+ if (graphqlDetails) {
911
+ const mappedGraphQLDetails = mapGraphQLCaseDetailsToCasePayload(graphqlDetails);
912
+ updatedCaseDetails = Object.assign(Object.assign({}, updatedCaseDetails), Object.fromEntries(Object.entries(mappedGraphQLDetails).filter(([, value]) => value !== null && value !== undefined && value !== '')));
913
+ }
914
+ else {
915
+ const refreshedDetails = yield fetchCaseDetailsByCaseNumber(apolloClient, caseNumber, options === null || options === void 0 ? void 0 : options.includeSecureSupport);
916
+ if (refreshedDetails) {
917
+ updatedCaseDetails = Object.assign(Object.assign({}, updatedCaseDetails), mapGraphQLCaseDetailsToCasePayload(refreshedDetails));
918
+ }
919
+ }
920
+ dispatch({
921
+ type: CaseReducerConstants.caseDetailChanged,
922
+ payload: { caseDetails: updatedCaseDetails, isCaseUpdating: false },
923
+ });
924
+ }
925
+ catch (error) {
926
+ dispatch({ type: CaseReducerConstants.updateCaseDetailsError });
927
+ throw error;
725
928
  }
726
929
  });
930
+ /** GraphQL CaseUpdate for severity/status and FTS (X24x7__c / X24x7ContactInformation__c). */
931
+ export const updateCaseSeverityAndFtsGraphQL = (dispatch, apolloClient, caseNumber, payload, currentSeverity, options) => __awaiter(void 0, void 0, void 0, function* () {
932
+ const graphqlUpdate = buildCaseSeverityFtsGraphQLUpdate(payload, currentSeverity);
933
+ if (Object.keys(graphqlUpdate).length === 0) {
934
+ return;
935
+ }
936
+ yield updateCaseDetailsGraphQL(dispatch, apolloClient, caseNumber, graphqlUpdate, false, options);
937
+ });
727
938
  export const getNotificationContacts4InternalUser = (dispatch, users, caseOwnerSSO) => __awaiter(void 0, void 0, void 0, function* () {
728
939
  const usersArr = (users || []).map((o) => o.ssoUsername).filter((s) => !!s);
729
940
  caseOwnerSSO && usersArr.push(caseOwnerSSO);
@@ -761,7 +972,7 @@ export const getNotificationContacts4InternalUser = (dispatch, users, caseOwnerS
761
972
  });
762
973
  }
763
974
  });
764
- export const getNotificationContacts4ExternalUser = (dispatch, users, loggedInUserRights, accountNumber, caseOwnerSSO, fullNameCustom) => __awaiter(void 0, void 0, void 0, function* () {
975
+ export const getNotificationContacts4ExternalUser = (dispatch, users, loggedInUserRights, accountNumber, caseOwnerSSO, fullNameCustom, apolloClient) => __awaiter(void 0, void 0, void 0, function* () {
765
976
  try {
766
977
  const selectedNotificationContacts = [];
767
978
  if (loggedInUserRights.isExternalNonOrgAdmin()) {
@@ -800,24 +1011,14 @@ export const getNotificationContacts4ExternalUser = (dispatch, users, loggedInUs
800
1011
  type: CaseReducerConstants.getSelectedAccountDetailsHydra,
801
1012
  payload: { isFetchingSelectedNotificationContacts: true, hasErrorSelectedNotificationContacts: false },
802
1013
  });
803
- const promiseArray = [];
804
- // Only Org admins have access to there own org accounts
805
- loggedInUserRights.isOrgAdmin() &&
806
- promiseArray.push(accounts.getAccountContacts(loggedInUserRights.user.accountNumber));
807
- // However, all external users (org + non-org) can get list of the managed customer contacts
808
- // This is specifically relevant for partners accessing their customer cases
809
- loggedInUserRights.isAccountDifferentFromLoggedInAccount(accountNumber) &&
810
- promiseArray.push(accounts.getAccountContacts(accountNumber));
811
- dispatch({
812
- type: CaseReducerConstants.getSelectedAccountDetailsHydra,
813
- payload: { isFetchingSelectedNotificationContacts: true, hasErrorSelectedNotificationContacts: false },
814
- });
815
- const response = yield Promise.all(promiseArray);
1014
+ const shouldFetchAccountContacts = loggedInUserRights.isOrgAdmin() ||
1015
+ loggedInUserRights.isAccountDifferentFromLoggedInAccount(accountNumber);
816
1016
  let contactsToReturn = [];
817
- response[0] && contactsToReturn.push(...response[0]);
818
- response[1] && contactsToReturn.push(...response[1]);
819
- contactsToReturn = uniqBy(contactsToReturn, 'ssoUsername').filter((contact) => usersArr.indexOf(contact.ssoUsername) !== -1);
820
- selectedNotificationContacts.push(...contactsToReturn);
1017
+ if (shouldFetchAccountContacts && apolloClient) {
1018
+ contactsToReturn = yield fetchLoggedInUserAccountContactsFromGraphQL(apolloClient);
1019
+ contactsToReturn = uniqBy(contactsToReturn, 'ssoUsername').filter((contact) => usersArr.indexOf(contact.ssoUsername) !== -1);
1020
+ selectedNotificationContacts.push(...contactsToReturn);
1021
+ }
821
1022
  }
822
1023
  dispatch({
823
1024
  type: CaseReducerConstants.getSelectedAccountDetailsHydra,
@@ -835,20 +1036,23 @@ export const getNotificationContacts4ExternalUser = (dispatch, users, loggedInUs
835
1036
  });
836
1037
  }
837
1038
  });
838
- export const checkForCaseStatusToggleOnAttachOrComment = (dispatch, isInternal, currentStatus) => {
839
- if (isInternal)
1039
+ export const checkForCaseStatusToggleOnAttachOrComment = (dispatch, isInternal, currentStatus, options) => __awaiter(void 0, void 0, void 0, function* () {
1040
+ if (!shouldPersistInProgressOnCustomerActivity(isInternal, currentStatus))
840
1041
  return;
841
- if (currentStatus === 'Closed' || currentStatus === 'Waiting on Customer') {
842
- setCaseDetails(dispatch, { status: 'Waiting on Red Hat' });
843
- }
844
- };
1042
+ const { apolloClient, caseNumber, existingCaseDetails } = options !== null && options !== void 0 ? options : {};
1043
+ if (!apolloClient || !caseNumber)
1044
+ return;
1045
+ yield updateCaseDetailsGraphQL(dispatch, apolloClient, caseNumber, { status: 'In Progress' }, false, {
1046
+ existingCaseDetails,
1047
+ });
1048
+ });
845
1049
  // to fetch all users for the selected case group after fetching case details so that we can
846
1050
  // check which users have access to the selected case group and filter the owner dropdown list accordingly
847
1051
  export const setSelectedCaseGroupUsers = (dispatch, accountNumber, groupNumber, loggedInUserRights) => __awaiter(void 0, void 0, void 0, function* () {
848
1052
  const canUserChangeOwner = loggedInUserRights.isOrgAdmin() ||
849
1053
  (loggedInUserRights.isExternalNonOrgAdmin() &&
850
1054
  loggedInUserRights.isAccountDifferentFromLoggedInAccount(accountNumber));
851
- if (groupNumber === '-1' || !canUserChangeOwner) {
1055
+ if (!groupNumber || !canUserChangeOwner) {
852
1056
  dispatch({
853
1057
  type: CaseReducerConstants.caseStateChanged,
854
1058
  payload: { selectedCaseGroupUsers: getApiResourceObject([]) },
@@ -903,14 +1107,26 @@ export function updateEmailListState(dispatch, email, customEmailsList, callback
903
1107
  payload: { customEmailsList: Object.assign(Object.assign({}, customEmailsList), { data: newEmail }) },
904
1108
  });
905
1109
  }
906
- export function getVersionsDetails(dispatch, product) {
1110
+ export function getVersionsDetails(dispatch, apolloClient, parentProductId, parentProductName) {
907
1111
  return __awaiter(this, void 0, void 0, function* () {
1112
+ var _a, _b, _c, _d;
908
1113
  try {
909
1114
  dispatch({
910
1115
  type: CaseReducerConstants.getVersionDetails,
911
1116
  payload: { versionsDetails: getApiResourceObject([], true) },
912
1117
  });
913
- const versionsDetails = yield pcm.products.getDetailedVersions(product);
1118
+ const { data } = yield apolloClient.query({
1119
+ query: GET_PRODUCTS,
1120
+ variables: {
1121
+ where: {
1122
+ ParentProduct__c: { eq: parentProductId },
1123
+ IsActive: { eq: true },
1124
+ },
1125
+ first: 200,
1126
+ },
1127
+ });
1128
+ const edges = (_d = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.redhat_support_uiapi) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.RedHatSupportProduct2) === null || _c === void 0 ? void 0 : _c.edges) !== null && _d !== void 0 ? _d : [];
1129
+ const versionsDetails = handleGraphQLVersionsResponse(edges, parentProductName);
914
1130
  dispatch({
915
1131
  type: CaseReducerConstants.getVersionDetails,
916
1132
  payload: { versionsDetails: getApiResourceObject(versionsDetails) },