@envive-ai/react-toolkit-v3 0.3.6 → 0.3.8

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 (538) hide show
  1. package/dist/AnimatedText/AnimatedText.cjs +19 -4
  2. package/dist/AnimatedText/AnimatedText.d.cts +3 -3
  3. package/dist/AnimatedText/AnimatedText.d.ts +3 -3
  4. package/dist/AnimatedText/AnimatedText.js +20 -5
  5. package/dist/AnimatedText/types/types.d.cts +0 -4
  6. package/dist/AnimatedText/types/types.d.ts +0 -4
  7. package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.cts +2 -2
  8. package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.ts +2 -2
  9. package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.cjs +3 -3
  10. package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.js +3 -3
  11. package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.cjs +1 -1
  12. package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.js +1 -1
  13. package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.cjs +10 -10
  14. package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.js +10 -10
  15. package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.cjs +9 -9
  16. package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.js +9 -9
  17. package/dist/CSSVariablesEditor/utils/functions.cjs +2 -2
  18. package/dist/CSSVariablesEditor/utils/functions.js +2 -2
  19. package/dist/Carousel/Carousel.cjs +2 -2
  20. package/dist/Carousel/Carousel.d.cts +2 -2
  21. package/dist/Carousel/Carousel.d.ts +2 -2
  22. package/dist/Carousel/Carousel.js +2 -2
  23. package/dist/Carousel/components/Container.cjs +2 -2
  24. package/dist/Carousel/components/Container.js +2 -2
  25. package/dist/Carousel/hooks/useGetBadgeProperties.cjs +1 -1
  26. package/dist/Carousel/hooks/useGetBadgeProperties.js +1 -1
  27. package/dist/Carousel/types/types.d.ts +1 -1
  28. package/dist/ChatFooter/ChatFooter.cjs +2 -2
  29. package/dist/ChatFooter/ChatFooter.d.cts +2 -2
  30. package/dist/ChatFooter/ChatFooter.js +2 -2
  31. package/dist/ChatFooter/components/Layout.cjs +2 -2
  32. package/dist/ChatFooter/components/Layout.d.ts +1 -1
  33. package/dist/ChatFooter/components/Layout.js +2 -2
  34. package/dist/ChatFooter/components/PromptSuggestions.d.ts +1 -1
  35. package/dist/ChatFooter/components/index.d.cts +5 -5
  36. package/dist/ChatFooter/components/index.d.ts +5 -5
  37. package/dist/ChatFooter/hooks/useGetChatScrollProperties.cjs +1 -1
  38. package/dist/ChatFooter/hooks/useGetChatScrollProperties.js +1 -1
  39. package/dist/ChatFooter/hooks/useGetContainerProperties.cjs +10 -9
  40. package/dist/ChatFooter/hooks/useGetContainerProperties.js +10 -9
  41. package/dist/ChatFooter/types/types.d.ts +1 -1
  42. package/dist/ChatHeader/ChatHeader.cjs +4 -3
  43. package/dist/ChatHeader/ChatHeader.d.cts +3 -2
  44. package/dist/ChatHeader/ChatHeader.d.ts +3 -2
  45. package/dist/ChatHeader/ChatHeader.js +4 -3
  46. package/dist/ChatHeader/components/CloseButton.cjs +1 -1
  47. package/dist/ChatHeader/components/CloseButton.js +1 -1
  48. package/dist/ChatHeader/components/Handle.cjs +38 -4
  49. package/dist/ChatHeader/components/Handle.js +38 -4
  50. package/dist/ChatHeader/components/Toggle.cjs +4 -4
  51. package/dist/ChatHeader/components/Toggle.js +4 -4
  52. package/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +1 -1
  53. package/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +1 -1
  54. package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +17 -17
  55. package/dist/ChatHeader/hooks/useGetHandleProperties.js +17 -17
  56. package/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +8 -8
  57. package/dist/ChatHeader/hooks/useGetLayoutProperties.js +8 -8
  58. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +17 -17
  59. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +17 -17
  60. package/dist/ChatHeader/hooks/useGetToggleProperties.cjs +3 -3
  61. package/dist/ChatHeader/hooks/useGetToggleProperties.js +3 -3
  62. package/dist/ChatHeader/hooks/useToggleLogoSelector.cjs +1 -1
  63. package/dist/ChatHeader/hooks/useToggleLogoSelector.js +1 -1
  64. package/dist/ChatHeader/types/index.d.cts +2 -0
  65. package/dist/ChatHeader/types/index.d.ts +4 -2
  66. package/dist/ChatPreview/ChatPreview.cjs +2 -2
  67. package/dist/ChatPreview/ChatPreview.d.ts +2 -2
  68. package/dist/ChatPreview/ChatPreview.js +2 -2
  69. package/dist/ChatPreview/components/Message.cjs +4 -3
  70. package/dist/ChatPreview/components/Message.js +4 -3
  71. package/dist/ChatPreview/types/types.d.ts +1 -1
  72. package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +2 -2
  73. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
  74. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
  75. package/dist/ChatPreviewComparison/ChatPreviewComparison.js +2 -2
  76. package/dist/ChatPreviewComparison/components/Headline.cjs +3 -3
  77. package/dist/ChatPreviewComparison/components/Headline.js +3 -3
  78. package/dist/ChatPreviewComparison/components/Layout.cjs +7 -7
  79. package/dist/ChatPreviewComparison/components/Layout.js +7 -7
  80. package/dist/ChatPreviewComparison/components/Message.cjs +7 -6
  81. package/dist/ChatPreviewComparison/components/Message.js +7 -6
  82. package/dist/ChatPreviewComparison/types/types.d.ts +1 -1
  83. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.cts +2 -2
  84. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +2 -2
  85. package/dist/Container/Container.d.cts +174 -174
  86. package/dist/Container/Container.d.ts +174 -174
  87. package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
  88. package/dist/DesignTokens/DesignTokensComponent.d.ts +2 -2
  89. package/dist/DesignTokens/components/Typography.cjs +1 -1
  90. package/dist/DesignTokens/components/Typography.js +1 -1
  91. package/dist/Disclaimer/Disclaimer.cjs +23 -0
  92. package/dist/Disclaimer/Disclaimer.d.cts +19 -0
  93. package/dist/Disclaimer/Disclaimer.d.ts +19 -0
  94. package/dist/Disclaimer/Disclaimer.js +22 -0
  95. package/dist/Disclaimer/components/Container.cjs +26 -0
  96. package/dist/Disclaimer/components/Container.js +24 -0
  97. package/dist/Disclaimer/components/DisclaimerContent.cjs +19 -0
  98. package/dist/Disclaimer/components/DisclaimerContent.js +18 -0
  99. package/dist/Disclaimer/components/index.cjs +11 -0
  100. package/dist/Disclaimer/components/index.js +11 -0
  101. package/dist/Disclaimer/index.cjs +3 -0
  102. package/dist/Disclaimer/index.d.cts +2 -0
  103. package/dist/Disclaimer/index.d.ts +2 -0
  104. package/dist/Disclaimer/index.js +3 -0
  105. package/dist/Disclaimer/types/types.d.cts +30 -0
  106. package/dist/Disclaimer/types/types.d.ts +30 -0
  107. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.cts +2 -2
  108. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
  109. package/dist/DocumentRetrievalCard/components/Layout.cjs +2 -2
  110. package/dist/DocumentRetrievalCard/components/Layout.js +2 -2
  111. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
  112. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
  113. package/dist/DocumentRetrievalCard/hooks/useGetBackgroundColorsProperties.cjs +1 -1
  114. package/dist/DocumentRetrievalCard/hooks/useGetBackgroundColorsProperties.js +1 -1
  115. package/dist/DocumentRetrievalCard/hooks/useGetBorderProperties.cjs +1 -1
  116. package/dist/DocumentRetrievalCard/hooks/useGetBorderProperties.js +1 -1
  117. package/dist/DocumentRetrievalCard/hooks/useGetBorderRadiusProperties.cjs +1 -1
  118. package/dist/DocumentRetrievalCard/hooks/useGetBorderRadiusProperties.js +1 -1
  119. package/dist/DocumentRetrievalCard/hooks/useGetIconBackgroundProperties.cjs +1 -1
  120. package/dist/DocumentRetrievalCard/hooks/useGetIconBackgroundProperties.js +1 -1
  121. package/dist/DocumentRetrievalCard/hooks/useGetIconColorProperties.cjs +1 -1
  122. package/dist/DocumentRetrievalCard/hooks/useGetIconColorProperties.js +1 -1
  123. package/dist/DocumentRetrievalCard/hooks/useGetLabelTextCaseProperties.cjs +1 -1
  124. package/dist/DocumentRetrievalCard/hooks/useGetLabelTextCaseProperties.js +1 -1
  125. package/dist/DocumentRetrievalCard/hooks/useGetLabelTypographyProperties.cjs +1 -1
  126. package/dist/DocumentRetrievalCard/hooks/useGetLabelTypographyProperties.js +1 -1
  127. package/dist/DocumentRetrievalCard/index.cjs +1 -1
  128. package/dist/DocumentRetrievalCard/index.d.ts +1 -1
  129. package/dist/DocumentRetrievalCard/index.js +1 -1
  130. package/dist/DocumentRetrievalCard/types/index.d.ts +1 -1
  131. package/dist/DocumentRetrievalCard/utils/functions.cjs +1 -1
  132. package/dist/DocumentRetrievalCard/utils/functions.js +1 -1
  133. package/dist/FloatingButton/FloatingButton.cjs +2 -1
  134. package/dist/FloatingButton/FloatingButton.d.cts +4 -3
  135. package/dist/FloatingButton/FloatingButton.d.ts +4 -3
  136. package/dist/FloatingButton/FloatingButton.js +2 -1
  137. package/dist/FloatingButton/components/Container.cjs +2 -2
  138. package/dist/FloatingButton/components/Container.js +2 -2
  139. package/dist/FloatingButton/hooks/useGetButtonProperties.cjs +2 -2
  140. package/dist/FloatingButton/hooks/useGetButtonProperties.js +2 -2
  141. package/dist/FloatingButton/hooks/useGetContainerProperties.cjs +2 -2
  142. package/dist/FloatingButton/hooks/useGetContainerProperties.js +2 -2
  143. package/dist/FloatingButton/types/types.cjs +4 -4
  144. package/dist/FloatingButton/types/types.d.cts +8 -4
  145. package/dist/FloatingButton/types/types.d.ts +9 -5
  146. package/dist/FloatingButton/types/types.js +4 -4
  147. package/dist/FloatingChat/FloatingChat.cjs +121 -44
  148. package/dist/FloatingChat/FloatingChat.d.cts +4 -2
  149. package/dist/FloatingChat/FloatingChat.d.ts +4 -2
  150. package/dist/FloatingChat/FloatingChat.js +123 -46
  151. package/dist/FloatingChat/components/AgentMessage.cjs +49 -24
  152. package/dist/FloatingChat/components/AgentMessage.js +49 -24
  153. package/dist/FloatingChat/components/ChatMessages.cjs +63 -44
  154. package/dist/FloatingChat/components/ChatMessages.js +62 -43
  155. package/dist/FloatingChat/components/DocumentRetrievalCardsCarousel.cjs +2 -1
  156. package/dist/FloatingChat/components/DocumentRetrievalCardsCarousel.js +2 -1
  157. package/dist/FloatingChat/components/Layout.cjs +20 -16
  158. package/dist/FloatingChat/components/Layout.js +20 -16
  159. package/dist/FloatingChat/components/MessageDivider.cjs +8 -2
  160. package/dist/FloatingChat/components/MessageDivider.js +8 -2
  161. package/dist/FloatingChat/components/ModalSheet.cjs +184 -0
  162. package/dist/FloatingChat/components/ModalSheet.js +182 -0
  163. package/dist/FloatingChat/components/SalesAgentProductCardsCarousel.cjs +3 -2
  164. package/dist/FloatingChat/components/SalesAgentProductCardsCarousel.js +3 -2
  165. package/dist/FloatingChat/components/index.cjs +1 -0
  166. package/dist/FloatingChat/components/index.js +1 -0
  167. package/dist/FloatingChat/hooks/useChatSuggestions.cjs +25 -0
  168. package/dist/FloatingChat/hooks/useChatSuggestions.js +24 -0
  169. package/dist/FloatingChat/hooks/useFilteredChatMessages.cjs +24 -0
  170. package/dist/FloatingChat/hooks/useFilteredChatMessages.js +23 -0
  171. package/dist/FloatingChat/hooks/usePreventScroll.cjs +117 -0
  172. package/dist/FloatingChat/hooks/usePreventScroll.js +116 -0
  173. package/dist/FloatingChat/hooks/useScrollToBottom.cjs +109 -11
  174. package/dist/FloatingChat/hooks/useScrollToBottom.js +110 -12
  175. package/dist/FloatingChat/hooks/useSnapCalculator.cjs +37 -0
  176. package/dist/FloatingChat/hooks/useSnapCalculator.js +35 -0
  177. package/dist/FloatingChat/hooks/useSnapControl.cjs +82 -0
  178. package/dist/FloatingChat/hooks/useSnapControl.js +81 -0
  179. package/dist/FloatingChat/hooks/useSnapSetup.cjs +56 -0
  180. package/dist/FloatingChat/hooks/useSnapSetup.js +55 -0
  181. package/dist/FloatingChat/types/types.d.cts +9 -5
  182. package/dist/FloatingChat/types/types.d.ts +10 -6
  183. package/dist/FloatingChat/utils/functions.cjs +1 -0
  184. package/dist/FloatingChat/utils/functions.js +1 -0
  185. package/dist/Image/Image.d.cts +2 -2
  186. package/dist/Image/Image.d.ts +2 -2
  187. package/dist/ImageGallery/ImageGallery.cjs +1 -1
  188. package/dist/ImageGallery/ImageGallery.d.cts +2 -2
  189. package/dist/ImageGallery/ImageGallery.d.ts +2 -2
  190. package/dist/ImageGallery/ImageGallery.js +1 -1
  191. package/dist/ImageGallery/components/Layout.cjs +2 -2
  192. package/dist/ImageGallery/components/Layout.js +2 -2
  193. package/dist/ImageGallery/types/types.d.ts +1 -1
  194. package/dist/ImageGallery/utils/functions.cjs +1 -1
  195. package/dist/ImageGallery/utils/functions.js +1 -1
  196. package/dist/MarkdownProcessor/MarkdownProcessor.d.cts +2 -2
  197. package/dist/MarkdownProcessor/MarkdownProcessor.d.ts +2 -2
  198. package/dist/MarkdownProcessor/components/MarkdownLink.cjs +4 -1
  199. package/dist/MarkdownProcessor/components/MarkdownLink.js +4 -1
  200. package/dist/Message/components/AgentContent.cjs +6 -2
  201. package/dist/Message/components/AgentContent.js +6 -2
  202. package/dist/Message/components/LinkButton.cjs +3 -3
  203. package/dist/Message/components/LinkButton.d.cts +5 -1
  204. package/dist/Message/components/LinkButton.d.ts +5 -1
  205. package/dist/Message/components/LinkButton.js +3 -3
  206. package/dist/Message/hooks/useGetLinkButtonProperties.cjs +1 -1
  207. package/dist/Message/hooks/useGetLinkButtonProperties.js +1 -1
  208. package/dist/OrderLookupCard/OrderLookupCard.cjs +2 -2
  209. package/dist/OrderLookupCard/OrderLookupCard.js +2 -2
  210. package/dist/OrderLookupCard/hooks/useGetContainerProperties.cjs +1 -1
  211. package/dist/OrderLookupCard/hooks/useGetContainerProperties.js +1 -1
  212. package/dist/OrderLookupCard/hooks/useGetImageBorderRadiusProperties.cjs +1 -1
  213. package/dist/OrderLookupCard/hooks/useGetImageBorderRadiusProperties.js +1 -1
  214. package/dist/OrderLookupCard/hooks/useGetStatusLabelProperties.cjs +1 -1
  215. package/dist/OrderLookupCard/hooks/useGetStatusLabelProperties.js +1 -1
  216. package/dist/OrderLookupCard/hooks/useGetTrackOrderLinkProperties.cjs +1 -1
  217. package/dist/OrderLookupCard/hooks/useGetTrackOrderLinkProperties.js +1 -1
  218. package/dist/OrderLookupCard/types/index.d.ts +1 -1
  219. package/dist/ProductCard/ProductCard.cjs +43 -0
  220. package/dist/ProductCard/ProductCard.d.cts +23 -0
  221. package/dist/ProductCard/ProductCard.d.ts +23 -0
  222. package/dist/ProductCard/ProductCard.js +42 -0
  223. package/dist/ProductCard/components/Carousel.cjs +25 -0
  224. package/dist/ProductCard/components/Carousel.js +24 -0
  225. package/dist/ProductCard/components/Header.cjs +42 -0
  226. package/dist/ProductCard/components/Header.js +41 -0
  227. package/dist/ProductCard/components/Poster.cjs +18 -0
  228. package/dist/ProductCard/components/Poster.js +17 -0
  229. package/dist/ProductCard/components/index.cjs +13 -0
  230. package/dist/ProductCard/components/index.js +13 -0
  231. package/dist/ProductCard/hooks/useGetCarouselProperties.cjs +8 -0
  232. package/dist/ProductCard/hooks/useGetCarouselProperties.js +7 -0
  233. package/dist/ProductCard/hooks/useGetHeaderProperties.cjs +11 -0
  234. package/dist/ProductCard/hooks/useGetHeaderProperties.js +10 -0
  235. package/dist/ProductCard/hooks/useGetPosterProperties.cjs +13 -0
  236. package/dist/ProductCard/hooks/useGetPosterProperties.js +12 -0
  237. package/dist/ProductCard/index.cjs +3 -0
  238. package/dist/ProductCard/index.d.cts +3 -0
  239. package/dist/ProductCard/index.d.ts +3 -0
  240. package/dist/ProductCard/index.js +3 -0
  241. package/dist/ProductCard/types/index.d.cts +74 -0
  242. package/dist/ProductCard/types/index.d.ts +74 -0
  243. package/dist/PromptButton/PromptButton.cjs +1 -1
  244. package/dist/PromptButton/PromptButton.d.cts +2 -2
  245. package/dist/PromptButton/PromptButton.d.ts +2 -2
  246. package/dist/PromptButton/PromptButton.js +1 -1
  247. package/dist/PromptButton/hooks/useGetIconColorsProperties.cjs +1 -1
  248. package/dist/PromptButton/hooks/useGetIconColorsProperties.js +1 -1
  249. package/dist/PromptButton/types/index.d.ts +1 -1
  250. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +1 -1
  251. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +2 -2
  252. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +1 -1
  253. package/dist/PromptButtonCarouselWithImage/types/types.d.ts +1 -1
  254. package/dist/PromptCarousel/PromptCarousel.cjs +2 -3
  255. package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
  256. package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
  257. package/dist/PromptCarousel/PromptCarousel.js +2 -3
  258. package/dist/PromptCarousel/hooks/useCarouselRefs.cjs +1 -1
  259. package/dist/PromptCarousel/hooks/useCarouselRefs.js +2 -2
  260. package/dist/PromptCarousel/types/types.d.ts +1 -1
  261. package/dist/ReviewCard/ReviewCard.cjs +1 -1
  262. package/dist/ReviewCard/ReviewCard.d.cts +2 -2
  263. package/dist/ReviewCard/ReviewCard.d.ts +2 -2
  264. package/dist/ReviewCard/ReviewCard.js +1 -1
  265. package/dist/ReviewCard/components/Container.cjs +2 -2
  266. package/dist/ReviewCard/components/Container.d.ts +1 -1
  267. package/dist/ReviewCard/components/Container.js +2 -2
  268. package/dist/ReviewCard/components/Rating.d.ts +1 -1
  269. package/dist/ReviewCard/components/ReadMoreButton.cjs +2 -2
  270. package/dist/ReviewCard/components/ReadMoreButton.d.ts +1 -1
  271. package/dist/ReviewCard/components/ReadMoreButton.js +2 -2
  272. package/dist/ReviewCard/components/index.d.cts +6 -6
  273. package/dist/ReviewCard/components/index.d.ts +5 -5
  274. package/dist/ReviewCard/hooks/useGetBackgroundColorsProperties.cjs +1 -1
  275. package/dist/ReviewCard/hooks/useGetBackgroundColorsProperties.js +1 -1
  276. package/dist/ReviewCard/hooks/useGetBorderProperties.cjs +1 -1
  277. package/dist/ReviewCard/hooks/useGetBorderProperties.js +1 -1
  278. package/dist/ReviewCard/hooks/useGetBorderRadiusProperties.cjs +1 -1
  279. package/dist/ReviewCard/hooks/useGetBorderRadiusProperties.js +1 -1
  280. package/dist/ReviewCard/hooks/useGetRatingBackgroundProperties.cjs +1 -1
  281. package/dist/ReviewCard/hooks/useGetRatingBackgroundProperties.js +1 -1
  282. package/dist/ReviewCard/hooks/useGetReadMoreTypographyProperties.cjs +1 -1
  283. package/dist/ReviewCard/hooks/useGetReadMoreTypographyProperties.js +1 -1
  284. package/dist/ReviewCard/hooks/useGetStarIconProperties.cjs +1 -1
  285. package/dist/ReviewCard/hooks/useGetStarIconProperties.js +1 -1
  286. package/dist/ReviewCard/types/types.d.ts +1 -1
  287. package/dist/SalesAgentProductCard/SalesAgentProductCard.cjs +1 -1
  288. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
  289. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.ts +2 -2
  290. package/dist/SalesAgentProductCard/SalesAgentProductCard.js +1 -1
  291. package/dist/SalesAgentProductCard/components/Container.cjs +3 -3
  292. package/dist/SalesAgentProductCard/components/Container.d.ts +1 -1
  293. package/dist/SalesAgentProductCard/components/Container.js +3 -3
  294. package/dist/SalesAgentProductCard/components/ProductName.cjs +1 -1
  295. package/dist/SalesAgentProductCard/components/ProductName.d.ts +1 -1
  296. package/dist/SalesAgentProductCard/components/ProductName.js +1 -1
  297. package/dist/SalesAgentProductCard/components/Rate.cjs +1 -1
  298. package/dist/SalesAgentProductCard/components/Rate.d.ts +1 -1
  299. package/dist/SalesAgentProductCard/components/Rate.js +1 -1
  300. package/dist/SalesAgentProductCard/components/index.d.cts +2 -2
  301. package/dist/SalesAgentProductCard/components/index.d.ts +7 -7
  302. package/dist/SalesAgentProductCard/hooks/useGetContainerProperties.cjs +1 -1
  303. package/dist/SalesAgentProductCard/hooks/useGetContainerProperties.js +1 -1
  304. package/dist/SalesAgentProductCard/hooks/useGetProductDescriptionProperties.cjs +1 -1
  305. package/dist/SalesAgentProductCard/hooks/useGetProductDescriptionProperties.js +1 -1
  306. package/dist/SalesAgentProductCard/hooks/useGetProductNameProperties.cjs +1 -1
  307. package/dist/SalesAgentProductCard/hooks/useGetProductNameProperties.js +1 -1
  308. package/dist/SalesAgentProductCard/hooks/useGetStarIconProperties.cjs +1 -1
  309. package/dist/SalesAgentProductCard/hooks/useGetStarIconProperties.js +1 -1
  310. package/dist/SalesAgentProductCard/types/types.d.ts +1 -1
  311. package/dist/SocialProof/SocialProof.cjs +23 -11
  312. package/dist/SocialProof/SocialProof.d.cts +2 -2
  313. package/dist/SocialProof/SocialProof.d.ts +2 -2
  314. package/dist/SocialProof/SocialProof.js +22 -10
  315. package/dist/SocialProof/components/Headline.cjs +4 -4
  316. package/dist/SocialProof/components/Headline.js +4 -4
  317. package/dist/SocialProof/components/LayoutFourHorizontal.cjs +2 -2
  318. package/dist/SocialProof/components/LayoutFourHorizontal.js +2 -2
  319. package/dist/SocialProof/components/Subheadline.cjs +2 -2
  320. package/dist/SocialProof/components/Subheadline.js +2 -2
  321. package/dist/SocialProof/components/Textfield.cjs +4 -2
  322. package/dist/SocialProof/components/Textfield.js +4 -2
  323. package/dist/SocialProof/hooks/index.cjs +1 -0
  324. package/dist/SocialProof/hooks/index.js +3 -0
  325. package/dist/SocialProof/hooks/useSocialProofCount.cjs +48 -0
  326. package/dist/SocialProof/hooks/useSocialProofCount.d.cts +15 -0
  327. package/dist/SocialProof/hooks/useSocialProofCount.d.ts +15 -0
  328. package/dist/SocialProof/hooks/useSocialProofCount.js +46 -0
  329. package/dist/SocialProof/index.cjs +6 -1
  330. package/dist/SocialProof/index.d.cts +3 -2
  331. package/dist/SocialProof/index.d.ts +3 -2
  332. package/dist/SocialProof/index.js +4 -2
  333. package/dist/SocialProof/types/types.cjs +14 -1
  334. package/dist/SocialProof/types/types.d.cts +26 -6
  335. package/dist/SocialProof/types/types.d.ts +27 -7
  336. package/dist/SocialProof/types/types.js +12 -1
  337. package/dist/SocialProof/utils/functions.cjs +1 -1
  338. package/dist/SocialProof/utils/functions.js +1 -1
  339. package/dist/Stack/Stack.d.cts +2 -2
  340. package/dist/TextField/TextField.cjs +1 -1
  341. package/dist/TextField/TextField.js +1 -1
  342. package/dist/TextField/components/Input.cjs +1 -1
  343. package/dist/TextField/components/Input.js +1 -1
  344. package/dist/TextField/hooks/useGetContainerProperties.cjs +5 -5
  345. package/dist/TextField/hooks/useGetContainerProperties.js +5 -5
  346. package/dist/TextField/types/index.d.ts +1 -1
  347. package/dist/TextField/utils/getInputClasses.cjs +1 -1
  348. package/dist/TextField/utils/getInputClasses.js +1 -1
  349. package/dist/TextField/utils/getSendIconElement.cjs +1 -1
  350. package/dist/TextField/utils/getSendIconElement.js +1 -1
  351. package/dist/TitledPromptCarousel/TitledPromptCarousel.cjs +2 -2
  352. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
  353. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.ts +2 -2
  354. package/dist/TitledPromptCarousel/TitledPromptCarousel.js +2 -2
  355. package/dist/TitledPromptCarousel/types/index.d.ts +1 -1
  356. package/dist/Tokens/index.cjs +13 -13
  357. package/dist/Tokens/index.d.ts +13 -13
  358. package/dist/Tokens/index.js +13 -13
  359. package/dist/TypingAnimation/TypingAnimation.cjs +2 -2
  360. package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
  361. package/dist/TypingAnimation/TypingAnimation.d.ts +2 -2
  362. package/dist/TypingAnimation/TypingAnimation.js +2 -2
  363. package/dist/TypingAnimation/hooks/useGetTypographyVariant.cjs +2 -2
  364. package/dist/TypingAnimation/hooks/useGetTypographyVariant.js +2 -2
  365. package/dist/TypingAnimation/types/index.d.ts +1 -1
  366. package/dist/Typography/Typography.d.cts +4 -4
  367. package/dist/Typography/Typography.d.ts +4 -4
  368. package/dist/WelcomeMessage/WelcomeMessage.cjs +1 -1
  369. package/dist/WelcomeMessage/WelcomeMessage.js +1 -1
  370. package/dist/WelcomeMessage/components/Container.cjs +2 -2
  371. package/dist/WelcomeMessage/components/Container.js +2 -2
  372. package/dist/WelcomeMessage/hooks/useGetContainerProperties.cjs +1 -1
  373. package/dist/WelcomeMessage/hooks/useGetContainerProperties.js +1 -1
  374. package/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.cjs +3 -1
  375. package/dist/WelcomeMessage/hooks/useGetSparkleIconProperties.js +3 -1
  376. package/dist/WelcomeMessage/types/types.cjs +1 -1
  377. package/dist/WelcomeMessage/types/types.d.ts +1 -1
  378. package/dist/WelcomeMessage/types/types.js +1 -1
  379. package/dist/WidgetTextField/WidgetTextField.cjs +7 -3
  380. package/dist/WidgetTextField/WidgetTextField.d.cts +3 -2
  381. package/dist/WidgetTextField/WidgetTextField.d.ts +3 -2
  382. package/dist/WidgetTextField/WidgetTextField.js +7 -3
  383. package/dist/WidgetTextField/components/Container.cjs +9 -3
  384. package/dist/WidgetTextField/components/Container.js +9 -3
  385. package/dist/WidgetTextField/components/Icon.cjs +45 -14
  386. package/dist/WidgetTextField/components/Icon.js +43 -14
  387. package/dist/WidgetTextField/components/Skeleton.cjs +1 -1
  388. package/dist/WidgetTextField/components/Skeleton.js +1 -1
  389. package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -4
  390. package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -4
  391. package/dist/WidgetTextField/types/types.cjs +10 -0
  392. package/dist/WidgetTextField/types/types.d.cts +9 -0
  393. package/dist/WidgetTextField/types/types.d.ts +10 -1
  394. package/dist/WidgetTextField/types/types.js +9 -0
  395. package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
  396. package/dist/WidgetWrapper/WidgetWrapper.d.ts +2 -2
  397. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
  398. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts +2 -2
  399. package/dist/node_modules/jotai/esm/react.cjs +44 -0
  400. package/dist/node_modules/jotai/esm/react.js +42 -0
  401. package/dist/node_modules/jotai/esm/vanilla/internals.cjs +523 -0
  402. package/dist/node_modules/jotai/esm/vanilla/internals.js +522 -0
  403. package/dist/node_modules/jotai/esm/vanilla.cjs +22 -0
  404. package/dist/node_modules/jotai/esm/vanilla.js +22 -0
  405. package/dist/{src → packages/components-v3/src}/models/colorsConfig.cjs +1 -3
  406. package/dist/{src → packages/components-v3/src}/models/colorsConfig.js +1 -2
  407. package/dist/packages/components-v3/tokens/utils.cjs +14 -0
  408. package/dist/packages/components-v3/tokens/utils.js +12 -0
  409. package/dist/styles.css +1 -1
  410. package/dist/utils/resolveTheme.cjs +1 -1
  411. package/dist/utils/resolveTheme.js +1 -1
  412. package/dist/utils/useCheckIsMobile.cjs +1 -1
  413. package/dist/utils/useCheckIsMobile.js +1 -1
  414. package/dist/utils/useResponsiveValue.cjs +1 -1
  415. package/dist/utils/useResponsiveValue.d.ts +1 -1
  416. package/dist/utils/useResponsiveValue.js +1 -1
  417. package/package.json +9 -1
  418. package/src/components/AnimatedText/AnimatedText.tsx +25 -6
  419. package/src/components/AnimatedText/types/types.ts +0 -4
  420. package/src/components/ChatFooter/hooks/useGetContainerProperties.ts +3 -4
  421. package/src/components/ChatHeader/ChatHeader.tsx +2 -0
  422. package/src/components/ChatHeader/components/Handle.tsx +37 -3
  423. package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +16 -16
  424. package/src/components/ChatHeader/hooks/useGetLayoutProperties.ts +8 -10
  425. package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +16 -16
  426. package/src/components/ChatHeader/hooks/useGetToggleProperties.ts +2 -2
  427. package/src/components/ChatHeader/types/index.ts +3 -0
  428. package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +17 -8
  429. package/src/components/ChatPreview/components/Message.tsx +13 -7
  430. package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +16 -6
  431. package/src/components/ChatPreviewComparison/components/Message.tsx +13 -7
  432. package/src/components/DesignTokens/components/Typography.tsx +1 -1
  433. package/src/components/Disclaimer/Disclaimer.tsx +27 -0
  434. package/src/components/Disclaimer/components/Container.tsx +35 -0
  435. package/src/components/Disclaimer/components/DisclaimerContent.tsx +18 -0
  436. package/src/components/Disclaimer/components/index.ts +7 -0
  437. package/src/components/Disclaimer/index.ts +1 -0
  438. package/src/components/Disclaimer/types/types.ts +27 -0
  439. package/src/components/FloatingButton/FloatingButton.tsx +2 -0
  440. package/src/components/FloatingButton/components/Container.tsx +3 -0
  441. package/src/components/FloatingButton/hooks/useGetButtonProperties.ts +4 -3
  442. package/src/components/FloatingButton/hooks/useGetContainerProperties.ts +2 -1
  443. package/src/components/FloatingButton/types/types.ts +9 -4
  444. package/src/components/FloatingChat/FloatingChat.tsx +186 -64
  445. package/src/components/FloatingChat/components/AgentMessage.tsx +51 -19
  446. package/src/components/FloatingChat/components/ChatMessages.tsx +35 -2
  447. package/src/components/FloatingChat/components/DocumentRetrievalCardsCarousel.tsx +3 -0
  448. package/src/components/FloatingChat/components/Layout.tsx +28 -6
  449. package/src/components/FloatingChat/components/MessageDivider.tsx +8 -2
  450. package/src/components/FloatingChat/components/ModalSheet.tsx +288 -0
  451. package/src/components/FloatingChat/components/SalesAgentProductCardsCarousel.tsx +7 -2
  452. package/src/components/FloatingChat/components/index.ts +3 -0
  453. package/src/components/FloatingChat/hooks/useChatSuggestions.ts +49 -0
  454. package/src/components/FloatingChat/hooks/useFilteredChatMessages.ts +43 -0
  455. package/src/components/FloatingChat/hooks/usePreventScroll.ts +207 -0
  456. package/src/components/FloatingChat/hooks/useScrollToBottom.ts +153 -11
  457. package/src/components/FloatingChat/hooks/useSnapCalculator.ts +41 -0
  458. package/src/components/FloatingChat/hooks/useSnapControl.ts +131 -0
  459. package/src/components/FloatingChat/hooks/useSnapSetup.ts +103 -0
  460. package/src/components/FloatingChat/types/types.ts +9 -5
  461. package/src/components/FloatingChat/utils/functions.ts +1 -0
  462. package/src/components/MarkdownProcessor/components/MarkdownLink.tsx +2 -0
  463. package/src/components/Message/__tests__/Message.test.tsx +40 -2
  464. package/src/components/Message/components/AgentContent.tsx +10 -2
  465. package/src/components/Message/components/LinkButton.tsx +3 -2
  466. package/src/components/Message/hooks/useGetLinkButtonProperties.ts +1 -1
  467. package/src/components/ProductCard/ProductCard.tsx +54 -0
  468. package/src/components/ProductCard/__tests__/ProductCard.test.tsx +191 -0
  469. package/src/components/ProductCard/components/Carousel.tsx +26 -0
  470. package/src/components/ProductCard/components/Header.tsx +53 -0
  471. package/src/components/ProductCard/components/Poster.tsx +15 -0
  472. package/src/components/ProductCard/components/index.ts +9 -0
  473. package/src/components/ProductCard/hooks/useGetCarouselProperties.ts +7 -0
  474. package/src/components/ProductCard/hooks/useGetHeaderProperties.ts +9 -0
  475. package/src/components/ProductCard/hooks/useGetInputProperties.ts +22 -0
  476. package/src/components/ProductCard/hooks/useGetPosterProperties.ts +19 -0
  477. package/src/components/ProductCard/index.ts +2 -0
  478. package/src/components/ProductCard/types/index.ts +79 -0
  479. package/src/components/PromptCarousel/PromptCarousel.tsx +0 -1
  480. package/src/components/PromptCarousel/hooks/useCarouselRefs.ts +5 -4
  481. package/src/components/SocialProof/SocialProof.tsx +25 -12
  482. package/src/components/SocialProof/__tests__/SocialProof.test.tsx +66 -17
  483. package/src/components/SocialProof/components/Textfield.tsx +4 -0
  484. package/src/components/SocialProof/hooks/index.ts +2 -0
  485. package/src/components/SocialProof/hooks/useSocialProofCount.ts +67 -0
  486. package/src/components/SocialProof/index.ts +2 -1
  487. package/src/components/SocialProof/types/types.ts +30 -6
  488. package/src/components/TextField/components/Input.tsx +6 -1
  489. package/src/components/TextField/hooks/useGetContainerProperties.ts +4 -4
  490. package/src/components/WelcomeMessage/hooks/useGetSparkleIconProperties.ts +5 -2
  491. package/src/components/WidgetTextField/WidgetTextField.tsx +8 -2
  492. package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +54 -0
  493. package/src/components/WidgetTextField/components/Container.tsx +2 -2
  494. package/src/components/WidgetTextField/components/Icon.tsx +50 -7
  495. package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +5 -3
  496. package/src/components/WidgetTextField/types/types.ts +10 -0
  497. package/dist/tokens/utils.cjs +0 -6
  498. package/dist/tokens/utils.js +0 -5
  499. /package/dist/{src → packages/components-v3/src}/models/colorsConfig.d.ts +0 -0
  500. /package/dist/{tokens → packages/components-v3/tokens}/aspectRatio/aspectRatio.cjs +0 -0
  501. /package/dist/{tokens → packages/components-v3/tokens}/aspectRatio/aspectRatio.d.ts +0 -0
  502. /package/dist/{tokens → packages/components-v3/tokens}/aspectRatio/aspectRatio.js +0 -0
  503. /package/dist/{tokens → packages/components-v3/tokens}/breakpoints/breakpoints.cjs +0 -0
  504. /package/dist/{tokens → packages/components-v3/tokens}/breakpoints/breakpoints.d.ts +0 -0
  505. /package/dist/{tokens → packages/components-v3/tokens}/breakpoints/breakpoints.js +0 -0
  506. /package/dist/{tokens → packages/components-v3/tokens}/colors/colors.cjs +0 -0
  507. /package/dist/{tokens → packages/components-v3/tokens}/colors/colors.d.ts +0 -0
  508. /package/dist/{tokens → packages/components-v3/tokens}/colors/colors.js +0 -0
  509. /package/dist/{tokens → packages/components-v3/tokens}/montion/motion.cjs +0 -0
  510. /package/dist/{tokens → packages/components-v3/tokens}/montion/motion.d.ts +0 -0
  511. /package/dist/{tokens → packages/components-v3/tokens}/montion/motion.js +0 -0
  512. /package/dist/{tokens → packages/components-v3/tokens}/radius/radius.cjs +0 -0
  513. /package/dist/{tokens → packages/components-v3/tokens}/radius/radius.d.ts +0 -0
  514. /package/dist/{tokens → packages/components-v3/tokens}/radius/radius.js +0 -0
  515. /package/dist/{tokens → packages/components-v3/tokens}/spacing/spacing.cjs +0 -0
  516. /package/dist/{tokens → packages/components-v3/tokens}/spacing/spacing.d.ts +0 -0
  517. /package/dist/{tokens → packages/components-v3/tokens}/spacing/spacing.js +0 -0
  518. /package/dist/{tokens → packages/components-v3/tokens}/theme/theme.cjs +0 -0
  519. /package/dist/{tokens → packages/components-v3/tokens}/theme/theme.d.ts +0 -0
  520. /package/dist/{tokens → packages/components-v3/tokens}/theme/theme.js +0 -0
  521. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontFamily.cjs +0 -0
  522. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontFamily.d.ts +0 -0
  523. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontFamily.js +0 -0
  524. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontSize.cjs +0 -0
  525. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontSize.d.ts +0 -0
  526. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontSize.js +0 -0
  527. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontWeight.cjs +0 -0
  528. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontWeight.d.ts +0 -0
  529. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontWeight.js +0 -0
  530. /package/dist/{tokens → packages/components-v3/tokens}/typography/letterSpacing.cjs +0 -0
  531. /package/dist/{tokens → packages/components-v3/tokens}/typography/letterSpacing.d.ts +0 -0
  532. /package/dist/{tokens → packages/components-v3/tokens}/typography/letterSpacing.js +0 -0
  533. /package/dist/{tokens → packages/components-v3/tokens}/typography/lineHeight.cjs +0 -0
  534. /package/dist/{tokens → packages/components-v3/tokens}/typography/lineHeight.d.ts +0 -0
  535. /package/dist/{tokens → packages/components-v3/tokens}/typography/lineHeight.js +0 -0
  536. /package/dist/{tokens → packages/components-v3/tokens}/typography/typography.cjs +0 -0
  537. /package/dist/{tokens → packages/components-v3/tokens}/typography/typography.d.ts +0 -0
  538. /package/dist/{tokens → packages/components-v3/tokens}/typography/typography.js +0 -0
@@ -1,7 +1,5 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_theme = require('../tokens/theme/theme.cjs');
3
- const require_Stack = require('../Stack/Stack.cjs');
4
- require('../Stack/index.cjs');
2
+ const require_theme = require('../packages/components-v3/tokens/theme/theme.cjs');
5
3
  const require_resolveTheme = require('../utils/resolveTheme.cjs');
6
4
  const require_PromptButton_types_index = require('../PromptButton/types/index.cjs');
7
5
  require('../PromptButton/index.cjs');
@@ -13,36 +11,42 @@ require('../ChatFooter/index.cjs');
13
11
  const require_index = require('../ChatHeader/types/index.cjs');
14
12
  const require_ChatHeader = require('../ChatHeader/ChatHeader.cjs');
15
13
  require('../ChatHeader/index.cjs');
14
+ const require_Disclaimer = require('../Disclaimer/Disclaimer.cjs');
15
+ require('../Disclaimer/index.cjs');
16
+ const require_useSnapCalculator = require('./hooks/useSnapCalculator.cjs');
17
+ const require_ModalSheet = require('./components/ModalSheet.cjs');
16
18
  const require_index$1 = require('./components/index.cjs');
17
19
  const require_useScrollToBottom = require('./hooks/useScrollToBottom.cjs');
20
+ const require_useSnapSetup = require('./hooks/useSnapSetup.cjs');
21
+ const require_useChatSuggestions = require('./hooks/useChatSuggestions.cjs');
18
22
  const require_WelcomeMessage = require('../WelcomeMessage/WelcomeMessage.cjs');
23
+ const require_useFilteredChatMessages = require('./hooks/useFilteredChatMessages.cjs');
19
24
  let react = require("react");
20
25
  let react_jsx_runtime = require("react/jsx-runtime");
26
+ let framer_motion = require("framer-motion");
21
27
 
22
28
  //#region src/components/FloatingChat/FloatingChat.tsx
23
- const FloatingChat = ({ id, className, style, testId, theme = require_theme.Theme.GLOBAL_CUSTOM, salesAgentData, floatingChatConfig, lookAndFeelConfig, isCXButtonSwitchEnabled, onClose, onToggleCXButton }) => {
29
+ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Theme.GLOBAL_CUSTOM, salesAgentData, floatingChatConfig, hardcopyContent, lookAndFeelConfig, isCXButtonSwitchEnabled, isFloatingChatOpen, onClose, onToggleCXButton }) => {
24
30
  const finalTheme = require_resolveTheme.resolveTheme(theme);
25
31
  const [query, setQuery] = (0, react.useState)("");
26
32
  const chatMessagesRef = (0, react.useRef)(null);
27
- const { headerBackgroundColor, headerMode, welcomeMessageIconColor, showVerifiedBuyer, userQueryInputEnabled, showEnviveLogo, ignoreFirstModelResponse, neverShowSingleProductCards, welcomeMessageTitle, welcomeMessageText, chatFooterTextFieldPlaceholderText } = floatingChatConfig;
33
+ const { headerBackgroundColor, headerMode, welcomeMessageIconColor, showVerifiedBuyer, userQueryInputEnabled = true, showEnviveLogo, ignoreFirstModelResponse, neverShowSingleProductCards } = floatingChatConfig;
34
+ const { welcomeMessageTitle, welcomeMessageText, chatFooterTextFieldPlaceholderText, disclaimerText } = hardcopyContent?.values ?? {};
28
35
  const { agentName, chatHeaderLogoDarkSrc, chatHeaderLogoLightSrc } = lookAndFeelConfig;
29
- const { messages, isResponseStreaming, isPendingResponse, suggestions, onSuggestionClicked, onTypedMessageSubmitted } = salesAgentData;
30
- const [answerSuggestions, setAnswerSuggestions] = (0, react.useState)([]);
31
- const [generalSuggestions, setGeneralSuggestions] = (0, react.useState)([]);
32
- const showAnswerSuggestions = answerSuggestions.length > 0 && !isPendingResponse && !isResponseStreaming;
33
- (0, react.useEffect)(() => {
34
- if (suggestions.length > 0) {
35
- setAnswerSuggestions(suggestions.filter((suggestion) => suggestion.isAnswer).map((suggestion) => suggestion.content));
36
- setGeneralSuggestions(suggestions.filter((suggestion) => !suggestion.isAnswer).map((suggestion) => suggestion.content));
37
- }
38
- }, [suggestions]);
36
+ const { messages, isResponseStreaming, isPendingResponse, suggestions, onSuggestionClicked, onTypedMessageSubmitted, onFormResponseSubmitted } = salesAgentData;
37
+ const { answerSuggestions, generalSuggestions, showAnswerSuggestions, setAnswerSuggestions, setGeneralSuggestions } = require_useChatSuggestions.useChatSuggestions({
38
+ suggestions,
39
+ isPendingResponse,
40
+ isResponseStreaming
41
+ });
39
42
  const handleToggleCXButton = (item) => {
40
43
  if (item === require_index.ChatHeaderOptions.LIVE_SUPPORT) {
41
44
  onToggleCXButton?.();
42
45
  onClose();
43
46
  }
44
47
  };
45
- const { showScrollButton, scrollToBottom } = require_useScrollToBottom.useScrollToBottom({
48
+ const { modalSheetControl, maxSwipeableViewHeight, isOpen, isMobile, snaps, initialSnap, shouldAutoExpand, currentSnapPercentage, handleSnapChange, animationKey, mobileHeaderHeight, shouldShowHeader, isFullView, isPartialView } = require_useSnapSetup.useSnapSetup({ isFloatingChatOpen });
49
+ const { showScrollButton, scrollToBottom, isFloatingLayout } = require_useScrollToBottom.useScrollToBottom({
46
50
  messagesRef: chatMessagesRef,
47
51
  autoScrollDependencies: [
48
52
  messages,
@@ -51,7 +55,16 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
51
55
  answerSuggestions,
52
56
  generalSuggestions
53
57
  ],
54
- scrollThreshold: 30
58
+ scrollThreshold: 100,
59
+ useFloatingLayout: isMobile && isPartialView,
60
+ footerHeight: 160,
61
+ isOpen: isFloatingChatOpen
62
+ });
63
+ const { filteredMessages, hasFilteredMessages, handlePreviousDiscussions } = require_useFilteredChatMessages.useFilteredChatMessages({
64
+ messages,
65
+ isMobile,
66
+ currentSnapPercentage,
67
+ modalSheetControl
55
68
  });
56
69
  const header = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatHeader.ChatHeader, {
57
70
  logoDark: chatHeaderLogoDarkSrc,
@@ -67,32 +80,62 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
67
80
  variant: headerMode,
68
81
  headerBgColor: headerBackgroundColor
69
82
  });
70
- const footer = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Stack.Stack, {
71
- direction: "column",
72
- gap: 4,
73
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatFooter.ChatFooter, {
83
+ const mobileHeader = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
84
+ style: {
85
+ maxHeight: mobileHeaderHeight,
86
+ overflow: "hidden"
87
+ },
88
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatHeader.ChatHeader, {
89
+ logoDark: chatHeaderLogoDarkSrc,
90
+ logoLight: chatHeaderLogoLightSrc,
74
91
  theme: finalTheme,
75
- isScrolled: false,
76
- onChange: setQuery,
77
- onSubmit: () => {
78
- onTypedMessageSubmitted({ query });
79
- setAnswerSuggestions([]);
80
- setGeneralSuggestions([]);
81
- },
82
- textFieldPlaceholderText: chatFooterTextFieldPlaceholderText,
83
- promptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0 ? ["Loading suggestions 1...", "Loading suggestions 2..."] : generalSuggestions,
84
- handleButtonClick: (buttonText) => {
85
- const suggestion = suggestions.find((s) => s.content === buttonText && !s.isAnswer);
86
- if (suggestion) onSuggestionClicked(suggestion);
87
- setAnswerSuggestions([]);
88
- setGeneralSuggestions([]);
89
- },
90
- disabled: isPendingResponse || isResponseStreaming,
91
- disabledInput: !userQueryInputEnabled,
92
- isLoadingPromptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0,
93
- hideEnviveWatermark: !showEnviveLogo
92
+ variant: headerMode,
93
+ headerBgColor: headerBackgroundColor,
94
+ showLogo: true,
95
+ showCXToggle: isCXButtonSwitchEnabled,
96
+ centralizeCXToggle: true,
97
+ selectedOption: require_index.ChatHeaderOptions.ASSISTANT,
98
+ onToggle: handleToggleCXButton,
99
+ onClose
94
100
  })
95
101
  });
102
+ const handler = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatHeader.ChatHeader, {
103
+ theme: finalTheme,
104
+ variant: headerMode,
105
+ headerBgColor: headerBackgroundColor,
106
+ showHandle: true,
107
+ handleState: isFullView ? require_index.HandleState.OPEN : require_index.HandleState.CLOSED,
108
+ handleAnimationKey: animationKey,
109
+ showMainContent: false,
110
+ selectedOption: require_index.ChatHeaderOptions.ASSISTANT,
111
+ onToggle: handleToggleCXButton,
112
+ onClose
113
+ });
114
+ const footer = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ChatFooter.ChatFooter, {
115
+ theme: finalTheme,
116
+ isScrolled: isMobile ? isFloatingLayout : false,
117
+ onChange: setQuery,
118
+ onSubmit: () => {
119
+ onTypedMessageSubmitted({
120
+ query,
121
+ userTyped: true
122
+ });
123
+ setAnswerSuggestions([]);
124
+ setGeneralSuggestions([]);
125
+ },
126
+ textFieldPlaceholderText: chatFooterTextFieldPlaceholderText,
127
+ promptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0 ? ["Loading suggestions 1...", "Loading suggestions 2..."] : generalSuggestions,
128
+ handleButtonClick: (buttonText) => {
129
+ const suggestion = suggestions.find((s) => s.content === buttonText && !s.isAnswer);
130
+ if (suggestion) onSuggestionClicked(suggestion);
131
+ setAnswerSuggestions([]);
132
+ setGeneralSuggestions([]);
133
+ },
134
+ disabled: isPendingResponse || isResponseStreaming,
135
+ disabledInput: !userQueryInputEnabled,
136
+ isLoadingPromptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0,
137
+ hideEnviveWatermark: !showEnviveLogo
138
+ });
96
139
  const welcomeMessage = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_WelcomeMessage.WelcomeMessage, {
97
140
  sparkleIconColor: welcomeMessageIconColor,
98
141
  title: welcomeMessageTitle,
@@ -104,11 +147,15 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
104
147
  ref: chatMessagesRef,
105
148
  isLoading: isPendingResponse && !isResponseStreaming,
106
149
  agentName,
107
- messages,
150
+ messages: filteredMessages,
151
+ hasFilteredMessages,
152
+ handlePreviousDiscussions,
108
153
  isResponseStreaming,
109
154
  ignoreFirstModelResponse,
110
155
  neverShowSingleProductCards,
111
- showVerifiedBuyer
156
+ showVerifiedBuyer,
157
+ isPartialView,
158
+ onFormResponseSubmitted
112
159
  });
113
160
  const answerSuggestionsComponent = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PromptCarousel.PromptCarousel, {
114
161
  className: "envive-tw-flex envive-tw-justify-end envive-tw-p-4 [&>div>div]:envive-tw-items-end",
@@ -123,7 +170,7 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
123
170
  setGeneralSuggestions([]);
124
171
  }
125
172
  });
126
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.FloatingChatComponents.Layout, {
173
+ const desktopLayout = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.FloatingChatComponents.Layout, {
127
174
  id,
128
175
  className,
129
176
  style,
@@ -134,8 +181,38 @@ const FloatingChat = ({ id, className, style, testId, theme = require_theme.Them
134
181
  welcomeMessage,
135
182
  chatMessages,
136
183
  answerSuggestions: showAnswerSuggestions ? answerSuggestionsComponent : void 0,
137
- scrollToBottomButton: showScrollButton ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.FloatingChatComponents.ScrollToBottomButton, { onClick: scrollToBottom }) : void 0
184
+ scrollToBottomButton: showScrollButton ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.FloatingChatComponents.ScrollToBottomButton, { onClick: scrollToBottom }) : void 0,
185
+ disclaimer: disclaimerText && typeof disclaimerText === "string" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Disclaimer.Disclaimer, { disclaimerMarkdown: disclaimerText }) : void 0
186
+ });
187
+ const mobileLayout = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.FloatingChatComponents.Layout, {
188
+ id,
189
+ className,
190
+ style,
191
+ testId,
192
+ theme: finalTheme,
193
+ header: shouldShowHeader ? mobileHeader : void 0,
194
+ footer,
195
+ welcomeMessage,
196
+ chatMessages,
197
+ answerSuggestions: showAnswerSuggestions ? answerSuggestionsComponent : void 0,
198
+ scrollToBottomButton: showScrollButton ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.FloatingChatComponents.ScrollToBottomButton, { onClick: scrollToBottom }) : void 0,
199
+ disclaimer: disclaimerText && typeof disclaimerText === "string" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Disclaimer.Disclaimer, { disclaimerMarkdown: disclaimerText }) : void 0,
200
+ isFloatingFooterLayout: isFloatingLayout
138
201
  });
202
+ return isMobile ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ModalSheet.ModalSheet, {
203
+ animationKey,
204
+ open: isOpen,
205
+ height: maxSwipeableViewHeight,
206
+ handler,
207
+ unit: require_useSnapCalculator.Unit.PERCENT,
208
+ snaps,
209
+ initSnap: initialSnap,
210
+ onSnap: handleSnapChange,
211
+ onClose,
212
+ controlRef: modalSheetControl,
213
+ disableDrag: shouldAutoExpand,
214
+ children: mobileLayout
215
+ }) : desktopLayout;
139
216
  };
140
217
 
141
218
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { FloatingChatProps } from "./types/types.cjs";
2
- import * as react_jsx_runtime10 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime25 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/FloatingChat/FloatingChat.d.ts
5
5
  declare const FloatingChat: ({
@@ -10,10 +10,12 @@ declare const FloatingChat: ({
10
10
  theme,
11
11
  salesAgentData,
12
12
  floatingChatConfig,
13
+ hardcopyContent,
13
14
  lookAndFeelConfig,
14
15
  isCXButtonSwitchEnabled,
16
+ isFloatingChatOpen,
15
17
  onClose,
16
18
  onToggleCXButton
17
- }: FloatingChatProps) => react_jsx_runtime10.JSX.Element;
19
+ }: FloatingChatProps) => react_jsx_runtime25.JSX.Element;
18
20
  //#endregion
19
21
  export { FloatingChat };
@@ -1,5 +1,5 @@
1
1
  import { FloatingChatProps } from "./types/types.js";
2
- import * as react_jsx_runtime28 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime25 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/FloatingChat/FloatingChat.d.ts
5
5
  declare const FloatingChat: ({
@@ -10,10 +10,12 @@ declare const FloatingChat: ({
10
10
  theme,
11
11
  salesAgentData,
12
12
  floatingChatConfig,
13
+ hardcopyContent,
13
14
  lookAndFeelConfig,
14
15
  isCXButtonSwitchEnabled,
16
+ isFloatingChatOpen,
15
17
  onClose,
16
18
  onToggleCXButton
17
- }: FloatingChatProps) => react_jsx_runtime28.JSX.Element;
19
+ }: FloatingChatProps) => react_jsx_runtime25.JSX.Element;
18
20
  //#endregion
19
21
  export { FloatingChat };
@@ -1,6 +1,4 @@
1
- import { Theme } from "../tokens/theme/theme.js";
2
- import { Stack } from "../Stack/Stack.js";
3
- import "../Stack/index.js";
1
+ import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
4
2
  import { resolveTheme } from "../utils/resolveTheme.js";
5
3
  import { PromptButtonVariant } from "../PromptButton/types/index.js";
6
4
  import "../PromptButton/index.js";
@@ -9,39 +7,45 @@ import { PromptCarousel } from "../PromptCarousel/PromptCarousel.js";
9
7
  import "../PromptCarousel/index.js";
10
8
  import { ChatFooter } from "../ChatFooter/ChatFooter.js";
11
9
  import "../ChatFooter/index.js";
12
- import { ChatHeaderOptions } from "../ChatHeader/types/index.js";
10
+ import { ChatHeaderOptions, HandleState } from "../ChatHeader/types/index.js";
13
11
  import { ChatHeader } from "../ChatHeader/ChatHeader.js";
14
12
  import "../ChatHeader/index.js";
13
+ import { Disclaimer } from "../Disclaimer/Disclaimer.js";
14
+ import "../Disclaimer/index.js";
15
+ import { Unit } from "./hooks/useSnapCalculator.js";
16
+ import { ModalSheet } from "./components/ModalSheet.js";
15
17
  import { FloatingChatComponents } from "./components/index.js";
16
18
  import { useScrollToBottom } from "./hooks/useScrollToBottom.js";
19
+ import { useSnapSetup } from "./hooks/useSnapSetup.js";
20
+ import { useChatSuggestions } from "./hooks/useChatSuggestions.js";
17
21
  import { WelcomeMessage } from "../WelcomeMessage/WelcomeMessage.js";
18
- import { useEffect, useRef, useState } from "react";
22
+ import { useFilteredChatMessages } from "./hooks/useFilteredChatMessages.js";
23
+ import { useRef, useState } from "react";
19
24
  import { jsx } from "react/jsx-runtime";
25
+ import { motion } from "framer-motion";
20
26
 
21
27
  //#region src/components/FloatingChat/FloatingChat.tsx
22
- const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTOM, salesAgentData, floatingChatConfig, lookAndFeelConfig, isCXButtonSwitchEnabled, onClose, onToggleCXButton }) => {
28
+ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTOM, salesAgentData, floatingChatConfig, hardcopyContent, lookAndFeelConfig, isCXButtonSwitchEnabled, isFloatingChatOpen, onClose, onToggleCXButton }) => {
23
29
  const finalTheme = resolveTheme(theme);
24
30
  const [query, setQuery] = useState("");
25
31
  const chatMessagesRef = useRef(null);
26
- const { headerBackgroundColor, headerMode, welcomeMessageIconColor, showVerifiedBuyer, userQueryInputEnabled, showEnviveLogo, ignoreFirstModelResponse, neverShowSingleProductCards, welcomeMessageTitle, welcomeMessageText, chatFooterTextFieldPlaceholderText } = floatingChatConfig;
32
+ const { headerBackgroundColor, headerMode, welcomeMessageIconColor, showVerifiedBuyer, userQueryInputEnabled = true, showEnviveLogo, ignoreFirstModelResponse, neverShowSingleProductCards } = floatingChatConfig;
33
+ const { welcomeMessageTitle, welcomeMessageText, chatFooterTextFieldPlaceholderText, disclaimerText } = hardcopyContent?.values ?? {};
27
34
  const { agentName, chatHeaderLogoDarkSrc, chatHeaderLogoLightSrc } = lookAndFeelConfig;
28
- const { messages, isResponseStreaming, isPendingResponse, suggestions, onSuggestionClicked, onTypedMessageSubmitted } = salesAgentData;
29
- const [answerSuggestions, setAnswerSuggestions] = useState([]);
30
- const [generalSuggestions, setGeneralSuggestions] = useState([]);
31
- const showAnswerSuggestions = answerSuggestions.length > 0 && !isPendingResponse && !isResponseStreaming;
32
- useEffect(() => {
33
- if (suggestions.length > 0) {
34
- setAnswerSuggestions(suggestions.filter((suggestion) => suggestion.isAnswer).map((suggestion) => suggestion.content));
35
- setGeneralSuggestions(suggestions.filter((suggestion) => !suggestion.isAnswer).map((suggestion) => suggestion.content));
36
- }
37
- }, [suggestions]);
35
+ const { messages, isResponseStreaming, isPendingResponse, suggestions, onSuggestionClicked, onTypedMessageSubmitted, onFormResponseSubmitted } = salesAgentData;
36
+ const { answerSuggestions, generalSuggestions, showAnswerSuggestions, setAnswerSuggestions, setGeneralSuggestions } = useChatSuggestions({
37
+ suggestions,
38
+ isPendingResponse,
39
+ isResponseStreaming
40
+ });
38
41
  const handleToggleCXButton = (item) => {
39
42
  if (item === ChatHeaderOptions.LIVE_SUPPORT) {
40
43
  onToggleCXButton?.();
41
44
  onClose();
42
45
  }
43
46
  };
44
- const { showScrollButton, scrollToBottom } = useScrollToBottom({
47
+ const { modalSheetControl, maxSwipeableViewHeight, isOpen, isMobile, snaps, initialSnap, shouldAutoExpand, currentSnapPercentage, handleSnapChange, animationKey, mobileHeaderHeight, shouldShowHeader, isFullView, isPartialView } = useSnapSetup({ isFloatingChatOpen });
48
+ const { showScrollButton, scrollToBottom, isFloatingLayout } = useScrollToBottom({
45
49
  messagesRef: chatMessagesRef,
46
50
  autoScrollDependencies: [
47
51
  messages,
@@ -50,7 +54,16 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
50
54
  answerSuggestions,
51
55
  generalSuggestions
52
56
  ],
53
- scrollThreshold: 30
57
+ scrollThreshold: 100,
58
+ useFloatingLayout: isMobile && isPartialView,
59
+ footerHeight: 160,
60
+ isOpen: isFloatingChatOpen
61
+ });
62
+ const { filteredMessages, hasFilteredMessages, handlePreviousDiscussions } = useFilteredChatMessages({
63
+ messages,
64
+ isMobile,
65
+ currentSnapPercentage,
66
+ modalSheetControl
54
67
  });
55
68
  const header = /* @__PURE__ */ jsx(ChatHeader, {
56
69
  logoDark: chatHeaderLogoDarkSrc,
@@ -66,32 +79,62 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
66
79
  variant: headerMode,
67
80
  headerBgColor: headerBackgroundColor
68
81
  });
69
- const footer = /* @__PURE__ */ jsx(Stack, {
70
- direction: "column",
71
- gap: 4,
72
- children: /* @__PURE__ */ jsx(ChatFooter, {
82
+ const mobileHeader = /* @__PURE__ */ jsx(motion.div, {
83
+ style: {
84
+ maxHeight: mobileHeaderHeight,
85
+ overflow: "hidden"
86
+ },
87
+ children: /* @__PURE__ */ jsx(ChatHeader, {
88
+ logoDark: chatHeaderLogoDarkSrc,
89
+ logoLight: chatHeaderLogoLightSrc,
73
90
  theme: finalTheme,
74
- isScrolled: false,
75
- onChange: setQuery,
76
- onSubmit: () => {
77
- onTypedMessageSubmitted({ query });
78
- setAnswerSuggestions([]);
79
- setGeneralSuggestions([]);
80
- },
81
- textFieldPlaceholderText: chatFooterTextFieldPlaceholderText,
82
- promptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0 ? ["Loading suggestions 1...", "Loading suggestions 2..."] : generalSuggestions,
83
- handleButtonClick: (buttonText) => {
84
- const suggestion = suggestions.find((s) => s.content === buttonText && !s.isAnswer);
85
- if (suggestion) onSuggestionClicked(suggestion);
86
- setAnswerSuggestions([]);
87
- setGeneralSuggestions([]);
88
- },
89
- disabled: isPendingResponse || isResponseStreaming,
90
- disabledInput: !userQueryInputEnabled,
91
- isLoadingPromptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0,
92
- hideEnviveWatermark: !showEnviveLogo
91
+ variant: headerMode,
92
+ headerBgColor: headerBackgroundColor,
93
+ showLogo: true,
94
+ showCXToggle: isCXButtonSwitchEnabled,
95
+ centralizeCXToggle: true,
96
+ selectedOption: ChatHeaderOptions.ASSISTANT,
97
+ onToggle: handleToggleCXButton,
98
+ onClose
93
99
  })
94
100
  });
101
+ const handler = /* @__PURE__ */ jsx(ChatHeader, {
102
+ theme: finalTheme,
103
+ variant: headerMode,
104
+ headerBgColor: headerBackgroundColor,
105
+ showHandle: true,
106
+ handleState: isFullView ? HandleState.OPEN : HandleState.CLOSED,
107
+ handleAnimationKey: animationKey,
108
+ showMainContent: false,
109
+ selectedOption: ChatHeaderOptions.ASSISTANT,
110
+ onToggle: handleToggleCXButton,
111
+ onClose
112
+ });
113
+ const footer = /* @__PURE__ */ jsx(ChatFooter, {
114
+ theme: finalTheme,
115
+ isScrolled: isMobile ? isFloatingLayout : false,
116
+ onChange: setQuery,
117
+ onSubmit: () => {
118
+ onTypedMessageSubmitted({
119
+ query,
120
+ userTyped: true
121
+ });
122
+ setAnswerSuggestions([]);
123
+ setGeneralSuggestions([]);
124
+ },
125
+ textFieldPlaceholderText: chatFooterTextFieldPlaceholderText,
126
+ promptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0 ? ["Loading suggestions 1...", "Loading suggestions 2..."] : generalSuggestions,
127
+ handleButtonClick: (buttonText) => {
128
+ const suggestion = suggestions.find((s) => s.content === buttonText && !s.isAnswer);
129
+ if (suggestion) onSuggestionClicked(suggestion);
130
+ setAnswerSuggestions([]);
131
+ setGeneralSuggestions([]);
132
+ },
133
+ disabled: isPendingResponse || isResponseStreaming,
134
+ disabledInput: !userQueryInputEnabled,
135
+ isLoadingPromptSuggestions: isPendingResponse || isResponseStreaming || generalSuggestions.length === 0,
136
+ hideEnviveWatermark: !showEnviveLogo
137
+ });
95
138
  const welcomeMessage = /* @__PURE__ */ jsx(WelcomeMessage, {
96
139
  sparkleIconColor: welcomeMessageIconColor,
97
140
  title: welcomeMessageTitle,
@@ -103,11 +146,15 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
103
146
  ref: chatMessagesRef,
104
147
  isLoading: isPendingResponse && !isResponseStreaming,
105
148
  agentName,
106
- messages,
149
+ messages: filteredMessages,
150
+ hasFilteredMessages,
151
+ handlePreviousDiscussions,
107
152
  isResponseStreaming,
108
153
  ignoreFirstModelResponse,
109
154
  neverShowSingleProductCards,
110
- showVerifiedBuyer
155
+ showVerifiedBuyer,
156
+ isPartialView,
157
+ onFormResponseSubmitted
111
158
  });
112
159
  const answerSuggestionsComponent = /* @__PURE__ */ jsx(PromptCarousel, {
113
160
  className: "envive-tw-flex envive-tw-justify-end envive-tw-p-4 [&>div>div]:envive-tw-items-end",
@@ -122,7 +169,7 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
122
169
  setGeneralSuggestions([]);
123
170
  }
124
171
  });
125
- return /* @__PURE__ */ jsx(FloatingChatComponents.Layout, {
172
+ const desktopLayout = /* @__PURE__ */ jsx(FloatingChatComponents.Layout, {
126
173
  id,
127
174
  className,
128
175
  style,
@@ -133,8 +180,38 @@ const FloatingChat = ({ id, className, style, testId, theme = Theme.GLOBAL_CUSTO
133
180
  welcomeMessage,
134
181
  chatMessages,
135
182
  answerSuggestions: showAnswerSuggestions ? answerSuggestionsComponent : void 0,
136
- scrollToBottomButton: showScrollButton ? /* @__PURE__ */ jsx(FloatingChatComponents.ScrollToBottomButton, { onClick: scrollToBottom }) : void 0
183
+ scrollToBottomButton: showScrollButton ? /* @__PURE__ */ jsx(FloatingChatComponents.ScrollToBottomButton, { onClick: scrollToBottom }) : void 0,
184
+ disclaimer: disclaimerText && typeof disclaimerText === "string" ? /* @__PURE__ */ jsx(Disclaimer, { disclaimerMarkdown: disclaimerText }) : void 0
185
+ });
186
+ const mobileLayout = /* @__PURE__ */ jsx(FloatingChatComponents.Layout, {
187
+ id,
188
+ className,
189
+ style,
190
+ testId,
191
+ theme: finalTheme,
192
+ header: shouldShowHeader ? mobileHeader : void 0,
193
+ footer,
194
+ welcomeMessage,
195
+ chatMessages,
196
+ answerSuggestions: showAnswerSuggestions ? answerSuggestionsComponent : void 0,
197
+ scrollToBottomButton: showScrollButton ? /* @__PURE__ */ jsx(FloatingChatComponents.ScrollToBottomButton, { onClick: scrollToBottom }) : void 0,
198
+ disclaimer: disclaimerText && typeof disclaimerText === "string" ? /* @__PURE__ */ jsx(Disclaimer, { disclaimerMarkdown: disclaimerText }) : void 0,
199
+ isFloatingFooterLayout: isFloatingLayout
137
200
  });
201
+ return isMobile ? /* @__PURE__ */ jsx(ModalSheet, {
202
+ animationKey,
203
+ open: isOpen,
204
+ height: maxSwipeableViewHeight,
205
+ handler,
206
+ unit: Unit.PERCENT,
207
+ snaps,
208
+ initSnap: initialSnap,
209
+ onSnap: handleSnapChange,
210
+ onClose,
211
+ controlRef: modalSheetControl,
212
+ disableDrag: shouldAutoExpand,
213
+ children: mobileLayout
214
+ }) : desktopLayout;
138
215
  };
139
216
 
140
217
  //#endregion
@@ -1,9 +1,10 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
- const require_theme = require('../../tokens/theme/theme.cjs');
2
+ const require_theme = require('../../packages/components-v3/tokens/theme/theme.cjs');
3
3
  const require_resolveTheme = require('../../utils/resolveTheme.cjs');
4
4
  const require_index = require('../../Message/types/index.cjs');
5
5
  const require_Message = require('../../Message/Message.cjs');
6
6
  require('../../Message/index.cjs');
7
+ const require_react = require('../../node_modules/jotai/esm/react.cjs');
7
8
  const require_Form = require('../../Form/Form.cjs');
8
9
  require('../../Form/index.cjs');
9
10
  const require_ReviewCardsCarousel = require('./ReviewCardsCarousel.cjs');
@@ -13,9 +14,11 @@ const require_OrderLookupCardCarousel = require('./OrderLookupCardCarousel.cjs')
13
14
  const require_functions = require('../utils/functions.cjs');
14
15
  let react_jsx_runtime = require("react/jsx-runtime");
15
16
  let __envive_ai_react_hooks_application_models = require("@envive-ai/react-hooks/application/models");
17
+ let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
16
18
 
17
19
  //#region src/components/FloatingChat/components/AgentMessage.tsx
18
- const AgentMessage = ({ theme = require_theme.Theme.GLOBAL_CUSTOM, agentName, type, messages, hideAgentName = false, isResponseStreaming = false, neverShowSingleProductCards = false, showVerifiedBuyer = false }) => {
20
+ const AgentMessage = ({ theme = require_theme.Theme.GLOBAL_CUSTOM, agentName, type, messages, hideAgentName = false, isResponseStreaming = false, neverShowSingleProductCards = false, showVerifiedBuyer = false, isPartialView, onFormResponseSubmitted }) => {
21
+ const handleFormSubmittedAtomFallback = require_react.useSetAtom(__envive_ai_react_hooks_atoms_chat.handleFormSubmittedAtom);
19
22
  const finalTheme = require_resolveTheme.resolveTheme(theme);
20
23
  if (new Set([
21
24
  __envive_ai_react_hooks_application_models.MessageType.Text,
@@ -42,32 +45,54 @@ const AgentMessage = ({ theme = require_theme.Theme.GLOBAL_CUSTOM, agentName, ty
42
45
  hideNavigation: products.length === 1,
43
46
  products,
44
47
  numberOfProducts: products.length,
48
+ theme: finalTheme,
49
+ isPartialView
50
+ });
51
+ }
52
+ if (type === __envive_ai_react_hooks_application_models.MessageType.Page) {
53
+ const documents = require_functions.getCleanDocuments(messages);
54
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DocumentRetrievalCardsCarousel.DocumentRetrievalCardsCarousel, {
55
+ hideNavigation: documents.length === 1,
56
+ documents,
45
57
  theme: finalTheme
46
58
  });
47
59
  }
48
- if (type === __envive_ai_react_hooks_application_models.MessageType.Page) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DocumentRetrievalCardsCarousel.DocumentRetrievalCardsCarousel, {
49
- documents: require_functions.getCleanDocuments(messages),
50
- theme: finalTheme
51
- });
52
- if (type === __envive_ai_react_hooks_application_models.MessageType.Form) return messages.filter((msg) => msg.type === __envive_ai_react_hooks_application_models.MessageType.Form).map((msg) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Form.Form, {
53
- textFields: msg.metadata.fields.map((field) => ({
54
- label: field.title,
55
- isRequired: field.required,
56
- type: field.format === "email" ? "email" : "text"
57
- })),
58
- submitButton: {
59
- label: "Submit",
60
- ariaLabel: "Submit",
61
- isDisabled: false
62
- },
63
- onSubmit: (values) => {
64
- console.log("submitted", values);
65
- }
66
- }, msg.id));
67
- if (type === __envive_ai_react_hooks_application_models.MessageType.Order) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_OrderLookupCardCarousel.OrderLookupCardCarousel, {
68
- orders: require_functions.getCleanOrders(messages),
69
- theme: finalTheme
60
+ if (type === __envive_ai_react_hooks_application_models.MessageType.Form) return messages.filter((msg) => msg.type === __envive_ai_react_hooks_application_models.MessageType.Form).map((msg) => {
61
+ const { fields } = msg.metadata;
62
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Form.Form, {
63
+ textFields: fields.map((field) => ({
64
+ label: field.title,
65
+ isRequired: field.required,
66
+ type: field.format === "email" ? "email" : "text"
67
+ })),
68
+ submitButton: {
69
+ label: "Submit",
70
+ ariaLabel: "Submit",
71
+ isDisabled: false
72
+ },
73
+ onSubmit: (values) => {
74
+ const filledSchema = {};
75
+ fields.forEach((field, index) => {
76
+ filledSchema[field.key] = values[index]?.value ?? "";
77
+ });
78
+ const payload = {
79
+ filledSchema,
80
+ formResponseId: msg.id,
81
+ formType: msg.metadata.formType ?? "order_lookup"
82
+ };
83
+ if (onFormResponseSubmitted) onFormResponseSubmitted(payload);
84
+ else handleFormSubmittedAtomFallback(payload);
85
+ }
86
+ }, msg.id);
70
87
  });
88
+ if (type === __envive_ai_react_hooks_application_models.MessageType.Order) {
89
+ const orders = require_functions.getCleanOrders(messages);
90
+ if (!orders || orders.length === 0) return null;
91
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_OrderLookupCardCarousel.OrderLookupCardCarousel, {
92
+ orders,
93
+ theme: finalTheme
94
+ });
95
+ }
71
96
  return null;
72
97
  };
73
98