@carbon/ai-chat 0.4.0-rc.2 → 0.4.0-rc.3

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 (295) hide show
  1. package/dist/es/aiChatEntry.js +220 -14
  2. package/dist/es/chat.AppContainer.js +6491 -0
  3. package/dist/es/chat.AppState.js +40 -0
  4. package/dist/es/{chat/shared/components/BasePanelComponent.js → chat.BasePanelComponent.js} +3 -3
  5. package/dist/es/{chat/shared/components/panels/BodyAndFooterPanelComponent.js → chat.BodyAndFooterPanelComponent.js} +92 -9
  6. package/dist/es/chat.BodyWithFooterComponent.js +140 -0
  7. package/dist/es/{chat/shared/components/header/BotHeader.js → chat.BotHeader.js} +7 -9
  8. package/dist/es/{chat/shared/components/responseTypes/carousel/Carousel.js → chat.Carousel.js} +3 -3
  9. package/dist/es/chat.CatastrophicError.js +381 -0
  10. package/dist/es/chat.Chat.js +2009 -0
  11. package/dist/es/chat.Disclaimer.js +553 -0
  12. package/dist/es/chat.Header.js +1025 -0
  13. package/dist/es/{chat/shared/components/util/HideComponent.js → chat.HideComponent.js} +9 -2
  14. package/dist/es/{types/config/HomeScreenConfig.js → chat.HomeScreenConfig.js} +1 -1
  15. package/dist/es/{chat/shared/components/homeScreen/HomeScreen.js → chat.HomeScreenContainer.js} +159 -14
  16. package/dist/es/{chat/shared/components/homeScreen/HomeScreenHeader.js → chat.HomeScreenHeader.js} +3 -3
  17. package/dist/es/{chat/shared/services/haa/HumanAgentServiceImpl.js → chat.HumanAgentServiceImpl.js} +215 -17
  18. package/dist/es/{chat/shared/components/responseTypes/iframe/IFrameComponent.js → chat.IFrameComponent.js} +4 -8
  19. package/dist/es/chat.IFramePanel.js +151 -0
  20. package/dist/es/{chat/shared/components/input/Input.js → chat.Input.js} +214 -18
  21. package/dist/es/{types/config/ServiceDeskConfig.js → chat.LocalMessageItem.js} +17 -1
  22. package/dist/es/chat.MessageTypeComponent.js +3580 -0
  23. package/dist/es/{types/messaging/Messages.js → chat.Messages.js} +1 -1
  24. package/dist/es/chat.MountChildrenOnDelay.js +97 -0
  25. package/dist/es/{chat/shared/components/OverlayPanel.js → chat.PageObjectId.js} +70 -4
  26. package/dist/es/{chat/web-components/components/markdownText/src/markdownText.scss.js → chat.RichText.js} +347 -1
  27. package/dist/es/chat.TourContainer.js +524 -0
  28. package/dist/es/{chat/languages/en.json.js → chat.VideoComponent.js} +561 -1
  29. package/dist/es/chat.ViewSourcePanel.js +187 -0
  30. package/dist/es/{chat/shared/store/actions.js → chat.actions.js} +2 -2
  31. package/dist/es/{chat/shared/utils/browserUtils.js → chat.browserUtils.js} +1 -1
  32. package/dist/es/{types/utilities/carbonTypes.js → chat.carbonTypes.js} +2 -2
  33. package/dist/es/{chat/web-components/components/codeElement/src/codeElement.scss.js → chat.cds-aichat-code.js} +64 -1
  34. package/dist/es/{chat/shared/utils/constants.js → chat.constants.js} +4 -7
  35. package/dist/es/{types/events/eventBusTypes.js → chat.customElement.js} +32 -1
  36. package/dist/es/chat.dynamic-imports.js +192 -0
  37. package/dist/es/{chat/shared/utils/htmlUtils.js → chat.htmlUtils.js} +16 -2
  38. package/dist/es/{chat/shared/utils/messageUtils.js → chat.messageUtils.js} +54 -7
  39. package/dist/es/{chat/shared/utils/miscUtils.js → chat.miscUtils.js} +24 -5
  40. package/dist/es/chat.resolvablePromise.js +315 -0
  41. package/dist/es/{chat/shared/store/selectors.js → chat.selectors.js} +1 -1
  42. package/dist/es/{chat/shared/utils/lang/stringUtils.js → chat.stringUtils.js} +2 -2
  43. package/dist/es/{chat/shared/hooks/useCounter.js → chat.useCounter.js} +1 -1
  44. package/dist/es/{chat/shared/hooks/useOnMount.js → chat.useOnMount.js} +1 -1
  45. package/dist/es/{chat/shared/utils/domUtils.js → chat.usePrevious.js} +47 -1
  46. package/dist/es/{chat/shared/utils/lang/UUIDType.js → chat.uuid.js} +15 -3
  47. package/dist/es/web-components/cds-aichat-container/index.js +73 -4
  48. package/dist/es/web-components/cds-aichat-custom-element/index.js +1 -3
  49. package/package.json +2 -2
  50. package/dist/es/chat/dynamic-imports/dynamic-imports.js +0 -96
  51. package/dist/es/chat/react/components/AppContainer.js +0 -197
  52. package/dist/es/chat/react/components/UserDefinedResponsePortalsContainer.js +0 -31
  53. package/dist/es/chat/react/components/WriteableElementsPortalsContainer.js +0 -28
  54. package/dist/es/chat/react/components/chainOfThought/ChainOfThought.js +0 -20
  55. package/dist/es/chat/react/components/chatHeader/ChatHeaderAvatar.js +0 -20
  56. package/dist/es/chat/react/components/chatHeader/ChatHeaderLink.js +0 -22
  57. package/dist/es/chat/react/components/chatHeader/ChatHeaderMenu.js +0 -27
  58. package/dist/es/chat/react/components/chatHeader/ChatHeaderMenuButton.js +0 -60
  59. package/dist/es/chat/react/components/chatHeader/ChatHeaderMenuItem.js +0 -24
  60. package/dist/es/chat/react/components/chatHeader/ChatHeaderMenuItemRadioGroup.js +0 -28
  61. package/dist/es/chat/react/components/chatHeader/ChatHeaderOverflowMenu.js +0 -69
  62. package/dist/es/chat/react/components/chatHeader/ChatHeaderTitle.js +0 -22
  63. package/dist/es/chat/react/components/feedback/FeedbackButtonsComponent.js +0 -20
  64. package/dist/es/chat/react/components/feedback/FeedbackComponent.js +0 -20
  65. package/dist/es/chat/react/components/inlineLoading/InlineLoadingComponent.js +0 -20
  66. package/dist/es/chat/react/components/markdownText/MarkdownText.js +0 -20
  67. package/dist/es/chat/react/components/stopStreamingButton/StopStreamingButton.js +0 -20
  68. package/dist/es/chat/react/components/table/Table.js +0 -20
  69. package/dist/es/chat/shared/Chat.js +0 -115
  70. package/dist/es/chat/shared/ChatInstanceImpl.js +0 -360
  71. package/dist/es/chat/shared/chatEntryFunctions.js +0 -46
  72. package/dist/es/chat/shared/components/Avatar.js +0 -286
  73. package/dist/es/chat/shared/components/BodyWithFooterComponent.js +0 -56
  74. package/dist/es/chat/shared/components/CatastrophicError.js +0 -77
  75. package/dist/es/chat/shared/components/Chat.js +0 -244
  76. package/dist/es/chat/shared/components/ChatBubbleDark.js +0 -124
  77. package/dist/es/chat/shared/components/ChatBubbleLight.js +0 -216
  78. package/dist/es/chat/shared/components/Disclaimer.js +0 -86
  79. package/dist/es/chat/shared/components/ErrorIcon.js +0 -20
  80. package/dist/es/chat/shared/components/ErrorMessageDark.js +0 -89
  81. package/dist/es/chat/shared/components/ErrorMessageLight.js +0 -135
  82. package/dist/es/chat/shared/components/HydrationPanel.js +0 -58
  83. package/dist/es/chat/shared/components/LatestWelcomeNodes.js +0 -26
  84. package/dist/es/chat/shared/components/ResponseStopped.js +0 -19
  85. package/dist/es/chat/shared/components/SkeletonPicker.js +0 -32
  86. package/dist/es/chat/shared/components/WriteableElement.js +0 -22
  87. package/dist/es/chat/shared/components/agent/AgentAvatar.js +0 -54
  88. package/dist/es/chat/shared/components/agent/AgentBanner.js +0 -109
  89. package/dist/es/chat/shared/components/agent/AgentBannerContainer.js +0 -28
  90. package/dist/es/chat/shared/components/agent/AvailabilityMessage.js +0 -49
  91. package/dist/es/chat/shared/components/aria/AriaAnnouncerComponent.js +0 -122
  92. package/dist/es/chat/shared/components/aria/AriaAnnouncerProvider.js +0 -48
  93. package/dist/es/chat/shared/components/aria/AriaLiveMessage.js +0 -22
  94. package/dist/es/chat/shared/components/header/AISlug.js +0 -22
  95. package/dist/es/chat/shared/components/header/Header.js +0 -460
  96. package/dist/es/chat/shared/components/header/SimpleHeader.js +0 -27
  97. package/dist/es/chat/shared/components/homeScreen/HomeScreenContainer.js +0 -68
  98. package/dist/es/chat/shared/components/launcher/Launcher.js +0 -88
  99. package/dist/es/chat/shared/components/launcher/LauncherComplex.js +0 -63
  100. package/dist/es/chat/shared/components/launcher/LauncherContainer.js +0 -73
  101. package/dist/es/chat/shared/components/launcher/LauncherDesktopContainer.js +0 -221
  102. package/dist/es/chat/shared/components/launcher/LauncherExtended.js +0 -244
  103. package/dist/es/chat/shared/components/launcher/LauncherMobileContainer.js +0 -175
  104. package/dist/es/chat/shared/components/launcher/launcherUtils.js +0 -16
  105. package/dist/es/chat/shared/components/modals/ConfirmModal.js +0 -67
  106. package/dist/es/chat/shared/components/modals/EndAgentChatModal.js +0 -46
  107. package/dist/es/chat/shared/components/modals/RequestScreenShareModal.js +0 -43
  108. package/dist/es/chat/shared/components/notifications/Notifications.js +0 -58
  109. package/dist/es/chat/shared/components/panels/CustomPanel.js +0 -136
  110. package/dist/es/chat/shared/components/responseTypes/agent/ConnectToAgent.js +0 -30
  111. package/dist/es/chat/shared/components/responseTypes/agent/RealConnectToAgent.js +0 -102
  112. package/dist/es/chat/shared/components/responseTypes/audio/AudioComponent.js +0 -26
  113. package/dist/es/chat/shared/components/responseTypes/buttonItem/BaseButtonItemComponent.js +0 -69
  114. package/dist/es/chat/shared/components/responseTypes/buttonItem/ButtonItemComponent.js +0 -48
  115. package/dist/es/chat/shared/components/responseTypes/buttonItem/ButtonItemCustomEventComponent.js +0 -42
  116. package/dist/es/chat/shared/components/responseTypes/buttonItem/ButtonItemPostBackComponent.js +0 -54
  117. package/dist/es/chat/shared/components/responseTypes/buttonItem/ButtonItemShowPanelComponent.js +0 -36
  118. package/dist/es/chat/shared/components/responseTypes/buttonItem/ButtonItemURLComponent.js +0 -42
  119. package/dist/es/chat/shared/components/responseTypes/card/CardItemComponent.js +0 -34
  120. package/dist/es/chat/shared/components/responseTypes/carousel/CarouselItemComponent.js +0 -39
  121. package/dist/es/chat/shared/components/responseTypes/conversationalSearch/ConversationalSearch.js +0 -92
  122. package/dist/es/chat/shared/components/responseTypes/conversationalSearch/ConversationalSearchText.js +0 -158
  123. package/dist/es/chat/shared/components/responseTypes/custom/UserDefinedResponse.js +0 -33
  124. package/dist/es/chat/shared/components/responseTypes/datePicker/DatePickerComponent.js +0 -176
  125. package/dist/es/chat/shared/components/responseTypes/error/InlineError.js +0 -32
  126. package/dist/es/chat/shared/components/responseTypes/grid/GridItemComponent.js +0 -109
  127. package/dist/es/chat/shared/components/responseTypes/iframe/IFrameMessage.js +0 -32
  128. package/dist/es/chat/shared/components/responseTypes/iframe/IFramePanel.js +0 -51
  129. package/dist/es/chat/shared/components/responseTypes/iframe/IFramePreviewCard.js +0 -64
  130. package/dist/es/chat/shared/components/responseTypes/iframe/InlineIFrame.js +0 -55
  131. package/dist/es/chat/shared/components/responseTypes/image/Image.js +0 -120
  132. package/dist/es/chat/shared/components/responseTypes/options/OptionComponent.js +0 -83
  133. package/dist/es/chat/shared/components/responseTypes/options/SelectComponent.js +0 -84
  134. package/dist/es/chat/shared/components/responseTypes/table/TableContainer.js +0 -96
  135. package/dist/es/chat/shared/components/responseTypes/text/TextArea.js +0 -68
  136. package/dist/es/chat/shared/components/responseTypes/tour/TourCard.js +0 -73
  137. package/dist/es/chat/shared/components/responseTypes/util/BodyMessageComponents.js +0 -65
  138. package/dist/es/chat/shared/components/responseTypes/util/ClickableImage.js +0 -36
  139. package/dist/es/chat/shared/components/responseTypes/util/Description.js +0 -21
  140. package/dist/es/chat/shared/components/responseTypes/util/FooterButtonComponents.js +0 -36
  141. package/dist/es/chat/shared/components/responseTypes/util/MediaPlayer.js +0 -157
  142. package/dist/es/chat/shared/components/responseTypes/util/Metablock.js +0 -27
  143. package/dist/es/chat/shared/components/responseTypes/util/RichText.js +0 -31
  144. package/dist/es/chat/shared/components/responseTypes/util/SearchResultBody.js +0 -53
  145. package/dist/es/chat/shared/components/responseTypes/util/StreamingRichText.js +0 -38
  146. package/dist/es/chat/shared/components/responseTypes/util/TextHolderTile.js +0 -35
  147. package/dist/es/chat/shared/components/responseTypes/util/citations/CitationCard.js +0 -65
  148. package/dist/es/chat/shared/components/responseTypes/util/citations/CitationCardContent.js +0 -62
  149. package/dist/es/chat/shared/components/responseTypes/util/citations/CitationClickableCard.js +0 -23
  150. package/dist/es/chat/shared/components/responseTypes/util/citations/ExpandToPanelCard.js +0 -50
  151. package/dist/es/chat/shared/components/responseTypes/util/citations/ViewSourcePanel.js +0 -57
  152. package/dist/es/chat/shared/components/responseTypes/video/VideoComponent.js +0 -23
  153. package/dist/es/chat/shared/components/tour/TourCloseMinimizeComponent.js +0 -44
  154. package/dist/es/chat/shared/components/tour/TourContainer.js +0 -212
  155. package/dist/es/chat/shared/components/tour/TourControlsComponent.js +0 -98
  156. package/dist/es/chat/shared/components/tour/TourStepContentComponent.js +0 -156
  157. package/dist/es/chat/shared/components/tour/TourStepSkeletonComponent.js +0 -20
  158. package/dist/es/chat/shared/components/util/AnnounceOnMountComponent.js +0 -42
  159. package/dist/es/chat/shared/components/util/IconHolder.js +0 -16
  160. package/dist/es/chat/shared/components/util/ImageWithFallback.js +0 -31
  161. package/dist/es/chat/shared/components/util/MaybeDangerouslySetInnerHTML.js +0 -42
  162. package/dist/es/chat/shared/components/util/MountChildrenOnDelay.js +0 -40
  163. package/dist/es/chat/shared/components/util/VisuallyHidden.js +0 -18
  164. package/dist/es/chat/shared/containers/App.js +0 -181
  165. package/dist/es/chat/shared/containers/MessageComponent.js +0 -465
  166. package/dist/es/chat/shared/containers/MessageTypeComponent.js +0 -496
  167. package/dist/es/chat/shared/containers/MessagesComponent.js +0 -469
  168. package/dist/es/chat/shared/containers/ModalPortal.js +0 -53
  169. package/dist/es/chat/shared/containers/main/MainWindow.js +0 -708
  170. package/dist/es/chat/shared/contexts/AriaAnnouncerContext.js +0 -12
  171. package/dist/es/chat/shared/contexts/HideComponentContext.js +0 -12
  172. package/dist/es/chat/shared/contexts/LanguagePackContext.js +0 -12
  173. package/dist/es/chat/shared/contexts/ModalPortalRootContext.js +0 -12
  174. package/dist/es/chat/shared/contexts/ServiceManagerContext.js +0 -12
  175. package/dist/es/chat/shared/contexts/WindowSizeContext.js +0 -12
  176. package/dist/es/chat/shared/environmentVariables.js +0 -13
  177. package/dist/es/chat/shared/events/ChatActionsImpl.js +0 -783
  178. package/dist/es/chat/shared/events/EventBus.js +0 -161
  179. package/dist/es/chat/shared/hocs/withAriaAnnouncer.js +0 -25
  180. package/dist/es/chat/shared/hocs/withServiceManager.js +0 -25
  181. package/dist/es/chat/shared/hooks/useAriaAnnouncer.js +0 -16
  182. package/dist/es/chat/shared/hooks/useCSSCustomProperties.js +0 -21
  183. package/dist/es/chat/shared/hooks/useCallbackOnChange.js +0 -24
  184. package/dist/es/chat/shared/hooks/useEffectDidUpdate.js +0 -21
  185. package/dist/es/chat/shared/hooks/useLanguagePack.js +0 -16
  186. package/dist/es/chat/shared/hooks/usePrevious.js +0 -18
  187. package/dist/es/chat/shared/hooks/useServiceManager.js +0 -16
  188. package/dist/es/chat/shared/hooks/useShouldSanitizeHTML.js +0 -15
  189. package/dist/es/chat/shared/hooks/useUUID.js +0 -22
  190. package/dist/es/chat/shared/hooks/useWindowSize.js +0 -16
  191. package/dist/es/chat/shared/loadServices.js +0 -72
  192. package/dist/es/chat/shared/schema/historyToMessages.js +0 -231
  193. package/dist/es/chat/shared/schema/inputItemToLocalItem.js +0 -30
  194. package/dist/es/chat/shared/schema/outputItemToLocalItem.js +0 -124
  195. package/dist/es/chat/shared/services/CustomPanelInstance.js +0 -26
  196. package/dist/es/chat/shared/services/CustomPanelManager.js +0 -23
  197. package/dist/es/chat/shared/services/HistoryService.js +0 -59
  198. package/dist/es/chat/shared/services/MessageService.js +0 -351
  199. package/dist/es/chat/shared/services/NamespaceService.js +0 -26
  200. package/dist/es/chat/shared/services/ServiceManager.js +0 -19
  201. package/dist/es/chat/shared/services/UserSessionStorageService.js +0 -89
  202. package/dist/es/chat/shared/services/haa/agentStatusMessage.js +0 -108
  203. package/dist/es/chat/shared/services/haa/humanAgentUtils.js +0 -114
  204. package/dist/es/chat/shared/services/mockStorage.js +0 -30
  205. package/dist/es/chat/shared/store/agentActions.js +0 -125
  206. package/dist/es/chat/shared/store/agentReducers.js +0 -215
  207. package/dist/es/chat/shared/store/doCreateStore.js +0 -142
  208. package/dist/es/chat/shared/store/reducerUtils.js +0 -320
  209. package/dist/es/chat/shared/store/reducers.js +0 -871
  210. package/dist/es/chat/shared/store/subscriptions.js +0 -55
  211. package/dist/es/chat/shared/store/tourReducerUtils.js +0 -51
  212. package/dist/es/chat/shared/utils/ListenerList.js +0 -26
  213. package/dist/es/chat/shared/utils/PageObjectId.js +0 -25
  214. package/dist/es/chat/shared/utils/animationUtils.js +0 -77
  215. package/dist/es/chat/shared/utils/colors.js +0 -71
  216. package/dist/es/chat/shared/utils/customizers.js +0 -16
  217. package/dist/es/chat/shared/utils/dateUtils.js +0 -38
  218. package/dist/es/chat/shared/utils/homeScreenUtils.js +0 -27
  219. package/dist/es/chat/shared/utils/intlUtils.js +0 -21
  220. package/dist/es/chat/shared/utils/lang/arrayUtils.js +0 -53
  221. package/dist/es/chat/shared/utils/lang/langUtils.js +0 -13
  222. package/dist/es/chat/shared/utils/lang/objectUtils.js +0 -19
  223. package/dist/es/chat/shared/utils/lang/promiseUtils.js +0 -25
  224. package/dist/es/chat/shared/utils/lang/uuid.js +0 -16
  225. package/dist/es/chat/shared/utils/languages.js +0 -156
  226. package/dist/es/chat/shared/utils/memoizerUtils.js +0 -38
  227. package/dist/es/chat/shared/utils/messageServiceUtils.js +0 -36
  228. package/dist/es/chat/shared/utils/resolvablePromise.js +0 -32
  229. package/dist/es/chat/shared/utils/styleUtils.js +0 -231
  230. package/dist/es/chat/shared/utils/timeUtils.js +0 -14
  231. package/dist/es/chat/shared/utils/viewStateUtils.js +0 -38
  232. package/dist/es/chat/web-components/components/chainOfThought/cds-aichat-chain-of-thought.js +0 -26
  233. package/dist/es/chat/web-components/components/chainOfThought/src/ChainOfThoughtElement.js +0 -130
  234. package/dist/es/chat/web-components/components/chainOfThought/src/chainOfThoughtElement.scss.js +0 -3
  235. package/dist/es/chat/web-components/components/chainOfThought/src/chainOfThoughtElement.template.js +0 -186
  236. package/dist/es/chat/web-components/components/chatHeader/chatHeaderAvatar/cds-aichat-chat-header-avatar.js +0 -26
  237. package/dist/es/chat/web-components/components/chatHeader/chatHeaderAvatar/src/chatHeaderAvatar.template.js +0 -32
  238. package/dist/es/chat/web-components/components/chatHeader/chatHeaderAvatar/src/chatHeaderAvatarElement.js +0 -52
  239. package/dist/es/chat/web-components/components/chatHeader/chatHeaderAvatar/src/chatHeaderAvatarElement.scss.js +0 -3
  240. package/dist/es/chat/web-components/components/chatHeader/chatHeaderLink/cds-aichat-chat-header-link.js +0 -44
  241. package/dist/es/chat/web-components/components/chatHeader/chatHeaderLink/src/chatHeaderLinkElement.template.js +0 -28
  242. package/dist/es/chat/web-components/components/chatHeader/chatHeaderTitle/cds-aichat-chat-header-title.js +0 -42
  243. package/dist/es/chat/web-components/components/chatHeader/chatHeaderTitle/src/chatHeaderTitle.scss.js +0 -3
  244. package/dist/es/chat/web-components/components/chatHeader/chatHeaderTitle/src/chatHeaderTitle.template.js +0 -20
  245. package/dist/es/chat/web-components/components/codeElement/cds-aichat-code.js +0 -66
  246. package/dist/es/chat/web-components/components/feedbackButtonsElement/cds-aichat-feedback-buttons.js +0 -26
  247. package/dist/es/chat/web-components/components/feedbackButtonsElement/src/FeedbackButtonsElement.js +0 -93
  248. package/dist/es/chat/web-components/components/feedbackButtonsElement/src/feedbackButtonsElement.scss.js +0 -3
  249. package/dist/es/chat/web-components/components/feedbackButtonsElement/src/feedbackButtonsElement.template.js +0 -84
  250. package/dist/es/chat/web-components/components/feedbackElement/cds-aichat-feedback.js +0 -30
  251. package/dist/es/chat/web-components/components/feedbackElement/src/FeedbackElement.js +0 -157
  252. package/dist/es/chat/web-components/components/feedbackElement/src/feedbackElement.scss.js +0 -3
  253. package/dist/es/chat/web-components/components/feedbackElement/src/feedbackElement.template.js +0 -95
  254. package/dist/es/chat/web-components/components/inlineLoadingElement/cds-aichat-inline-loading.js +0 -85
  255. package/dist/es/chat/web-components/components/inlineLoadingElement/src/styles.scss.js +0 -3
  256. package/dist/es/chat/web-components/components/markdownText/cds-aichat-markdown-text.js +0 -32
  257. package/dist/es/chat/web-components/components/markdownText/markdown/markdownToHTML.js +0 -28
  258. package/dist/es/chat/web-components/components/markdownText/markdown/utils/renderTokenTree.js +0 -191
  259. package/dist/es/chat/web-components/components/markdownText/markdown/workers/workerManager.js +0 -16
  260. package/dist/es/chat/web-components/components/markdownText/src/MarkdownElement.js +0 -70
  261. package/dist/es/chat/web-components/components/markdownText/src/markdownElement.template.js +0 -19
  262. package/dist/es/chat/web-components/components/roundedButton/cds-aichat-rounded-button.js +0 -29
  263. package/dist/es/chat/web-components/components/stopStreamingButton/cds-aichat-stop-streaming-button.js +0 -26
  264. package/dist/es/chat/web-components/components/stopStreamingButton/src/StopStreamingButtonElement.js +0 -49
  265. package/dist/es/chat/web-components/components/stopStreamingButton/src/stopStreamingButton.scss.js +0 -3
  266. package/dist/es/chat/web-components/components/stopStreamingButton/src/stopStreamingButton.template.js +0 -44
  267. package/dist/es/chat/web-components/components/table/cds-aichat-table.js +0 -229
  268. package/dist/es/chat/web-components/components/table/src/table.scss.js +0 -3
  269. package/dist/es/chat/web-components/components/table/src/table.template.js +0 -81
  270. package/dist/es/chat/web-components/components/table/src/tablePagination.template.js +0 -43
  271. package/dist/es/chat/web-components/components/table/src/tableSkeleton.template.js +0 -17
  272. package/dist/es/chat/web-components/components/tagListElement/cds-aichat-tag-list.js +0 -28
  273. package/dist/es/chat/web-components/components/tagListElement/src/TagListElement.js +0 -70
  274. package/dist/es/chat/web-components/components/tagListElement/src/tagListElement.scss.js +0 -3
  275. package/dist/es/chat/web-components/components/tagListElement/src/tagListElement.template.js +0 -40
  276. package/dist/es/chat/web-components/decorators/customElement.js +0 -33
  277. package/dist/es/chat/web-components/internal/cds-aichat-internal.js +0 -78
  278. package/dist/es/chat/web-components/settings.js +0 -13
  279. package/dist/es/node_modules/@carbon/colors/es/index.js +0 -11
  280. package/dist/es/react/ChatContainer.js +0 -162
  281. package/dist/es/react/ChatCustomElement.js +0 -58
  282. package/dist/es/types/config/ChatHeaderConfig.js +0 -18
  283. package/dist/es/types/config/CornersType.js +0 -16
  284. package/dist/es/types/config/LauncherConfig.js +0 -19
  285. package/dist/es/types/config/PublicConfig.js +0 -36
  286. package/dist/es/types/instance/ChatInstance.js +0 -31
  287. package/dist/es/types/instance/apiTypes.js +0 -33
  288. package/dist/es/types/messaging/LocalMessageItem.js +0 -18
  289. package/dist/es/types/state/AppState.js +0 -18
  290. package/dist/es/types/utilities/Animation.js +0 -31
  291. package/dist/es/types/utilities/HasAddRemoveClassName.js +0 -27
  292. /package/dist/es/{chat/shared/styles/export.carbon.scss.js → chat.export.carbon.js} +0 -0
  293. /package/dist/es/{chat/shared/styles/export.scss.js → chat.export.js} +0 -0
  294. /package/dist/es/{chat/web-components/components/markdownText/markdown/utils/markdown.js → chat.markdown.js} +0 -0
  295. /package/dist/es/{chat/web-components/components/markdownText/markdown/utils/tokenTree.js → chat.tokenTree.js} +0 -0
@@ -1,460 +0,0 @@
1
- import "@carbon/web-components/es-custom/components/slug/index.js";
2
-
3
- import Close from "@carbon/icons-react/es/Close.js";
4
-
5
- import CloseLarge from "@carbon/icons-react/es/CloseLarge.js";
6
-
7
- import DownToBottom from "@carbon/icons-react/es/DownToBottom.js";
8
-
9
- import Menu from "@carbon/icons-react/es/Menu.js";
10
-
11
- import Restart from "@carbon/icons-react/es/Restart.js";
12
-
13
- import SidePanelClose from "@carbon/icons-react/es/SidePanelClose.js";
14
-
15
- import SubtractLarge from "@carbon/icons-react/es/SubtractLarge.js";
16
-
17
- import { MenuItem, Button, MenuItemDivider } from "@carbon/react";
18
-
19
- import { AI_LABEL_SIZE } from "@carbon/web-components/es-custom/components/ai-label/defs.js";
20
-
21
- import { POPOVER_ALIGNMENT } from "@carbon/web-components/es-custom/components/popover/defs.js";
22
-
23
- import cx from "classnames";
24
-
25
- import React, { forwardRef, useRef, useState, useContext, useCallback, useImperativeHandle, useEffect, Fragment } from "react";
26
-
27
- import { useSelector } from "react-redux";
28
-
29
- import { ChatHeaderObjectType } from "../../../../types/config/ChatHeaderConfig.js";
30
-
31
- import { ChatHeaderAvatar } from "../../../react/components/chatHeader/ChatHeaderAvatar.js";
32
-
33
- import { ChatHeaderLink } from "../../../react/components/chatHeader/ChatHeaderLink.js";
34
-
35
- import { ChatHeaderMenuButton } from "../../../react/components/chatHeader/ChatHeaderMenuButton.js";
36
-
37
- import { ChatHeaderMenuItem } from "../../../react/components/chatHeader/ChatHeaderMenuItem.js";
38
-
39
- import { ChatHeaderMenuItemRadioGroup } from "../../../react/components/chatHeader/ChatHeaderMenuItemRadioGroup.js";
40
-
41
- import { ChatHeaderOverflowMenu } from "../../../react/components/chatHeader/ChatHeaderOverflowMenu.js";
42
-
43
- import { ChatHeaderTitle } from "../../../react/components/chatHeader/ChatHeaderTitle.js";
44
-
45
- import { HideComponentContext } from "../../contexts/HideComponentContext.js";
46
-
47
- import { useLanguagePack } from "../../hooks/useLanguagePack.js";
48
-
49
- import { usePrevious } from "../../hooks/usePrevious.js";
50
-
51
- import { useServiceManager } from "../../hooks/useServiceManager.js";
52
-
53
- import actions from "../../store/actions.js";
54
-
55
- import { ChatWidthBreakpoint } from "../../../../types/state/AppState.js";
56
-
57
- import "../../utils/constants.js";
58
-
59
- import { doFocusRef } from "../../utils/domUtils.js";
60
-
61
- import { ConfirmModal } from "../modals/ConfirmModal.js";
62
-
63
- import WriteableElement from "../WriteableElement.js";
64
-
65
- import { AISlug } from "./AISlug.js";
66
-
67
- import { ButtonSizeEnum, ButtonKindEnum } from "../../../../types/utilities/carbonTypes.js";
68
-
69
- import { MinimizeButtonIconType } from "../../../../types/config/PublicConfig.js";
70
-
71
- import { makeTestId, PageObjectId } from "../../utils/PageObjectId.js";
72
-
73
- import { WriteableElementName } from "../../../../types/instance/ChatInstance.js";
74
-
75
- /*
76
- * Copyright IBM Corp. 2025
77
- *
78
- * This source code is licensed under the Apache-2.0 license found in the
79
- * LICENSE file in the root directory of this source tree.
80
- *
81
- * @license
82
- */
83
- const HEADER_OBJECTS_GAP_MIN_SIZE = 100;
84
-
85
- function Header(props, ref) {
86
- const {displayName: displayName, backContent: backContent, showRestartButton: showRestartButton, showBackButton: showBackButton, useAITheme: useAITheme, labelBackButton: labelBackButton, onClickClose: onClickClose, onClickRestart: onClickRestart, onCloseAndRestart: onCloseAndRestart, onClickBack: onClickBack, overflowItems: overflowItems, overflowClicked: overflowClicked, backButtonType: backButtonType, showCenter: showCenter, hideCloseButton: hideCloseButton, hideCloseAndRestartButton: hideCloseAndRestartButton, brandColor: brandColor = "primary", enableChatHeaderConfig: enableChatHeaderConfig, headerAvatarConfig: headerAvatarConfig, testIdPrefix: testIdPrefix} = props;
87
- const backButtonRef = useRef();
88
- const restartButtonRef = useRef();
89
- const closeAndRestartButtonRef = useRef();
90
- const closeButtonRef = useRef();
91
- const centerObjectsRef = useRef();
92
- const centerGapRef = useRef();
93
- const overflowRef = useRef();
94
- const serviceManager = useServiceManager();
95
- const languagePack = useLanguagePack();
96
- const publicConfig = useSelector(state => state.config.public);
97
- const chatHeaderConfig = useSelector(state => state.chatHeaderState.config);
98
- const chatWidthBreakpoint = useSelector(state => state.chatWidthBreakpoint);
99
- const maxVisibleHeaderObjects = useSelector(state => state.chatHeaderState.maxVisibleHeaderObjects);
100
- const [overflowIsOpen, setOverflowIsOpen] = useState(false);
101
- const [confirmModelOpen, setConfirmModelOpen] = useState(false);
102
- const [selectedGroupMenuitems, setSelectedGroupMenuItems] = useState({});
103
- const [isImageError, setIsImageError] = useState(false);
104
- const hasHeaderAvatar = Boolean(headerAvatarConfig) && !isImageError;
105
- const isHidden = useContext(HideComponentContext);
106
- const prevChatHeaderAvatarURL = usePrevious(headerAvatarConfig?.url);
107
- const {headerConfig: headerConfig} = publicConfig;
108
- const isWideWidth = chatWidthBreakpoint === ChatWidthBreakpoint.WIDE;
109
- const chatHeaderTitle = enableChatHeaderConfig ? chatHeaderConfig?.headerTitle?.title : undefined;
110
- const chatHeaderName = enableChatHeaderConfig ? chatHeaderConfig?.headerTitle?.name : undefined;
111
- const chatHeaderDisplayName = chatHeaderName || displayName;
112
- const closeConfirmModel = useCallback(() => {
113
- setConfirmModelOpen(false);
114
- }, []);
115
- const showCloseAndRestartButton = headerConfig?.showCloseAndRestartButton && !hideCloseAndRestartButton && onCloseAndRestart;
116
- const useHideCloseButton = headerConfig?.hideMinimizeButton || hideCloseButton;
117
- let closeIcon;
118
- let closeReverseIcon = false;
119
- let closeIsReversible = true;
120
- const minimizeButtonIconType = headerConfig?.minimizeButtonIconType;
121
- switch (minimizeButtonIconType) {
122
- case MinimizeButtonIconType.CLOSE:
123
- closeIcon = React.createElement(CloseLarge, {
124
- className: "WACIcon__Close",
125
- size: 16
126
- });
127
- break;
128
-
129
- case MinimizeButtonIconType.MINIMIZE:
130
- closeIcon = React.createElement(SubtractLarge, {
131
- className: "WACIcon__Subtract",
132
- size: 16
133
- });
134
- break;
135
-
136
- case MinimizeButtonIconType.SIDE_PANEL_LEFT:
137
- closeIsReversible = false;
138
- closeIcon = React.createElement(SidePanelClose, {
139
- className: "WACIcon__SidePanelClose"
140
- });
141
- break;
142
-
143
- case MinimizeButtonIconType.SIDE_PANEL_RIGHT:
144
- closeIsReversible = false;
145
- closeReverseIcon = true;
146
- closeIcon = React.createElement(SidePanelClose, {
147
- className: "WACIcon__SidePanelClose"
148
- });
149
- break;
150
-
151
- default:
152
- {
153
- closeIcon = React.createElement(SubtractLarge, {
154
- className: "WACIcon__Subtract",
155
- size: 16
156
- });
157
- break;
158
- }
159
- }
160
- if (showCloseAndRestartButton && showRestartButton) {
161
- throw new Error("You cannot enable both the restart button and the close-and-restart buttons.");
162
- }
163
- const onConfirm = useCallback(() => {
164
- setConfirmModelOpen(false);
165
- onCloseAndRestart();
166
- }, [ onCloseAndRestart ]);
167
- useImperativeHandle(ref, () => ({
168
- requestFocus: () => {
169
- if (closeButtonRef.current) {
170
- doFocusRef(closeButtonRef, false, true);
171
- return true;
172
- }
173
- if (backButtonRef.current) {
174
- doFocusRef(backButtonRef, false, true);
175
- return true;
176
- }
177
- if (restartButtonRef.current) {
178
- doFocusRef(restartButtonRef, false, true);
179
- return true;
180
- }
181
- return false;
182
- }
183
- }));
184
- function getComponentInMenu(item, index, list) {
185
- switch (item.type) {
186
- case ChatHeaderObjectType.LINK:
187
- return React.createElement(ChatHeaderMenuItem, {
188
- key: index,
189
- label: item.label,
190
- url: item.url,
191
- isNewTab: item.isNewTab,
192
- onClick: () => {
193
- doFocusRef(overflowRef);
194
- }
195
- });
196
-
197
- case ChatHeaderObjectType.BUTTON:
198
- return React.createElement(ChatHeaderMenuItem, {
199
- key: index,
200
- label: item.label,
201
- onClick: () => {
202
- item.onClick?.();
203
- doFocusRef(overflowRef);
204
- }
205
- });
206
-
207
- case ChatHeaderObjectType.RADIO_GROUP:
208
- {
209
- const nextObject = list[index + 1];
210
- return React.createElement(Fragment, {
211
- key: index
212
- }, index !== 0 && React.createElement(MenuItemDivider, null), React.createElement(ChatHeaderMenuItemRadioGroup, {
213
- label: item.label,
214
- items: item.items,
215
- defaultSelectedItem: item.defaultSelectedItem,
216
- selectedItem: selectedGroupMenuitems[item.label],
217
- onChange: selectedItem => {
218
- setSelectedGroupMenuItems(prevState => ({
219
- ...prevState,
220
- [item.label]: selectedItem
221
- }));
222
- item.onChange?.(selectedItem);
223
- }
224
- }), Boolean(nextObject) && nextObject.type !== ChatHeaderObjectType.RADIO_GROUP && React.createElement(MenuItemDivider, null));
225
- }
226
-
227
- case ChatHeaderObjectType.MENU:
228
- return React.createElement(ChatHeaderMenuItem, {
229
- key: index,
230
- label: item.label
231
- }, item.items.filter(menuItem => menuItem.type !== ChatHeaderObjectType.MENU).map(getComponentInMenu));
232
-
233
- default:
234
- return null;
235
- }
236
- }
237
- function getComponentInChatHeader(headerObject, index) {
238
- switch (headerObject.type) {
239
- case ChatHeaderObjectType.LINK:
240
- return React.createElement(ChatHeaderLink, {
241
- key: index,
242
- label: headerObject.label,
243
- url: headerObject.url,
244
- isNewTab: headerObject.isNewTab
245
- });
246
-
247
- case ChatHeaderObjectType.MENU:
248
- return React.createElement(ChatHeaderMenuButton, {
249
- key: index,
250
- label: headerObject.label,
251
- menuAlignment: "bottom-start"
252
- }, headerObject.items.map(getComponentInMenu));
253
-
254
- case ChatHeaderObjectType.BUTTON:
255
- return React.createElement(Button, {
256
- key: index,
257
- kind: ButtonKindEnum.GHOST,
258
- size: ButtonSizeEnum.MEDIUM,
259
- onClick: headerObject.onClick
260
- }, headerObject.label);
261
-
262
- default:
263
- return null;
264
- }
265
- }
266
- let leftObjectsLength = 0;
267
- let rightObjectsLength = 0;
268
- if (enableChatHeaderConfig) {
269
- leftObjectsLength = chatHeaderConfig?.left?.length ?? 0;
270
- rightObjectsLength = chatHeaderConfig?.right?.length ?? 0;
271
- }
272
- const isLeftObjectsInOverflow = leftObjectsLength > maxVisibleHeaderObjects;
273
- const isRightObjectsInOverflow = rightObjectsLength > maxVisibleHeaderObjects;
274
- const hasChatHeaderObjects = leftObjectsLength || rightObjectsLength;
275
- const renderChatHeaderObjectsInOverflow = hasChatHeaderObjects && (!isWideWidth || isLeftObjectsInOverflow || isRightObjectsInOverflow);
276
- const hasOverflow = Boolean(overflowItems?.length) || renderChatHeaderObjectsInOverflow;
277
- const isRTL = document.dir === "rtl";
278
- let leftChatHeaderComponents = null;
279
- let rightChatHeaderComponents = null;
280
- let leftChatHeaderMenuComponents = null;
281
- let rightChatHeaderMenuComponents = null;
282
- if (enableChatHeaderConfig) {
283
- leftChatHeaderComponents = chatHeaderConfig?.left?.slice(0, isLeftObjectsInOverflow ? maxVisibleHeaderObjects : undefined).map(getComponentInChatHeader);
284
- rightChatHeaderComponents = chatHeaderConfig?.right?.slice(0, isRightObjectsInOverflow ? maxVisibleHeaderObjects : undefined).map(getComponentInChatHeader);
285
- leftChatHeaderMenuComponents = isLeftObjectsInOverflow && chatHeaderConfig?.left?.slice(maxVisibleHeaderObjects).map(getComponentInMenu);
286
- rightChatHeaderMenuComponents = isRightObjectsInOverflow && chatHeaderConfig?.right?.slice(maxVisibleHeaderObjects).map(getComponentInMenu);
287
- }
288
- let leftContent;
289
- if (hasOverflow) {
290
- leftContent = React.createElement(ChatHeaderOverflowMenu, {
291
- className: "WACHeader__OverflowMenu",
292
- renderIcon: overflowIsOpen ? Close : Menu,
293
- iconDescription: languagePack.header_overflowMenu_options,
294
- ariaLabel: languagePack.components_overflow_ariaLabel,
295
- containerRef: overflowRef,
296
- tooltipPosition: isRTL ? "left" : "right",
297
- menuAlignment: "bottom-start",
298
- onOpen: () => {
299
- setTimeout(() => {
300
- setOverflowIsOpen(true);
301
- });
302
- },
303
- onClose: () => {
304
- setOverflowIsOpen(false);
305
- }
306
- }, overflowItems?.map((item, index) => React.createElement(MenuItem, {
307
- key: item,
308
- label: item,
309
- onClick: () => {
310
- doFocusRef(overflowRef);
311
- overflowClicked(index);
312
- }
313
- })), leftChatHeaderMenuComponents, rightChatHeaderMenuComponents);
314
- } else if (showBackButton) {
315
- leftContent = React.createElement(HeaderButton, {
316
- className: "WACHeader__BackButton",
317
- label: labelBackButton,
318
- onClick: onClickBack,
319
- buttonRef: backButtonRef,
320
- buttonKind: backButtonType,
321
- tooltipPosition: isRTL ? "left" : "right"
322
- }, backContent || React.createElement(DownToBottom, null));
323
- }
324
- useEffect(() => {
325
- if (!isWideWidth) {
326
- serviceManager.store.dispatch(actions.setMaxVisibleHeaderObjects(0));
327
- return undefined;
328
- }
329
- if (!enableChatHeaderConfig) {
330
- return undefined;
331
- }
332
- const centerResizeObserver = new ResizeObserver(() => {
333
- const centerGapElement = centerGapRef.current;
334
- if (centerGapElement) {
335
- if (centerGapElement.offsetWidth > HEADER_OBJECTS_GAP_MIN_SIZE || centerGapElement.offsetWidth === 0) {
336
- let newTotal = Math.floor((centerObjectsRef.current.offsetWidth - HEADER_OBJECTS_GAP_MIN_SIZE) / (HEADER_OBJECTS_GAP_MIN_SIZE * 2));
337
- if (newTotal < 0) {
338
- newTotal = 0;
339
- }
340
- setTimeout(() => {
341
- serviceManager.store.dispatch(actions.setMaxVisibleHeaderObjects(newTotal));
342
- });
343
- }
344
- }
345
- });
346
- centerResizeObserver.observe(centerObjectsRef.current);
347
- return () => {
348
- centerResizeObserver.disconnect();
349
- };
350
- }, [ isWideWidth, enableChatHeaderConfig, serviceManager ]);
351
- useEffect(() => {
352
- if (isImageError && prevChatHeaderAvatarURL !== headerAvatarConfig?.url) {
353
- setIsImageError(false);
354
- }
355
- }, [ prevChatHeaderAvatarURL, headerAvatarConfig?.url, isImageError ]);
356
- return React.createElement("div", {
357
- className: cx("WACHeader", `WAC--${brandColor}Color`, {
358
- "WACHeader--withAvatar": hasHeaderAvatar
359
- })
360
- }, React.createElement("div", {
361
- className: cx("WACHeader--content", `WAC--${brandColor}Color`),
362
- "data-floating-menu-container": true
363
- }, leftContent && React.createElement("div", {
364
- className: "WACHeader__Buttons WACHeader__LeftButtons"
365
- }, leftContent), showCenter && React.createElement("div", {
366
- className: "WACHeader__CenterContainer"
367
- }, hasHeaderAvatar && React.createElement(ChatHeaderAvatar, {
368
- url: headerAvatarConfig.url,
369
- corners: headerAvatarConfig.corners,
370
- alt: languagePack.header_ariaBotAvatar,
371
- onError: () => setIsImageError(true)
372
- }), (chatHeaderTitle || chatHeaderDisplayName) && React.createElement("div", {
373
- className: "WACHeader__TitleContainer"
374
- }, React.createElement(ChatHeaderTitle, {
375
- title: chatHeaderTitle,
376
- name: chatHeaderDisplayName
377
- })), isWideWidth && Boolean(leftObjectsLength) && React.createElement("div", {
378
- className: "WACHeader__Separator"
379
- }), React.createElement("div", {
380
- ref: centerObjectsRef,
381
- className: "WACHeader__HeaderObjects"
382
- }, isWideWidth && Boolean(leftObjectsLength) && React.createElement("div", {
383
- className: "WACHeader__LeftItems"
384
- }, leftChatHeaderComponents), React.createElement("div", {
385
- ref: centerGapRef,
386
- className: "WACHeader__CenterGap"
387
- }), isWideWidth && Boolean(rightObjectsLength) && React.createElement("div", {
388
- className: "WACHeader__RightItems"
389
- }, rightChatHeaderComponents))), React.createElement("div", {
390
- className: "WACHeader__Buttons WACHeader__RightButtons"
391
- }, useAITheme && React.createElement(AISlug, {
392
- className: "WACHeader__Slug",
393
- size: AI_LABEL_SIZE.EXTRA_SMALL,
394
- alignment: isRTL ? POPOVER_ALIGNMENT.BOTTOM_LEFT : POPOVER_ALIGNMENT.BOTTOM_RIGHT
395
- }, React.createElement("div", {
396
- slot: "body-text"
397
- }, React.createElement("h4", {
398
- className: "WACHeader__Slug-title"
399
- }, languagePack.ai_slug_title), React.createElement("div", {
400
- className: "WACHeader__Slug-description"
401
- }, React.createElement("div", null, languagePack.ai_slug_description), !isHidden && React.createElement(WriteableElement, {
402
- slotName: WriteableElementName.AI_TOOLTIP_AFTER_DESCRIPTION_ELEMENT,
403
- id: `aiTooltipAfterDescription${serviceManager.namespace.suffix}`
404
- })))), showRestartButton && React.createElement(HeaderButton, {
405
- className: "WACHeader__RestartButton",
406
- label: languagePack.buttons_restart,
407
- onClick: onClickRestart,
408
- buttonRef: restartButtonRef,
409
- tooltipPosition: isRTL ? "right" : "left"
410
- }, React.createElement(Restart, null)), !useHideCloseButton && React.createElement(HeaderButton, {
411
- className: cx("WACHeader__CloseButton", {
412
- WACReverseIcon: closeReverseIcon
413
- }),
414
- isReversible: closeIsReversible,
415
- label: languagePack.launcher_isOpen,
416
- onClick: async () => {
417
- onClickClose();
418
- },
419
- buttonRef: closeButtonRef,
420
- tooltipPosition: isRTL ? "right" : "left",
421
- testId: makeTestId(PageObjectId.CLOSE_CHAT, testIdPrefix)
422
- }, closeIcon), showCloseAndRestartButton && React.createElement(HeaderButton, {
423
- className: "WACHeader__CloseAndRestartButton",
424
- label: languagePack.header_ariaCloseRestart,
425
- onClick: () => setConfirmModelOpen(true),
426
- buttonRef: closeAndRestartButtonRef,
427
- tooltipPosition: isRTL ? "right" : "left"
428
- }, React.createElement(CloseLarge, {
429
- className: "WACIcon__Close"
430
- }))), confirmModelOpen && React.createElement(ConfirmModal, {
431
- title: languagePack.closeAndRestartModal_title,
432
- message: languagePack.closeAndRestartModal_message,
433
- onConfirm: onConfirm,
434
- onCancel: closeConfirmModel,
435
- cancelButtonLabel: languagePack.closeAndRestartModal_cancel,
436
- confirmButtonLabel: languagePack.closeAndRestartModal_confirm,
437
- modalAnnounceMessage: languagePack.closeAndRestartModal_message,
438
- serviceManager: serviceManager
439
- })));
440
- }
441
-
442
- function HeaderButton({onClick: onClick, buttonRef: buttonRef, label: label, className: className, children: children, buttonKind: buttonKind, isReversible: isReversible = true, tooltipPosition: tooltipPosition, testId: testId}) {
443
- return React.createElement(Button, {
444
- ref: buttonRef,
445
- className: cx(className, {
446
- WACDirectionHasReversibleSVG: isReversible
447
- }),
448
- onClick: onClick,
449
- hasIconOnly: true,
450
- iconDescription: label,
451
- size: ButtonSizeEnum.MEDIUM,
452
- kind: buttonKind || ButtonKindEnum.GHOST,
453
- tooltipPosition: tooltipPosition,
454
- "data-testid": testId
455
- }, children);
456
- }
457
-
458
- const HeaderExport = React.memo(forwardRef(Header));
459
-
460
- export { HeaderExport as Header };
@@ -1,27 +0,0 @@
1
- import React, { forwardRef, useRef, useImperativeHandle } from "react";
2
-
3
- import { Header as HeaderExport } from "./Header.js";
4
-
5
- /*
6
- * Copyright IBM Corp. 2025
7
- *
8
- * This source code is licensed under the Apache-2.0 license found in the
9
- * LICENSE file in the root directory of this source tree.
10
- *
11
- * @license
12
- */ function SimpleHeader(props, ref) {
13
- const {useAITheme: useAITheme, onClose: onClose, testIdPrefix: testIdPrefix} = props;
14
- const headerRef = useRef();
15
- useImperativeHandle(ref, () => headerRef.current);
16
- return React.createElement(HeaderExport, {
17
- ref: headerRef,
18
- onClickClose: onClose,
19
- showCenter: true,
20
- useAITheme: useAITheme,
21
- testIdPrefix: testIdPrefix
22
- });
23
- }
24
-
25
- const SimpleHeaderExport = React.memo(forwardRef(SimpleHeader));
26
-
27
- export { SimpleHeaderExport as SimpleHeader };
@@ -1,68 +0,0 @@
1
- import React, { useCallback } from "react";
2
-
3
- import { useSelector } from "react-redux";
4
-
5
- import { usePrevious } from "../../hooks/usePrevious.js";
6
-
7
- import { useServiceManager } from "../../hooks/useServiceManager.js";
8
-
9
- import { AnimationOutType, AnimationInType } from "../../../../types/utilities/Animation.js";
10
-
11
- import { OverlayPanel, OverlayPanelName } from "../OverlayPanel.js";
12
-
13
- import { HomeScreen as HomeScreenExport } from "./HomeScreen.js";
14
-
15
- import { THREAD_ID_MAIN } from "../../utils/messageUtils.js";
16
-
17
- /*
18
- * Copyright IBM Corp. 2025
19
- *
20
- * This source code is licensed under the Apache-2.0 license found in the
21
- * LICENSE file in the root directory of this source tree.
22
- *
23
- * @license
24
- */ function HomeScreenContainer({onClose: onClose, onCloseAndRestart: onCloseAndRestart, onPanelCloseStart: onPanelCloseStart, onPanelOpenStart: onPanelOpenStart, onPanelCloseEnd: onPanelCloseEnd, onPanelOpenEnd: onPanelOpenEnd, onSendBotInput: onSendBotInput, onSendButtonInput: onSendButtonInput, onRestart: onRestart, showHomeScreen: showHomeScreen, isHydrationAnimationComplete: isHydrationAnimationComplete, homeScreenInputRef: homeScreenInputRef, onToggleHomeScreen: onToggleHomeScreen}) {
25
- const serviceManager = useServiceManager();
26
- const homeScreenConfig = useSelector(state => state.homeScreenConfig);
27
- const isCustomPanelOpen = useSelector(state => state.customPanelState.isOpen);
28
- const prevIsHydrationAnimationComplete = usePrevious(isHydrationAnimationComplete);
29
- const shouldHide = isCustomPanelOpen;
30
- const subsequentRender = showHomeScreen && isHydrationAnimationComplete && prevIsHydrationAnimationComplete;
31
- const handleSendInput = useCallback(text => {
32
- onSendBotInput(text);
33
- }, [ onSendBotInput ]);
34
- const handlerStarterClick = useCallback(starter => {
35
- onSendButtonInput({
36
- label: starter.label,
37
- value: {
38
- input: {
39
- text: starter.label
40
- }
41
- }
42
- }, THREAD_ID_MAIN);
43
- }, [ onSendButtonInput ]);
44
- return React.createElement(OverlayPanel, {
45
- onOpenStart: onPanelOpenStart,
46
- onOpenEnd: onPanelOpenEnd,
47
- onCloseStart: onPanelCloseStart,
48
- onCloseEnd: onPanelCloseEnd,
49
- animationOnOpen: subsequentRender ? AnimationInType.FADE_IN : AnimationInType.NONE,
50
- animationOnClose: AnimationOutType.FADE_OUT,
51
- shouldOpen: showHomeScreen,
52
- shouldHide: shouldHide,
53
- serviceManager: serviceManager,
54
- overlayPanelName: OverlayPanelName.HOME_SCREEN
55
- }, React.createElement(HomeScreenExport, {
56
- isHydrated: isHydrationAnimationComplete,
57
- homeScreenMessageInputRef: homeScreenInputRef,
58
- homeScreenConfig: homeScreenConfig,
59
- onSendInput: handleSendInput,
60
- onStarterClick: handlerStarterClick,
61
- onClose: onClose,
62
- onCloseAndRestart: onCloseAndRestart,
63
- onRestart: onRestart,
64
- onToggleHomeScreen: onToggleHomeScreen
65
- }));
66
- }
67
-
68
- export { HomeScreenContainer };
@@ -1,88 +0,0 @@
1
- import AiLaunch from "@carbon/icons-react/es/AiLaunch.js";
2
-
3
- import ArrowUpLeft from "@carbon/icons-react/es/ArrowUpLeft.js";
4
-
5
- import ChatLaunch from "@carbon/icons-react/es/ChatLaunch.js";
6
-
7
- import { Button } from "@carbon/react";
8
-
9
- import cx from "classnames";
10
-
11
- import React, { forwardRef, useImperativeHandle } from "react";
12
-
13
- import { useSelector } from "react-redux";
14
-
15
- import { doFocusRef } from "../../utils/domUtils.js";
16
-
17
- import { getLauncherButtonAriaLabel } from "./launcherUtils.js";
18
-
19
- import { ButtonKindEnum } from "../../../../types/utilities/carbonTypes.js";
20
-
21
- import { PageObjectId } from "../../utils/PageObjectId.js";
22
-
23
- /*
24
- * Copyright IBM Corp. 2025
25
- *
26
- * This source code is licensed under the Apache-2.0 license found in the
27
- * LICENSE file in the root directory of this source tree.
28
- *
29
- * @license
30
- */ function Launcher(props, ref) {
31
- const {onToggleOpen: onToggleOpen, languagePack: languagePack, unreadAgentCount: unreadAgentCount, intl: intl, showUnreadIndicator: showUnreadIndicator, className: className, tabIndex: tabIndex, launcherHidden: launcherHidden, activeTour: activeTour} = props;
32
- const launcherAvatarURL = useSelector(state => state.theme.useAITheme ? undefined : state.launcher.config.desktop.avatar_url_override);
33
- const useAITheme = useSelector(state => state.theme.useAITheme);
34
- const buttonRef = React.createRef();
35
- useImperativeHandle(ref, () => ({
36
- requestFocus: () => {
37
- doFocusRef(buttonRef);
38
- }
39
- }));
40
- let ariaLabel = getLauncherButtonAriaLabel(languagePack, launcherHidden, activeTour);
41
- if (unreadAgentCount !== 0) {
42
- ariaLabel += `. ${intl.formatMessage({
43
- id: "icon_ariaUnreadMessages"
44
- }, {
45
- count: unreadAgentCount
46
- })}`;
47
- }
48
- let launcherAvatar = useAITheme ? React.createElement(AiLaunch, {
49
- size: 24,
50
- className: "WACLauncher_svg"
51
- }) : React.createElement(ChatLaunch, {
52
- size: 24,
53
- className: "WACLauncher__svg"
54
- });
55
- if (launcherAvatarURL) {
56
- launcherAvatar = React.createElement("img", {
57
- className: "WACLauncher__Avatar",
58
- src: launcherAvatarURL,
59
- alt: "",
60
- "aria-hidden": true
61
- });
62
- }
63
- return React.createElement("div", {
64
- className: cx("WACLauncher__ButtonContainer", "WACLauncher__ButtonContainer--round", className, {
65
- "WACLauncher__ButtonContainer--hidden": launcherHidden
66
- })
67
- }, React.createElement(Button, {
68
- "aria-label": ariaLabel,
69
- className: cx("WACLauncher__Button", {
70
- WACLauncher__TourButton: activeTour
71
- }),
72
- "data-testid": PageObjectId.LAUNCHER,
73
- kind: ButtonKindEnum.PRIMARY,
74
- type: "button",
75
- onClick: onToggleOpen,
76
- ref: buttonRef,
77
- tabIndex: tabIndex
78
- }, activeTour ? React.createElement(ArrowUpLeft, {
79
- size: 24,
80
- className: "WACLauncher__svg"
81
- }) : launcherAvatar, (unreadAgentCount !== 0 || showUnreadIndicator) && React.createElement("div", {
82
- className: "WAC__countIndicator"
83
- }, unreadAgentCount !== 0 ? unreadAgentCount : "")));
84
- }
85
-
86
- const LauncherExport = forwardRef(Launcher);
87
-
88
- export { LauncherExport as Launcher };