@envive-ai/react-toolkit-v3 0.3.22 → 0.3.23

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 (367) hide show
  1. package/dist/AnimatedText/AnimatedText.d.cts +3 -3
  2. package/dist/AnimatedText/AnimatedText.d.ts +3 -3
  3. package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.cts +2 -2
  4. package/dist/CSSVariablesEditor/CssVariablesEditorComponent.d.ts +2 -2
  5. package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.cjs +1 -1
  6. package/dist/CSSVariablesEditor/hooks/useGetCssVariablesOptions.js +1 -1
  7. package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.cjs +1 -1
  8. package/dist/CSSVariablesEditor/hooks/useGetCurrentMerchantColors.js +1 -1
  9. package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.cjs +4 -4
  10. package/dist/CSSVariablesEditor/hooks/useGetDefaultCssVariables.js +4 -4
  11. package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.cjs +3 -3
  12. package/dist/CSSVariablesEditor/hooks/useHandleUpdateCssVars.js +3 -3
  13. package/dist/Carousel/Carousel.d.cts +2 -2
  14. package/dist/Carousel/Carousel.d.ts +2 -2
  15. package/dist/Carousel/components/Badge.cjs +1 -1
  16. package/dist/Carousel/components/Badge.js +1 -1
  17. package/dist/Carousel/components/Container.cjs +1 -1
  18. package/dist/Carousel/components/Container.js +1 -1
  19. package/dist/ChatFooter/ChatFooter.cjs +7 -3
  20. package/dist/ChatFooter/ChatFooter.d.cts +7 -3
  21. package/dist/ChatFooter/ChatFooter.d.ts +7 -3
  22. package/dist/ChatFooter/ChatFooter.js +7 -3
  23. package/dist/ChatFooter/components/Layout.cjs +1 -1
  24. package/dist/ChatFooter/components/Layout.js +1 -1
  25. package/dist/ChatFooter/components/index.d.cts +10 -6
  26. package/dist/ChatFooter/components/index.d.ts +10 -6
  27. package/dist/ChatFooter/types/types.d.cts +16 -0
  28. package/dist/ChatFooter/types/types.d.ts +16 -0
  29. package/dist/ChatHeader/ChatHeader.cjs +2 -1
  30. package/dist/ChatHeader/ChatHeader.d.cts +2 -2
  31. package/dist/ChatHeader/ChatHeader.d.ts +2 -2
  32. package/dist/ChatHeader/ChatHeader.js +2 -1
  33. package/dist/ChatHeader/components/Handle.cjs +2 -2
  34. package/dist/ChatHeader/components/Handle.js +2 -2
  35. package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +4 -2
  36. package/dist/ChatHeader/hooks/useGetHandleProperties.js +4 -2
  37. package/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +1 -1
  38. package/dist/ChatHeader/hooks/useGetLayoutProperties.js +1 -1
  39. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -1
  40. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +1 -1
  41. package/dist/ChatPreview/ChatPreview.cjs +6 -3
  42. package/dist/ChatPreview/ChatPreview.d.cts +2 -2
  43. package/dist/ChatPreview/ChatPreview.d.ts +2 -2
  44. package/dist/ChatPreview/ChatPreview.js +6 -3
  45. package/dist/ChatPreview/index.d.cts +2 -2
  46. package/dist/ChatPreview/index.d.ts +2 -2
  47. package/dist/ChatPreview/types/types.d.cts +13 -1
  48. package/dist/ChatPreview/types/types.d.ts +13 -1
  49. package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +6 -3
  50. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
  51. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
  52. package/dist/ChatPreviewComparison/ChatPreviewComparison.js +6 -3
  53. package/dist/ChatPreviewComparison/components/Layout.cjs +2 -2
  54. package/dist/ChatPreviewComparison/components/Layout.js +2 -2
  55. package/dist/ChatPreviewComparison/index.d.cts +2 -2
  56. package/dist/ChatPreviewComparison/index.d.ts +2 -2
  57. package/dist/ChatPreviewComparison/types/types.d.cts +13 -1
  58. package/dist/ChatPreviewComparison/types/types.d.ts +13 -1
  59. package/dist/ChatPreviewLoading/ChatPreviewLoading.cjs +7 -2
  60. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.cts +4 -3
  61. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +2 -1
  62. package/dist/ChatPreviewLoading/ChatPreviewLoading.js +7 -2
  63. package/dist/ChatPreviewLoading/types/types.d.cts +4 -0
  64. package/dist/ChatPreviewLoading/types/types.d.ts +4 -0
  65. package/dist/Container/Container.d.cts +174 -174
  66. package/dist/Container/Container.d.ts +174 -174
  67. package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
  68. package/dist/DesignTokens/DesignTokensComponent.d.ts +2 -2
  69. package/dist/DesignTokens/components/FontFamily.cjs +1 -1
  70. package/dist/DesignTokens/components/FontFamily.js +1 -1
  71. package/dist/DesignTokens/components/FontSize.cjs +1 -1
  72. package/dist/DesignTokens/components/FontSize.js +1 -1
  73. package/dist/DesignTokens/components/FontWeight.cjs +1 -1
  74. package/dist/DesignTokens/components/FontWeight.js +1 -1
  75. package/dist/DesignTokens/components/LetterSpacing.cjs +1 -1
  76. package/dist/DesignTokens/components/LetterSpacing.js +1 -1
  77. package/dist/DesignTokens/components/LineHeight.cjs +1 -1
  78. package/dist/DesignTokens/components/LineHeight.js +1 -1
  79. package/dist/DesignTokens/components/Typography.cjs +1 -1
  80. package/dist/DesignTokens/components/Typography.js +1 -1
  81. package/dist/Disclaimer/components/Container.cjs +1 -1
  82. package/dist/Disclaimer/components/Container.js +1 -1
  83. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.cts +2 -2
  84. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
  85. package/dist/DocumentRetrievalCard/components/Image.cjs +1 -1
  86. package/dist/DocumentRetrievalCard/components/Image.js +1 -1
  87. package/dist/DocumentRetrievalCard/components/Layout.cjs +1 -1
  88. package/dist/DocumentRetrievalCard/components/Layout.js +1 -1
  89. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
  90. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
  91. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Label.cjs +1 -1
  92. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Label.js +1 -1
  93. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.cjs +1 -1
  94. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.js +1 -1
  95. package/dist/FloatingButton/FloatingButton.d.cts +2 -2
  96. package/dist/FloatingButton/FloatingButton.d.ts +2 -2
  97. package/dist/FloatingButton/components/Button.cjs +1 -1
  98. package/dist/FloatingButton/components/Button.js +1 -1
  99. package/dist/FloatingButton/components/Container.cjs +1 -1
  100. package/dist/FloatingButton/components/Container.js +1 -1
  101. package/dist/FloatingButton/components/Wrapper.cjs +1 -1
  102. package/dist/FloatingButton/components/Wrapper.js +1 -1
  103. package/dist/FloatingChat/FloatingChat.cjs +27 -4
  104. package/dist/FloatingChat/FloatingChat.d.cts +2 -2
  105. package/dist/FloatingChat/FloatingChat.d.ts +2 -2
  106. package/dist/FloatingChat/FloatingChat.js +28 -5
  107. package/dist/FloatingChat/components/AgentMessage.cjs +2 -2
  108. package/dist/FloatingChat/components/AgentMessage.js +2 -2
  109. package/dist/FloatingChat/components/ChatMessages.cjs +1 -1
  110. package/dist/FloatingChat/components/ChatMessages.js +1 -1
  111. package/dist/FloatingChat/components/Layout.cjs +1 -1
  112. package/dist/FloatingChat/components/Layout.js +1 -1
  113. package/dist/FloatingChat/components/ProductResultsModal.cjs +1 -1
  114. package/dist/FloatingChat/components/ProductResultsModal.js +1 -1
  115. package/dist/FloatingChat/components/ResultsGridView.cjs +1 -1
  116. package/dist/FloatingChat/components/ResultsGridView.js +1 -1
  117. package/dist/FloatingChat/components/SalesAgentBadgeContent.cjs +1 -1
  118. package/dist/FloatingChat/components/SalesAgentBadgeContent.js +1 -1
  119. package/dist/FloatingChat/hooks/useChatSuggestions.cjs +3 -5
  120. package/dist/FloatingChat/hooks/useChatSuggestions.js +4 -6
  121. package/dist/Form/Form.cjs +1 -1
  122. package/dist/Form/Form.js +1 -1
  123. package/dist/Form/components/Layout.cjs +1 -1
  124. package/dist/Form/components/Layout.js +1 -1
  125. package/dist/Form/components/SubmitButtonItem.cjs +1 -1
  126. package/dist/Form/components/SubmitButtonItem.js +1 -1
  127. package/dist/Form/components/TextFieldItem.cjs +1 -1
  128. package/dist/Form/components/TextFieldItem.js +1 -1
  129. package/dist/FullPageSalesAgent/FullPageSalesAgent.cjs +24 -2
  130. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.cts +5 -3
  131. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.ts +5 -3
  132. package/dist/FullPageSalesAgent/FullPageSalesAgent.js +25 -3
  133. package/dist/FullPageSalesAgent/components/Layout.cjs +1 -1
  134. package/dist/FullPageSalesAgent/components/Layout.js +1 -1
  135. package/dist/Image/Image.cjs +1 -1
  136. package/dist/Image/Image.d.cts +2 -2
  137. package/dist/Image/Image.d.ts +2 -2
  138. package/dist/Image/Image.js +1 -1
  139. package/dist/ImageGallery/ImageGallery.d.cts +2 -2
  140. package/dist/ImageGallery/components/Layout.cjs +1 -1
  141. package/dist/ImageGallery/components/Layout.js +1 -1
  142. package/dist/ImageGallery/utils/functions.cjs +1 -1
  143. package/dist/ImageGallery/utils/functions.js +1 -1
  144. package/dist/MarkdownProcessor/MarkdownProcessor.d.cts +2 -2
  145. package/dist/MarkdownProcessor/MarkdownProcessor.d.ts +2 -2
  146. package/dist/Message/components/Layout.cjs +1 -1
  147. package/dist/Message/components/Layout.js +1 -1
  148. package/dist/OrderLookupCard/OrderLookupCard.cjs +1 -1
  149. package/dist/OrderLookupCard/OrderLookupCard.js +1 -1
  150. package/dist/OrderLookupCard/components/Layout.cjs +1 -1
  151. package/dist/OrderLookupCard/components/Layout.js +1 -1
  152. package/dist/OrderLookupCard/components/MoreProductsOverlay.cjs +1 -1
  153. package/dist/OrderLookupCard/components/MoreProductsOverlay.js +1 -1
  154. package/dist/OrderLookupCard/components/ProductImageGridItem.cjs +1 -1
  155. package/dist/OrderLookupCard/components/ProductImageGridItem.js +1 -1
  156. package/dist/OrderLookupCard/components/ProductImageItem.cjs +1 -1
  157. package/dist/OrderLookupCard/components/ProductImageItem.js +1 -1
  158. package/dist/OrderLookupCard/components/ProductImagesGrid.cjs +1 -1
  159. package/dist/OrderLookupCard/components/ProductImagesGrid.js +1 -1
  160. package/dist/OrderLookupCard/components/StatusLabel.cjs +1 -1
  161. package/dist/OrderLookupCard/components/StatusLabel.js +1 -1
  162. package/dist/OrderLookupCard/components/TrackOrderLink.cjs +1 -1
  163. package/dist/OrderLookupCard/components/TrackOrderLink.js +1 -1
  164. package/dist/ProductCard/ProductCard.cjs +6 -2
  165. package/dist/ProductCard/ProductCard.d.cts +6 -3
  166. package/dist/ProductCard/ProductCard.d.ts +6 -3
  167. package/dist/ProductCard/ProductCard.js +6 -2
  168. package/dist/ProductCard/index.d.cts +2 -2
  169. package/dist/ProductCard/index.d.ts +2 -2
  170. package/dist/ProductCard/types/index.d.cts +7 -1
  171. package/dist/ProductCard/types/index.d.ts +7 -1
  172. package/dist/PromptButton/PromptButton.cjs +1 -1
  173. package/dist/PromptButton/PromptButton.d.cts +2 -2
  174. package/dist/PromptButton/PromptButton.d.ts +2 -2
  175. package/dist/PromptButton/PromptButton.js +1 -1
  176. package/dist/PromptButton/components/Layout.cjs +1 -1
  177. package/dist/PromptButton/components/Layout.js +1 -1
  178. package/dist/PromptButton/components/Loading.cjs +1 -1
  179. package/dist/PromptButton/components/Loading.js +1 -1
  180. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +5 -2
  181. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +6 -3
  182. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.ts +6 -3
  183. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +5 -2
  184. package/dist/PromptButtonCarouselWithImage/components/Layout.cjs +1 -1
  185. package/dist/PromptButtonCarouselWithImage/components/Layout.js +1 -1
  186. package/dist/PromptButtonCarouselWithImage/components/Skeleton.cjs +1 -1
  187. package/dist/PromptButtonCarouselWithImage/components/Skeleton.js +1 -1
  188. package/dist/PromptButtonCarouselWithImage/types/types.d.cts +12 -0
  189. package/dist/PromptButtonCarouselWithImage/types/types.d.ts +12 -0
  190. package/dist/PromptCarousel/PromptCarousel.cjs +1 -1
  191. package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
  192. package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
  193. package/dist/PromptCarousel/PromptCarousel.js +1 -1
  194. package/dist/ReviewCard/ReviewCard.d.cts +2 -2
  195. package/dist/ReviewCard/ReviewCard.d.ts +2 -2
  196. package/dist/ReviewCard/components/Container.cjs +1 -1
  197. package/dist/ReviewCard/components/Container.js +1 -1
  198. package/dist/ReviewCard/components/Rating.cjs +1 -2
  199. package/dist/ReviewCard/components/Rating.js +1 -2
  200. package/dist/ReviewCard/components/ReadMoreButton.cjs +1 -1
  201. package/dist/ReviewCard/components/ReadMoreButton.js +1 -1
  202. package/dist/ReviewCard/components/index.d.cts +6 -6
  203. package/dist/ReviewCard/components/index.d.ts +6 -6
  204. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
  205. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.ts +2 -2
  206. package/dist/SalesAgentProductCard/components/Container.cjs +1 -1
  207. package/dist/SalesAgentProductCard/components/Container.js +1 -1
  208. package/dist/SalesAgentProductCard/components/ProductImage.cjs +1 -1
  209. package/dist/SalesAgentProductCard/components/ProductImage.js +1 -1
  210. package/dist/SalesAgentProductCard/components/ProductName.cjs +1 -1
  211. package/dist/SalesAgentProductCard/components/ProductName.js +1 -1
  212. package/dist/SalesAgentProductCard/components/index.d.cts +8 -8
  213. package/dist/SalesAgentProductCard/components/index.d.ts +8 -8
  214. package/dist/SocialProof/SocialProof.cjs +6 -3
  215. package/dist/SocialProof/SocialProof.d.cts +2 -2
  216. package/dist/SocialProof/SocialProof.d.ts +2 -2
  217. package/dist/SocialProof/SocialProof.js +6 -3
  218. package/dist/SocialProof/components/Headline.cjs +1 -1
  219. package/dist/SocialProof/components/Headline.js +1 -1
  220. package/dist/SocialProof/components/LayoutFourHorizontal.cjs +1 -1
  221. package/dist/SocialProof/components/LayoutFourHorizontal.js +1 -1
  222. package/dist/SocialProof/components/Textfield.cjs +5 -2
  223. package/dist/SocialProof/components/Textfield.js +5 -2
  224. package/dist/SocialProof/index.d.cts +2 -2
  225. package/dist/SocialProof/index.d.ts +2 -2
  226. package/dist/SocialProof/types/types.d.cts +13 -1
  227. package/dist/SocialProof/types/types.d.ts +13 -1
  228. package/dist/SparkleAnimation/SparkleAnimation.d.cts +2 -2
  229. package/dist/SparkleAnimation/SparkleAnimation.d.ts +2 -2
  230. package/dist/Stack/Stack.d.cts +2 -2
  231. package/dist/Stack/Stack.d.ts +2 -2
  232. package/dist/TextField/TextField.cjs +35 -3
  233. package/dist/TextField/TextField.d.cts +5 -1
  234. package/dist/TextField/TextField.d.ts +5 -1
  235. package/dist/TextField/TextField.js +35 -3
  236. package/dist/TextField/components/Input.cjs +1 -1
  237. package/dist/TextField/components/Input.js +1 -1
  238. package/dist/TextField/components/Layout.cjs +11 -8
  239. package/dist/TextField/components/Layout.js +11 -8
  240. package/dist/TextField/components/SendIcon.cjs +1 -1
  241. package/dist/TextField/components/SendIcon.js +1 -1
  242. package/dist/TextField/components/VoiceInputButton.cjs +45 -0
  243. package/dist/TextField/components/VoiceInputButton.js +39 -0
  244. package/dist/TextField/components/index.cjs +3 -1
  245. package/dist/TextField/components/index.js +3 -1
  246. package/dist/TextField/hooks/useGetMicButtonContainerProperties.cjs +20 -0
  247. package/dist/TextField/hooks/useGetMicButtonContainerProperties.js +19 -0
  248. package/dist/TextField/hooks/useGetSkeletonProperties.cjs +1 -1
  249. package/dist/TextField/hooks/useGetSkeletonProperties.js +1 -1
  250. package/dist/TextField/hooks/useVoiceInput.cjs +59 -0
  251. package/dist/TextField/hooks/useVoiceInput.js +57 -0
  252. package/dist/TextField/types/index.d.cts +11 -0
  253. package/dist/TextField/types/index.d.ts +11 -0
  254. package/dist/TextField/utils/getLayoutStateProperties.cjs +9 -1
  255. package/dist/TextField/utils/getLayoutStateProperties.js +8 -1
  256. package/dist/Title/Title.cjs +1 -1
  257. package/dist/Title/Title.js +1 -1
  258. package/dist/Title/components/Layout.cjs +1 -1
  259. package/dist/Title/components/Layout.js +1 -1
  260. package/dist/TitledPromptCarousel/TitledPromptCarousel.cjs +1 -1
  261. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
  262. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.ts +2 -2
  263. package/dist/TitledPromptCarousel/TitledPromptCarousel.js +1 -1
  264. package/dist/Tokens/index.cjs +6 -6
  265. package/dist/Tokens/index.js +6 -6
  266. package/dist/TypingAnimation/TypingAnimation.cjs +7 -3
  267. package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
  268. package/dist/TypingAnimation/TypingAnimation.d.ts +2 -2
  269. package/dist/TypingAnimation/TypingAnimation.js +7 -3
  270. package/dist/TypingAnimation/index.d.cts +2 -2
  271. package/dist/TypingAnimation/index.d.ts +2 -2
  272. package/dist/TypingAnimation/types/index.d.cts +13 -1
  273. package/dist/TypingAnimation/types/index.d.ts +13 -1
  274. package/dist/Typography/Typography.d.cts +4 -4
  275. package/dist/Typography/Typography.d.ts +4 -4
  276. package/dist/WelcomeMessage/components/Container.cjs +1 -1
  277. package/dist/WelcomeMessage/components/Container.js +1 -1
  278. package/dist/WidgetTextField/WidgetTextField.cjs +39 -7
  279. package/dist/WidgetTextField/WidgetTextField.d.cts +7 -3
  280. package/dist/WidgetTextField/WidgetTextField.d.ts +7 -3
  281. package/dist/WidgetTextField/WidgetTextField.js +33 -2
  282. package/dist/WidgetTextField/components/Container.cjs +32 -26
  283. package/dist/WidgetTextField/components/Container.js +32 -26
  284. package/dist/WidgetTextField/components/Skeleton.cjs +1 -1
  285. package/dist/WidgetTextField/components/Skeleton.js +1 -1
  286. package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -3
  287. package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -3
  288. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.cjs +20 -0
  289. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.js +19 -0
  290. package/dist/WidgetTextField/types/types.d.cts +21 -0
  291. package/dist/WidgetTextField/types/types.d.ts +21 -0
  292. package/dist/WidgetWrapper/WidgetWrapper.cjs +1 -1
  293. package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
  294. package/dist/WidgetWrapper/WidgetWrapper.d.ts +2 -2
  295. package/dist/WidgetWrapper/WidgetWrapper.js +1 -1
  296. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -1
  297. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +1 -1
  298. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
  299. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts +2 -2
  300. package/dist/node_modules/jotai/esm/react.cjs +87 -0
  301. package/dist/node_modules/jotai/esm/react.js +88 -2
  302. package/dist/node_modules/jotai/esm/vanilla/internals.cjs +2 -1
  303. package/dist/node_modules/jotai/esm/vanilla/internals.js +1 -1
  304. package/dist/packages/components-v3/tokens/typography/typography.cjs +1 -1
  305. package/dist/packages/components-v3/tokens/typography/typography.js +1 -1
  306. package/dist/styles.css +1 -1
  307. package/dist/utils/resolveTheme.cjs +1 -1
  308. package/dist/utils/resolveTheme.js +1 -1
  309. package/package.json +2 -1
  310. package/src/components/ChatFooter/ChatFooter.tsx +8 -0
  311. package/src/components/ChatFooter/__tests__/ChatFooter.test.tsx +43 -0
  312. package/src/components/ChatFooter/components/TextField.tsx +12 -0
  313. package/src/components/ChatFooter/types/types.ts +17 -0
  314. package/src/components/ChatHeader/ChatHeader.tsx +1 -0
  315. package/src/components/ChatHeader/components/Handle.tsx +7 -2
  316. package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +5 -1
  317. package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +1 -1
  318. package/src/components/ChatHeader/types/index.ts +1 -0
  319. package/src/components/ChatPreview/ChatPreview.tsx +13 -2
  320. package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +44 -0
  321. package/src/components/ChatPreview/index.ts +1 -1
  322. package/src/components/ChatPreview/types/types.ts +13 -0
  323. package/src/components/ChatPreviewComparison/ChatPreviewComparison.tsx +6 -0
  324. package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +44 -0
  325. package/src/components/ChatPreviewComparison/index.ts +1 -1
  326. package/src/components/ChatPreviewComparison/types/types.ts +13 -0
  327. package/src/components/ChatPreviewLoading/ChatPreviewLoading.tsx +5 -3
  328. package/src/components/ChatPreviewLoading/__tests__/ChatPreviewLoading.test.tsx +40 -0
  329. package/src/components/ChatPreviewLoading/types/types.ts +5 -0
  330. package/src/components/FloatingChat/FloatingChat.tsx +38 -7
  331. package/src/components/FloatingChat/hooks/useChatSuggestions.ts +8 -12
  332. package/src/components/FullPageSalesAgent/FullPageSalesAgent.tsx +32 -1
  333. package/src/components/ProductCard/ProductCard.tsx +7 -0
  334. package/src/components/ProductCard/__tests__/ProductCard.test.tsx +33 -0
  335. package/src/components/ProductCard/index.ts +1 -1
  336. package/src/components/ProductCard/types/index.ts +6 -0
  337. package/src/components/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.tsx +6 -0
  338. package/src/components/PromptButtonCarouselWithImage/__tests__/PromptButtonCarouselWithImage.test.tsx +34 -0
  339. package/src/components/PromptButtonCarouselWithImage/types/types.ts +12 -0
  340. package/src/components/ReviewCard/components/Rating.tsx +0 -1
  341. package/src/components/SocialProof/SocialProof.tsx +6 -0
  342. package/src/components/SocialProof/__tests__/SocialProof.test.tsx +58 -0
  343. package/src/components/SocialProof/components/Textfield.tsx +9 -0
  344. package/src/components/SocialProof/index.ts +1 -1
  345. package/src/components/SocialProof/types/types.ts +13 -0
  346. package/src/components/TextField/TextField.tsx +49 -0
  347. package/src/components/TextField/__tests__/TextField.test.tsx +3 -3
  348. package/src/components/TextField/__tests__/VoiceInputButton.test.tsx +175 -0
  349. package/src/components/TextField/components/Layout.tsx +24 -17
  350. package/src/components/TextField/components/VoiceInputButton.tsx +69 -0
  351. package/src/components/TextField/components/index.ts +2 -0
  352. package/src/components/TextField/hooks/useGetMicButtonContainerProperties.ts +38 -0
  353. package/src/components/TextField/hooks/useGetSkeletonProperties.ts +1 -1
  354. package/src/components/TextField/hooks/useVoiceInput.ts +77 -0
  355. package/src/components/TextField/types/index.ts +11 -0
  356. package/src/components/TextField/utils/getLayoutStateProperties.ts +8 -0
  357. package/src/components/TypingAnimation/TypingAnimation.tsx +7 -0
  358. package/src/components/TypingAnimation/__tests__/TypingAnimation.test.tsx +47 -0
  359. package/src/components/TypingAnimation/index.ts +1 -1
  360. package/src/components/TypingAnimation/types/index.ts +14 -1
  361. package/src/components/WidgetTextField/WidgetTextField.tsx +47 -0
  362. package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +119 -4
  363. package/src/components/WidgetTextField/components/Container.tsx +40 -27
  364. package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +16 -4
  365. package/src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts +38 -0
  366. package/src/components/WidgetTextField/types/types.ts +21 -0
  367. package/src/components/WidgetWrapper/hooks/useGetWrapperProperties.ts +1 -1
@@ -1,10 +1,18 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_theme = require('../../packages/components-v3/tokens/theme/theme.cjs');
3
+ let classnames = require("classnames");
4
+ classnames = require_rolldown_runtime.__toESM(classnames);
1
5
 
2
6
  //#region src/components/TextField/utils/getLayoutStateProperties.ts
3
7
  /**
4
8
  * Calculates state properties based on the layout state.
5
9
  */
6
- const getLayoutStateProperties = (hasValue, isFocused, disabled) => {
10
+ const getLayoutStateProperties = (theme, hasValue, isFocused, disabled) => {
7
11
  return {
12
+ containerClasses: (0, classnames.default)({
13
+ "envive-tw-gap-4": theme !== require_theme.Theme.MINIMAL,
14
+ "envive-tw-flex": true
15
+ }),
8
16
  isActive: (hasValue || isFocused) && !disabled,
9
17
  shouldShowFocus: isFocused && !disabled,
10
18
  shouldShowHover: !disabled
@@ -1,9 +1,16 @@
1
+ import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
2
+ import classNames from "classnames";
3
+
1
4
  //#region src/components/TextField/utils/getLayoutStateProperties.ts
2
5
  /**
3
6
  * Calculates state properties based on the layout state.
4
7
  */
5
- const getLayoutStateProperties = (hasValue, isFocused, disabled) => {
8
+ const getLayoutStateProperties = (theme, hasValue, isFocused, disabled) => {
6
9
  return {
10
+ containerClasses: classNames({
11
+ "envive-tw-gap-4": theme !== Theme.MINIMAL,
12
+ "envive-tw-flex": true
13
+ }),
7
14
  isActive: (hasValue || isFocused) && !disabled,
8
15
  shouldShowFocus: isFocused && !disabled,
9
16
  shouldShowHover: !disabled
@@ -1,9 +1,9 @@
1
1
  const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_index = require('./components/index.cjs');
3
3
  const require_useGetSkeletonProperties = require('../Image/hooks/useGetSkeletonProperties.cjs');
4
+ let react_jsx_runtime = require("react/jsx-runtime");
4
5
  let classnames = require("classnames");
5
6
  classnames = require_rolldown_runtime.__toESM(classnames);
6
- let react_jsx_runtime = require("react/jsx-runtime");
7
7
 
8
8
  //#region src/components/Title/Title.tsx
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  import { TitleComponents } from "./components/index.js";
2
2
  import { useGetSkeletonProperties } from "../Image/hooks/useGetSkeletonProperties.js";
3
- import classNames from "classnames";
4
3
  import { jsx } from "react/jsx-runtime";
4
+ import classNames from "classnames";
5
5
 
6
6
  //#region src/components/Title/Title.tsx
7
7
  /**
@@ -1,9 +1,9 @@
1
1
  const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
2
  const require_Stack = require('../../Stack/Stack.cjs');
3
3
  require('../../Stack/index.cjs');
4
+ let react_jsx_runtime = require("react/jsx-runtime");
4
5
  let classnames = require("classnames");
5
6
  classnames = require_rolldown_runtime.__toESM(classnames);
6
- let react_jsx_runtime = require("react/jsx-runtime");
7
7
 
8
8
  //#region src/components/Title/components/Layout.tsx
9
9
  const Layout = ({ logo, label, id, testId, className, style, ariaLabel }) => {
@@ -1,7 +1,7 @@
1
1
  import { Stack } from "../../Stack/Stack.js";
2
2
  import "../../Stack/index.js";
3
- import classNames from "classnames";
4
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
+ import classNames from "classnames";
5
5
 
6
6
  //#region src/components/Title/components/Layout.tsx
7
7
  const Layout = ({ logo, label, id, testId, className, style, ariaLabel }) => {
@@ -12,9 +12,9 @@ const require_PromptCarousel_types_types = require('../PromptCarousel/types/type
12
12
  const require_PromptCarousel = require('../PromptCarousel/PromptCarousel.cjs');
13
13
  require('../PromptCarousel/index.cjs');
14
14
  const require_useGetSkeletonProperties = require('../Image/hooks/useGetSkeletonProperties.cjs');
15
+ let react_jsx_runtime = require("react/jsx-runtime");
15
16
  let classnames = require("classnames");
16
17
  classnames = require_rolldown_runtime.__toESM(classnames);
17
- let react_jsx_runtime = require("react/jsx-runtime");
18
18
 
19
19
  //#region src/components/TitledPromptCarousel/TitledPromptCarousel.tsx
20
20
  const TitledPromptCarousel = ({ id, titleLabel, titleAriaLabel, theme = require_theme.Theme.GLOBAL_CUSTOM, isLoading = false, boldFirstButton = false, promptButtonType = require_PromptButton_types_index.PromptButtonVariant.LIGHT, promptCarouselRows = require_PromptCarousel_types_types.PromptCarouselRows.ALWAYS_ONE, animationSpeed = require_PromptCarousel_types_types.AnimationSpeed.NONE, handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, promptButtonTexts, promptCarouselAriaLabel }) => {
@@ -1,5 +1,5 @@
1
1
  import { TitledPromptCarouselProps } from "./types/index.cjs";
2
- import * as react_jsx_runtime36 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/TitledPromptCarousel/TitledPromptCarousel.d.ts
5
5
  declare const TitledPromptCarousel: ({
@@ -21,6 +21,6 @@ declare const TitledPromptCarousel: ({
21
21
  handleButtonTouchEnd,
22
22
  promptButtonTexts,
23
23
  promptCarouselAriaLabel
24
- }: TitledPromptCarouselProps) => react_jsx_runtime36.JSX.Element;
24
+ }: TitledPromptCarouselProps) => react_jsx_runtime2.JSX.Element;
25
25
  //#endregion
26
26
  export { TitledPromptCarousel };
@@ -1,5 +1,5 @@
1
1
  import { TitledPromptCarouselProps } from "./types/index.js";
2
- import * as react_jsx_runtime9 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/TitledPromptCarousel/TitledPromptCarousel.d.ts
5
5
  declare const TitledPromptCarousel: ({
@@ -21,6 +21,6 @@ declare const TitledPromptCarousel: ({
21
21
  handleButtonTouchEnd,
22
22
  promptButtonTexts,
23
23
  promptCarouselAriaLabel
24
- }: TitledPromptCarouselProps) => react_jsx_runtime9.JSX.Element;
24
+ }: TitledPromptCarouselProps) => react_jsx_runtime5.JSX.Element;
25
25
  //#endregion
26
26
  export { TitledPromptCarousel };
@@ -11,8 +11,8 @@ import { AnimationSpeed, PromptCarouselRows } from "../PromptCarousel/types/type
11
11
  import { PromptCarousel } from "../PromptCarousel/PromptCarousel.js";
12
12
  import "../PromptCarousel/index.js";
13
13
  import { useGetSkeletonProperties } from "../Image/hooks/useGetSkeletonProperties.js";
14
- import classNames from "classnames";
15
14
  import { jsx, jsxs } from "react/jsx-runtime";
15
+ import classNames from "classnames";
16
16
 
17
17
  //#region src/components/TitledPromptCarousel/TitledPromptCarousel.tsx
18
18
  const TitledPromptCarousel = ({ id, titleLabel, titleAriaLabel, theme = Theme.GLOBAL_CUSTOM, isLoading = false, boldFirstButton = false, promptButtonType = PromptButtonVariant.LIGHT, promptCarouselRows = PromptCarouselRows.ALWAYS_ONE, animationSpeed = AnimationSpeed.NONE, handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, promptButtonTexts, promptCarouselAriaLabel }) => {
@@ -1,16 +1,16 @@
1
- const require_theme = require('../packages/components-v3/tokens/theme/theme.cjs');
2
- const require_breakpoints = require('../packages/components-v3/tokens/breakpoints/breakpoints.cjs');
3
- const require_fontFamily = require('../packages/components-v3/tokens/typography/fontFamily.cjs');
1
+ const require_colors = require('../packages/components-v3/tokens/colors/colors.cjs');
4
2
  const require_fontSize = require('../packages/components-v3/tokens/typography/fontSize.cjs');
5
3
  const require_fontWeight = require('../packages/components-v3/tokens/typography/fontWeight.cjs');
6
4
  const require_lineHeight = require('../packages/components-v3/tokens/typography/lineHeight.cjs');
7
5
  const require_letterSpacing = require('../packages/components-v3/tokens/typography/letterSpacing.cjs');
8
- const require_typography = require('../packages/components-v3/tokens/typography/typography.cjs');
6
+ const require_fontFamily = require('../packages/components-v3/tokens/typography/fontFamily.cjs');
9
7
  const require_radius = require('../packages/components-v3/tokens/radius/radius.cjs');
8
+ const require_aspectRatio = require('../packages/components-v3/tokens/aspectRatio/aspectRatio.cjs');
9
+ const require_theme = require('../packages/components-v3/tokens/theme/theme.cjs');
10
+ const require_breakpoints = require('../packages/components-v3/tokens/breakpoints/breakpoints.cjs');
11
+ const require_typography = require('../packages/components-v3/tokens/typography/typography.cjs');
10
12
  const require_spacing = require('../packages/components-v3/tokens/spacing/spacing.cjs');
11
- const require_colors = require('../packages/components-v3/tokens/colors/colors.cjs');
12
13
  const require_motion = require('../packages/components-v3/tokens/montion/motion.cjs');
13
- const require_aspectRatio = require('../packages/components-v3/tokens/aspectRatio/aspectRatio.cjs');
14
14
 
15
15
  exports.FontFamily = require_fontFamily.FontFamily;
16
16
  exports.Theme = require_theme.Theme;
@@ -1,15 +1,15 @@
1
- import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
2
- import { screensBreakpointsVariables, tailwindScreens } from "../packages/components-v3/tokens/breakpoints/breakpoints.js";
3
- import { FontFamily, fontFamilyVariables } from "../packages/components-v3/tokens/typography/fontFamily.js";
1
+ import { colorsVariables } from "../packages/components-v3/tokens/colors/colors.js";
4
2
  import { fontSizeVariables } from "../packages/components-v3/tokens/typography/fontSize.js";
5
3
  import { fontWeightVariables } from "../packages/components-v3/tokens/typography/fontWeight.js";
6
4
  import { lineHeightVariables } from "../packages/components-v3/tokens/typography/lineHeight.js";
7
5
  import { letterSpacingVariables } from "../packages/components-v3/tokens/typography/letterSpacing.js";
8
- import { createTypographyComponents } from "../packages/components-v3/tokens/typography/typography.js";
6
+ import { FontFamily, fontFamilyVariables } from "../packages/components-v3/tokens/typography/fontFamily.js";
9
7
  import { borderRadiusVariables } from "../packages/components-v3/tokens/radius/radius.js";
8
+ import { aspectRatioVariables } from "../packages/components-v3/tokens/aspectRatio/aspectRatio.js";
9
+ import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
10
+ import { screensBreakpointsVariables, tailwindScreens } from "../packages/components-v3/tokens/breakpoints/breakpoints.js";
11
+ import { createTypographyComponents } from "../packages/components-v3/tokens/typography/typography.js";
10
12
  import { spacingVariables } from "../packages/components-v3/tokens/spacing/spacing.js";
11
- import { colorsVariables } from "../packages/components-v3/tokens/colors/colors.js";
12
13
  import { animationsVariables, keyFramesVariables } from "../packages/components-v3/tokens/montion/motion.js";
13
- import { aspectRatioVariables } from "../packages/components-v3/tokens/aspectRatio/aspectRatio.js";
14
14
 
15
15
  export { FontFamily, Theme, animationsVariables, aspectRatioVariables, borderRadiusVariables, colorsVariables, createTypographyComponents, fontFamilyVariables, fontSizeVariables, fontWeightVariables, keyFramesVariables, letterSpacingVariables, lineHeightVariables, screensBreakpointsVariables, spacingVariables, tailwindScreens };
@@ -26,9 +26,9 @@ let react_jsx_runtime = require("react/jsx-runtime");
26
26
  //#region src/components/TypingAnimation/TypingAnimation.tsx
27
27
  const TypingAnimation = ({ baseProps, widgetContentProps, widgetStyleProps, widgetEventProps }) => {
28
28
  const { id, testId, className, style } = baseProps || {};
29
- const { titleLabel, headlineText, animatedTextSequence, promptButtonTexts, hintText, textFieldAriaLabel, logoSrc, hideLogo } = widgetContentProps || {};
29
+ const { titleLabel, headlineText, animatedTextSequence, promptButtonTexts, hintText, textFieldAriaLabel, logoSrc, hideLogo, voiceInputEnabled } = widgetContentProps || {};
30
30
  const { widgetVariant = require_types.WidgetWrapperVariant.CARD_WITH_BORDER, cardColor, promptButtonType = require_PromptButton_types_index.PromptButtonVariant.LIGHT, promptCarouselRows = require_PromptCarousel_types_types.PromptCarouselRows.ALWAYS_ONE, showTextField = true, theme = require_theme.Theme.GLOBAL_CUSTOM, isLoading = false } = widgetStyleProps || {};
31
- const { handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, handleTextFieldClick } = widgetEventProps || {};
31
+ const { handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, handleTextFieldClick, onTranscriptionStarted, onTranscriptionCompleted } = widgetEventProps || {};
32
32
  const typographyVariant = require_useGetTypographyVariant.useGetTypographyVariant(theme);
33
33
  const { measuringRef, minHeight } = require_useAnimatedTextMinHeight.useAnimatedTextMinHeight(animatedTextSequence ?? []);
34
34
  const biggestAnimatedText = (0, react.useMemo)(() => {
@@ -131,7 +131,11 @@ const TypingAnimation = ({ baseProps, widgetContentProps, widgetStyleProps, widg
131
131
  ariaLabel: textFieldAriaLabel,
132
132
  theme,
133
133
  isLoading,
134
- className: "envive-tw-mt-2 envive-tw-overflow-hidden envive-tw-text-ellipsis envive-tw-whitespace-nowrap"
134
+ className: "envive-tw-mt-2 envive-tw-overflow-hidden envive-tw-text-ellipsis envive-tw-whitespace-nowrap",
135
+ voiceInputClassName: "envive-tw-mt-2",
136
+ enableVoiceInput: voiceInputEnabled,
137
+ onTranscriptionStarted,
138
+ onTranscriptionCompleted
135
139
  })
136
140
  ]
137
141
  })
@@ -1,5 +1,5 @@
1
1
  import { TypingAnimationProps } from "./types/index.cjs";
2
- import * as react_jsx_runtime20 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/TypingAnimation/TypingAnimation.d.ts
5
5
  declare const TypingAnimation: ({
@@ -7,6 +7,6 @@ declare const TypingAnimation: ({
7
7
  widgetContentProps,
8
8
  widgetStyleProps,
9
9
  widgetEventProps
10
- }: TypingAnimationProps) => react_jsx_runtime20.JSX.Element;
10
+ }: TypingAnimationProps) => react_jsx_runtime1.JSX.Element;
11
11
  //#endregion
12
12
  export { TypingAnimation };
@@ -1,5 +1,5 @@
1
1
  import { TypingAnimationProps } from "./types/index.js";
2
- import * as react_jsx_runtime11 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/TypingAnimation/TypingAnimation.d.ts
5
5
  declare const TypingAnimation: ({
@@ -7,6 +7,6 @@ declare const TypingAnimation: ({
7
7
  widgetContentProps,
8
8
  widgetStyleProps,
9
9
  widgetEventProps
10
- }: TypingAnimationProps) => react_jsx_runtime11.JSX.Element;
10
+ }: TypingAnimationProps) => react_jsx_runtime0.JSX.Element;
11
11
  //#endregion
12
12
  export { TypingAnimation };
@@ -25,9 +25,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
25
25
  //#region src/components/TypingAnimation/TypingAnimation.tsx
26
26
  const TypingAnimation = ({ baseProps, widgetContentProps, widgetStyleProps, widgetEventProps }) => {
27
27
  const { id, testId, className, style } = baseProps || {};
28
- const { titleLabel, headlineText, animatedTextSequence, promptButtonTexts, hintText, textFieldAriaLabel, logoSrc, hideLogo } = widgetContentProps || {};
28
+ const { titleLabel, headlineText, animatedTextSequence, promptButtonTexts, hintText, textFieldAriaLabel, logoSrc, hideLogo, voiceInputEnabled } = widgetContentProps || {};
29
29
  const { widgetVariant = WidgetWrapperVariant.CARD_WITH_BORDER, cardColor, promptButtonType = PromptButtonVariant.LIGHT, promptCarouselRows = PromptCarouselRows.ALWAYS_ONE, showTextField = true, theme = Theme.GLOBAL_CUSTOM, isLoading = false } = widgetStyleProps || {};
30
- const { handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, handleTextFieldClick } = widgetEventProps || {};
30
+ const { handleButtonClick, handleButtonDrag, handleButtonHover, handleButtonMouseDown, handleButtonMouseUp, handleButtonTouchStart, handleButtonTouchEnd, handleTextFieldClick, onTranscriptionStarted, onTranscriptionCompleted } = widgetEventProps || {};
31
31
  const typographyVariant = useGetTypographyVariant(theme);
32
32
  const { measuringRef, minHeight } = useAnimatedTextMinHeight(animatedTextSequence ?? []);
33
33
  const biggestAnimatedText = useMemo(() => {
@@ -130,7 +130,11 @@ const TypingAnimation = ({ baseProps, widgetContentProps, widgetStyleProps, widg
130
130
  ariaLabel: textFieldAriaLabel,
131
131
  theme,
132
132
  isLoading,
133
- className: "envive-tw-mt-2 envive-tw-overflow-hidden envive-tw-text-ellipsis envive-tw-whitespace-nowrap"
133
+ className: "envive-tw-mt-2 envive-tw-overflow-hidden envive-tw-text-ellipsis envive-tw-whitespace-nowrap",
134
+ voiceInputClassName: "envive-tw-mt-2",
135
+ enableVoiceInput: voiceInputEnabled,
136
+ onTranscriptionStarted,
137
+ onTranscriptionCompleted
134
138
  })
135
139
  ]
136
140
  })
@@ -1,3 +1,3 @@
1
- import { TypingAnimationProps } from "./types/index.cjs";
1
+ import { TypingAnimationProps, WidgetEventProps } from "./types/index.cjs";
2
2
  import { TypingAnimation } from "./TypingAnimation.cjs";
3
- export { TypingAnimation, type TypingAnimationProps };
3
+ export { TypingAnimation, type TypingAnimationProps, type WidgetEventProps };
@@ -1,3 +1,3 @@
1
- import { TypingAnimationProps } from "./types/index.js";
1
+ import { TypingAnimationProps, WidgetEventProps } from "./types/index.js";
2
2
  import { TypingAnimation } from "./TypingAnimation.js";
3
- export { TypingAnimation, type TypingAnimationProps };
3
+ export { TypingAnimation, type TypingAnimationProps, type WidgetEventProps };
@@ -64,6 +64,10 @@ type WidgetContentProps = {
64
64
  * When `true`, hides the logo in the title even if logoSrc is provided.
65
65
  */
66
66
  hideLogo?: boolean;
67
+ /**
68
+ * Whether to enable voice input.
69
+ */
70
+ voiceInputEnabled?: boolean;
67
71
  };
68
72
  /**
69
73
  * Props to control the visual appearance, layout, and behavior of the widget.
@@ -147,6 +151,14 @@ type WidgetEventProps = {
147
151
  * Callback function invoked when the TextField is clicked.
148
152
  */
149
153
  handleTextFieldClick?: () => void;
154
+ /**
155
+ * Callback function invoked when voice transcription starts.
156
+ */
157
+ onTranscriptionStarted?: () => void;
158
+ /**
159
+ * Callback function invoked when voice transcription completes.
160
+ */
161
+ onTranscriptionCompleted?: (transcript: string) => void;
150
162
  };
151
163
  /**
152
164
  * Props for the TypingAnimation component.
@@ -170,4 +182,4 @@ type TypingAnimationProps = {
170
182
  widgetEventProps?: WidgetEventProps;
171
183
  };
172
184
  //#endregion
173
- export { TypingAnimationProps };
185
+ export { TypingAnimationProps, WidgetEventProps };
@@ -64,6 +64,10 @@ type WidgetContentProps = {
64
64
  * When `true`, hides the logo in the title even if logoSrc is provided.
65
65
  */
66
66
  hideLogo?: boolean;
67
+ /**
68
+ * Whether to enable voice input.
69
+ */
70
+ voiceInputEnabled?: boolean;
67
71
  };
68
72
  /**
69
73
  * Props to control the visual appearance, layout, and behavior of the widget.
@@ -147,6 +151,14 @@ type WidgetEventProps = {
147
151
  * Callback function invoked when the TextField is clicked.
148
152
  */
149
153
  handleTextFieldClick?: () => void;
154
+ /**
155
+ * Callback function invoked when voice transcription starts.
156
+ */
157
+ onTranscriptionStarted?: () => void;
158
+ /**
159
+ * Callback function invoked when voice transcription completes.
160
+ */
161
+ onTranscriptionCompleted?: (transcript: string) => void;
150
162
  };
151
163
  /**
152
164
  * Props for the TypingAnimation component.
@@ -170,4 +182,4 @@ type TypingAnimationProps = {
170
182
  widgetEventProps?: WidgetEventProps;
171
183
  };
172
184
  //#endregion
173
- export { TypingAnimationProps };
185
+ export { TypingAnimationProps, WidgetEventProps };
@@ -1,5 +1,5 @@
1
1
  import { TypographyProps } from "./types/index.cjs";
2
- import * as react7 from "react";
2
+ import * as react8 from "react";
3
3
 
4
4
  //#region src/components/Typography/Typography.d.ts
5
5
  /**
@@ -18,13 +18,13 @@ declare const Typography: ({
18
18
  noWrap,
19
19
  as,
20
20
  "aria-label": ariaLabel
21
- }: TypographyProps) => react7.DetailedReactHTMLElement<{
21
+ }: TypographyProps) => react8.DetailedReactHTMLElement<{
22
22
  'aria-label': string;
23
23
  'aria-level'?: number;
24
- role?: react7.AriaRole;
24
+ role?: react8.AriaRole;
25
25
  title?: string;
26
26
  className: string;
27
- style: react7.CSSProperties;
27
+ style: react8.CSSProperties;
28
28
  id: string;
29
29
  'data-testid': string;
30
30
  }, HTMLElement>;
@@ -1,5 +1,5 @@
1
1
  import { TypographyProps } from "./types/index.js";
2
- import * as react5 from "react";
2
+ import * as react1 from "react";
3
3
 
4
4
  //#region src/components/Typography/Typography.d.ts
5
5
  /**
@@ -18,13 +18,13 @@ declare const Typography: ({
18
18
  noWrap,
19
19
  as,
20
20
  "aria-label": ariaLabel
21
- }: TypographyProps) => react5.DetailedReactHTMLElement<{
21
+ }: TypographyProps) => react1.DetailedReactHTMLElement<{
22
22
  'aria-label': string;
23
23
  'aria-level'?: number;
24
- role?: react5.AriaRole;
24
+ role?: react1.AriaRole;
25
25
  title?: string;
26
26
  className: string;
27
- style: react5.CSSProperties;
27
+ style: react1.CSSProperties;
28
28
  id: string;
29
29
  'data-testid': string;
30
30
  }, HTMLElement>;
@@ -4,9 +4,9 @@ require('../../Stack/index.cjs');
4
4
  const require_Container = require('../../Container/Container.cjs');
5
5
  require('../../Container/index.cjs');
6
6
  const require_useGetContainerProperties = require('../hooks/useGetContainerProperties.cjs');
7
+ let react_jsx_runtime = require("react/jsx-runtime");
7
8
  let classnames = require("classnames");
8
9
  classnames = require_rolldown_runtime.__toESM(classnames);
9
- let react_jsx_runtime = require("react/jsx-runtime");
10
10
 
11
11
  //#region src/components/WelcomeMessage/components/Container.tsx
12
12
  const Container$1 = ({ sparkleIcon, titleNode, textNode, theme, id, testId, className, style }) => {
@@ -3,8 +3,8 @@ import "../../Stack/index.js";
3
3
  import { Container } from "../../Container/Container.js";
4
4
  import "../../Container/index.js";
5
5
  import { useGetContainerProperties } from "../hooks/useGetContainerProperties.js";
6
- import classNames from "classnames";
7
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import classNames from "classnames";
8
8
 
9
9
  //#region src/components/WelcomeMessage/components/Container.tsx
10
10
  const Container$1 = ({ sparkleIcon, titleNode, textNode, theme, id, testId, className, style }) => {
@@ -2,32 +2,64 @@ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_theme = require('../packages/components-v3/tokens/theme/theme.cjs');
3
3
  const require_index = require('../Typography/types/index.cjs');
4
4
  const require_resolveTheme = require('../utils/resolveTheme.cjs');
5
+ const require_index$1 = require('../TextField/components/index.cjs');
6
+ const require_useGetSkeletonProperties = require('../TextField/hooks/useGetSkeletonProperties.cjs');
7
+ const require_react = require('../node_modules/jotai/esm/react.cjs');
8
+ const require_useVoiceInput = require('../TextField/hooks/useVoiceInput.cjs');
5
9
  const require_types = require('./types/types.cjs');
6
- const require_index$1 = require('./components/index.cjs');
10
+ const require_index$2 = require('./components/index.cjs');
11
+ const require_useGetMicWidgetButtonProperties = require('./hooks/useGetMicWidgetButtonProperties.cjs');
7
12
  let react_jsx_runtime = require("react/jsx-runtime");
13
+ let classnames = require("classnames");
14
+ classnames = require_rolldown_runtime.__toESM(classnames);
15
+ let __envive_ai_react_hooks_atoms_chat = require("@envive-ai/react-hooks/atoms/chat");
8
16
 
9
17
  //#region src/components/WidgetTextField/WidgetTextField.tsx
10
- const WidgetTextField = ({ id, testId, style, className, theme = require_theme.Theme.GLOBAL_CUSTOM, iconVariant = require_types.IconVariant.DEFAULT, textColor = require_index.TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick }) => {
18
+ const WidgetTextField = ({ id, testId, style, className, voiceInputClassName, theme = require_theme.Theme.GLOBAL_CUSTOM, minimalFrame = "full", iconVariant = require_types.IconVariant.DEFAULT, textColor = require_index.TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick, enableVoiceInput = false, onTranscriptionStarted }) => {
11
19
  const resolvedTheme = require_resolveTheme.resolveTheme(theme);
12
- if (isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.WidgetTextFieldComponents.Skeleton, { theme: resolvedTheme });
13
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.WidgetTextFieldComponents.Container, {
20
+ const setListeningToSpeech = require_react.useSetAtom(__envive_ai_react_hooks_atoms_chat.listeningToSpeechAtom);
21
+ const { skeletonClass } = require_useGetSkeletonProperties.useGetSkeletonProperties(isLoading);
22
+ const { browserSupportsSpeechRecognition } = require_useVoiceInput.useVoiceInput({});
23
+ const { micWidgetButtonClasses } = require_useGetMicWidgetButtonProperties.useGetMicWidgetButtonProperties({
24
+ theme: resolvedTheme,
25
+ isListening: false
26
+ });
27
+ const voiceInputButtonClassName = (0, classnames.default)(micWidgetButtonClasses, skeletonClass, voiceInputClassName);
28
+ if (isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.Skeleton, { theme: resolvedTheme });
29
+ const handleToggleListening = () => {
30
+ setListeningToSpeech(true);
31
+ onTranscriptionStarted?.();
32
+ onClick();
33
+ };
34
+ const voiceInputButton = enableVoiceInput && browserSupportsSpeechRecognition ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.TextFieldComponents.VoiceInputButton, {
35
+ theme: resolvedTheme,
36
+ isListening: false,
37
+ onToggleListening: disabled ? void 0 : handleToggleListening,
38
+ ariaLabel,
39
+ isLoading,
40
+ disabled,
41
+ className: voiceInputButtonClassName
42
+ }) : null;
43
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.Container, {
14
44
  onClick: disabled ? void 0 : onClick,
15
45
  id,
16
46
  testId,
17
47
  style,
18
48
  className,
19
49
  theme: resolvedTheme,
50
+ minimalFrame,
20
51
  disabled,
21
52
  ariaLabel,
22
- icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.WidgetTextFieldComponents.Icon, {
53
+ icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.Icon, {
23
54
  textColor,
24
55
  variant: iconVariant,
25
56
  theme: resolvedTheme
26
57
  }),
27
- text: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$1.WidgetTextFieldComponents.FakeTextInput, {
58
+ text: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_index$2.WidgetTextFieldComponents.FakeTextInput, {
28
59
  placeholder,
29
60
  textColor
30
- })
61
+ }),
62
+ voiceInputButton
31
63
  });
32
64
  };
33
65
 
@@ -1,5 +1,5 @@
1
1
  import { WidgetTextFieldProps } from "./types/types.cjs";
2
- import * as react_jsx_runtime15 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime19 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/WidgetTextField/WidgetTextField.d.ts
5
5
  declare const WidgetTextField: ({
@@ -7,14 +7,18 @@ declare const WidgetTextField: ({
7
7
  testId,
8
8
  style,
9
9
  className,
10
+ voiceInputClassName,
10
11
  theme,
12
+ minimalFrame,
11
13
  iconVariant,
12
14
  textColor,
13
15
  placeholder,
14
16
  ariaLabel,
15
17
  disabled,
16
18
  isLoading,
17
- onClick
18
- }: WidgetTextFieldProps) => react_jsx_runtime15.JSX.Element;
19
+ onClick,
20
+ enableVoiceInput,
21
+ onTranscriptionStarted
22
+ }: WidgetTextFieldProps) => react_jsx_runtime19.JSX.Element;
19
23
  //#endregion
20
24
  export { WidgetTextField };
@@ -1,5 +1,5 @@
1
1
  import { WidgetTextFieldProps } from "./types/types.js";
2
- import * as react_jsx_runtime16 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/WidgetTextField/WidgetTextField.d.ts
5
5
  declare const WidgetTextField: ({
@@ -7,14 +7,18 @@ declare const WidgetTextField: ({
7
7
  testId,
8
8
  style,
9
9
  className,
10
+ voiceInputClassName,
10
11
  theme,
12
+ minimalFrame,
11
13
  iconVariant,
12
14
  textColor,
13
15
  placeholder,
14
16
  ariaLabel,
15
17
  disabled,
16
18
  isLoading,
17
- onClick
18
- }: WidgetTextFieldProps) => react_jsx_runtime16.JSX.Element;
19
+ onClick,
20
+ enableVoiceInput,
21
+ onTranscriptionStarted
22
+ }: WidgetTextFieldProps) => react_jsx_runtime1.JSX.Element;
19
23
  //#endregion
20
24
  export { WidgetTextField };
@@ -1,14 +1,43 @@
1
1
  import { Theme } from "../packages/components-v3/tokens/theme/theme.js";
2
2
  import { TypographyColor } from "../Typography/types/index.js";
3
3
  import { resolveTheme } from "../utils/resolveTheme.js";
4
+ import { TextFieldComponents } from "../TextField/components/index.js";
5
+ import { useGetSkeletonProperties } from "../TextField/hooks/useGetSkeletonProperties.js";
6
+ import { useSetAtom } from "../node_modules/jotai/esm/react.js";
7
+ import { useVoiceInput } from "../TextField/hooks/useVoiceInput.js";
4
8
  import { IconVariant } from "./types/types.js";
5
9
  import { WidgetTextFieldComponents } from "./components/index.js";
10
+ import { useGetMicWidgetButtonProperties } from "./hooks/useGetMicWidgetButtonProperties.js";
6
11
  import { jsx } from "react/jsx-runtime";
12
+ import classNames from "classnames";
13
+ import { listeningToSpeechAtom } from "@envive-ai/react-hooks/atoms/chat";
7
14
 
8
15
  //#region src/components/WidgetTextField/WidgetTextField.tsx
9
- const WidgetTextField = ({ id, testId, style, className, theme = Theme.GLOBAL_CUSTOM, iconVariant = IconVariant.DEFAULT, textColor = TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick }) => {
16
+ const WidgetTextField = ({ id, testId, style, className, voiceInputClassName, theme = Theme.GLOBAL_CUSTOM, minimalFrame = "full", iconVariant = IconVariant.DEFAULT, textColor = TypographyColor.TEXT_SECONDARY, placeholder, ariaLabel, disabled, isLoading, onClick, enableVoiceInput = false, onTranscriptionStarted }) => {
10
17
  const resolvedTheme = resolveTheme(theme);
18
+ const setListeningToSpeech = useSetAtom(listeningToSpeechAtom);
19
+ const { skeletonClass } = useGetSkeletonProperties(isLoading);
20
+ const { browserSupportsSpeechRecognition } = useVoiceInput({});
21
+ const { micWidgetButtonClasses } = useGetMicWidgetButtonProperties({
22
+ theme: resolvedTheme,
23
+ isListening: false
24
+ });
25
+ const voiceInputButtonClassName = classNames(micWidgetButtonClasses, skeletonClass, voiceInputClassName);
11
26
  if (isLoading) return /* @__PURE__ */ jsx(WidgetTextFieldComponents.Skeleton, { theme: resolvedTheme });
27
+ const handleToggleListening = () => {
28
+ setListeningToSpeech(true);
29
+ onTranscriptionStarted?.();
30
+ onClick();
31
+ };
32
+ const voiceInputButton = enableVoiceInput && browserSupportsSpeechRecognition ? /* @__PURE__ */ jsx(TextFieldComponents.VoiceInputButton, {
33
+ theme: resolvedTheme,
34
+ isListening: false,
35
+ onToggleListening: disabled ? void 0 : handleToggleListening,
36
+ ariaLabel,
37
+ isLoading,
38
+ disabled,
39
+ className: voiceInputButtonClassName
40
+ }) : null;
12
41
  return /* @__PURE__ */ jsx(WidgetTextFieldComponents.Container, {
13
42
  onClick: disabled ? void 0 : onClick,
14
43
  id,
@@ -16,6 +45,7 @@ const WidgetTextField = ({ id, testId, style, className, theme = Theme.GLOBAL_CU
16
45
  style,
17
46
  className,
18
47
  theme: resolvedTheme,
48
+ minimalFrame,
19
49
  disabled,
20
50
  ariaLabel,
21
51
  icon: /* @__PURE__ */ jsx(WidgetTextFieldComponents.Icon, {
@@ -26,7 +56,8 @@ const WidgetTextField = ({ id, testId, style, className, theme = Theme.GLOBAL_CU
26
56
  text: /* @__PURE__ */ jsx(WidgetTextFieldComponents.FakeTextInput, {
27
57
  placeholder,
28
58
  textColor
29
- })
59
+ }),
60
+ voiceInputButton
30
61
  });
31
62
  };
32
63