@envive-ai/react-toolkit-v3 0.3.7 → 0.3.9

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 (569) hide show
  1. package/dist/AnimatedText/AnimatedText.cjs +20 -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 +21 -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/components/CSSVariablesEditor.cjs +1 -1
  10. package/dist/CSSVariablesEditor/components/CSSVariablesEditor.js +1 -1
  11. package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.cjs +3 -3
  12. package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.js +3 -3
  13. package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.cjs +1 -1
  14. package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.js +1 -1
  15. package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.cjs +10 -10
  16. package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.js +10 -10
  17. package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.cjs +9 -9
  18. package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.js +9 -9
  19. package/dist/CSSVariablesEditor/utils/functions.cjs +2 -2
  20. package/dist/CSSVariablesEditor/utils/functions.js +2 -2
  21. package/dist/Carousel/Carousel.cjs +2 -2
  22. package/dist/Carousel/Carousel.d.cts +2 -2
  23. package/dist/Carousel/Carousel.d.ts +2 -2
  24. package/dist/Carousel/Carousel.js +2 -2
  25. package/dist/Carousel/components/Container.cjs +3 -3
  26. package/dist/Carousel/components/Container.js +3 -3
  27. package/dist/Carousel/hooks/useGetBadgeProperties.cjs +1 -1
  28. package/dist/Carousel/hooks/useGetBadgeProperties.js +1 -1
  29. package/dist/Carousel/types/types.d.ts +1 -1
  30. package/dist/ChatFooter/ChatFooter.cjs +2 -2
  31. package/dist/ChatFooter/ChatFooter.d.ts +2 -2
  32. package/dist/ChatFooter/ChatFooter.js +2 -2
  33. package/dist/ChatFooter/components/Layout.cjs +2 -2
  34. package/dist/ChatFooter/components/Layout.d.ts +1 -1
  35. package/dist/ChatFooter/components/Layout.js +2 -2
  36. package/dist/ChatFooter/components/PromptSuggestions.d.ts +1 -1
  37. package/dist/ChatFooter/components/index.d.cts +2 -2
  38. package/dist/ChatFooter/components/index.d.ts +5 -5
  39. package/dist/ChatFooter/hooks/useGetChatScrollProperties.cjs +1 -1
  40. package/dist/ChatFooter/hooks/useGetChatScrollProperties.js +1 -1
  41. package/dist/ChatFooter/hooks/useGetContainerProperties.cjs +10 -9
  42. package/dist/ChatFooter/hooks/useGetContainerProperties.js +10 -9
  43. package/dist/ChatFooter/types/types.d.ts +1 -1
  44. package/dist/ChatHeader/ChatHeader.cjs +1 -1
  45. package/dist/ChatHeader/ChatHeader.d.cts +2 -2
  46. package/dist/ChatHeader/ChatHeader.d.ts +2 -2
  47. package/dist/ChatHeader/ChatHeader.js +1 -1
  48. package/dist/ChatHeader/components/CloseButton.cjs +1 -1
  49. package/dist/ChatHeader/components/CloseButton.js +1 -1
  50. package/dist/ChatHeader/components/Handle.cjs +13 -5
  51. package/dist/ChatHeader/components/Handle.js +13 -5
  52. package/dist/ChatHeader/components/Toggle.cjs +4 -4
  53. package/dist/ChatHeader/components/Toggle.js +4 -4
  54. package/dist/ChatHeader/hooks/useGetCloseButtonProperties.cjs +1 -1
  55. package/dist/ChatHeader/hooks/useGetCloseButtonProperties.js +1 -1
  56. package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +17 -17
  57. package/dist/ChatHeader/hooks/useGetHandleProperties.js +17 -17
  58. package/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +8 -8
  59. package/dist/ChatHeader/hooks/useGetLayoutProperties.js +8 -8
  60. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +17 -17
  61. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +17 -17
  62. package/dist/ChatHeader/hooks/useGetToggleProperties.cjs +3 -3
  63. package/dist/ChatHeader/hooks/useGetToggleProperties.js +3 -3
  64. package/dist/ChatHeader/hooks/useToggleLogoSelector.cjs +1 -1
  65. package/dist/ChatHeader/hooks/useToggleLogoSelector.js +1 -1
  66. package/dist/ChatHeader/types/index.d.ts +2 -2
  67. package/dist/ChatPreview/ChatPreview.cjs +15 -5
  68. package/dist/ChatPreview/ChatPreview.d.cts +2 -2
  69. package/dist/ChatPreview/ChatPreview.d.ts +2 -2
  70. package/dist/ChatPreview/ChatPreview.js +15 -5
  71. package/dist/ChatPreview/components/Message.cjs +4 -3
  72. package/dist/ChatPreview/components/Message.js +4 -3
  73. package/dist/ChatPreview/types/types.d.cts +5 -4
  74. package/dist/ChatPreview/types/types.d.ts +6 -5
  75. package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +15 -5
  76. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
  77. package/dist/ChatPreviewComparison/ChatPreviewComparison.js +15 -5
  78. package/dist/ChatPreviewComparison/components/Headline.cjs +3 -3
  79. package/dist/ChatPreviewComparison/components/Headline.js +3 -3
  80. package/dist/ChatPreviewComparison/components/Layout.cjs +7 -7
  81. package/dist/ChatPreviewComparison/components/Layout.js +7 -7
  82. package/dist/ChatPreviewComparison/components/Message.cjs +7 -6
  83. package/dist/ChatPreviewComparison/components/Message.js +7 -6
  84. package/dist/ChatPreviewComparison/types/types.d.cts +4 -4
  85. package/dist/ChatPreviewComparison/types/types.d.ts +5 -5
  86. package/dist/ChatPreviewLoading/ChatPreviewLoading.cjs +1 -1
  87. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +2 -2
  88. package/dist/ChatPreviewLoading/ChatPreviewLoading.js +1 -1
  89. package/dist/Container/Container.d.cts +176 -176
  90. package/dist/Container/Container.d.ts +176 -176
  91. package/dist/DesignTokens/DesignTokensComponent.cjs +1 -1
  92. package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
  93. package/dist/DesignTokens/DesignTokensComponent.js +1 -1
  94. package/dist/DesignTokens/components/Typography.cjs +1 -1
  95. package/dist/DesignTokens/components/Typography.js +1 -1
  96. package/dist/Disclaimer/Disclaimer.cjs +23 -0
  97. package/dist/Disclaimer/Disclaimer.d.cts +19 -0
  98. package/dist/Disclaimer/Disclaimer.d.ts +19 -0
  99. package/dist/Disclaimer/Disclaimer.js +22 -0
  100. package/dist/Disclaimer/components/Container.cjs +26 -0
  101. package/dist/Disclaimer/components/Container.js +24 -0
  102. package/dist/Disclaimer/components/DisclaimerContent.cjs +19 -0
  103. package/dist/Disclaimer/components/DisclaimerContent.js +18 -0
  104. package/dist/Disclaimer/components/index.cjs +11 -0
  105. package/dist/Disclaimer/components/index.js +11 -0
  106. package/dist/Disclaimer/index.cjs +3 -0
  107. package/dist/Disclaimer/index.d.cts +2 -0
  108. package/dist/Disclaimer/index.d.ts +2 -0
  109. package/dist/Disclaimer/index.js +3 -0
  110. package/dist/Disclaimer/types/types.d.cts +30 -0
  111. package/dist/Disclaimer/types/types.d.ts +30 -0
  112. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
  113. package/dist/DocumentRetrievalCard/components/Layout.cjs +2 -2
  114. package/dist/DocumentRetrievalCard/components/Layout.js +2 -2
  115. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
  116. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
  117. package/dist/DocumentRetrievalCard/hooks/useGetBackgroundColorsProperties.cjs +1 -1
  118. package/dist/DocumentRetrievalCard/hooks/useGetBackgroundColorsProperties.js +1 -1
  119. package/dist/DocumentRetrievalCard/hooks/useGetBorderProperties.cjs +1 -1
  120. package/dist/DocumentRetrievalCard/hooks/useGetBorderProperties.js +1 -1
  121. package/dist/DocumentRetrievalCard/hooks/useGetBorderRadiusProperties.cjs +1 -1
  122. package/dist/DocumentRetrievalCard/hooks/useGetBorderRadiusProperties.js +1 -1
  123. package/dist/DocumentRetrievalCard/hooks/useGetIconBackgroundProperties.cjs +1 -1
  124. package/dist/DocumentRetrievalCard/hooks/useGetIconBackgroundProperties.js +1 -1
  125. package/dist/DocumentRetrievalCard/hooks/useGetIconColorProperties.cjs +1 -1
  126. package/dist/DocumentRetrievalCard/hooks/useGetIconColorProperties.js +1 -1
  127. package/dist/DocumentRetrievalCard/hooks/useGetLabelTextCaseProperties.cjs +1 -1
  128. package/dist/DocumentRetrievalCard/hooks/useGetLabelTextCaseProperties.js +1 -1
  129. package/dist/DocumentRetrievalCard/hooks/useGetLabelTypographyProperties.cjs +1 -1
  130. package/dist/DocumentRetrievalCard/hooks/useGetLabelTypographyProperties.js +1 -1
  131. package/dist/DocumentRetrievalCard/index.cjs +1 -1
  132. package/dist/DocumentRetrievalCard/index.d.ts +1 -1
  133. package/dist/DocumentRetrievalCard/index.js +1 -1
  134. package/dist/DocumentRetrievalCard/types/index.d.ts +1 -1
  135. package/dist/DocumentRetrievalCard/utils/functions.cjs +1 -1
  136. package/dist/DocumentRetrievalCard/utils/functions.js +1 -1
  137. package/dist/FloatingButton/FloatingButton.d.cts +2 -2
  138. package/dist/FloatingButton/FloatingButton.d.ts +2 -2
  139. package/dist/FloatingButton/hooks/useGetButtonProperties.cjs +2 -2
  140. package/dist/FloatingButton/hooks/useGetButtonProperties.js +2 -2
  141. package/dist/FloatingButton/types/types.d.ts +1 -1
  142. package/dist/FloatingChat/FloatingChat.cjs +25 -14
  143. package/dist/FloatingChat/FloatingChat.d.cts +3 -2
  144. package/dist/FloatingChat/FloatingChat.d.ts +1 -0
  145. package/dist/FloatingChat/FloatingChat.js +25 -14
  146. package/dist/FloatingChat/components/AgentMessage.cjs +57 -29
  147. package/dist/FloatingChat/components/AgentMessage.js +57 -29
  148. package/dist/FloatingChat/components/ChatMessages.cjs +10 -9
  149. package/dist/FloatingChat/components/ChatMessages.js +10 -9
  150. package/dist/FloatingChat/components/DocumentRetrievalCardsCarousel.cjs +2 -1
  151. package/dist/FloatingChat/components/DocumentRetrievalCardsCarousel.js +2 -1
  152. package/dist/FloatingChat/components/Layout.cjs +15 -11
  153. package/dist/FloatingChat/components/Layout.js +15 -11
  154. package/dist/FloatingChat/components/MessageDivider.cjs +8 -2
  155. package/dist/FloatingChat/components/MessageDivider.js +8 -2
  156. package/dist/FloatingChat/components/ModalSheet.cjs +2 -2
  157. package/dist/FloatingChat/components/ModalSheet.js +2 -2
  158. package/dist/FloatingChat/components/ReviewCardsCarousel.cjs +2 -1
  159. package/dist/FloatingChat/components/ReviewCardsCarousel.js +2 -1
  160. package/dist/FloatingChat/components/ScrollToBottomButton.cjs +1 -1
  161. package/dist/FloatingChat/components/ScrollToBottomButton.js +1 -1
  162. package/dist/FloatingChat/hooks/useScrollToBottom.cjs +109 -11
  163. package/dist/FloatingChat/hooks/useScrollToBottom.js +110 -12
  164. package/dist/FloatingChat/hooks/useSnapSetup.cjs +0 -3
  165. package/dist/FloatingChat/hooks/useSnapSetup.js +0 -3
  166. package/dist/FloatingChat/types/types.d.cts +5 -5
  167. package/dist/FloatingChat/types/types.d.ts +6 -6
  168. package/dist/FloatingChat/utils/functions.cjs +1 -0
  169. package/dist/FloatingChat/utils/functions.js +1 -0
  170. package/dist/Form/Form.cjs +1 -1
  171. package/dist/Form/Form.js +1 -1
  172. package/dist/Image/Image.d.cts +2 -2
  173. package/dist/Image/Image.d.ts +2 -2
  174. package/dist/ImageGallery/ImageGallery.cjs +1 -1
  175. package/dist/ImageGallery/ImageGallery.d.cts +2 -2
  176. package/dist/ImageGallery/ImageGallery.d.ts +2 -2
  177. package/dist/ImageGallery/ImageGallery.js +1 -1
  178. package/dist/ImageGallery/components/Layout.cjs +2 -2
  179. package/dist/ImageGallery/components/Layout.js +2 -2
  180. package/dist/ImageGallery/components/NormalLayout.cjs +1 -1
  181. package/dist/ImageGallery/components/NormalLayout.js +1 -1
  182. package/dist/ImageGallery/types/types.d.ts +1 -1
  183. package/dist/ImageGallery/utils/functions.cjs +1 -1
  184. package/dist/ImageGallery/utils/functions.js +1 -1
  185. package/dist/MarkdownProcessor/MarkdownProcessor.cjs +1 -1
  186. package/dist/MarkdownProcessor/MarkdownProcessor.d.ts +2 -2
  187. package/dist/MarkdownProcessor/MarkdownProcessor.js +1 -1
  188. package/dist/MarkdownProcessor/components/MarkdownLink.cjs +4 -1
  189. package/dist/MarkdownProcessor/components/MarkdownLink.js +4 -1
  190. package/dist/Message/components/AgentContent.cjs +6 -2
  191. package/dist/Message/components/AgentContent.js +6 -2
  192. package/dist/Message/components/LinkButton.cjs +3 -3
  193. package/dist/Message/components/LinkButton.d.cts +5 -1
  194. package/dist/Message/components/LinkButton.d.ts +5 -1
  195. package/dist/Message/components/LinkButton.js +3 -3
  196. package/dist/Message/hooks/useGetLinkButtonProperties.cjs +1 -1
  197. package/dist/Message/hooks/useGetLinkButtonProperties.js +1 -1
  198. package/dist/OrderLookupCard/OrderLookupCard.cjs +2 -2
  199. package/dist/OrderLookupCard/OrderLookupCard.js +2 -2
  200. package/dist/OrderLookupCard/hooks/useGetContainerProperties.cjs +1 -1
  201. package/dist/OrderLookupCard/hooks/useGetContainerProperties.js +1 -1
  202. package/dist/OrderLookupCard/hooks/useGetImageBorderRadiusProperties.cjs +1 -1
  203. package/dist/OrderLookupCard/hooks/useGetImageBorderRadiusProperties.js +1 -1
  204. package/dist/OrderLookupCard/hooks/useGetStatusLabelProperties.cjs +1 -1
  205. package/dist/OrderLookupCard/hooks/useGetStatusLabelProperties.js +1 -1
  206. package/dist/OrderLookupCard/hooks/useGetTrackOrderLinkProperties.cjs +1 -1
  207. package/dist/OrderLookupCard/hooks/useGetTrackOrderLinkProperties.js +1 -1
  208. package/dist/OrderLookupCard/types/index.d.ts +1 -1
  209. package/dist/ProductCard/ProductCard.cjs +47 -0
  210. package/dist/ProductCard/ProductCard.d.cts +23 -0
  211. package/dist/ProductCard/ProductCard.d.ts +23 -0
  212. package/dist/ProductCard/ProductCard.js +45 -0
  213. package/dist/ProductCard/components/Carousel.cjs +25 -0
  214. package/dist/ProductCard/components/Carousel.js +24 -0
  215. package/dist/ProductCard/components/Header.cjs +42 -0
  216. package/dist/ProductCard/components/Header.js +41 -0
  217. package/dist/ProductCard/components/Poster.cjs +18 -0
  218. package/dist/ProductCard/components/Poster.js +17 -0
  219. package/dist/ProductCard/components/index.cjs +13 -0
  220. package/dist/ProductCard/components/index.js +13 -0
  221. package/dist/ProductCard/hooks/useGetCarouselProperties.cjs +8 -0
  222. package/dist/ProductCard/hooks/useGetCarouselProperties.js +7 -0
  223. package/dist/ProductCard/hooks/useGetHeaderProperties.cjs +11 -0
  224. package/dist/ProductCard/hooks/useGetHeaderProperties.js +10 -0
  225. package/dist/ProductCard/hooks/useGetPosterProperties.cjs +13 -0
  226. package/dist/ProductCard/hooks/useGetPosterProperties.js +12 -0
  227. package/dist/ProductCard/index.cjs +3 -0
  228. package/dist/ProductCard/index.d.cts +3 -0
  229. package/dist/ProductCard/index.d.ts +3 -0
  230. package/dist/ProductCard/index.js +3 -0
  231. package/dist/ProductCard/types/index.d.cts +74 -0
  232. package/dist/ProductCard/types/index.d.ts +74 -0
  233. package/dist/PromptButton/PromptButton.cjs +1 -1
  234. package/dist/PromptButton/PromptButton.d.cts +2 -2
  235. package/dist/PromptButton/PromptButton.d.ts +2 -2
  236. package/dist/PromptButton/PromptButton.js +1 -1
  237. package/dist/PromptButton/hooks/useGetIconColorsProperties.cjs +1 -1
  238. package/dist/PromptButton/hooks/useGetIconColorsProperties.js +1 -1
  239. package/dist/PromptButton/types/index.d.ts +1 -1
  240. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +4 -3
  241. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +2 -2
  242. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.ts +2 -2
  243. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +4 -3
  244. package/dist/PromptButtonCarouselWithImage/components/Layout.cjs +8 -3
  245. package/dist/PromptButtonCarouselWithImage/components/Layout.js +8 -3
  246. package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.cjs +53 -3
  247. package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.js +53 -3
  248. package/dist/PromptButtonCarouselWithImage/types/types.d.ts +1 -1
  249. package/dist/PromptCarousel/PromptCarousel.cjs +72 -35
  250. package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
  251. package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
  252. package/dist/PromptCarousel/PromptCarousel.js +73 -36
  253. package/dist/PromptCarousel/hooks/index.cjs +2 -4
  254. package/dist/PromptCarousel/hooks/index.js +2 -4
  255. package/dist/PromptCarousel/hooks/useCoordinatedScrollAnimation.cjs +91 -0
  256. package/dist/PromptCarousel/hooks/useCoordinatedScrollAnimation.js +90 -0
  257. package/dist/PromptCarousel/hooks/useScrollSync.cjs +65 -0
  258. package/dist/PromptCarousel/hooks/useScrollSync.js +64 -0
  259. package/dist/PromptCarousel/types/types.d.ts +1 -1
  260. package/dist/ReviewCard/ReviewCard.cjs +2 -2
  261. package/dist/ReviewCard/ReviewCard.d.cts +2 -2
  262. package/dist/ReviewCard/ReviewCard.d.ts +2 -2
  263. package/dist/ReviewCard/ReviewCard.js +2 -2
  264. package/dist/ReviewCard/components/Container.cjs +2 -2
  265. package/dist/ReviewCard/components/Container.d.ts +1 -1
  266. package/dist/ReviewCard/components/Container.js +2 -2
  267. package/dist/ReviewCard/components/Rating.d.ts +1 -1
  268. package/dist/ReviewCard/components/ReadMoreButton.cjs +2 -2
  269. package/dist/ReviewCard/components/ReadMoreButton.d.ts +1 -1
  270. package/dist/ReviewCard/components/ReadMoreButton.js +2 -2
  271. package/dist/ReviewCard/components/index.d.cts +6 -6
  272. package/dist/ReviewCard/components/index.d.ts +7 -7
  273. package/dist/ReviewCard/hooks/useGetBackgroundColorsProperties.cjs +1 -1
  274. package/dist/ReviewCard/hooks/useGetBackgroundColorsProperties.js +1 -1
  275. package/dist/ReviewCard/hooks/useGetBorderProperties.cjs +1 -1
  276. package/dist/ReviewCard/hooks/useGetBorderProperties.js +1 -1
  277. package/dist/ReviewCard/hooks/useGetBorderRadiusProperties.cjs +1 -1
  278. package/dist/ReviewCard/hooks/useGetBorderRadiusProperties.js +1 -1
  279. package/dist/ReviewCard/hooks/useGetRatingBackgroundProperties.cjs +1 -1
  280. package/dist/ReviewCard/hooks/useGetRatingBackgroundProperties.js +1 -1
  281. package/dist/ReviewCard/hooks/useGetReadMoreTypographyProperties.cjs +1 -1
  282. package/dist/ReviewCard/hooks/useGetReadMoreTypographyProperties.js +1 -1
  283. package/dist/ReviewCard/hooks/useGetStarIconProperties.cjs +1 -1
  284. package/dist/ReviewCard/hooks/useGetStarIconProperties.js +1 -1
  285. package/dist/ReviewCard/types/types.d.ts +1 -1
  286. package/dist/SalesAgentProductCard/SalesAgentProductCard.cjs +1 -1
  287. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
  288. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.ts +2 -2
  289. package/dist/SalesAgentProductCard/SalesAgentProductCard.js +1 -1
  290. package/dist/SalesAgentProductCard/components/Container.cjs +3 -3
  291. package/dist/SalesAgentProductCard/components/Container.d.ts +1 -1
  292. package/dist/SalesAgentProductCard/components/Container.js +3 -3
  293. package/dist/SalesAgentProductCard/components/ProductName.cjs +1 -1
  294. package/dist/SalesAgentProductCard/components/ProductName.d.ts +1 -1
  295. package/dist/SalesAgentProductCard/components/ProductName.js +1 -1
  296. package/dist/SalesAgentProductCard/components/Rate.cjs +1 -1
  297. package/dist/SalesAgentProductCard/components/Rate.d.ts +1 -1
  298. package/dist/SalesAgentProductCard/components/Rate.js +1 -1
  299. package/dist/SalesAgentProductCard/components/index.d.cts +8 -8
  300. package/dist/SalesAgentProductCard/components/index.d.ts +9 -9
  301. package/dist/SalesAgentProductCard/hooks/useGetContainerProperties.cjs +1 -1
  302. package/dist/SalesAgentProductCard/hooks/useGetContainerProperties.js +1 -1
  303. package/dist/SalesAgentProductCard/hooks/useGetProductDescriptionProperties.cjs +1 -1
  304. package/dist/SalesAgentProductCard/hooks/useGetProductDescriptionProperties.js +1 -1
  305. package/dist/SalesAgentProductCard/hooks/useGetProductNameProperties.cjs +1 -1
  306. package/dist/SalesAgentProductCard/hooks/useGetProductNameProperties.js +1 -1
  307. package/dist/SalesAgentProductCard/hooks/useGetStarIconProperties.cjs +1 -1
  308. package/dist/SalesAgentProductCard/hooks/useGetStarIconProperties.js +1 -1
  309. package/dist/SalesAgentProductCard/types/types.d.ts +1 -1
  310. package/dist/SocialProof/SocialProof.cjs +14 -9
  311. package/dist/SocialProof/SocialProof.d.cts +2 -2
  312. package/dist/SocialProof/SocialProof.d.ts +2 -2
  313. package/dist/SocialProof/SocialProof.js +13 -8
  314. package/dist/SocialProof/components/Headline.cjs +5 -5
  315. package/dist/SocialProof/components/Headline.js +5 -5
  316. package/dist/SocialProof/components/LayoutFourHorizontal.cjs +2 -2
  317. package/dist/SocialProof/components/LayoutFourHorizontal.js +2 -2
  318. package/dist/SocialProof/components/LayoutSingle.cjs +1 -1
  319. package/dist/SocialProof/components/LayoutSingle.js +1 -1
  320. package/dist/SocialProof/components/Subheadline.cjs +2 -2
  321. package/dist/SocialProof/components/Subheadline.js +2 -2
  322. package/dist/SocialProof/components/Textfield.cjs +4 -2
  323. package/dist/SocialProof/components/Textfield.js +4 -2
  324. package/dist/SocialProof/index.cjs +1 -0
  325. package/dist/SocialProof/index.d.cts +2 -2
  326. package/dist/SocialProof/index.d.ts +2 -2
  327. package/dist/SocialProof/index.js +2 -2
  328. package/dist/SocialProof/types/types.cjs +7 -1
  329. package/dist/SocialProof/types/types.d.cts +11 -1
  330. package/dist/SocialProof/types/types.d.ts +12 -2
  331. package/dist/SocialProof/types/types.js +6 -1
  332. package/dist/SocialProof/utils/functions.cjs +1 -1
  333. package/dist/SocialProof/utils/functions.js +1 -1
  334. package/dist/Stack/Stack.d.cts +2 -2
  335. package/dist/Stack/Stack.d.ts +2 -2
  336. package/dist/Stack/hooks/useFormatStackChildren.cjs +1 -1
  337. package/dist/Stack/hooks/useFormatStackChildren.js +1 -1
  338. package/dist/TextField/TextField.cjs +1 -1
  339. package/dist/TextField/TextField.js +1 -1
  340. package/dist/TextField/components/Input.cjs +1 -1
  341. package/dist/TextField/components/Input.js +1 -1
  342. package/dist/TextField/hooks/useGetContainerProperties.cjs +5 -5
  343. package/dist/TextField/hooks/useGetContainerProperties.js +5 -5
  344. package/dist/TextField/types/index.d.ts +1 -1
  345. package/dist/TextField/utils/getInputClasses.cjs +1 -1
  346. package/dist/TextField/utils/getInputClasses.js +1 -1
  347. package/dist/TextField/utils/getSendIconElement.cjs +1 -1
  348. package/dist/TextField/utils/getSendIconElement.js +1 -1
  349. package/dist/Title/components/Image.cjs +1 -1
  350. package/dist/Title/components/Image.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 +3 -3
  360. package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
  361. package/dist/TypingAnimation/TypingAnimation.d.ts +2 -2
  362. package/dist/TypingAnimation/TypingAnimation.js +3 -3
  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 +16 -7
  380. package/dist/WidgetTextField/WidgetTextField.d.cts +4 -2
  381. package/dist/WidgetTextField/WidgetTextField.d.ts +4 -2
  382. package/dist/WidgetTextField/WidgetTextField.js +13 -4
  383. package/dist/WidgetTextField/components/Container.cjs +9 -3
  384. package/dist/WidgetTextField/components/Container.js +9 -3
  385. package/dist/WidgetTextField/components/FakeTextInput.cjs +2 -2
  386. package/dist/WidgetTextField/components/FakeTextInput.js +2 -2
  387. package/dist/WidgetTextField/components/Icon.cjs +48 -16
  388. package/dist/WidgetTextField/components/Icon.js +46 -16
  389. package/dist/WidgetTextField/components/Skeleton.cjs +2 -2
  390. package/dist/WidgetTextField/components/Skeleton.js +2 -2
  391. package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -4
  392. package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -4
  393. package/dist/WidgetTextField/types/types.cjs +10 -0
  394. package/dist/WidgetTextField/types/types.d.cts +12 -0
  395. package/dist/WidgetTextField/types/types.d.ts +13 -1
  396. package/dist/WidgetTextField/types/types.js +9 -0
  397. package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
  398. package/dist/WidgetWrapper/WidgetWrapper.d.ts +2 -2
  399. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
  400. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts +2 -2
  401. package/dist/node_modules/jotai/esm/react.cjs +44 -0
  402. package/dist/node_modules/jotai/esm/react.js +42 -0
  403. package/dist/node_modules/jotai/esm/vanilla/internals.cjs +523 -0
  404. package/dist/node_modules/jotai/esm/vanilla/internals.js +522 -0
  405. package/dist/node_modules/jotai/esm/vanilla.cjs +22 -0
  406. package/dist/node_modules/jotai/esm/vanilla.js +22 -0
  407. package/dist/{src → packages/components-v3/src}/models/colorsConfig.cjs +1 -3
  408. package/dist/{src → packages/components-v3/src}/models/colorsConfig.js +1 -2
  409. package/dist/packages/components-v3/tokens/utils.cjs +14 -0
  410. package/dist/packages/components-v3/tokens/utils.js +12 -0
  411. package/dist/styles.css +1 -1
  412. package/dist/utils/CustomIcon.cjs +1 -1
  413. package/dist/utils/CustomIcon.js +1 -1
  414. package/dist/utils/resolveTheme.cjs +1 -1
  415. package/dist/utils/resolveTheme.js +1 -1
  416. package/dist/utils/useCheckIsMobile.cjs +1 -1
  417. package/dist/utils/useCheckIsMobile.js +1 -1
  418. package/dist/utils/useDragToScroll.cjs +68 -0
  419. package/dist/utils/useDragToScroll.js +67 -0
  420. package/dist/utils/useResponsiveValue.cjs +1 -1
  421. package/dist/utils/useResponsiveValue.d.ts +1 -1
  422. package/dist/utils/useResponsiveValue.js +1 -1
  423. package/package.json +9 -1
  424. package/src/components/AnimatedText/AnimatedText.tsx +27 -6
  425. package/src/components/AnimatedText/types/types.ts +0 -4
  426. package/src/components/ChatFooter/hooks/useGetContainerProperties.ts +1 -2
  427. package/src/components/ChatHeader/components/Handle.tsx +10 -4
  428. package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +16 -16
  429. package/src/components/ChatHeader/hooks/useGetLayoutProperties.ts +8 -10
  430. package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +16 -16
  431. package/src/components/ChatHeader/hooks/useGetToggleProperties.ts +2 -2
  432. package/src/components/ChatPreview/ChatPreview.tsx +20 -3
  433. package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +17 -8
  434. package/src/components/ChatPreview/components/Message.tsx +13 -7
  435. package/src/components/ChatPreview/types/types.ts +5 -4
  436. package/src/components/ChatPreviewComparison/ChatPreviewComparison.tsx +20 -3
  437. package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +16 -6
  438. package/src/components/ChatPreviewComparison/components/Message.tsx +13 -7
  439. package/src/components/ChatPreviewComparison/types/types.ts +4 -4
  440. package/src/components/DesignTokens/components/Typography.tsx +1 -1
  441. package/src/components/Disclaimer/Disclaimer.tsx +27 -0
  442. package/src/components/Disclaimer/components/Container.tsx +35 -0
  443. package/src/components/Disclaimer/components/DisclaimerContent.tsx +18 -0
  444. package/src/components/Disclaimer/components/index.ts +7 -0
  445. package/src/components/Disclaimer/index.ts +1 -0
  446. package/src/components/Disclaimer/types/types.ts +27 -0
  447. package/src/components/FloatingButton/hooks/useGetButtonProperties.ts +4 -3
  448. package/src/components/FloatingChat/FloatingChat.tsx +42 -20
  449. package/src/components/FloatingChat/components/AgentMessage.tsx +49 -19
  450. package/src/components/FloatingChat/components/ChatMessages.tsx +13 -5
  451. package/src/components/FloatingChat/components/DocumentRetrievalCardsCarousel.tsx +3 -0
  452. package/src/components/FloatingChat/components/Layout.tsx +32 -5
  453. package/src/components/FloatingChat/components/MessageDivider.tsx +8 -2
  454. package/src/components/FloatingChat/components/ModalSheet.tsx +1 -1
  455. package/src/components/FloatingChat/components/ReviewCardsCarousel.tsx +3 -0
  456. package/src/components/FloatingChat/hooks/useScrollToBottom.ts +153 -11
  457. package/src/components/FloatingChat/hooks/useSnapSetup.ts +0 -3
  458. package/src/components/FloatingChat/types/types.ts +5 -5
  459. package/src/components/FloatingChat/utils/functions.ts +1 -0
  460. package/src/components/MarkdownProcessor/components/MarkdownLink.tsx +2 -0
  461. package/src/components/Message/__tests__/Message.test.tsx +40 -2
  462. package/src/components/Message/components/AgentContent.tsx +10 -2
  463. package/src/components/Message/components/LinkButton.tsx +3 -2
  464. package/src/components/Message/hooks/useGetLinkButtonProperties.ts +1 -1
  465. package/src/components/ProductCard/ProductCard.tsx +65 -0
  466. package/src/components/ProductCard/__tests__/ProductCard.test.tsx +191 -0
  467. package/src/components/ProductCard/components/Carousel.tsx +26 -0
  468. package/src/components/ProductCard/components/Header.tsx +55 -0
  469. package/src/components/ProductCard/components/Poster.tsx +15 -0
  470. package/src/components/ProductCard/components/index.ts +9 -0
  471. package/src/components/ProductCard/hooks/useGetCarouselProperties.ts +7 -0
  472. package/src/components/ProductCard/hooks/useGetHeaderProperties.ts +9 -0
  473. package/src/components/ProductCard/hooks/useGetInputProperties.ts +22 -0
  474. package/src/components/ProductCard/hooks/useGetPosterProperties.ts +19 -0
  475. package/src/components/ProductCard/index.ts +2 -0
  476. package/src/components/ProductCard/types/index.ts +79 -0
  477. package/src/components/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.tsx +6 -3
  478. package/src/components/PromptButtonCarouselWithImage/components/Layout.tsx +13 -4
  479. package/src/components/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.tsx +63 -20
  480. package/src/components/PromptCarousel/PromptCarousel.tsx +88 -51
  481. package/src/components/PromptCarousel/hooks/index.ts +2 -4
  482. package/src/components/PromptCarousel/hooks/useCoordinatedScrollAnimation.ts +115 -0
  483. package/src/components/PromptCarousel/hooks/useHorizontalScrollAnimation.ts +71 -78
  484. package/src/components/PromptCarousel/hooks/useScrollSync.ts +83 -0
  485. package/src/components/SocialProof/SocialProof.tsx +17 -10
  486. package/src/components/SocialProof/components/Textfield.tsx +4 -0
  487. package/src/components/SocialProof/index.ts +1 -1
  488. package/src/components/SocialProof/types/types.ts +12 -0
  489. package/src/components/TextField/components/Input.tsx +6 -1
  490. package/src/components/TextField/hooks/useGetContainerProperties.ts +4 -4
  491. package/src/components/WelcomeMessage/hooks/useGetSparkleIconProperties.ts +5 -2
  492. package/src/components/WidgetTextField/WidgetTextField.tsx +17 -3
  493. package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +54 -0
  494. package/src/components/WidgetTextField/components/Container.tsx +2 -2
  495. package/src/components/WidgetTextField/components/FakeTextInput.tsx +6 -2
  496. package/src/components/WidgetTextField/components/Icon.tsx +86 -9
  497. package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +5 -3
  498. package/src/components/WidgetTextField/types/types.ts +13 -0
  499. package/src/components/utils/useDragToScroll.ts +83 -0
  500. package/dist/PromptCarousel/components/BlockScrollContainer.cjs +0 -23
  501. package/dist/PromptCarousel/components/BlockScrollContainer.js +0 -21
  502. package/dist/PromptCarousel/components/ButtonContainerRow.cjs +0 -34
  503. package/dist/PromptCarousel/components/ButtonContainerRow.js +0 -32
  504. package/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +0 -45
  505. package/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +0 -44
  506. package/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +0 -33
  507. package/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +0 -32
  508. package/dist/PromptCarousel/components/index.cjs +0 -13
  509. package/dist/PromptCarousel/components/index.js +0 -13
  510. package/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +0 -79
  511. package/dist/PromptCarousel/hooks/useButtonScrollPosition.js +0 -78
  512. package/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +0 -23
  513. package/dist/PromptCarousel/hooks/useCarouselAnimation.js +0 -22
  514. package/dist/PromptCarousel/hooks/useCarouselRefs.cjs +0 -20
  515. package/dist/PromptCarousel/hooks/useCarouselRefs.js +0 -19
  516. package/dist/PromptCarousel/hooks/useGetScrollProperties.cjs +0 -18
  517. package/dist/PromptCarousel/hooks/useGetScrollProperties.js +0 -17
  518. package/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +0 -78
  519. package/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +0 -77
  520. package/dist/tokens/utils.cjs +0 -6
  521. package/dist/tokens/utils.js +0 -5
  522. package/src/components/PromptCarousel/components/BlockScrollContainer.tsx +0 -34
  523. package/src/components/PromptCarousel/components/ButtonContainerRow.tsx +0 -46
  524. package/src/components/PromptCarousel/components/CarouselContentWithBlockScroll.tsx +0 -83
  525. package/src/components/PromptCarousel/components/CarouselContentWithRowScroll.tsx +0 -71
  526. package/src/components/PromptCarousel/components/index.ts +0 -9
  527. package/src/components/PromptCarousel/hooks/useButtonScrollPosition.ts +0 -128
  528. package/src/components/PromptCarousel/hooks/useCarouselAnimation.ts +0 -47
  529. package/src/components/PromptCarousel/hooks/useCarouselRefs.ts +0 -26
  530. /package/dist/{src → packages/components-v3/src}/models/colorsConfig.d.ts +0 -0
  531. /package/dist/{tokens → packages/components-v3/tokens}/aspectRatio/aspectRatio.cjs +0 -0
  532. /package/dist/{tokens → packages/components-v3/tokens}/aspectRatio/aspectRatio.d.ts +0 -0
  533. /package/dist/{tokens → packages/components-v3/tokens}/aspectRatio/aspectRatio.js +0 -0
  534. /package/dist/{tokens → packages/components-v3/tokens}/breakpoints/breakpoints.cjs +0 -0
  535. /package/dist/{tokens → packages/components-v3/tokens}/breakpoints/breakpoints.d.ts +0 -0
  536. /package/dist/{tokens → packages/components-v3/tokens}/breakpoints/breakpoints.js +0 -0
  537. /package/dist/{tokens → packages/components-v3/tokens}/colors/colors.cjs +0 -0
  538. /package/dist/{tokens → packages/components-v3/tokens}/colors/colors.d.ts +0 -0
  539. /package/dist/{tokens → packages/components-v3/tokens}/colors/colors.js +0 -0
  540. /package/dist/{tokens → packages/components-v3/tokens}/montion/motion.cjs +0 -0
  541. /package/dist/{tokens → packages/components-v3/tokens}/montion/motion.d.ts +0 -0
  542. /package/dist/{tokens → packages/components-v3/tokens}/montion/motion.js +0 -0
  543. /package/dist/{tokens → packages/components-v3/tokens}/radius/radius.cjs +0 -0
  544. /package/dist/{tokens → packages/components-v3/tokens}/radius/radius.d.ts +0 -0
  545. /package/dist/{tokens → packages/components-v3/tokens}/radius/radius.js +0 -0
  546. /package/dist/{tokens → packages/components-v3/tokens}/spacing/spacing.cjs +0 -0
  547. /package/dist/{tokens → packages/components-v3/tokens}/spacing/spacing.d.ts +0 -0
  548. /package/dist/{tokens → packages/components-v3/tokens}/spacing/spacing.js +0 -0
  549. /package/dist/{tokens → packages/components-v3/tokens}/theme/theme.cjs +0 -0
  550. /package/dist/{tokens → packages/components-v3/tokens}/theme/theme.d.ts +0 -0
  551. /package/dist/{tokens → packages/components-v3/tokens}/theme/theme.js +0 -0
  552. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontFamily.cjs +0 -0
  553. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontFamily.d.ts +0 -0
  554. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontFamily.js +0 -0
  555. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontSize.cjs +0 -0
  556. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontSize.d.ts +0 -0
  557. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontSize.js +0 -0
  558. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontWeight.cjs +0 -0
  559. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontWeight.d.ts +0 -0
  560. /package/dist/{tokens → packages/components-v3/tokens}/typography/fontWeight.js +0 -0
  561. /package/dist/{tokens → packages/components-v3/tokens}/typography/letterSpacing.cjs +0 -0
  562. /package/dist/{tokens → packages/components-v3/tokens}/typography/letterSpacing.d.ts +0 -0
  563. /package/dist/{tokens → packages/components-v3/tokens}/typography/letterSpacing.js +0 -0
  564. /package/dist/{tokens → packages/components-v3/tokens}/typography/lineHeight.cjs +0 -0
  565. /package/dist/{tokens → packages/components-v3/tokens}/typography/lineHeight.d.ts +0 -0
  566. /package/dist/{tokens → packages/components-v3/tokens}/typography/lineHeight.js +0 -0
  567. /package/dist/{tokens → packages/components-v3/tokens}/typography/typography.cjs +0 -0
  568. /package/dist/{tokens → packages/components-v3/tokens}/typography/typography.d.ts +0 -0
  569. /package/dist/{tokens → packages/components-v3/tokens}/typography/typography.js +0 -0
@@ -1,17 +1,48 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_resolveTheme = require('../../utils/resolveTheme.cjs');
3
+ const require_Stack = require('../../Stack/Stack.cjs');
4
+ require('../../Stack/index.cjs');
3
5
  const require_PromptButton = require('../../PromptButton/PromptButton.cjs');
4
6
  require('../../PromptButton/index.cjs');
7
+ const require_useCheckIsMobile = require('../../utils/useCheckIsMobile.cjs');
5
8
  let react_jsx_runtime = require("react/jsx-runtime");
6
9
 
7
10
  //#region src/components/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.tsx
11
+ function distributeInThreeRows(items) {
12
+ const n = items.length;
13
+ const perRow = [
14
+ 1,
15
+ 1,
16
+ 1
17
+ ];
18
+ let remaining = Math.max(0, n - 3);
19
+ let idx = 0;
20
+ while (remaining > 0) {
21
+ perRow[idx % 3] += 1;
22
+ remaining -= 1;
23
+ idx += 1;
24
+ }
25
+ let start = 0;
26
+ const [row0, row1, row2] = perRow.map((count) => {
27
+ const row = items.slice(start, start + count);
28
+ start += count;
29
+ return row;
30
+ });
31
+ return [
32
+ row0,
33
+ row1,
34
+ row2
35
+ ];
36
+ }
8
37
  const PromptButtonsCarousel = ({ theme, isLoading, promptButtonsTexts, promptButtonType, handlePromptButtonClick }) => {
9
38
  const finalTheme = require_resolveTheme.resolveTheme(theme);
10
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: (isLoading ? [
39
+ const { isMobile } = require_useCheckIsMobile.useCheckIsMobile();
40
+ const promptButtonsTextsFinal = isLoading ? [
11
41
  "Loading 1...",
12
42
  "Loading 2...",
13
43
  "Loading 3..."
14
- ] : promptButtonsTexts).map((text) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
44
+ ] : promptButtonsTexts || [];
45
+ const renderButton = (text) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15
46
  className: "envive-tw-flex-shrink-0",
16
47
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PromptButton.PromptButton, {
17
48
  id: `prompt-button-${text}`,
@@ -22,7 +53,26 @@ const PromptButtonsCarousel = ({ theme, isLoading, promptButtonsTexts, promptBut
22
53
  theme: finalTheme,
23
54
  onClick: () => handlePromptButtonClick(text)
24
55
  })
25
- }, text)) });
56
+ }, text);
57
+ if (isMobile) {
58
+ const [row0, row1, row2] = distributeInThreeRows(promptButtonsTextsFinal);
59
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Stack.Stack, {
60
+ direction: "column",
61
+ gap: "4",
62
+ className: "envive-tw-w-full",
63
+ children: [
64
+ row0,
65
+ row1,
66
+ row2
67
+ ].filter((row) => row.length > 0).map((row) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Stack.Stack, {
68
+ direction: "row",
69
+ gap: "4",
70
+ className: "envive-tw-w-full envive-tw-flex-nowrap",
71
+ children: row.map(renderButton)
72
+ }, row.join("-")))
73
+ });
74
+ }
75
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: promptButtonsTextsFinal.map(renderButton) });
26
76
  };
27
77
 
28
78
  //#endregion
@@ -1,16 +1,47 @@
1
1
  import { resolveTheme } from "../../utils/resolveTheme.js";
2
+ import { Stack } from "../../Stack/Stack.js";
3
+ import "../../Stack/index.js";
2
4
  import { PromptButton } from "../../PromptButton/PromptButton.js";
3
5
  import "../../PromptButton/index.js";
6
+ import { useCheckIsMobile } from "../../utils/useCheckIsMobile.js";
4
7
  import { Fragment, jsx } from "react/jsx-runtime";
5
8
 
6
9
  //#region src/components/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.tsx
10
+ function distributeInThreeRows(items) {
11
+ const n = items.length;
12
+ const perRow = [
13
+ 1,
14
+ 1,
15
+ 1
16
+ ];
17
+ let remaining = Math.max(0, n - 3);
18
+ let idx = 0;
19
+ while (remaining > 0) {
20
+ perRow[idx % 3] += 1;
21
+ remaining -= 1;
22
+ idx += 1;
23
+ }
24
+ let start = 0;
25
+ const [row0, row1, row2] = perRow.map((count) => {
26
+ const row = items.slice(start, start + count);
27
+ start += count;
28
+ return row;
29
+ });
30
+ return [
31
+ row0,
32
+ row1,
33
+ row2
34
+ ];
35
+ }
7
36
  const PromptButtonsCarousel = ({ theme, isLoading, promptButtonsTexts, promptButtonType, handlePromptButtonClick }) => {
8
37
  const finalTheme = resolveTheme(theme);
9
- return /* @__PURE__ */ jsx(Fragment, { children: (isLoading ? [
38
+ const { isMobile } = useCheckIsMobile();
39
+ const promptButtonsTextsFinal = isLoading ? [
10
40
  "Loading 1...",
11
41
  "Loading 2...",
12
42
  "Loading 3..."
13
- ] : promptButtonsTexts).map((text) => /* @__PURE__ */ jsx("div", {
43
+ ] : promptButtonsTexts || [];
44
+ const renderButton = (text) => /* @__PURE__ */ jsx("div", {
14
45
  className: "envive-tw-flex-shrink-0",
15
46
  children: /* @__PURE__ */ jsx(PromptButton, {
16
47
  id: `prompt-button-${text}`,
@@ -21,7 +52,26 @@ const PromptButtonsCarousel = ({ theme, isLoading, promptButtonsTexts, promptBut
21
52
  theme: finalTheme,
22
53
  onClick: () => handlePromptButtonClick(text)
23
54
  })
24
- }, text)) });
55
+ }, text);
56
+ if (isMobile) {
57
+ const [row0, row1, row2] = distributeInThreeRows(promptButtonsTextsFinal);
58
+ return /* @__PURE__ */ jsx(Stack, {
59
+ direction: "column",
60
+ gap: "4",
61
+ className: "envive-tw-w-full",
62
+ children: [
63
+ row0,
64
+ row1,
65
+ row2
66
+ ].filter((row) => row.length > 0).map((row) => /* @__PURE__ */ jsx(Stack, {
67
+ direction: "row",
68
+ gap: "4",
69
+ className: "envive-tw-w-full envive-tw-flex-nowrap",
70
+ children: row.map(renderButton)
71
+ }, row.join("-")))
72
+ });
73
+ }
74
+ return /* @__PURE__ */ jsx(Fragment, { children: promptButtonsTextsFinal.map(renderButton) });
25
75
  };
26
76
 
27
77
  //#endregion
@@ -1,4 +1,4 @@
1
- import { Theme } from "../../tokens/theme/theme.js";
1
+ import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
2
2
  import { PromptButtonVariant } from "../../PromptButton/types/index.js";
3
3
 
4
4
  //#region src/components/PromptButtonCarouselWithImage/types/types.d.ts
@@ -1,21 +1,23 @@
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
+ const require_resolveTheme = require('../utils/resolveTheme.cjs');
3
4
  const require_Container = require('../Container/Container.cjs');
4
5
  require('../Container/index.cjs');
5
- const require_resolveTheme = require('../utils/resolveTheme.cjs');
6
+ const require_Stack = require('../Stack/Stack.cjs');
7
+ require('../Stack/index.cjs');
6
8
  const require_PromptButton_types_index = require('../PromptButton/types/index.cjs');
7
9
  const require_PromptButton = require('../PromptButton/PromptButton.cjs');
8
10
  require('../PromptButton/index.cjs');
9
11
  const require_useCheckIsMobile = require('../utils/useCheckIsMobile.cjs');
10
12
  const require_PromptCarousel_types_types = require('./types/types.cjs');
11
- const require_useCarouselRefs = require('./hooks/useCarouselRefs.cjs');
12
13
  const require_useCarouselButtons = require('./hooks/useCarouselButtons.cjs');
13
- const require_useCarouselAnimation = require('./hooks/useCarouselAnimation.cjs');
14
+ const require_useCoordinatedScrollAnimation = require('./hooks/useCoordinatedScrollAnimation.cjs');
15
+ const require_useScrollSync = require('./hooks/useScrollSync.cjs');
14
16
  require('./hooks/index.cjs');
15
- const require_index$1 = require('./components/index.cjs');
16
17
  const require_functions = require('./utils/functions.cjs');
17
- let react = require("react");
18
18
  let react_jsx_runtime = require("react/jsx-runtime");
19
+ let react = require("react");
20
+ let react_indiana_drag_scroll = require("react-indiana-drag-scroll");
19
21
 
20
22
  //#region src/components/PromptCarousel/PromptCarousel.tsx
21
23
  const PromptCarousel = ({ id, theme = require_theme.Theme.GLOBAL_CUSTOM, testId, className, style, isLoading = false, promptButtonTexts, promptButtonType = require_PromptButton_types_index.PromptButtonVariant.LIGHT, boldFirstButton = false, handleButtonClick, promptCarouselRows = require_PromptCarousel_types_types.PromptCarouselRows.ALWAYS_ONE, animationSpeed = require_PromptCarousel_types_types.AnimationSpeed.NONE, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, role = "region" }) => {
@@ -23,21 +25,34 @@ const PromptCarousel = ({ id, theme = require_theme.Theme.GLOBAL_CUSTOM, testId,
23
25
  const isAnimatedValue = require_functions.isAnimated(animationSpeed);
24
26
  const shouldShowTwoRowsValue = require_functions.shouldShowTwoRows(promptCarouselRows, isMobile);
25
27
  const finalTheme = require_resolveTheme.resolveTheme(theme);
26
- const { firstRowScrollRef, firstRowStackRef, secondRowScrollRef, blockScrollRef, blockFirstRowStackRef, scrollRefs } = require_useCarouselRefs.useCarouselRefs({ shouldShowTwoRows: shouldShowTwoRowsValue });
27
- const { isAnimationStopped, shouldUseRowScroll } = require_useCarouselAnimation.useCarouselAnimation({
28
- firstRowScrollRef,
29
- blockScrollRef,
30
- scrollRefs,
31
- animationSpeed,
32
- isAnimated: isAnimatedValue
28
+ const { ref: dragScrollRef1 } = (0, react_indiana_drag_scroll.useScrollContainer)();
29
+ const { ref: dragScrollRef2 } = (0, react_indiana_drag_scroll.useScrollContainer)();
30
+ const scrollContainerRef1 = (0, react.useRef)(null);
31
+ const scrollContainerRef2 = (0, react.useRef)(null);
32
+ const setRef1 = (0, react.useCallback)((el) => {
33
+ if (typeof dragScrollRef1 === "function") dragScrollRef1(el);
34
+ scrollContainerRef1.current = el;
35
+ }, [dragScrollRef1]);
36
+ const setRef2 = (0, react.useCallback)((el) => {
37
+ if (typeof dragScrollRef2 === "function") dragScrollRef2(el);
38
+ scrollContainerRef2.current = el;
39
+ }, [dragScrollRef2]);
40
+ const scrollContainerRefs = shouldShowTwoRowsValue ? [scrollContainerRef1, scrollContainerRef2] : [scrollContainerRef1];
41
+ require_useCoordinatedScrollAnimation.useCoordinatedScrollAnimation({
42
+ scrollContainerRefs,
43
+ animationSpeed
44
+ });
45
+ require_useScrollSync.useScrollSync({
46
+ scrollContainerRefs,
47
+ enabled: true
33
48
  });
34
49
  const { visibleButtonsFirstRow, visibleButtonsSecondRow } = require_useCarouselButtons.useCarouselButtons({
35
50
  promptButtonTexts,
36
51
  shouldShowTwoRows: shouldShowTwoRowsValue
37
52
  });
38
- const renderButton = (0, react.useCallback)((text, index, repetitionNumber = void 0) => {
53
+ const renderButton = (0, react.useCallback)((text, index, duplicateIndex = 0) => {
39
54
  const textWithoutSpaces = require_functions.removeSpaces(text);
40
- const buttonId = repetitionNumber ? `${id}-${textWithoutSpaces}${repetitionNumber}` : `${id}-${textWithoutSpaces}`;
55
+ const buttonId = duplicateIndex > 0 ? `${id}-${textWithoutSpaces}-duplicate-${duplicateIndex}` : `${id}-${textWithoutSpaces}`;
41
56
  const buttonKey = `button-${buttonId}`;
42
57
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_PromptButton.PromptButton, {
43
58
  id: buttonId,
@@ -45,7 +60,7 @@ const PromptCarousel = ({ id, theme = require_theme.Theme.GLOBAL_CUSTOM, testId,
45
60
  variant: promptButtonType,
46
61
  theme: finalTheme,
47
62
  isLoading,
48
- bold: boldFirstButton && index === 0,
63
+ bold: boldFirstButton && index === 0 && duplicateIndex === 0,
49
64
  onClick: () => handleButtonClick?.(text)
50
65
  }, buttonKey);
51
66
  }, [
@@ -56,6 +71,11 @@ const PromptCarousel = ({ id, theme = require_theme.Theme.GLOBAL_CUSTOM, testId,
56
71
  isLoading,
57
72
  finalTheme
58
73
  ]);
74
+ const renderButtonRow = (buttons, startIndex) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
75
+ buttons.map((text, i) => renderButton(text, startIndex + i, 0)),
76
+ isAnimatedValue && buttons.map((text, i) => renderButton(text, startIndex + i, 1)),
77
+ isAnimatedValue && buttons.map((text, i) => renderButton(text, startIndex + i, 2))
78
+ ] });
59
79
  const defaultAriaLabel = ariaLabel || "Prompt carousel with suggested actions";
60
80
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Container.Container, {
61
81
  id,
@@ -68,25 +88,42 @@ const PromptCarousel = ({ id, theme = require_theme.Theme.GLOBAL_CUSTOM, testId,
68
88
  "aria-describedby": ariaDescribedBy,
69
89
  "aria-busy": isLoading,
70
90
  "aria-live": isAnimatedValue && !isLoading ? "polite" : void 0,
71
- children: shouldUseRowScroll ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.PromptCarouselComponents.CarouselContentWithRowScroll, {
72
- visibleButtonsFirstRow,
73
- visibleButtonsSecondRow,
74
- shouldShowTwoRows: shouldShowTwoRowsValue,
75
- renderButton,
76
- isAnimated: isAnimatedValue,
77
- isAnimationStopped,
78
- firstRowScrollRef,
79
- firstRowStackRef,
80
- secondRowScrollRef
81
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.PromptCarouselComponents.CarouselContentWithBlockScroll, {
82
- visibleButtonsFirstRow,
83
- visibleButtonsSecondRow,
84
- shouldShowTwoRows: shouldShowTwoRowsValue,
85
- renderButton,
86
- isAnimated: isAnimatedValue,
87
- isAnimationStopped,
88
- blockScrollRef,
89
- blockFirstRowStackRef
91
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, {
92
+ direction: "column",
93
+ gap: "2",
94
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
95
+ className: "envive-tw-no-scrollbar envive-tw-relative envive-tw-w-full envive-tw-overflow-x-scroll",
96
+ ref: setRef1,
97
+ style: {
98
+ cursor: "grab",
99
+ userSelect: "none"
100
+ },
101
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
102
+ className: "envive-tw-relative envive-tw-inline-block envive-tw-whitespace-nowrap",
103
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Stack.Stack, {
104
+ direction: "row",
105
+ gap: "2",
106
+ className: "envive-tw-pl-0 envive-tw-h-full envive-tw-items-center",
107
+ children: renderButtonRow(visibleButtonsFirstRow, 0)
108
+ })
109
+ })
110
+ }), shouldShowTwoRowsValue && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
111
+ className: "envive-tw-no-scrollbar envive-tw-relative envive-tw-w-full envive-tw-overflow-x-scroll",
112
+ ref: setRef2,
113
+ style: {
114
+ cursor: "grab",
115
+ userSelect: "none"
116
+ },
117
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
118
+ className: "envive-tw-relative envive-tw-inline-block envive-tw-whitespace-nowrap",
119
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Stack.Stack, {
120
+ direction: "row",
121
+ gap: "2",
122
+ className: "envive-tw-pl-0 envive-tw-h-full envive-tw-items-center",
123
+ children: renderButtonRow(visibleButtonsSecondRow, visibleButtonsFirstRow.length)
124
+ })
125
+ })
126
+ })]
90
127
  })
91
128
  });
92
129
  };
@@ -1,5 +1,5 @@
1
1
  import { PromptCarouselProps } from "./types/types.cjs";
2
- import * as react_jsx_runtime6 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime23 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/PromptCarousel/PromptCarousel.d.ts
5
5
  declare const PromptCarousel: ({
@@ -19,6 +19,6 @@ declare const PromptCarousel: ({
19
19
  "aria-labelledby": ariaLabelledBy,
20
20
  "aria-describedby": ariaDescribedBy,
21
21
  role
22
- }: PromptCarouselProps) => react_jsx_runtime6.JSX.Element;
22
+ }: PromptCarouselProps) => react_jsx_runtime23.JSX.Element;
23
23
  //#endregion
24
24
  export { PromptCarousel };
@@ -1,5 +1,5 @@
1
1
  import { PromptCarouselProps } from "./types/types.js";
2
- import * as react_jsx_runtime16 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime20 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/PromptCarousel/PromptCarousel.d.ts
5
5
  declare const PromptCarousel: ({
@@ -19,6 +19,6 @@ declare const PromptCarousel: ({
19
19
  "aria-labelledby": ariaLabelledBy,
20
20
  "aria-describedby": ariaDescribedBy,
21
21
  role
22
- }: PromptCarouselProps) => react_jsx_runtime16.JSX.Element;
22
+ }: PromptCarouselProps) => react_jsx_runtime20.JSX.Element;
23
23
  //#endregion
24
24
  export { PromptCarousel };
@@ -1,20 +1,22 @@
1
- import { Theme } from "../tokens/theme/theme.js";
1
+ import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
2
+ import { resolveTheme } from "../utils/resolveTheme.js";
2
3
  import { Container } from "../Container/Container.js";
3
4
  import "../Container/index.js";
4
- import { resolveTheme } from "../utils/resolveTheme.js";
5
+ import { Stack } from "../Stack/Stack.js";
6
+ import "../Stack/index.js";
5
7
  import { PromptButtonVariant } from "../PromptButton/types/index.js";
6
8
  import { PromptButton } from "../PromptButton/PromptButton.js";
7
9
  import "../PromptButton/index.js";
8
10
  import { useCheckIsMobile } from "../utils/useCheckIsMobile.js";
9
11
  import { AnimationSpeed, PromptCarouselRows } from "./types/types.js";
10
- import { useCarouselRefs } from "./hooks/useCarouselRefs.js";
11
12
  import { useCarouselButtons } from "./hooks/useCarouselButtons.js";
12
- import { useCarouselAnimation } from "./hooks/useCarouselAnimation.js";
13
+ import { useCoordinatedScrollAnimation } from "./hooks/useCoordinatedScrollAnimation.js";
14
+ import { useScrollSync } from "./hooks/useScrollSync.js";
13
15
  import "./hooks/index.js";
14
- import { PromptCarouselComponents } from "./components/index.js";
15
16
  import { isAnimated, removeSpaces, shouldShowTwoRows } from "./utils/functions.js";
16
- import { useCallback } from "react";
17
- import { jsx } from "react/jsx-runtime";
17
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
+ import { useCallback, useRef } from "react";
19
+ import { useScrollContainer } from "react-indiana-drag-scroll";
18
20
 
19
21
  //#region src/components/PromptCarousel/PromptCarousel.tsx
20
22
  const PromptCarousel = ({ id, theme = Theme.GLOBAL_CUSTOM, testId, className, style, isLoading = false, promptButtonTexts, promptButtonType = PromptButtonVariant.LIGHT, boldFirstButton = false, handleButtonClick, promptCarouselRows = PromptCarouselRows.ALWAYS_ONE, animationSpeed = AnimationSpeed.NONE, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, role = "region" }) => {
@@ -22,21 +24,34 @@ const PromptCarousel = ({ id, theme = Theme.GLOBAL_CUSTOM, testId, className, st
22
24
  const isAnimatedValue = isAnimated(animationSpeed);
23
25
  const shouldShowTwoRowsValue = shouldShowTwoRows(promptCarouselRows, isMobile);
24
26
  const finalTheme = resolveTheme(theme);
25
- const { firstRowScrollRef, firstRowStackRef, secondRowScrollRef, blockScrollRef, blockFirstRowStackRef, scrollRefs } = useCarouselRefs({ shouldShowTwoRows: shouldShowTwoRowsValue });
26
- const { isAnimationStopped, shouldUseRowScroll } = useCarouselAnimation({
27
- firstRowScrollRef,
28
- blockScrollRef,
29
- scrollRefs,
30
- animationSpeed,
31
- isAnimated: isAnimatedValue
27
+ const { ref: dragScrollRef1 } = useScrollContainer();
28
+ const { ref: dragScrollRef2 } = useScrollContainer();
29
+ const scrollContainerRef1 = useRef(null);
30
+ const scrollContainerRef2 = useRef(null);
31
+ const setRef1 = useCallback((el) => {
32
+ if (typeof dragScrollRef1 === "function") dragScrollRef1(el);
33
+ scrollContainerRef1.current = el;
34
+ }, [dragScrollRef1]);
35
+ const setRef2 = useCallback((el) => {
36
+ if (typeof dragScrollRef2 === "function") dragScrollRef2(el);
37
+ scrollContainerRef2.current = el;
38
+ }, [dragScrollRef2]);
39
+ const scrollContainerRefs = shouldShowTwoRowsValue ? [scrollContainerRef1, scrollContainerRef2] : [scrollContainerRef1];
40
+ useCoordinatedScrollAnimation({
41
+ scrollContainerRefs,
42
+ animationSpeed
43
+ });
44
+ useScrollSync({
45
+ scrollContainerRefs,
46
+ enabled: true
32
47
  });
33
48
  const { visibleButtonsFirstRow, visibleButtonsSecondRow } = useCarouselButtons({
34
49
  promptButtonTexts,
35
50
  shouldShowTwoRows: shouldShowTwoRowsValue
36
51
  });
37
- const renderButton = useCallback((text, index, repetitionNumber = void 0) => {
52
+ const renderButton = useCallback((text, index, duplicateIndex = 0) => {
38
53
  const textWithoutSpaces = removeSpaces(text);
39
- const buttonId = repetitionNumber ? `${id}-${textWithoutSpaces}${repetitionNumber}` : `${id}-${textWithoutSpaces}`;
54
+ const buttonId = duplicateIndex > 0 ? `${id}-${textWithoutSpaces}-duplicate-${duplicateIndex}` : `${id}-${textWithoutSpaces}`;
40
55
  const buttonKey = `button-${buttonId}`;
41
56
  return /* @__PURE__ */ jsx(PromptButton, {
42
57
  id: buttonId,
@@ -44,7 +59,7 @@ const PromptCarousel = ({ id, theme = Theme.GLOBAL_CUSTOM, testId, className, st
44
59
  variant: promptButtonType,
45
60
  theme: finalTheme,
46
61
  isLoading,
47
- bold: boldFirstButton && index === 0,
62
+ bold: boldFirstButton && index === 0 && duplicateIndex === 0,
48
63
  onClick: () => handleButtonClick?.(text)
49
64
  }, buttonKey);
50
65
  }, [
@@ -55,6 +70,11 @@ const PromptCarousel = ({ id, theme = Theme.GLOBAL_CUSTOM, testId, className, st
55
70
  isLoading,
56
71
  finalTheme
57
72
  ]);
73
+ const renderButtonRow = (buttons, startIndex) => /* @__PURE__ */ jsxs(Fragment, { children: [
74
+ buttons.map((text, i) => renderButton(text, startIndex + i, 0)),
75
+ isAnimatedValue && buttons.map((text, i) => renderButton(text, startIndex + i, 1)),
76
+ isAnimatedValue && buttons.map((text, i) => renderButton(text, startIndex + i, 2))
77
+ ] });
58
78
  const defaultAriaLabel = ariaLabel || "Prompt carousel with suggested actions";
59
79
  return /* @__PURE__ */ jsx(Container, {
60
80
  id,
@@ -67,25 +87,42 @@ const PromptCarousel = ({ id, theme = Theme.GLOBAL_CUSTOM, testId, className, st
67
87
  "aria-describedby": ariaDescribedBy,
68
88
  "aria-busy": isLoading,
69
89
  "aria-live": isAnimatedValue && !isLoading ? "polite" : void 0,
70
- children: shouldUseRowScroll ? /* @__PURE__ */ jsx(PromptCarouselComponents.CarouselContentWithRowScroll, {
71
- visibleButtonsFirstRow,
72
- visibleButtonsSecondRow,
73
- shouldShowTwoRows: shouldShowTwoRowsValue,
74
- renderButton,
75
- isAnimated: isAnimatedValue,
76
- isAnimationStopped,
77
- firstRowScrollRef,
78
- firstRowStackRef,
79
- secondRowScrollRef
80
- }) : /* @__PURE__ */ jsx(PromptCarouselComponents.CarouselContentWithBlockScroll, {
81
- visibleButtonsFirstRow,
82
- visibleButtonsSecondRow,
83
- shouldShowTwoRows: shouldShowTwoRowsValue,
84
- renderButton,
85
- isAnimated: isAnimatedValue,
86
- isAnimationStopped,
87
- blockScrollRef,
88
- blockFirstRowStackRef
90
+ children: /* @__PURE__ */ jsxs(Stack, {
91
+ direction: "column",
92
+ gap: "2",
93
+ children: [/* @__PURE__ */ jsx("div", {
94
+ className: "envive-tw-no-scrollbar envive-tw-relative envive-tw-w-full envive-tw-overflow-x-scroll",
95
+ ref: setRef1,
96
+ style: {
97
+ cursor: "grab",
98
+ userSelect: "none"
99
+ },
100
+ children: /* @__PURE__ */ jsx("div", {
101
+ className: "envive-tw-relative envive-tw-inline-block envive-tw-whitespace-nowrap",
102
+ children: /* @__PURE__ */ jsx(Stack, {
103
+ direction: "row",
104
+ gap: "2",
105
+ className: "envive-tw-pl-0 envive-tw-h-full envive-tw-items-center",
106
+ children: renderButtonRow(visibleButtonsFirstRow, 0)
107
+ })
108
+ })
109
+ }), shouldShowTwoRowsValue && /* @__PURE__ */ jsx("div", {
110
+ className: "envive-tw-no-scrollbar envive-tw-relative envive-tw-w-full envive-tw-overflow-x-scroll",
111
+ ref: setRef2,
112
+ style: {
113
+ cursor: "grab",
114
+ userSelect: "none"
115
+ },
116
+ children: /* @__PURE__ */ jsx("div", {
117
+ className: "envive-tw-relative envive-tw-inline-block envive-tw-whitespace-nowrap",
118
+ children: /* @__PURE__ */ jsx(Stack, {
119
+ direction: "row",
120
+ gap: "2",
121
+ className: "envive-tw-pl-0 envive-tw-h-full envive-tw-items-center",
122
+ children: renderButtonRow(visibleButtonsSecondRow, visibleButtonsFirstRow.length)
123
+ })
124
+ })
125
+ })]
89
126
  })
90
127
  });
91
128
  };
@@ -1,5 +1,3 @@
1
- const require_useHorizontalScrollAnimation = require('./useHorizontalScrollAnimation.cjs');
2
- const require_useButtonScrollPosition = require('./useButtonScrollPosition.cjs');
3
- const require_useCarouselRefs = require('./useCarouselRefs.cjs');
4
1
  const require_useCarouselButtons = require('./useCarouselButtons.cjs');
5
- const require_useCarouselAnimation = require('./useCarouselAnimation.cjs');
2
+ const require_useCoordinatedScrollAnimation = require('./useCoordinatedScrollAnimation.cjs');
3
+ const require_useScrollSync = require('./useScrollSync.cjs');
@@ -1,7 +1,5 @@
1
- import { useHorizontalScrollAnimation } from "./useHorizontalScrollAnimation.js";
2
- import { useButtonScrollPosition } from "./useButtonScrollPosition.js";
3
- import { useCarouselRefs } from "./useCarouselRefs.js";
4
1
  import { useCarouselButtons } from "./useCarouselButtons.js";
5
- import { useCarouselAnimation } from "./useCarouselAnimation.js";
2
+ import { useCoordinatedScrollAnimation } from "./useCoordinatedScrollAnimation.js";
3
+ import { useScrollSync } from "./useScrollSync.js";
6
4
 
7
5
  export { };
@@ -0,0 +1,91 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_PromptCarousel_types_types = require('../types/types.cjs');
3
+ let react = require("react");
4
+
5
+ //#region src/components/PromptCarousel/hooks/useCoordinatedScrollAnimation.ts
6
+ function useCoordinatedScrollAnimation({ scrollContainerRefs, animationSpeed = require_PromptCarousel_types_types.AnimationSpeed.NONE }) {
7
+ const resumeTimeoutRef = (0, react.useRef)(null);
8
+ const scrollAnimationRefs = (0, react.useRef)([]);
9
+ const isPausedRef = (0, react.useRef)(false);
10
+ let PIXELS_PER_SECOND = 0;
11
+ switch (animationSpeed) {
12
+ case require_PromptCarousel_types_types.AnimationSpeed.FAST:
13
+ PIXELS_PER_SECOND = 60;
14
+ break;
15
+ case require_PromptCarousel_types_types.AnimationSpeed.SLOW:
16
+ PIXELS_PER_SECOND = 30;
17
+ break;
18
+ default: PIXELS_PER_SECOND = 0;
19
+ }
20
+ const RESUME_DELAY_MS = 1500;
21
+ const isAnimated = animationSpeed !== require_PromptCarousel_types_types.AnimationSpeed.NONE;
22
+ (0, react.useEffect)(() => {
23
+ if (!isAnimated || scrollContainerRefs.length === 0) return void 0;
24
+ const containers = scrollContainerRefs.map((ref) => ref.current).filter((el) => el !== null);
25
+ if (containers.length === 0) return void 0;
26
+ const animationStates = containers.map(() => ({
27
+ lastTimestamp: null,
28
+ accumulatedScroll: 0
29
+ }));
30
+ const step = (timestamp) => {
31
+ if (!isPausedRef.current) containers.forEach((containerElement, index) => {
32
+ const container = containerElement;
33
+ if (container.scrollWidth <= container.clientWidth) return;
34
+ const state = animationStates[index];
35
+ if (state.lastTimestamp === null) state.lastTimestamp = timestamp;
36
+ const delta = timestamp - state.lastTimestamp;
37
+ state.lastTimestamp = timestamp;
38
+ state.accumulatedScroll += PIXELS_PER_SECOND * (delta / 1e3);
39
+ const pixelsToScroll = Math.floor(state.accumulatedScroll);
40
+ if (pixelsToScroll > 0) {
41
+ container.scrollLeft += pixelsToScroll;
42
+ state.accumulatedScroll -= pixelsToScroll;
43
+ if (Math.ceil(container.scrollLeft) >= container.scrollWidth - container.clientWidth) {
44
+ container.scrollLeft = 0;
45
+ state.accumulatedScroll = 0;
46
+ }
47
+ }
48
+ });
49
+ const rafId = requestAnimationFrame(step);
50
+ scrollAnimationRefs.current[0] = rafId;
51
+ };
52
+ scrollAnimationRefs.current[0] = requestAnimationFrame(step);
53
+ const pauseAnimation = () => {
54
+ isPausedRef.current = true;
55
+ if (resumeTimeoutRef.current) {
56
+ clearTimeout(resumeTimeoutRef.current);
57
+ resumeTimeoutRef.current = null;
58
+ }
59
+ };
60
+ const scheduleResumeAnimation = () => {
61
+ resumeTimeoutRef.current = window.setTimeout(() => {
62
+ isPausedRef.current = false;
63
+ animationStates.forEach((stateElement) => {
64
+ const state = stateElement;
65
+ state.lastTimestamp = null;
66
+ });
67
+ }, RESUME_DELAY_MS);
68
+ };
69
+ containers.forEach((container) => {
70
+ container.addEventListener("mouseenter", pauseAnimation);
71
+ container.addEventListener("mouseleave", scheduleResumeAnimation);
72
+ });
73
+ return () => {
74
+ scrollAnimationRefs.current.forEach((rafId) => {
75
+ if (rafId) cancelAnimationFrame(rafId);
76
+ });
77
+ containers.forEach((container) => {
78
+ container.removeEventListener("mouseenter", pauseAnimation);
79
+ container.removeEventListener("mouseleave", scheduleResumeAnimation);
80
+ });
81
+ if (resumeTimeoutRef.current) clearTimeout(resumeTimeoutRef.current);
82
+ };
83
+ }, [
84
+ isAnimated,
85
+ PIXELS_PER_SECOND,
86
+ scrollContainerRefs
87
+ ]);
88
+ }
89
+
90
+ //#endregion
91
+ exports.useCoordinatedScrollAnimation = useCoordinatedScrollAnimation;