@patternfly/chatbot 2.2.0-prerelease.4 → 2.2.0-prerelease.41

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 (545) hide show
  1. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -0
  2. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +52 -0
  3. package/dist/cjs/Chatbot/Chatbot.d.ts +2 -1
  4. package/dist/cjs/Chatbot/Chatbot.js +1 -0
  5. package/dist/cjs/Chatbot/Chatbot.test.d.ts +1 -0
  6. package/dist/cjs/Chatbot/Chatbot.test.js +28 -0
  7. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +1 -0
  8. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +27 -0
  9. package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +1 -0
  10. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +18 -0
  11. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +3 -3
  12. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
  13. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +27 -4
  14. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +24 -12
  15. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +99 -3
  16. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +11 -0
  17. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +29 -0
  18. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +4 -0
  19. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +45 -0
  20. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -0
  21. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +18 -0
  22. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +1 -0
  23. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +87 -0
  24. package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +1 -1
  25. package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +1 -1
  26. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +1 -0
  27. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +18 -0
  28. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +1 -0
  29. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +18 -0
  30. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +17 -0
  31. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +16 -0
  32. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -0
  33. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +20 -0
  34. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +1 -0
  35. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +18 -0
  36. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -0
  37. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +4 -2
  38. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -0
  39. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +20 -0
  40. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -1
  41. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -0
  42. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +43 -0
  43. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +6 -4
  44. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -0
  45. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +41 -0
  46. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +3 -1
  47. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +4 -2
  48. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +1 -0
  49. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +55 -0
  50. package/dist/cjs/ChatbotHeader/index.d.ts +1 -0
  51. package/dist/cjs/ChatbotHeader/index.js +1 -0
  52. package/dist/cjs/ChatbotToggle/ChatbotToggle.js +3 -1
  53. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +19 -11
  54. package/dist/cjs/CodeModal/CodeModal.js +2 -12
  55. package/dist/cjs/Compare/Compare.d.ts +17 -0
  56. package/dist/cjs/Compare/Compare.js +50 -0
  57. package/dist/cjs/Compare/Compare.test.d.ts +1 -0
  58. package/dist/cjs/Compare/Compare.test.js +20 -0
  59. package/dist/cjs/Compare/index.d.ts +2 -0
  60. package/dist/cjs/Compare/index.js +23 -0
  61. package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +4 -0
  62. package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +26 -0
  63. package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +4 -0
  64. package/dist/cjs/Message/ImageMessage/ImageMessage.js +25 -0
  65. package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +4 -0
  66. package/dist/cjs/Message/LinkMessage/LinkMessage.js +30 -0
  67. package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -1
  68. package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -2
  69. package/dist/cjs/Message/Message.d.ts +51 -8
  70. package/dist/cjs/Message/Message.js +70 -18
  71. package/dist/cjs/Message/Message.test.js +296 -3
  72. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +17 -0
  73. package/dist/cjs/Message/QuickResponse/QuickResponse.js +34 -0
  74. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +13 -0
  75. package/dist/cjs/Message/QuickStarts/FallbackImg.js +34 -0
  76. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +27 -0
  77. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +82 -0
  78. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +23 -0
  79. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +64 -0
  80. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +1 -0
  81. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +76 -0
  82. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +11 -0
  83. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +30 -0
  84. package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.d.ts +30 -0
  85. package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.js +77 -0
  86. package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart.d.ts +30 -0
  87. package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart.js +77 -0
  88. package/dist/cjs/Message/QuickStarts/types.d.ts +132 -0
  89. package/dist/cjs/Message/QuickStarts/types.js +17 -0
  90. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +20 -0
  91. package/dist/cjs/Message/TableMessage/TableMessage.js +67 -0
  92. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +7 -0
  93. package/dist/cjs/Message/TableMessage/TbodyMessage.js +33 -0
  94. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +5 -0
  95. package/dist/cjs/Message/TableMessage/TdMessage.js +26 -0
  96. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +5 -0
  97. package/dist/cjs/Message/TableMessage/ThMessage.js +26 -0
  98. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +5 -0
  99. package/dist/cjs/Message/TableMessage/TheadMessage.js +26 -0
  100. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +7 -0
  101. package/dist/cjs/Message/TableMessage/TrMessage.js +37 -0
  102. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +2 -1
  103. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -2
  104. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +10 -0
  105. package/dist/cjs/Message/UserFeedback/CloseButton.js +14 -0
  106. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +39 -0
  107. package/dist/cjs/Message/UserFeedback/UserFeedback.js +54 -0
  108. package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +1 -0
  109. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +133 -0
  110. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +42 -0
  111. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +117 -0
  112. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +1 -0
  113. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +249 -0
  114. package/dist/cjs/MessageBar/AttachButton.js +4 -2
  115. package/dist/cjs/MessageBar/MessageBar.d.ts +11 -4
  116. package/dist/cjs/MessageBar/MessageBar.js +127 -46
  117. package/dist/cjs/MessageBar/MessageBar.test.js +12 -4
  118. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +1 -1
  119. package/dist/cjs/MessageBar/SendButton.js +3 -1
  120. package/dist/cjs/MessageBar/StopButton.js +3 -1
  121. package/dist/cjs/MessageBox/MessageBox.test.d.ts +1 -0
  122. package/dist/cjs/MessageBox/MessageBox.test.js +22 -0
  123. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -0
  124. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +28 -0
  125. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +10 -1
  126. package/dist/cjs/ResponseActions/ResponseActionButton.js +28 -5
  127. package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +1 -0
  128. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +54 -0
  129. package/dist/cjs/ResponseActions/ResponseActions.d.ts +12 -2
  130. package/dist/cjs/ResponseActions/ResponseActions.js +26 -9
  131. package/dist/cjs/ResponseActions/ResponseActions.test.js +79 -5
  132. package/dist/cjs/Settings/SettingsForm.d.ts +13 -0
  133. package/dist/cjs/Settings/SettingsForm.js +27 -0
  134. package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -0
  135. package/dist/cjs/Settings/SettingsForm.test.js +26 -0
  136. package/dist/cjs/Settings/index.d.ts +2 -0
  137. package/dist/cjs/Settings/index.js +23 -0
  138. package/dist/cjs/SourcesCard/SourcesCard.d.ts +1 -0
  139. package/dist/cjs/SourcesCard/SourcesCard.js +2 -1
  140. package/dist/cjs/SourcesCard/SourcesCard.test.js +0 -4
  141. package/dist/cjs/__mocks__/rehype-external-links.d.ts +2 -0
  142. package/dist/cjs/__mocks__/rehype-external-links.js +4 -0
  143. package/dist/cjs/__mocks__/rehype-sanitize.d.ts +2 -0
  144. package/dist/cjs/__mocks__/rehype-sanitize.js +4 -0
  145. package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +2 -0
  146. package/dist/cjs/__mocks__/rehype-unwrap-images.js +4 -0
  147. package/dist/cjs/index.d.ts +6 -0
  148. package/dist/cjs/index.js +10 -1
  149. package/dist/cjs/tracking/console_tracking_provider.d.ts +10 -0
  150. package/dist/cjs/tracking/console_tracking_provider.js +27 -0
  151. package/dist/cjs/tracking/index.d.ts +2 -0
  152. package/dist/cjs/tracking/index.js +23 -0
  153. package/dist/cjs/tracking/posthog_tracking_provider.d.ts +9 -0
  154. package/dist/cjs/tracking/posthog_tracking_provider.js +37 -0
  155. package/dist/cjs/tracking/segment_tracking_provider.d.ts +10 -0
  156. package/dist/cjs/tracking/segment_tracking_provider.js +50 -0
  157. package/dist/cjs/tracking/trackingProviderProxy.d.ts +9 -0
  158. package/dist/cjs/tracking/trackingProviderProxy.js +24 -0
  159. package/dist/cjs/tracking/tracking_api.d.ts +8 -0
  160. package/dist/cjs/tracking/tracking_api.js +2 -0
  161. package/dist/cjs/tracking/tracking_registry.d.ts +4 -0
  162. package/dist/cjs/tracking/tracking_registry.js +33 -0
  163. package/dist/cjs/tracking/tracking_spi.d.ts +9 -0
  164. package/dist/cjs/tracking/tracking_spi.js +2 -0
  165. package/dist/cjs/tracking/umami_tracking_provider.d.ts +14 -0
  166. package/dist/cjs/tracking/umami_tracking_provider.js +44 -0
  167. package/dist/css/main.css +486 -145
  168. package/dist/css/main.css.map +1 -1
  169. package/dist/dynamic/Compare/package.json +1 -0
  170. package/dist/dynamic/Settings/package.json +1 -0
  171. package/dist/dynamic/tracking/package.json +1 -0
  172. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -0
  173. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +47 -0
  174. package/dist/esm/Chatbot/Chatbot.d.ts +2 -1
  175. package/dist/esm/Chatbot/Chatbot.js +1 -0
  176. package/dist/esm/Chatbot/Chatbot.test.d.ts +1 -0
  177. package/dist/esm/Chatbot/Chatbot.test.js +23 -0
  178. package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +1 -0
  179. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +22 -0
  180. package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +1 -0
  181. package/dist/esm/ChatbotContent/ChatbotContent.test.js +13 -0
  182. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +3 -3
  183. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
  184. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +27 -4
  185. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +24 -12
  186. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +99 -3
  187. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +11 -0
  188. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +22 -0
  189. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +4 -0
  190. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +38 -0
  191. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -0
  192. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +13 -0
  193. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +1 -0
  194. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +82 -0
  195. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +1 -1
  196. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +1 -1
  197. package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +1 -0
  198. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +13 -0
  199. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +1 -0
  200. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +13 -0
  201. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +17 -0
  202. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +10 -0
  203. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -0
  204. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +15 -0
  205. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +1 -0
  206. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +13 -0
  207. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -0
  208. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +4 -2
  209. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -0
  210. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +15 -0
  211. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -1
  212. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -0
  213. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +38 -0
  214. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +6 -4
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -0
  216. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +36 -0
  217. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +3 -1
  218. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +4 -2
  219. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +1 -0
  220. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +50 -0
  221. package/dist/esm/ChatbotHeader/index.d.ts +1 -0
  222. package/dist/esm/ChatbotHeader/index.js +1 -0
  223. package/dist/esm/ChatbotToggle/ChatbotToggle.js +3 -1
  224. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +19 -11
  225. package/dist/esm/CodeModal/CodeModal.js +2 -12
  226. package/dist/esm/Compare/Compare.d.ts +17 -0
  227. package/dist/esm/Compare/Compare.js +43 -0
  228. package/dist/esm/Compare/Compare.test.d.ts +1 -0
  229. package/dist/esm/Compare/Compare.test.js +15 -0
  230. package/dist/esm/Compare/index.d.ts +2 -0
  231. package/dist/esm/Compare/index.js +2 -0
  232. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +4 -0
  233. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +21 -0
  234. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +4 -0
  235. package/dist/esm/Message/ImageMessage/ImageMessage.js +20 -0
  236. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +4 -0
  237. package/dist/esm/Message/LinkMessage/LinkMessage.js +25 -0
  238. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -1
  239. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -2
  240. package/dist/esm/Message/Message.d.ts +51 -8
  241. package/dist/esm/Message/Message.js +68 -16
  242. package/dist/esm/Message/Message.test.js +296 -3
  243. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +17 -0
  244. package/dist/esm/Message/QuickResponse/QuickResponse.js +27 -0
  245. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +13 -0
  246. package/dist/esm/Message/QuickStarts/FallbackImg.js +9 -0
  247. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +27 -0
  248. package/dist/esm/Message/QuickStarts/QuickStartTile.js +52 -0
  249. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +23 -0
  250. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +35 -0
  251. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +1 -0
  252. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +48 -0
  253. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +11 -0
  254. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +5 -0
  255. package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.d.ts +30 -0
  256. package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.js +74 -0
  257. package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart.d.ts +30 -0
  258. package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart.js +74 -0
  259. package/dist/esm/Message/QuickStarts/types.d.ts +132 -0
  260. package/dist/esm/Message/QuickStarts/types.js +14 -0
  261. package/dist/esm/Message/TableMessage/TableMessage.d.ts +20 -0
  262. package/dist/esm/Message/TableMessage/TableMessage.js +62 -0
  263. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +7 -0
  264. package/dist/esm/Message/TableMessage/TbodyMessage.js +28 -0
  265. package/dist/esm/Message/TableMessage/TdMessage.d.ts +5 -0
  266. package/dist/esm/Message/TableMessage/TdMessage.js +21 -0
  267. package/dist/esm/Message/TableMessage/ThMessage.d.ts +5 -0
  268. package/dist/esm/Message/TableMessage/ThMessage.js +21 -0
  269. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +5 -0
  270. package/dist/esm/Message/TableMessage/TheadMessage.js +21 -0
  271. package/dist/esm/Message/TableMessage/TrMessage.d.ts +7 -0
  272. package/dist/esm/Message/TableMessage/TrMessage.js +32 -0
  273. package/dist/esm/Message/TextMessage/TextMessage.d.ts +2 -1
  274. package/dist/esm/Message/TextMessage/TextMessage.js +3 -3
  275. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +10 -0
  276. package/dist/esm/Message/UserFeedback/CloseButton.js +9 -0
  277. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +39 -0
  278. package/dist/esm/Message/UserFeedback/UserFeedback.js +49 -0
  279. package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +1 -0
  280. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +128 -0
  281. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +42 -0
  282. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +112 -0
  283. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +1 -0
  284. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +244 -0
  285. package/dist/esm/MessageBar/AttachButton.js +4 -2
  286. package/dist/esm/MessageBar/MessageBar.d.ts +11 -4
  287. package/dist/esm/MessageBar/MessageBar.js +127 -46
  288. package/dist/esm/MessageBar/MessageBar.test.js +12 -4
  289. package/dist/esm/MessageBar/MicrophoneButton.d.ts +1 -1
  290. package/dist/esm/MessageBar/SendButton.js +3 -1
  291. package/dist/esm/MessageBar/StopButton.js +3 -1
  292. package/dist/esm/MessageBox/MessageBox.test.d.ts +1 -0
  293. package/dist/esm/MessageBox/MessageBox.test.js +17 -0
  294. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -0
  295. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +23 -0
  296. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +10 -1
  297. package/dist/esm/ResponseActions/ResponseActionButton.js +25 -2
  298. package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +1 -0
  299. package/dist/esm/ResponseActions/ResponseActionButton.test.js +49 -0
  300. package/dist/esm/ResponseActions/ResponseActions.d.ts +12 -2
  301. package/dist/esm/ResponseActions/ResponseActions.js +26 -9
  302. package/dist/esm/ResponseActions/ResponseActions.test.js +79 -5
  303. package/dist/esm/Settings/SettingsForm.d.ts +13 -0
  304. package/dist/esm/Settings/SettingsForm.js +20 -0
  305. package/dist/esm/Settings/SettingsForm.test.d.ts +1 -0
  306. package/dist/esm/Settings/SettingsForm.test.js +21 -0
  307. package/dist/esm/Settings/index.d.ts +2 -0
  308. package/dist/esm/Settings/index.js +2 -0
  309. package/dist/esm/SourcesCard/SourcesCard.d.ts +1 -0
  310. package/dist/esm/SourcesCard/SourcesCard.js +2 -1
  311. package/dist/esm/SourcesCard/SourcesCard.test.js +0 -4
  312. package/dist/esm/__mocks__/rehype-external-links.d.ts +2 -0
  313. package/dist/esm/__mocks__/rehype-external-links.js +2 -0
  314. package/dist/esm/__mocks__/rehype-sanitize.d.ts +2 -0
  315. package/dist/esm/__mocks__/rehype-sanitize.js +2 -0
  316. package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +2 -0
  317. package/dist/esm/__mocks__/rehype-unwrap-images.js +2 -0
  318. package/dist/esm/index.d.ts +6 -0
  319. package/dist/esm/index.js +6 -0
  320. package/dist/esm/tracking/console_tracking_provider.d.ts +10 -0
  321. package/dist/esm/tracking/console_tracking_provider.js +23 -0
  322. package/dist/esm/tracking/index.d.ts +2 -0
  323. package/dist/esm/tracking/index.js +2 -0
  324. package/dist/esm/tracking/posthog_tracking_provider.d.ts +9 -0
  325. package/dist/esm/tracking/posthog_tracking_provider.js +33 -0
  326. package/dist/esm/tracking/segment_tracking_provider.d.ts +10 -0
  327. package/dist/esm/tracking/segment_tracking_provider.js +46 -0
  328. package/dist/esm/tracking/trackingProviderProxy.d.ts +9 -0
  329. package/dist/esm/tracking/trackingProviderProxy.js +22 -0
  330. package/dist/esm/tracking/tracking_api.d.ts +8 -0
  331. package/dist/esm/tracking/tracking_api.js +1 -0
  332. package/dist/esm/tracking/tracking_registry.d.ts +4 -0
  333. package/dist/esm/tracking/tracking_registry.js +26 -0
  334. package/dist/esm/tracking/tracking_spi.d.ts +9 -0
  335. package/dist/esm/tracking/tracking_spi.js +1 -0
  336. package/dist/esm/tracking/umami_tracking_provider.d.ts +14 -0
  337. package/dist/esm/tracking/umami_tracking_provider.js +40 -0
  338. package/dist/tsconfig.tsbuildinfo +1 -1
  339. package/package.json +12 -13
  340. package/patternfly-docs/content/extensions/chatbot/about-chatbot.md +8 -2
  341. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +192 -15
  342. package/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md +219 -0
  343. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  344. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +214 -12
  345. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +2 -1
  346. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +2 -2
  347. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +5 -1
  348. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +71 -0
  349. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +27 -0
  350. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +11 -1
  351. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +31 -0
  352. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +1 -1
  353. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +18 -10
  354. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +76 -11
  355. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +244 -14
  356. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +54 -0
  357. package/patternfly-docs/content/extensions/chatbot/examples/Messages/explore-pipeline-quickstart.ts +65 -0
  358. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +1 -1
  359. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +5 -5
  360. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +1 -1
  361. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +36 -3
  362. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +67 -0
  363. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +94 -0
  364. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +1 -1
  365. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +1 -1
  366. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +7 -7
  367. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +289 -0
  368. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +1 -1
  369. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +35 -6
  370. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +14 -0
  371. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +41 -3
  372. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +48 -35
  373. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +21 -20
  374. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +3 -3
  375. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +453 -0
  376. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +11 -11
  377. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +206 -0
  378. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +104 -0
  379. package/patternfly-docs/content/extensions/chatbot/img/ai-action-inpage.svg +85 -0
  380. package/patternfly-docs/content/extensions/chatbot/img/ai-action-message.svg +63 -0
  381. package/patternfly-docs/content/extensions/chatbot/img/analytics-example.svg +127 -0
  382. package/patternfly-docs/content/extensions/chatbot/img/attached-file.svg +24 -29
  383. package/patternfly-docs/content/extensions/chatbot/img/attachment-menu.svg +4 -4
  384. package/patternfly-docs/content/extensions/chatbot/img/attachment-unsent.svg +30 -58
  385. package/patternfly-docs/content/extensions/chatbot/img/chatbot-analytics.svg +51 -0
  386. package/patternfly-docs/content/extensions/chatbot/img/chatbot-elements.svg +11 -12
  387. package/patternfly-docs/content/extensions/chatbot/img/chatbot-quickstarts-tile.svg +58 -0
  388. package/patternfly-docs/content/extensions/chatbot/img/chatbot-settings.svg +83 -0
  389. package/patternfly-docs/content/extensions/chatbot/img/comparison.svg +45 -0
  390. package/patternfly-docs/content/extensions/chatbot/img/conversation-history.svg +6 -29
  391. package/patternfly-docs/content/extensions/chatbot/img/docked.svg +259 -241
  392. package/patternfly-docs/content/extensions/chatbot/img/drawer.svg +255 -0
  393. package/patternfly-docs/content/extensions/chatbot/img/error-state.svg +30 -0
  394. package/patternfly-docs/content/extensions/chatbot/img/feedback-form.svg +88 -0
  395. package/patternfly-docs/content/extensions/chatbot/img/footnote.svg +1 -1
  396. package/patternfly-docs/content/extensions/chatbot/img/fullscreen.svg +25 -16
  397. package/patternfly-docs/content/extensions/chatbot/img/listening-pulse.svg +22 -0
  398. package/patternfly-docs/content/extensions/chatbot/img/listening.svg +1 -1
  399. package/patternfly-docs/content/extensions/chatbot/img/loading-state.svg +28 -0
  400. package/patternfly-docs/content/extensions/chatbot/img/masthead-toggle-notification.svg +49 -0
  401. package/patternfly-docs/content/extensions/chatbot/img/masthead-toggle.svg +75 -0
  402. package/patternfly-docs/content/extensions/chatbot/img/message-bar-elements.svg +3 -3
  403. package/patternfly-docs/content/extensions/chatbot/img/message-elements.svg +84 -142
  404. package/patternfly-docs/content/extensions/chatbot/img/message-feedback.svg +52 -0
  405. package/patternfly-docs/content/extensions/chatbot/img/message-responses.svg +54 -0
  406. package/patternfly-docs/content/extensions/chatbot/img/new-chat-emptystate.svg +27 -0
  407. package/patternfly-docs/content/extensions/chatbot/img/no-results-emptystate.svg +27 -0
  408. package/patternfly-docs/content/extensions/chatbot/img/overlay.svg +54 -39
  409. package/patternfly-docs/content/extensions/chatbot/img/posthog.svg +30 -0
  410. package/patternfly-docs/content/extensions/chatbot/img/segment.svg +36 -0
  411. package/patternfly-docs/content/extensions/chatbot/img/settings-menu.svg +122 -0
  412. package/patternfly-docs/content/extensions/chatbot/img/source-tile.svg +62 -0
  413. package/patternfly-docs/content/extensions/chatbot/img/thank-you-card.svg +81 -0
  414. package/patternfly-docs/content/extensions/chatbot/img/toggle-customizations.svg +12 -0
  415. package/patternfly-docs/content/extensions/chatbot/img/toggle-tooltips.svg +38 -0
  416. package/patternfly-docs/content/extensions/chatbot/img/umami.svg +30 -0
  417. package/patternfly-docs/content/extensions/chatbot/img/welcome-elements.svg +82 -0
  418. package/patternfly-docs/content/extensions/chatbot/img/welcome-message.svg +94 -0
  419. package/src/AttachMenu/AttachMenu.scss +1 -1
  420. package/src/AttachmentEdit/AttachmentEdit.test.tsx +55 -0
  421. package/src/Chatbot/Chatbot.scss +20 -1
  422. package/src/Chatbot/Chatbot.test.tsx +31 -0
  423. package/src/Chatbot/Chatbot.tsx +2 -1
  424. package/src/ChatbotAlert/ChatbotAlert.test.tsx +31 -0
  425. package/src/ChatbotContent/ChatbotContent.scss +1 -0
  426. package/src/ChatbotContent/ChatbotContent.test.tsx +15 -0
  427. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +10 -4
  428. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +24 -1
  429. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +242 -3
  430. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +94 -26
  431. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +44 -0
  432. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +38 -0
  433. package/src/ChatbotFooter/ChatbotFooter.scss +8 -4
  434. package/src/ChatbotFooter/ChatbotFooter.test.tsx +15 -0
  435. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +84 -0
  436. package/src/ChatbotFooter/ChatbotFootnote.tsx +2 -2
  437. package/src/ChatbotHeader/ChatbotHeader.scss +5 -6
  438. package/src/ChatbotHeader/ChatbotHeader.test.tsx +15 -0
  439. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +17 -0
  440. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +20 -0
  441. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +57 -0
  442. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +17 -0
  443. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +19 -0
  444. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +11 -2
  445. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +45 -0
  446. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +8 -1
  447. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +43 -0
  448. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +11 -4
  449. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +75 -0
  450. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +7 -2
  451. package/src/ChatbotHeader/index.ts +1 -0
  452. package/src/ChatbotModal/ChatbotModal.scss +12 -12
  453. package/src/ChatbotToggle/ChatbotToggle.tsx +6 -1
  454. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +2 -0
  455. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +26 -18
  456. package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +2 -2
  457. package/src/CodeModal/CodeModal.scss +14 -3
  458. package/src/CodeModal/CodeModal.tsx +2 -13
  459. package/src/Compare/Compare.scss +72 -0
  460. package/src/Compare/Compare.test.tsx +31 -0
  461. package/src/Compare/Compare.tsx +98 -0
  462. package/src/Compare/index.ts +2 -0
  463. package/src/FileDetails/FileDetails.scss +1 -1
  464. package/src/FileDetailsLabel/FileDetailsLabel.scss +2 -2
  465. package/src/FileDropZone/__snapshots__/FileDropZone.test.tsx.snap +2 -1
  466. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +4 -4
  467. package/src/Message/ErrorMessage/ErrorMessage.tsx +14 -0
  468. package/src/Message/ImageMessage/ImageMessage.scss +9 -0
  469. package/src/Message/ImageMessage/ImageMessage.tsx +14 -0
  470. package/src/Message/LinkMessage/LinkMessage.tsx +34 -0
  471. package/src/Message/ListMessage/ListMessage.scss +6 -6
  472. package/src/Message/ListMessage/OrderedListMessage.tsx +2 -2
  473. package/src/Message/Message.scss +4 -26
  474. package/src/Message/Message.test.tsx +403 -3
  475. package/src/Message/Message.tsx +161 -31
  476. package/src/Message/MessageLoading.scss +2 -2
  477. package/src/Message/QuickResponse/QuickResponse.scss +33 -0
  478. package/src/Message/QuickResponse/QuickResponse.tsx +54 -0
  479. package/src/Message/QuickStarts/FallbackImg.tsx +24 -0
  480. package/src/Message/QuickStarts/QuickStartTile.scss +24 -0
  481. package/src/Message/QuickStarts/QuickStartTile.tsx +147 -0
  482. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +57 -0
  483. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +81 -0
  484. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +21 -0
  485. package/src/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.ts +75 -0
  486. package/src/Message/QuickStarts/monitor-sampleapp-quickstart.ts +75 -0
  487. package/src/Message/QuickStarts/types.ts +154 -0
  488. package/src/Message/TableMessage/TableMessage.scss +23 -0
  489. package/src/Message/TableMessage/TableMessage.tsx +83 -0
  490. package/src/Message/TableMessage/TbodyMessage.tsx +20 -0
  491. package/src/Message/TableMessage/TdMessage.tsx +11 -0
  492. package/src/Message/TableMessage/ThMessage.tsx +11 -0
  493. package/src/Message/TableMessage/TheadMessage.tsx +11 -0
  494. package/src/Message/TableMessage/TrMessage.tsx +27 -0
  495. package/src/Message/TextMessage/TextMessage.scss +21 -12
  496. package/src/Message/TextMessage/TextMessage.tsx +3 -3
  497. package/src/Message/UserFeedback/CloseButton.tsx +21 -0
  498. package/src/Message/UserFeedback/UserFeedback.scss +53 -0
  499. package/src/Message/UserFeedback/UserFeedback.test.tsx +236 -0
  500. package/src/Message/UserFeedback/UserFeedback.tsx +128 -0
  501. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +255 -0
  502. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +211 -0
  503. package/src/MessageBar/AttachButton.scss +19 -3
  504. package/src/MessageBar/AttachButton.tsx +3 -1
  505. package/src/MessageBar/MessageBar.scss +58 -24
  506. package/src/MessageBar/MessageBar.test.tsx +12 -4
  507. package/src/MessageBar/MessageBar.tsx +164 -65
  508. package/src/MessageBar/MicrophoneButton.scss +8 -8
  509. package/src/MessageBar/MicrophoneButton.tsx +1 -1
  510. package/src/MessageBar/SendButton.tsx +2 -0
  511. package/src/MessageBar/StopButton.scss +17 -3
  512. package/src/MessageBar/StopButton.tsx +2 -0
  513. package/src/MessageBox/JumpButton.scss +6 -6
  514. package/src/MessageBox/MessageBox.scss +1 -0
  515. package/src/MessageBox/MessageBox.test.tsx +26 -0
  516. package/src/PreviewAttachment/PreviewAttachment.test.tsx +51 -0
  517. package/src/ResponseActions/ResponseActionButton.test.tsx +52 -0
  518. package/src/ResponseActions/ResponseActionButton.tsx +59 -28
  519. package/src/ResponseActions/ResponseActions.scss +11 -9
  520. package/src/ResponseActions/ResponseActions.test.tsx +105 -5
  521. package/src/ResponseActions/ResponseActions.tsx +80 -9
  522. package/src/Settings/Settings.scss +34 -0
  523. package/src/Settings/SettingsForm.test.tsx +28 -0
  524. package/src/Settings/SettingsForm.tsx +25 -0
  525. package/src/Settings/index.ts +3 -0
  526. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.scss +2 -2
  527. package/src/SourcesCard/SourcesCard.scss +9 -3
  528. package/src/SourcesCard/SourcesCard.test.tsx +0 -5
  529. package/src/SourcesCard/SourcesCard.tsx +14 -2
  530. package/src/TermsOfUse/TermsOfUse.scss +1 -1
  531. package/src/__mocks__/rehype-external-links.ts +3 -0
  532. package/src/__mocks__/rehype-sanitize.ts +3 -0
  533. package/src/__mocks__/rehype-unwrap-images.tsx +3 -0
  534. package/src/index.ts +9 -0
  535. package/src/main.scss +7 -6
  536. package/src/tracking/console_tracking_provider.ts +30 -0
  537. package/src/tracking/index.ts +3 -0
  538. package/src/tracking/posthog_tracking_provider.ts +42 -0
  539. package/src/tracking/segment_tracking_provider.ts +62 -0
  540. package/src/tracking/trackingProviderProxy.ts +28 -0
  541. package/src/tracking/tracking_api.ts +11 -0
  542. package/src/tracking/tracking_registry.ts +33 -0
  543. package/src/tracking/tracking_spi.ts +14 -0
  544. package/src/tracking/umami_tracking_provider.ts +54 -0
  545. package/src/SourcesCard/__snapshots__/SourcesCard.test.tsx.snap +0 -34
@@ -0,0 +1,289 @@
1
+ import React from 'react';
2
+
3
+ import SettingsForm from '@patternfly/chatbot/dist/dynamic/Settings';
4
+ import {
5
+ Button,
6
+ Divider,
7
+ Dropdown,
8
+ DropdownGroup,
9
+ DropdownItem,
10
+ DropdownList,
11
+ MenuToggle,
12
+ MenuToggleElement,
13
+ Switch,
14
+ Title
15
+ } from '@patternfly/react-core';
16
+ import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
17
+ import ChatbotHeader, {
18
+ ChatbotHeaderActions,
19
+ ChatbotHeaderCloseButton,
20
+ ChatbotHeaderMain,
21
+ ChatbotHeaderOptionsDropdown,
22
+ ChatbotHeaderTitle
23
+ } from '@patternfly/chatbot/dist/dynamic/ChatbotHeader';
24
+ import { CogIcon, ExpandIcon, OpenDrawerRightIcon, OutlinedWindowRestoreIcon } from '@patternfly/react-icons';
25
+
26
+ export const SettingsDemo: React.FunctionComponent = () => {
27
+ const [isChecked, setIsChecked] = React.useState<boolean>(true);
28
+ const [isThemeOpen, setIsThemeOpen] = React.useState(false);
29
+ const [isLanguageOpen, setIsLanguageOpen] = React.useState(false);
30
+ const [isVoiceOpen, setIsVoiceOpen] = React.useState(false);
31
+ const [displayMode, setDisplayMode] = React.useState(ChatbotDisplayMode.default);
32
+ const [areSettingsOpen, setAreSettingsOpen] = React.useState(true);
33
+ const chatbotVisible = true;
34
+
35
+ const onFocus = (id: string) => {
36
+ const element = document.getElementById(id);
37
+ (element as HTMLElement).focus();
38
+ };
39
+
40
+ const onThemeToggleClick = () => {
41
+ setIsThemeOpen(!isThemeOpen);
42
+ };
43
+
44
+ const onThemeSelect = (
45
+ _event: React.MouseEvent<Element, MouseEvent> | undefined,
46
+ value: string | number | undefined
47
+ ) => {
48
+ // eslint-disable-next-line no-console
49
+ console.log('selected', value);
50
+ onFocus('theme');
51
+ setIsThemeOpen(false);
52
+ };
53
+
54
+ const onLanguageToggleClick = () => {
55
+ setIsLanguageOpen(!isLanguageOpen);
56
+ };
57
+
58
+ const onLanguageSelect = (
59
+ _event: React.MouseEvent<Element, MouseEvent> | undefined,
60
+ value: string | number | undefined
61
+ ) => {
62
+ // eslint-disable-next-line no-console
63
+ console.log('selected', value);
64
+ onFocus('language');
65
+ setIsLanguageOpen(false);
66
+ };
67
+
68
+ const onVoiceToggleClick = () => {
69
+ onFocus('voice');
70
+ setIsVoiceOpen(!isVoiceOpen);
71
+ };
72
+
73
+ const onVoiceSelect = (
74
+ _event: React.MouseEvent<Element, MouseEvent> | undefined,
75
+ value: string | number | undefined
76
+ ) => {
77
+ // eslint-disable-next-line no-console
78
+ console.log('selected', value);
79
+ setIsVoiceOpen(false);
80
+ };
81
+
82
+ const handleChange = (_event: React.FormEvent<HTMLInputElement>, checked: boolean) => {
83
+ setIsChecked(checked);
84
+ };
85
+
86
+ const themeDropdown = (
87
+ <Dropdown
88
+ isOpen={isThemeOpen}
89
+ onSelect={onThemeSelect}
90
+ onOpenChange={(isOpen: boolean) => setIsThemeOpen(isOpen)}
91
+ shouldFocusToggleOnSelect
92
+ shouldFocusFirstItemOnOpen
93
+ shouldPreventScrollOnItemFocus
94
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
95
+ // We want to add the id property here as well so the label is coupled
96
+ // with the button on screen readers.
97
+ <MenuToggle id="theme" ref={toggleRef} onClick={onThemeToggleClick} isExpanded={isThemeOpen}>
98
+ System
99
+ </MenuToggle>
100
+ )}
101
+ ouiaId="ThemeDropdown"
102
+ >
103
+ <DropdownList>
104
+ <DropdownItem value="System" key="system">
105
+ System
106
+ </DropdownItem>
107
+ </DropdownList>
108
+ </Dropdown>
109
+ );
110
+
111
+ const languageDropdown = (
112
+ <Dropdown
113
+ isOpen={isLanguageOpen}
114
+ onSelect={onLanguageSelect}
115
+ onOpenChange={(isOpen: boolean) => setIsLanguageOpen(isOpen)}
116
+ shouldFocusToggleOnSelect
117
+ shouldFocusFirstItemOnOpen
118
+ shouldPreventScrollOnItemFocus
119
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
120
+ // We want to add the id property here as well so the label is coupled
121
+ // with the button on screen readers.
122
+ <MenuToggle id="language" ref={toggleRef} onClick={onLanguageToggleClick} isExpanded={isLanguageOpen}>
123
+ Auto-detect
124
+ </MenuToggle>
125
+ )}
126
+ ouiaId="LanguageDropdown"
127
+ >
128
+ <DropdownList>
129
+ <DropdownItem value="Auto-detect" key="auto-detect">
130
+ Auto-detect
131
+ </DropdownItem>
132
+ </DropdownList>
133
+ </Dropdown>
134
+ );
135
+ const voiceDropdown = (
136
+ <Dropdown
137
+ isOpen={isVoiceOpen}
138
+ onSelect={onVoiceSelect}
139
+ onOpenChange={(isOpen: boolean) => setIsVoiceOpen(isOpen)}
140
+ shouldFocusToggleOnSelect
141
+ shouldFocusFirstItemOnOpen
142
+ shouldPreventScrollOnItemFocus
143
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
144
+ // We want to add the id property here as well so the label is coupled
145
+ // with the button on screen readers.
146
+ <MenuToggle id="voice" ref={toggleRef} onClick={onVoiceToggleClick} isExpanded={isVoiceOpen}>
147
+ Bot
148
+ </MenuToggle>
149
+ )}
150
+ ouiaId="VoiceDropdown"
151
+ >
152
+ <DropdownList>
153
+ <DropdownItem value="Bot" key="bot">
154
+ Bot
155
+ </DropdownItem>
156
+ </DropdownList>
157
+ </Dropdown>
158
+ );
159
+ const children = [
160
+ { id: 'theme', label: 'Theme', field: themeDropdown },
161
+ { id: 'language', label: 'Language', field: languageDropdown },
162
+ { id: 'voice', label: 'Voice', field: voiceDropdown },
163
+ {
164
+ id: 'analytics',
165
+ label: 'Share analytics',
166
+ field: (
167
+ <Switch
168
+ // We want to add the id property here as well so the label is coupled
169
+ // with the button on screen readers.
170
+ id="analytics"
171
+ aria-label="Togglable option for whether to share analytics"
172
+ isChecked={isChecked}
173
+ onChange={handleChange}
174
+ />
175
+ )
176
+ },
177
+ {
178
+ id: 'archived-chat',
179
+ label: 'Archive chat',
180
+ field: (
181
+ // We want to add the id property here as well so the label is coupled
182
+ // with the button on screen readers.
183
+ <Button id="archived-chat" variant="secondary">
184
+ Manage
185
+ </Button>
186
+ )
187
+ },
188
+ {
189
+ id: 'archive-all',
190
+ label: 'Archive all chat',
191
+ field: (
192
+ // We want to add the id property here as well so the label is coupled
193
+ // with the button on screen readers.
194
+ <Button id="archive-all" variant="secondary">
195
+ Archive all
196
+ </Button>
197
+ )
198
+ },
199
+ {
200
+ id: 'delete-all',
201
+ label: 'Delete all chats',
202
+ field: (
203
+ // We want to add the id property here as well so the label is coupled
204
+ // with the button on screen readers.
205
+ <Button id="delete-all" variant="danger">
206
+ Delete all
207
+ </Button>
208
+ )
209
+ }
210
+ ];
211
+
212
+ const onSelectDropdownItem = (
213
+ _event: React.MouseEvent<Element, MouseEvent> | undefined,
214
+ value: string | number | undefined
215
+ ) => {
216
+ if (value === 'Settings') {
217
+ setAreSettingsOpen(true);
218
+ } else {
219
+ setDisplayMode(value as ChatbotDisplayMode);
220
+ }
221
+ };
222
+
223
+ const regularChatbot = (
224
+ <ChatbotHeader>
225
+ <ChatbotHeaderActions>
226
+ <ChatbotHeaderOptionsDropdown onSelect={onSelectDropdownItem}>
227
+ <DropdownGroup label="Display mode">
228
+ <DropdownList>
229
+ <DropdownItem
230
+ value={ChatbotDisplayMode.default}
231
+ key="switchDisplayOverlay"
232
+ icon={<OutlinedWindowRestoreIcon aria-hidden />}
233
+ isSelected={displayMode === ChatbotDisplayMode.default}
234
+ >
235
+ <span>Overlay</span>
236
+ </DropdownItem>
237
+ <DropdownItem
238
+ value={ChatbotDisplayMode.docked}
239
+ key="switchDisplayDock"
240
+ icon={<OpenDrawerRightIcon aria-hidden />}
241
+ isSelected={displayMode === ChatbotDisplayMode.docked}
242
+ >
243
+ <span>Dock to window</span>
244
+ </DropdownItem>
245
+ <DropdownItem
246
+ value={ChatbotDisplayMode.fullscreen}
247
+ key="switchDisplayFullscreen"
248
+ icon={<ExpandIcon aria-hidden />}
249
+ isSelected={displayMode === ChatbotDisplayMode.fullscreen}
250
+ >
251
+ <span>Fullscreen</span>
252
+ </DropdownItem>
253
+ </DropdownList>
254
+ </DropdownGroup>
255
+ <Divider />
256
+ <DropdownList>
257
+ <DropdownItem value="Settings" key="switchSettings" icon={<CogIcon aria-hidden />}>
258
+ <span>Settings</span>
259
+ </DropdownItem>
260
+ </DropdownList>
261
+ </ChatbotHeaderOptionsDropdown>
262
+ </ChatbotHeaderActions>
263
+ </ChatbotHeader>
264
+ );
265
+
266
+ return (
267
+ <>
268
+ <Chatbot isVisible={chatbotVisible} displayMode={displayMode}>
269
+ {areSettingsOpen ? (
270
+ <>
271
+ <ChatbotHeader>
272
+ <ChatbotHeaderMain>
273
+ <ChatbotHeaderTitle>
274
+ <Title headingLevel="h1" size="2xl">
275
+ Settings
276
+ </Title>
277
+ </ChatbotHeaderTitle>
278
+ </ChatbotHeaderMain>
279
+ <ChatbotHeaderCloseButton onClick={() => setAreSettingsOpen(false)} />
280
+ </ChatbotHeader>
281
+ <SettingsForm fields={children} />
282
+ </>
283
+ ) : (
284
+ <>{regularChatbot}</>
285
+ )}
286
+ </Chatbot>
287
+ </>
288
+ );
289
+ };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import ChatbotToggle from '@patternfly/virtual-assistant/dist/dynamic/ChatbotToggle';
2
+ import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
3
3
 
4
4
  export const SquareChatbotToggle: React.FunctionComponent = () => {
5
5
  const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(false);
@@ -55,6 +55,7 @@ import ChatbotAlert from '@patternfly/chatbot/dist/dynamic/ChatbotAlert';
55
55
  import TermsOfUse from '@patternfly/chatbot/dist/dynamic/TermsOfUse';
56
56
  import {
57
57
  ChatbotHeader,
58
+ ChatbotHeaderCloseButton,
58
59
  ChatbotHeaderMain,
59
60
  ChatbotHeaderMenu,
60
61
  ChatbotHeaderActions,
@@ -66,6 +67,7 @@ import { ChatbotFooter, ChatbotFootnote } from '@patternfly/chatbot/dist/dynamic
66
67
  import { MessageBar } from '@patternfly/chatbot/dist/dynamic/MessageBar';
67
68
  import SourceDetailsMenuItem from '@patternfly/chatbot/dist/dynamic/SourceDetailsMenuItem';
68
69
  import { ChatbotModal } from '@patternfly/chatbot/dist/dynamic/ChatbotModal';
70
+ import SettingsForm from '@patternfly/chatbot/dist/dynamic/Settings';
69
71
  import { BellIcon, CalendarAltIcon, ClipboardIcon, CodeIcon, UploadIcon } from '@patternfly/react-icons';
70
72
  import { useDropzone } from 'react-dropzone';
71
73
 
@@ -75,11 +77,13 @@ import { DropdownItem, DropdownList, Checkbox } from '@patternfly/react-core';
75
77
  import OutlinedWindowRestoreIcon from '@patternfly/react-icons/dist/esm/icons/outlined-window-restore-icon';
76
78
  import ExpandIcon from '@patternfly/react-icons/dist/esm/icons/expand-icon';
77
79
  import OpenDrawerRightIcon from '@patternfly/react-icons/dist/esm/icons/open-drawer-right-icon';
80
+ import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
78
81
  import PFHorizontalLogoColor from './PF-HorizontalLogo-Color.svg';
79
82
  import PFHorizontalLogoReverse from './PF-HorizontalLogo-Reverse.svg';
80
83
  import userAvatar from '../Messages/user_avatar.svg';
81
84
  import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
82
85
  import termsAndConditionsHeader from './PF-TermsAndConditionsHeader.svg';
86
+ import { CloseIcon } from '@patternfly/react-icons';
83
87
 
84
88
  ## Structure
85
89
 
@@ -98,11 +102,9 @@ The "embedded" display mode is meant to be used within a [PatternFly page](/comp
98
102
  ### Content and message box
99
103
 
100
104
  The `<ChatbotContent>` component is the container that is placed within the `<Chatbot>`, between the [`<ChatbotHeader>`](/patternfly-ai/chatbot/ui#header) and [`<ChatbotFooter>`.](/patternfly-ai/chatbot/ui#footer)
101
- <br />
102
- <br />
105
+
103
106
  `<ChatbotContent>` usually contains a `<ChatbotMessageBox>` for displaying messages.
104
- <br />
105
- <br />
107
+
106
108
  Your code structure should look like this:
107
109
 
108
110
  ```noLive
@@ -140,8 +142,7 @@ To provide users with a more specific direction, you can also include optional w
140
142
  ### Skip to content
141
143
 
142
144
  To provide page context, we recommend using a "Skip to chatbot" button. This allows you to skip past other content on the page, directly to the ChatBot content, using a [PatternFly skip to content component](/components/skip-to-content). To display this button, you must tab into the main window.
143
- <br />
144
- <br />
145
+
145
146
  When using default or docked modes, we recommend putting focus on the toggle if the ChatBot is closed, and the ChatBot when it is open. For fullscreen and embedded, we recommend putting the focus on the first focusable item in the ChatBot, such as a menu toggle. This can be seen in our more fully-featured demos for the [default, embedded, and fullscreen ChatBot](/patternfly-ai/chatbot/overview/demo#basic-chatbot) and the [embedded ChatBot](/patternfly-ai/chatbot/overview/demo#embedded-chatbot).
146
147
 
147
148
  ```js file="./SkipToContent.tsx" isFullscreen
@@ -367,6 +368,24 @@ If you're showing a conversation that is already active, you can set the `active
367
368
 
368
369
  ```
369
370
 
371
+ ### Resizable drawer
372
+
373
+ By default, the conversation history drawer has a fixed width (384px) and a focus trap. To provide users with more flexibility as they navigate their conversation history, or to better support embedded ChatBots on tablet-sized devices or smaller browser windows, you can instead make the drawer resizable. By default, even resizable drawers will still open to their full width on mobile devices.
374
+
375
+ In this example, the drawer can be resized up to the max size of the parent and resized down to 200px wide. To customize this behavior further (including width, style, and focus behavior) use PatternFly [`<Drawer>` props](/components/drawer#props), [`<DrawerPanelContent>` props](/components/drawer/#drawerpanelcontent), or any other drawer subcomponents.
376
+
377
+ ```js file="./ChatbotHeaderDrawerResizable.tsx"
378
+
379
+ ```
380
+
381
+ ### Drawer with simple menu
382
+
383
+ The drawer can also be used to display a list of basic menu items.
384
+
385
+ ```js file="./ChatbotHeaderDrawerNavigation.tsx"
386
+
387
+ ```
388
+
370
389
  ### Terms of use
371
390
 
372
391
  Based on the [PatternFly modal](/components/modal), this modal adapts to the ChatBot display mode and is meant to display terms and conditions for using a ChatBot in your project. The image in the header can be toggled on or off depending on whether the `image` and `altText` props are provided.
@@ -377,6 +396,16 @@ This example also includes an example of how to use [skip to content](/patternfl
377
396
 
378
397
  ```
379
398
 
399
+ ### Settings
400
+
401
+ To contain user preference controls and other ChatBot setting options, you can create a separate settings page that can accept any number of buttons, dropdown menus, toggles, labels, and so on. This settings page will render all components appropriately within all 4 display modes.
402
+
403
+ In this demo, you can toggle the settings page by clicking the "Settings" button in the display mode menu.
404
+
405
+ ```js file="./Settings.tsx" isFullscreen
406
+
407
+ ```
408
+
380
409
  ## Modals
381
410
 
382
411
  ### Modal
@@ -47,6 +47,20 @@ import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
47
47
 
48
48
  ## Demos
49
49
 
50
+ ### Message feedback
51
+
52
+ When a user selects a positive or negative message action, you can display a message feedback card that acknowledges their response and provides space for additional written feedback. These cards can be manually dismissed via the close button and the thank-you card can be configured to time out automatically.
53
+
54
+ The following example demonstrates a full feedback flow, which accepts written feedback submission and displays a thank you card.
55
+
56
+ It also demonstrates how to handle focus appropriately for accessibility. The card will be focused when it appears in the DOM. When the card closes, place the focus back on the launching button. To provide additional context on what the button controls, you can also add `aria-expanded` and `aria-controls` attributes to the feedback buttons.
57
+
58
+ It is also important to announce when new content appears onscreen for accessibility purposes. `isLiveRegion` is set to true by default on `<Message>` so it will make appropriate announcements for you when the feedback card appears.
59
+
60
+ ```js file="./Feedback.tsx"
61
+
62
+ ```
63
+
50
64
  ### Attach via upload button in message bar
51
65
 
52
66
  This demo displays unique attachment features, including:
@@ -21,7 +21,8 @@ propComponents:
21
21
  'ChatbotFootnote',
22
22
  'MessageBox',
23
23
  'Message',
24
- 'MessageBarWithAttachMenuProps'
24
+ 'MessageBarWithAttachMenuProps',
25
+ 'CompareProps'
25
26
  ]
26
27
  sortValue: 2
27
28
  ---
@@ -34,6 +35,7 @@ import ChatbotFooter, { ChatbotFootnote } from '@patternfly/chatbot/dist/dynamic
34
35
  import MessageBar from '@patternfly/chatbot/dist/dynamic/MessageBar';
35
36
  import MessageBox from '@patternfly/chatbot/dist/dynamic/MessageBox';
36
37
  import Message from '@patternfly/chatbot/dist/dynamic/Message';
38
+ import Compare from '@patternfly/chatbot/dist/dynamic/Compare';
37
39
  import ChatbotConversationHistoryNav from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
38
40
 
39
41
  import ChatbotHeader, {
@@ -55,6 +57,8 @@ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg';
55
57
  import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg';
56
58
  import userAvatar from '../Messages/user_avatar.svg';
57
59
  import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
60
+ import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking";
61
+
58
62
 
59
63
  ### Basic ChatBot
60
64
 
@@ -66,7 +70,7 @@ This demo displays a basic ChatBot, which includes:
66
70
  4. [`<ChatbotContent>` and `<MessageBox>`](/patternfly-ai/chatbot/ui#content-and-message-box) with:
67
71
 
68
72
  - A `<ChatbotWelcomePrompt>`
69
- - An initial [user `<Message>`](/patternfly-ai/chatbot/messages#user-messages) and an initial bot message with [message actions.](/patternfly-ai/chatbot/messages#messages-actions)
73
+ - An initial [user `<Message>`](/patternfly-ai/chatbot/messages#user-messages) and an initial bot message with [message actions.](/patternfly-ai/chatbot/messages#message-actions)
70
74
  - Logic for enabling auto-scrolling to the most recent message whenever a new message is sent or received using a `scrollToBottomRef`
71
75
 
72
76
  5. A [`<ChatbotFooter>`](/patternfly-ai/chatbot/ui#footer) with a [`<ChatbotFootNote>`](/patternfly-ai/chatbot/ui#footnote-with-popover) and a `<MessageBar>` that contains the abilities of:
@@ -92,7 +96,7 @@ This demo displays an embedded ChatBot. Embedded ChatBots are meant to be placed
92
96
  3. A [`<ChatbotHeader>`](/patternfly-ai/chatbot/ui#header) with all built sub-components laid out, including a `<ChatbotHeaderTitle>`
93
97
  4. [`<ChatbotContent>` and `<MessageBox>`](/patternfly-ai/chatbot/ui#content-and-message-box) with:
94
98
  - A `<ChatbotWelcomePrompt>`
95
- - An initial [user `<Message>`](/patternfly-ai/chatbot/messages#user-messages) and an initial bot message with [message actions.](/patternfly-ai/chatbot/messages/#messages-actions)
99
+ - An initial [user `<Message>`](/patternfly-ai/chatbot/messages#user-messages) and an initial bot message with [message actions.](/patternfly-ai/chatbot/messages/#message-actions)
96
100
  - Logic for enabling auto-scrolling to the most recent message whenever a new message is sent or received using a `scrollToBottomRef`
97
101
  5. A [`<ChatbotFooter>`](/patternfly-ai/chatbot/ui#footer) with a [`<ChatbotFootNote>`](/patternfly-ai/chatbot/ui#footnote-with-popover) and a `<MessageBar>` that contains the abilities of:
98
102
  - [Speech to text.](/patternfly-ai/chatbot/ui#message-bar-with-speech-recognition-and-file-attachment)
@@ -103,3 +107,37 @@ This demo displays an embedded ChatBot. Embedded ChatBots are meant to be placed
103
107
  ```js file="./EmbeddedChatbot.tsx" isFullscreen
104
108
 
105
109
  ```
110
+
111
+ ### Inline drawer ChatBot
112
+
113
+ This demo displays a ChatBot in a static, inline drawer. This demo includes:
114
+
115
+ 1. An empty [PatternFly page](/components/page) with a sidebar and masthead.
116
+ 2. A [basic ChatBot](#basic-chatbot), placed beside the page content. It does not overlay the page content, cannot be minimized, and does not allow you to change the display mode by default.
117
+
118
+ **Note:** The inline drawer ChatBot is built to fit and perform within a drawer, but the implementation of the drawer is up to you. This drawer can look different for each product, but will often be placed to the side of the page, inline with the page content.
119
+
120
+ ```js file="./ChatbotInDrawer.tsx" isFullscreen
121
+
122
+ ```
123
+
124
+ ### Comparing ChatBots
125
+
126
+ To let users compare how different ChatBots respond to the same prompt, you can add multiple ChatBots within the same window. The following demo illustrates a comparison view pattern that allows users to toggle between different conversations in a single ChatBot window.
127
+ <br /><br />
128
+ Your code structure should look like this:
129
+
130
+ ```noLive
131
+ <Page ... >
132
+ <div className="pf-chatbot__compare-container">
133
+ <Compare ... />
134
+ <ChatbotFooter ... >
135
+ <MessageBar ... />
136
+ </ChatbotFooter>
137
+ </div>
138
+ </Page>
139
+ ```
140
+
141
+ ```js file="./EmbeddedComparisonChatbot.tsx" isFullscreen
142
+
143
+ ```