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

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 (366) 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/components/Badge.cjs +1 -1
  15. package/dist/Carousel/components/Badge.js +1 -1
  16. package/dist/Carousel/components/Container.cjs +1 -1
  17. package/dist/Carousel/components/Container.js +1 -1
  18. package/dist/ChatFooter/ChatFooter.cjs +7 -3
  19. package/dist/ChatFooter/ChatFooter.d.cts +7 -3
  20. package/dist/ChatFooter/ChatFooter.d.ts +7 -3
  21. package/dist/ChatFooter/ChatFooter.js +7 -3
  22. package/dist/ChatFooter/components/Layout.cjs +1 -1
  23. package/dist/ChatFooter/components/Layout.js +1 -1
  24. package/dist/ChatFooter/components/index.d.cts +10 -6
  25. package/dist/ChatFooter/components/index.d.ts +10 -6
  26. package/dist/ChatFooter/types/types.d.cts +16 -0
  27. package/dist/ChatFooter/types/types.d.ts +16 -0
  28. package/dist/ChatHeader/ChatHeader.cjs +2 -1
  29. package/dist/ChatHeader/ChatHeader.d.cts +2 -2
  30. package/dist/ChatHeader/ChatHeader.d.ts +2 -2
  31. package/dist/ChatHeader/ChatHeader.js +2 -1
  32. package/dist/ChatHeader/components/Handle.cjs +2 -2
  33. package/dist/ChatHeader/components/Handle.js +2 -2
  34. package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +4 -2
  35. package/dist/ChatHeader/hooks/useGetHandleProperties.js +4 -2
  36. package/dist/ChatHeader/hooks/useGetLayoutProperties.cjs +1 -1
  37. package/dist/ChatHeader/hooks/useGetLayoutProperties.js +1 -1
  38. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -1
  39. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +1 -1
  40. package/dist/ChatPreview/ChatPreview.cjs +6 -3
  41. package/dist/ChatPreview/ChatPreview.d.cts +2 -2
  42. package/dist/ChatPreview/ChatPreview.d.ts +2 -2
  43. package/dist/ChatPreview/ChatPreview.js +6 -3
  44. package/dist/ChatPreview/index.d.cts +2 -2
  45. package/dist/ChatPreview/index.d.ts +2 -2
  46. package/dist/ChatPreview/types/types.d.cts +13 -1
  47. package/dist/ChatPreview/types/types.d.ts +13 -1
  48. package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +6 -3
  49. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
  50. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
  51. package/dist/ChatPreviewComparison/ChatPreviewComparison.js +6 -3
  52. package/dist/ChatPreviewComparison/components/Layout.cjs +2 -2
  53. package/dist/ChatPreviewComparison/components/Layout.js +2 -2
  54. package/dist/ChatPreviewComparison/index.d.cts +2 -2
  55. package/dist/ChatPreviewComparison/index.d.ts +2 -2
  56. package/dist/ChatPreviewComparison/types/types.d.cts +13 -1
  57. package/dist/ChatPreviewComparison/types/types.d.ts +13 -1
  58. package/dist/ChatPreviewLoading/ChatPreviewLoading.cjs +7 -2
  59. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.cts +4 -3
  60. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +2 -1
  61. package/dist/ChatPreviewLoading/ChatPreviewLoading.js +7 -2
  62. package/dist/ChatPreviewLoading/types/types.d.cts +4 -0
  63. package/dist/ChatPreviewLoading/types/types.d.ts +4 -0
  64. package/dist/Container/Container.d.cts +172 -172
  65. package/dist/Container/Container.d.ts +172 -172
  66. package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
  67. package/dist/DesignTokens/DesignTokensComponent.d.ts +2 -2
  68. package/dist/DesignTokens/components/FontFamily.cjs +1 -1
  69. package/dist/DesignTokens/components/FontFamily.js +1 -1
  70. package/dist/DesignTokens/components/FontSize.cjs +1 -1
  71. package/dist/DesignTokens/components/FontSize.js +1 -1
  72. package/dist/DesignTokens/components/FontWeight.cjs +1 -1
  73. package/dist/DesignTokens/components/FontWeight.js +1 -1
  74. package/dist/DesignTokens/components/LetterSpacing.cjs +1 -1
  75. package/dist/DesignTokens/components/LetterSpacing.js +1 -1
  76. package/dist/DesignTokens/components/LineHeight.cjs +1 -1
  77. package/dist/DesignTokens/components/LineHeight.js +1 -1
  78. package/dist/DesignTokens/components/Typography.cjs +1 -1
  79. package/dist/DesignTokens/components/Typography.js +1 -1
  80. package/dist/Disclaimer/components/Container.cjs +2 -2
  81. package/dist/Disclaimer/components/Container.js +2 -2
  82. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
  83. package/dist/DocumentRetrievalCard/components/Image.cjs +1 -1
  84. package/dist/DocumentRetrievalCard/components/Image.js +1 -1
  85. package/dist/DocumentRetrievalCard/components/Layout.cjs +1 -1
  86. package/dist/DocumentRetrievalCard/components/Layout.js +1 -1
  87. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
  88. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
  89. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Label.cjs +1 -1
  90. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Label.js +1 -1
  91. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.cjs +1 -1
  92. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Layout.js +1 -1
  93. package/dist/FloatingButton/FloatingButton.d.cts +2 -2
  94. package/dist/FloatingButton/components/Button.cjs +1 -1
  95. package/dist/FloatingButton/components/Button.js +1 -1
  96. package/dist/FloatingButton/components/Container.cjs +1 -1
  97. package/dist/FloatingButton/components/Container.js +1 -1
  98. package/dist/FloatingButton/components/Wrapper.cjs +1 -1
  99. package/dist/FloatingButton/components/Wrapper.js +1 -1
  100. package/dist/FloatingChat/FloatingChat.cjs +32 -4
  101. package/dist/FloatingChat/FloatingChat.d.cts +2 -2
  102. package/dist/FloatingChat/FloatingChat.d.ts +2 -2
  103. package/dist/FloatingChat/FloatingChat.js +33 -5
  104. package/dist/FloatingChat/components/AgentMessage.cjs +2 -2
  105. package/dist/FloatingChat/components/AgentMessage.js +2 -2
  106. package/dist/FloatingChat/components/ChatMessages.cjs +1 -1
  107. package/dist/FloatingChat/components/ChatMessages.js +1 -1
  108. package/dist/FloatingChat/components/Layout.cjs +1 -1
  109. package/dist/FloatingChat/components/Layout.js +1 -1
  110. package/dist/FloatingChat/components/ProductResultsModal.cjs +1 -1
  111. package/dist/FloatingChat/components/ProductResultsModal.js +1 -1
  112. package/dist/FloatingChat/components/ResultsGridView.cjs +1 -1
  113. package/dist/FloatingChat/components/ResultsGridView.js +1 -1
  114. package/dist/FloatingChat/components/SalesAgentBadgeContent.cjs +1 -1
  115. package/dist/FloatingChat/components/SalesAgentBadgeContent.js +1 -1
  116. package/dist/FloatingChat/components/SlideChatContent.cjs +1 -1
  117. package/dist/FloatingChat/components/SlideChatContent.js +1 -1
  118. package/dist/FloatingChat/hooks/useChatSuggestions.cjs +3 -5
  119. package/dist/FloatingChat/hooks/useChatSuggestions.js +4 -6
  120. package/dist/Form/Form.cjs +1 -1
  121. package/dist/Form/Form.js +1 -1
  122. package/dist/Form/components/Layout.cjs +1 -1
  123. package/dist/Form/components/Layout.js +1 -1
  124. package/dist/Form/components/SubmitButtonItem.cjs +1 -1
  125. package/dist/Form/components/SubmitButtonItem.js +1 -1
  126. package/dist/Form/components/TextFieldItem.cjs +1 -1
  127. package/dist/Form/components/TextFieldItem.js +1 -1
  128. package/dist/FullPageSalesAgent/FullPageSalesAgent.cjs +29 -2
  129. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.cts +5 -3
  130. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.ts +5 -3
  131. package/dist/FullPageSalesAgent/FullPageSalesAgent.js +30 -3
  132. package/dist/FullPageSalesAgent/components/Layout.cjs +1 -1
  133. package/dist/FullPageSalesAgent/components/Layout.js +1 -1
  134. package/dist/Image/Image.cjs +1 -1
  135. package/dist/Image/Image.d.cts +2 -2
  136. package/dist/Image/Image.d.ts +2 -2
  137. package/dist/Image/Image.js +1 -1
  138. package/dist/ImageGallery/ImageGallery.d.cts +2 -2
  139. package/dist/ImageGallery/ImageGallery.d.ts +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/Message/components/Layout.cjs +1 -1
  146. package/dist/Message/components/Layout.js +1 -1
  147. package/dist/OrderLookupCard/OrderLookupCard.cjs +1 -1
  148. package/dist/OrderLookupCard/OrderLookupCard.js +1 -1
  149. package/dist/OrderLookupCard/components/Layout.cjs +1 -1
  150. package/dist/OrderLookupCard/components/Layout.js +1 -1
  151. package/dist/OrderLookupCard/components/MoreProductsOverlay.cjs +1 -1
  152. package/dist/OrderLookupCard/components/MoreProductsOverlay.js +1 -1
  153. package/dist/OrderLookupCard/components/ProductImageGridItem.cjs +1 -1
  154. package/dist/OrderLookupCard/components/ProductImageGridItem.js +1 -1
  155. package/dist/OrderLookupCard/components/ProductImageItem.cjs +1 -1
  156. package/dist/OrderLookupCard/components/ProductImageItem.js +1 -1
  157. package/dist/OrderLookupCard/components/ProductImagesGrid.cjs +1 -1
  158. package/dist/OrderLookupCard/components/ProductImagesGrid.js +1 -1
  159. package/dist/OrderLookupCard/components/StatusLabel.cjs +1 -1
  160. package/dist/OrderLookupCard/components/StatusLabel.js +1 -1
  161. package/dist/OrderLookupCard/components/TrackOrderLink.cjs +1 -1
  162. package/dist/OrderLookupCard/components/TrackOrderLink.js +1 -1
  163. package/dist/ProductCard/ProductCard.cjs +6 -2
  164. package/dist/ProductCard/ProductCard.d.cts +6 -3
  165. package/dist/ProductCard/ProductCard.d.ts +6 -3
  166. package/dist/ProductCard/ProductCard.js +6 -2
  167. package/dist/ProductCard/index.d.cts +2 -2
  168. package/dist/ProductCard/index.d.ts +2 -2
  169. package/dist/ProductCard/types/index.d.cts +7 -1
  170. package/dist/ProductCard/types/index.d.ts +7 -1
  171. package/dist/PromptButton/PromptButton.cjs +1 -1
  172. package/dist/PromptButton/PromptButton.d.cts +2 -2
  173. package/dist/PromptButton/PromptButton.js +1 -1
  174. package/dist/PromptButton/components/Layout.cjs +1 -1
  175. package/dist/PromptButton/components/Layout.js +1 -1
  176. package/dist/PromptButton/components/Loading.cjs +1 -1
  177. package/dist/PromptButton/components/Loading.js +1 -1
  178. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +5 -2
  179. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +6 -3
  180. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.ts +6 -3
  181. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +5 -2
  182. package/dist/PromptButtonCarouselWithImage/components/Layout.cjs +1 -1
  183. package/dist/PromptButtonCarouselWithImage/components/Layout.js +1 -1
  184. package/dist/PromptButtonCarouselWithImage/components/Skeleton.cjs +1 -1
  185. package/dist/PromptButtonCarouselWithImage/components/Skeleton.js +1 -1
  186. package/dist/PromptButtonCarouselWithImage/types/types.d.cts +12 -0
  187. package/dist/PromptButtonCarouselWithImage/types/types.d.ts +12 -0
  188. package/dist/PromptCarousel/PromptCarousel.cjs +1 -1
  189. package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
  190. package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
  191. package/dist/PromptCarousel/PromptCarousel.js +1 -1
  192. package/dist/PromptCarousel/hooks/useCarouselButtons.cjs +3 -2
  193. package/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -2
  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/components/Container.cjs +1 -1
  206. package/dist/SalesAgentProductCard/components/Container.js +1 -1
  207. package/dist/SalesAgentProductCard/components/ProductImage.cjs +1 -1
  208. package/dist/SalesAgentProductCard/components/ProductImage.js +1 -1
  209. package/dist/SalesAgentProductCard/components/ProductName.cjs +1 -1
  210. package/dist/SalesAgentProductCard/components/ProductName.js +1 -1
  211. package/dist/SalesAgentProductCard/components/index.d.cts +8 -8
  212. package/dist/SocialProof/SocialProof.cjs +6 -3
  213. package/dist/SocialProof/SocialProof.d.cts +2 -2
  214. package/dist/SocialProof/SocialProof.d.ts +2 -2
  215. package/dist/SocialProof/SocialProof.js +6 -3
  216. package/dist/SocialProof/components/Headline.cjs +1 -1
  217. package/dist/SocialProof/components/Headline.js +1 -1
  218. package/dist/SocialProof/components/LayoutFourHorizontal.cjs +1 -1
  219. package/dist/SocialProof/components/LayoutFourHorizontal.js +1 -1
  220. package/dist/SocialProof/components/Textfield.cjs +5 -2
  221. package/dist/SocialProof/components/Textfield.js +5 -2
  222. package/dist/SocialProof/index.d.cts +2 -2
  223. package/dist/SocialProof/index.d.ts +2 -2
  224. package/dist/SocialProof/types/types.d.cts +13 -1
  225. package/dist/SocialProof/types/types.d.ts +13 -1
  226. package/dist/SparkleAnimation/SparkleAnimation.d.cts +2 -2
  227. package/dist/Stack/Stack.d.cts +2 -2
  228. package/dist/Stack/Stack.d.ts +2 -2
  229. package/dist/TextField/TextField.cjs +35 -3
  230. package/dist/TextField/TextField.d.cts +5 -1
  231. package/dist/TextField/TextField.d.ts +5 -1
  232. package/dist/TextField/TextField.js +35 -3
  233. package/dist/TextField/components/Input.cjs +1 -1
  234. package/dist/TextField/components/Input.js +1 -1
  235. package/dist/TextField/components/Layout.cjs +11 -8
  236. package/dist/TextField/components/Layout.js +11 -8
  237. package/dist/TextField/components/SendIcon.cjs +1 -1
  238. package/dist/TextField/components/SendIcon.js +1 -1
  239. package/dist/TextField/components/VoiceInputButton.cjs +45 -0
  240. package/dist/TextField/components/VoiceInputButton.js +39 -0
  241. package/dist/TextField/components/index.cjs +3 -1
  242. package/dist/TextField/components/index.js +3 -1
  243. package/dist/TextField/hooks/useGetMicButtonContainerProperties.cjs +20 -0
  244. package/dist/TextField/hooks/useGetMicButtonContainerProperties.js +19 -0
  245. package/dist/TextField/hooks/useGetSkeletonProperties.cjs +1 -1
  246. package/dist/TextField/hooks/useGetSkeletonProperties.js +1 -1
  247. package/dist/TextField/hooks/useVoiceInput.cjs +52 -0
  248. package/dist/TextField/hooks/useVoiceInput.js +50 -0
  249. package/dist/TextField/types/index.d.cts +11 -0
  250. package/dist/TextField/types/index.d.ts +11 -0
  251. package/dist/TextField/utils/getLayoutStateProperties.cjs +9 -1
  252. package/dist/TextField/utils/getLayoutStateProperties.js +8 -1
  253. package/dist/Title/Title.cjs +1 -1
  254. package/dist/Title/Title.js +1 -1
  255. package/dist/Title/components/Layout.cjs +1 -1
  256. package/dist/Title/components/Layout.js +1 -1
  257. package/dist/TitledPromptCarousel/TitledPromptCarousel.cjs +1 -1
  258. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
  259. package/dist/TitledPromptCarousel/TitledPromptCarousel.js +1 -1
  260. package/dist/Tokens/index.cjs +6 -6
  261. package/dist/Tokens/index.js +6 -6
  262. package/dist/TypingAnimation/TypingAnimation.cjs +7 -3
  263. package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
  264. package/dist/TypingAnimation/TypingAnimation.d.ts +2 -2
  265. package/dist/TypingAnimation/TypingAnimation.js +7 -3
  266. package/dist/TypingAnimation/index.d.cts +2 -2
  267. package/dist/TypingAnimation/index.d.ts +2 -2
  268. package/dist/TypingAnimation/types/index.d.cts +13 -1
  269. package/dist/TypingAnimation/types/index.d.ts +13 -1
  270. package/dist/Typography/Typography.d.cts +4 -4
  271. package/dist/Typography/Typography.d.ts +4 -4
  272. package/dist/WelcomeMessage/components/Container.cjs +1 -1
  273. package/dist/WelcomeMessage/components/Container.js +1 -1
  274. package/dist/WidgetTextField/WidgetTextField.cjs +39 -7
  275. package/dist/WidgetTextField/WidgetTextField.d.cts +7 -3
  276. package/dist/WidgetTextField/WidgetTextField.d.ts +7 -3
  277. package/dist/WidgetTextField/WidgetTextField.js +33 -2
  278. package/dist/WidgetTextField/components/Container.cjs +32 -26
  279. package/dist/WidgetTextField/components/Container.js +32 -26
  280. package/dist/WidgetTextField/components/Skeleton.cjs +1 -1
  281. package/dist/WidgetTextField/components/Skeleton.js +1 -1
  282. package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -3
  283. package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -3
  284. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.cjs +20 -0
  285. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.js +19 -0
  286. package/dist/WidgetTextField/types/types.d.cts +21 -0
  287. package/dist/WidgetTextField/types/types.d.ts +21 -0
  288. package/dist/WidgetWrapper/WidgetWrapper.cjs +1 -1
  289. package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
  290. package/dist/WidgetWrapper/WidgetWrapper.js +1 -1
  291. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -1
  292. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +1 -1
  293. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
  294. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts +2 -2
  295. package/dist/node_modules/jotai/esm/react.cjs +87 -0
  296. package/dist/node_modules/jotai/esm/react.js +88 -2
  297. package/dist/node_modules/jotai/esm/vanilla/internals.cjs +2 -1
  298. package/dist/node_modules/jotai/esm/vanilla/internals.js +1 -1
  299. package/dist/packages/components-v3/tokens/typography/typography.cjs +1 -1
  300. package/dist/packages/components-v3/tokens/typography/typography.js +1 -1
  301. package/dist/styles.css +1 -1
  302. package/dist/utils/resolveTheme.cjs +1 -1
  303. package/dist/utils/resolveTheme.js +1 -1
  304. package/package.json +2 -1
  305. package/src/components/ChatFooter/ChatFooter.tsx +8 -0
  306. package/src/components/ChatFooter/__tests__/ChatFooter.test.tsx +43 -0
  307. package/src/components/ChatFooter/components/TextField.tsx +12 -0
  308. package/src/components/ChatFooter/types/types.ts +17 -0
  309. package/src/components/ChatHeader/ChatHeader.tsx +1 -0
  310. package/src/components/ChatHeader/components/Handle.tsx +7 -2
  311. package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +5 -1
  312. package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +1 -1
  313. package/src/components/ChatHeader/types/index.ts +1 -0
  314. package/src/components/ChatPreview/ChatPreview.tsx +13 -2
  315. package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +44 -0
  316. package/src/components/ChatPreview/index.ts +1 -1
  317. package/src/components/ChatPreview/types/types.ts +13 -0
  318. package/src/components/ChatPreviewComparison/ChatPreviewComparison.tsx +6 -0
  319. package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +44 -0
  320. package/src/components/ChatPreviewComparison/index.ts +1 -1
  321. package/src/components/ChatPreviewComparison/types/types.ts +13 -0
  322. package/src/components/ChatPreviewLoading/ChatPreviewLoading.tsx +5 -3
  323. package/src/components/ChatPreviewLoading/__tests__/ChatPreviewLoading.test.tsx +40 -0
  324. package/src/components/ChatPreviewLoading/types/types.ts +5 -0
  325. package/src/components/Disclaimer/components/Container.tsx +1 -1
  326. package/src/components/FloatingChat/FloatingChat.tsx +43 -7
  327. package/src/components/FloatingChat/components/SlideChatContent.tsx +1 -1
  328. package/src/components/FloatingChat/hooks/useChatSuggestions.ts +8 -12
  329. package/src/components/FullPageSalesAgent/FullPageSalesAgent.tsx +43 -7
  330. package/src/components/ProductCard/ProductCard.tsx +7 -0
  331. package/src/components/ProductCard/__tests__/ProductCard.test.tsx +33 -0
  332. package/src/components/ProductCard/index.ts +1 -1
  333. package/src/components/ProductCard/types/index.ts +6 -0
  334. package/src/components/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.tsx +6 -0
  335. package/src/components/PromptButtonCarouselWithImage/__tests__/PromptButtonCarouselWithImage.test.tsx +34 -0
  336. package/src/components/PromptButtonCarouselWithImage/types/types.ts +12 -0
  337. package/src/components/PromptCarousel/__tests__/PromptCarousel.test.tsx +19 -0
  338. package/src/components/PromptCarousel/hooks/useCarouselButtons.ts +4 -2
  339. package/src/components/ReviewCard/components/Rating.tsx +0 -1
  340. package/src/components/SocialProof/SocialProof.tsx +6 -0
  341. package/src/components/SocialProof/__tests__/SocialProof.test.tsx +58 -0
  342. package/src/components/SocialProof/components/Textfield.tsx +9 -0
  343. package/src/components/SocialProof/index.ts +1 -1
  344. package/src/components/SocialProof/types/types.ts +13 -0
  345. package/src/components/TextField/TextField.tsx +49 -0
  346. package/src/components/TextField/__tests__/TextField.test.tsx +3 -3
  347. package/src/components/TextField/__tests__/VoiceInputButton.test.tsx +175 -0
  348. package/src/components/TextField/components/Layout.tsx +24 -17
  349. package/src/components/TextField/components/VoiceInputButton.tsx +69 -0
  350. package/src/components/TextField/components/index.ts +2 -0
  351. package/src/components/TextField/hooks/useGetMicButtonContainerProperties.ts +38 -0
  352. package/src/components/TextField/hooks/useGetSkeletonProperties.ts +1 -1
  353. package/src/components/TextField/hooks/useVoiceInput.ts +75 -0
  354. package/src/components/TextField/types/index.ts +11 -0
  355. package/src/components/TextField/utils/getLayoutStateProperties.ts +8 -0
  356. package/src/components/TypingAnimation/TypingAnimation.tsx +7 -0
  357. package/src/components/TypingAnimation/__tests__/TypingAnimation.test.tsx +47 -0
  358. package/src/components/TypingAnimation/index.ts +1 -1
  359. package/src/components/TypingAnimation/types/index.ts +14 -1
  360. package/src/components/WidgetTextField/WidgetTextField.tsx +47 -0
  361. package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +119 -4
  362. package/src/components/WidgetTextField/components/Container.tsx +40 -27
  363. package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +16 -4
  364. package/src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts +38 -0
  365. package/src/components/WidgetTextField/types/types.ts +21 -0
  366. package/src/components/WidgetWrapper/hooks/useGetWrapperProperties.ts +1 -1
@@ -5,38 +5,44 @@ const require_Container = require('../../Container/Container.cjs');
5
5
  require('../../Container/index.cjs');
6
6
  const require_useGetContainerProperties = require('../hooks/useGetContainerProperties.cjs');
7
7
  const require_useHandleKeyboard = require('../hooks/useHandleKeyboard.cjs');
8
+ let react_jsx_runtime = require("react/jsx-runtime");
8
9
  let classnames = require("classnames");
9
10
  classnames = require_rolldown_runtime.__toESM(classnames);
10
- let react_jsx_runtime = require("react/jsx-runtime");
11
11
 
12
12
  //#region src/components/WidgetTextField/components/Container.tsx
13
- const Container$1 = ({ id, testId, style, className, theme, ariaLabel, icon, text, disabled, onClick }) => {
14
- const { baseClassName, themeContainerClassName } = require_useGetContainerProperties.useGetContainerProperties({ theme });
13
+ const Container$1 = ({ id, testId, style, className, theme, minimalFrame, ariaLabel, icon, text, voiceInputButton, disabled, onClick }) => {
14
+ const { baseClassName, themeContainerClassName, containerWrapperClassName } = require_useGetContainerProperties.useGetContainerProperties({
15
+ theme,
16
+ minimalFrame
17
+ });
15
18
  const { handleKeyDown } = require_useHandleKeyboard.useHandleKeyboard({ onClick });
16
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Container.Container, {
17
- id,
18
- testId,
19
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
20
+ className: containerWrapperClassName,
19
21
  style,
20
- className: (0, classnames.default)(className, baseClassName, themeContainerClassName, disabled && "envive-tw-pointer-events-none envive-tw-opacity-50"),
21
- "aria-label": ariaLabel,
22
- fluid: true,
23
- onClick,
24
- onKeyDown: handleKeyDown,
25
- role: "button",
26
- tabIndex: onClick ? 0 : void 0,
27
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, {
28
- direction: "row",
29
- align: "center",
30
- justify: "between",
31
- gap: "2",
32
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
33
- className: "envive-tw-min-w-0 envive-tw-flex-1 envive-tw-overflow-hidden",
34
- children: text
35
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
36
- className: "envive-tw-flex-shrink-0",
37
- children: icon
38
- })]
39
- })
22
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Container.Container, {
23
+ id,
24
+ testId,
25
+ className: (0, classnames.default)(className, baseClassName, themeContainerClassName, disabled && "envive-tw-pointer-events-none envive-tw-opacity-50"),
26
+ "aria-label": ariaLabel,
27
+ fluid: true,
28
+ onClick,
29
+ onKeyDown: handleKeyDown,
30
+ role: "button",
31
+ tabIndex: onClick ? 0 : void 0,
32
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Stack.Stack, {
33
+ direction: "row",
34
+ align: "center",
35
+ justify: "between",
36
+ gap: "2",
37
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
38
+ className: "envive-tw-min-w-0 envive-tw-flex-1 envive-tw-overflow-hidden",
39
+ children: text
40
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
41
+ className: "envive-tw-flex-shrink-0",
42
+ children: icon
43
+ })]
44
+ })
45
+ }), voiceInputButton]
40
46
  });
41
47
  };
42
48
 
@@ -4,37 +4,43 @@ import { Container } from "../../Container/Container.js";
4
4
  import "../../Container/index.js";
5
5
  import { useGetContainerProperties } from "../hooks/useGetContainerProperties.js";
6
6
  import { useHandleKeyboard } from "../hooks/useHandleKeyboard.js";
7
- import classNames from "classnames";
8
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
+ import classNames from "classnames";
9
9
 
10
10
  //#region src/components/WidgetTextField/components/Container.tsx
11
- const Container$1 = ({ id, testId, style, className, theme, ariaLabel, icon, text, disabled, onClick }) => {
12
- const { baseClassName, themeContainerClassName } = useGetContainerProperties({ theme });
11
+ const Container$1 = ({ id, testId, style, className, theme, minimalFrame, ariaLabel, icon, text, voiceInputButton, disabled, onClick }) => {
12
+ const { baseClassName, themeContainerClassName, containerWrapperClassName } = useGetContainerProperties({
13
+ theme,
14
+ minimalFrame
15
+ });
13
16
  const { handleKeyDown } = useHandleKeyboard({ onClick });
14
- return /* @__PURE__ */ jsx(Container, {
15
- id,
16
- testId,
17
+ return /* @__PURE__ */ jsxs("div", {
18
+ className: containerWrapperClassName,
17
19
  style,
18
- className: classNames(className, baseClassName, themeContainerClassName, disabled && "envive-tw-pointer-events-none envive-tw-opacity-50"),
19
- "aria-label": ariaLabel,
20
- fluid: true,
21
- onClick,
22
- onKeyDown: handleKeyDown,
23
- role: "button",
24
- tabIndex: onClick ? 0 : void 0,
25
- children: /* @__PURE__ */ jsxs(Stack, {
26
- direction: "row",
27
- align: "center",
28
- justify: "between",
29
- gap: "2",
30
- children: [/* @__PURE__ */ jsx("div", {
31
- className: "envive-tw-min-w-0 envive-tw-flex-1 envive-tw-overflow-hidden",
32
- children: text
33
- }), /* @__PURE__ */ jsx("div", {
34
- className: "envive-tw-flex-shrink-0",
35
- children: icon
36
- })]
37
- })
20
+ children: [/* @__PURE__ */ jsx(Container, {
21
+ id,
22
+ testId,
23
+ className: classNames(className, baseClassName, themeContainerClassName, disabled && "envive-tw-pointer-events-none envive-tw-opacity-50"),
24
+ "aria-label": ariaLabel,
25
+ fluid: true,
26
+ onClick,
27
+ onKeyDown: handleKeyDown,
28
+ role: "button",
29
+ tabIndex: onClick ? 0 : void 0,
30
+ children: /* @__PURE__ */ jsxs(Stack, {
31
+ direction: "row",
32
+ align: "center",
33
+ justify: "between",
34
+ gap: "2",
35
+ children: [/* @__PURE__ */ jsx("div", {
36
+ className: "envive-tw-min-w-0 envive-tw-flex-1 envive-tw-overflow-hidden",
37
+ children: text
38
+ }), /* @__PURE__ */ jsx("div", {
39
+ className: "envive-tw-flex-shrink-0",
40
+ children: icon
41
+ })]
42
+ })
43
+ }), voiceInputButton]
38
44
  });
39
45
  };
40
46
 
@@ -2,9 +2,9 @@ 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_resolveTheme = require('../../utils/resolveTheme.cjs');
4
4
  let react = require("react");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
5
6
  let classnames = require("classnames");
6
7
  classnames = require_rolldown_runtime.__toESM(classnames);
7
- let react_jsx_runtime = require("react/jsx-runtime");
8
8
 
9
9
  //#region src/components/WidgetTextField/components/Skeleton.tsx
10
10
  const Skeleton = ({ theme = require_theme.Theme.GLOBAL_CUSTOM }) => {
@@ -1,8 +1,8 @@
1
1
  import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
2
2
  import { resolveTheme } from "../../utils/resolveTheme.js";
3
3
  import { useMemo } from "react";
4
- import classNames from "classnames";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import classNames from "classnames";
6
6
 
7
7
  //#region src/components/WidgetTextField/components/Skeleton.tsx
8
8
  const Skeleton = ({ theme = Theme.GLOBAL_CUSTOM }) => {
@@ -3,16 +3,18 @@ const require_theme = require('../../packages/components-v3/tokens/theme/theme.c
3
3
  let react = require("react");
4
4
 
5
5
  //#region src/components/WidgetTextField/hooks/useGetContainerProperties.ts
6
- const useGetContainerProperties = ({ theme }) => {
6
+ const useGetContainerProperties = ({ theme, minimalFrame = "full" }) => {
7
7
  return {
8
8
  baseClassName: "envive-tw-cursor-text envive-tw-border-solid envive-tw-px-4 envive-tw-py-2",
9
9
  themeContainerClassName: (0, react.useMemo)(() => {
10
+ const minimalBorderClass = minimalFrame === "bottom-only" ? "envive-tw-border-b-[1px] envive-tw-border-text-light" : "envive-tw-border-[1px] envive-tw-border-border-light";
10
11
  return {
11
12
  [require_theme.Theme.STANDARD]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-global-custom",
12
13
  [require_theme.Theme.MODERN]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-4",
13
- [require_theme.Theme.MINIMAL]: "envive-tw-border-[1px] envive-tw-border-border-light"
14
+ [require_theme.Theme.MINIMAL]: minimalBorderClass
14
15
  }[theme] ?? "";
15
- }, [theme])
16
+ }, [theme, minimalFrame]),
17
+ containerWrapperClassName: "envive-tw-gap-4 envive-tw-flex envive-tw-w-full envive-tw-flex-row"
16
18
  };
17
19
  };
18
20
 
@@ -2,16 +2,18 @@ import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
2
2
  import { useMemo } from "react";
3
3
 
4
4
  //#region src/components/WidgetTextField/hooks/useGetContainerProperties.ts
5
- const useGetContainerProperties = ({ theme }) => {
5
+ const useGetContainerProperties = ({ theme, minimalFrame = "full" }) => {
6
6
  return {
7
7
  baseClassName: "envive-tw-cursor-text envive-tw-border-solid envive-tw-px-4 envive-tw-py-2",
8
8
  themeContainerClassName: useMemo(() => {
9
+ const minimalBorderClass = minimalFrame === "bottom-only" ? "envive-tw-border-b-[1px] envive-tw-border-text-light" : "envive-tw-border-[1px] envive-tw-border-border-light";
9
10
  return {
10
11
  [Theme.STANDARD]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-global-custom",
11
12
  [Theme.MODERN]: "envive-tw-border-[1px] envive-tw-border-border-light envive-tw-rounded-4",
12
- [Theme.MINIMAL]: "envive-tw-border-[1px] envive-tw-border-border-light"
13
+ [Theme.MINIMAL]: minimalBorderClass
13
14
  }[theme] ?? "";
14
- }, [theme])
15
+ }, [theme, minimalFrame]),
16
+ containerWrapperClassName: "envive-tw-gap-4 envive-tw-flex envive-tw-w-full envive-tw-flex-row"
15
17
  };
16
18
  };
17
19
 
@@ -0,0 +1,20 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_theme = require('../../packages/components-v3/tokens/theme/theme.cjs');
3
+ let react = require("react");
4
+
5
+ //#region src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts
6
+ const useGetMicWidgetButtonProperties = ({ theme, isListening = false }) => {
7
+ return { micWidgetButtonClasses: (0, react.useMemo)(() => {
8
+ const micWidgetButtonClassesMap = {
9
+ [require_theme.Theme.STANDARD]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom",
10
+ [require_theme.Theme.MODERN]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-4",
11
+ [require_theme.Theme.MINIMAL]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light",
12
+ [require_theme.Theme.GLOBAL_CUSTOM]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom"
13
+ };
14
+ const baseClasses = micWidgetButtonClassesMap[theme] ?? micWidgetButtonClassesMap[require_theme.Theme.STANDARD];
15
+ return isListening ? `${baseClasses} envive-tw-bg-[--envive-colors-text-accent]` : `${baseClasses} envive-tw-bg-background-light`;
16
+ }, [theme, isListening]) };
17
+ };
18
+
19
+ //#endregion
20
+ exports.useGetMicWidgetButtonProperties = useGetMicWidgetButtonProperties;
@@ -0,0 +1,19 @@
1
+ import { Theme } from "../../packages/components-v3/tokens/theme/theme.js";
2
+ import { useMemo } from "react";
3
+
4
+ //#region src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts
5
+ const useGetMicWidgetButtonProperties = ({ theme, isListening = false }) => {
6
+ return { micWidgetButtonClasses: useMemo(() => {
7
+ const micWidgetButtonClassesMap = {
8
+ [Theme.STANDARD]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom",
9
+ [Theme.MODERN]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-4",
10
+ [Theme.MINIMAL]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light",
11
+ [Theme.GLOBAL_CUSTOM]: "envive-tw-flex envive-tw-h-[42px] envive-tw-w-[44px] envive-tw-py-2 envive-tw-px-2 envive-tw-justify-center envive-tw-items-center envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-rounded-global-custom"
12
+ };
13
+ const baseClasses = micWidgetButtonClassesMap[theme] ?? micWidgetButtonClassesMap[Theme.STANDARD];
14
+ return isListening ? `${baseClasses} envive-tw-bg-[--envive-colors-text-accent]` : `${baseClasses} envive-tw-bg-background-light`;
15
+ }, [theme, isListening]) };
16
+ };
17
+
18
+ //#endregion
19
+ export { useGetMicWidgetButtonProperties };
@@ -32,6 +32,12 @@ type WidgetTextFieldProps = {
32
32
  * @default Theme.GLOBAL_CUSTOM
33
33
  */
34
34
  theme?: Theme;
35
+ /**
36
+ * When the resolved theme is MINIMAL, controls border treatment.
37
+ * `full` matches overlays (full frame). `bottom-only` matches embedded contexts like product cards.
38
+ * @default 'full'
39
+ */
40
+ minimalFrame?: 'full' | 'bottom-only';
35
41
  /** Placeholder text displayed in the text field. */
36
42
  placeholder?: string;
37
43
  /** Accessible label for screen readers. If not provided, the placeholder will be used. */
@@ -49,6 +55,21 @@ type WidgetTextFieldProps = {
49
55
  isLoading?: boolean;
50
56
  /** Callback function invoked when the text field is clicked or activated via keyboard. */
51
57
  onClick?: () => void;
58
+ /** Enable voice input button */
59
+ enableVoiceInput?: boolean;
60
+ /** Voice input button class name */
61
+ voiceInputClassName?: string;
62
+ /**
63
+ * Callback function invoked when voice transcription starts (user begins recording).
64
+ * Use this to track when the user starts using voice input.
65
+ */
66
+ onTranscriptionStarted?: () => void;
67
+ /**
68
+ * Callback function invoked when voice transcription completes (user stops recording).
69
+ * @param transcript - The transcribed text from the voice input.
70
+ * Use this to track the completed voice transcription and the resulting text.
71
+ */
72
+ onTranscriptionCompleted?: (transcript: string) => void;
52
73
  };
53
74
  declare enum IconVariant {
54
75
  DEFAULT = "default",
@@ -32,6 +32,12 @@ type WidgetTextFieldProps = {
32
32
  * @default Theme.GLOBAL_CUSTOM
33
33
  */
34
34
  theme?: Theme;
35
+ /**
36
+ * When the resolved theme is MINIMAL, controls border treatment.
37
+ * `full` matches overlays (full frame). `bottom-only` matches embedded contexts like product cards.
38
+ * @default 'full'
39
+ */
40
+ minimalFrame?: 'full' | 'bottom-only';
35
41
  /** Placeholder text displayed in the text field. */
36
42
  placeholder?: string;
37
43
  /** Accessible label for screen readers. If not provided, the placeholder will be used. */
@@ -49,6 +55,21 @@ type WidgetTextFieldProps = {
49
55
  isLoading?: boolean;
50
56
  /** Callback function invoked when the text field is clicked or activated via keyboard. */
51
57
  onClick?: () => void;
58
+ /** Enable voice input button */
59
+ enableVoiceInput?: boolean;
60
+ /** Voice input button class name */
61
+ voiceInputClassName?: string;
62
+ /**
63
+ * Callback function invoked when voice transcription starts (user begins recording).
64
+ * Use this to track when the user starts using voice input.
65
+ */
66
+ onTranscriptionStarted?: () => void;
67
+ /**
68
+ * Callback function invoked when voice transcription completes (user stops recording).
69
+ * @param transcript - The transcribed text from the voice input.
70
+ * Use this to track the completed voice transcription and the resulting text.
71
+ */
72
+ onTranscriptionCompleted?: (transcript: string) => void;
52
73
  };
53
74
  declare enum IconVariant {
54
75
  DEFAULT = "default",
@@ -2,9 +2,9 @@ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
2
  const require_Container = require('../Container/Container.cjs');
3
3
  require('../Container/index.cjs');
4
4
  const require_useGetWrapperProperties = require('./hooks/useGetWrapperProperties.cjs');
5
+ let react_jsx_runtime = require("react/jsx-runtime");
5
6
  let classnames = require("classnames");
6
7
  classnames = require_rolldown_runtime.__toESM(classnames);
7
- let react_jsx_runtime = require("react/jsx-runtime");
8
8
 
9
9
  //#region src/components/WidgetWrapper/WidgetWrapper.tsx
10
10
  /**
@@ -1,5 +1,5 @@
1
1
  import { WidgetWrapperProps } from "./types/types.cjs";
2
- import * as react_jsx_runtime14 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/WidgetWrapper/WidgetWrapper.d.ts
5
5
 
@@ -16,6 +16,6 @@ declare const WidgetWrapper: ({
16
16
  className,
17
17
  style,
18
18
  ...containerProps
19
- }: WidgetWrapperProps) => react_jsx_runtime14.JSX.Element;
19
+ }: WidgetWrapperProps) => react_jsx_runtime0.JSX.Element;
20
20
  //#endregion
21
21
  export { WidgetWrapper };
@@ -1,8 +1,8 @@
1
1
  import { Container } from "../Container/Container.js";
2
2
  import "../Container/index.js";
3
3
  import { useGetWrapperProperties } from "./hooks/useGetWrapperProperties.js";
4
- import classNames from "classnames";
5
4
  import { jsx } from "react/jsx-runtime";
5
+ import classNames from "classnames";
6
6
 
7
7
  //#region src/components/WidgetWrapper/WidgetWrapper.tsx
8
8
  /**
@@ -8,7 +8,7 @@ const useGetWrapperProperties = (variant) => {
8
8
  switch (variant) {
9
9
  case require_types.WidgetWrapperVariant.CARD_WITH_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-md:p-6 envive-tw-p-3";
10
10
  case require_types.WidgetWrapperVariant.CARD_NO_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-md:p-6 envive-tw-p-3";
11
- case require_types.WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-md:py-6 envive-tw-py-3";
11
+ case require_types.WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-py-6";
12
12
  case require_types.WidgetWrapperVariant.INLINE_NO_BORDER: return;
13
13
  default: return;
14
14
  }
@@ -7,7 +7,7 @@ const useGetWrapperProperties = (variant) => {
7
7
  switch (variant) {
8
8
  case WidgetWrapperVariant.CARD_WITH_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-border envive-tw-border-solid envive-tw-border-border-light envive-tw-md:p-6 envive-tw-p-3";
9
9
  case WidgetWrapperVariant.CARD_NO_BORDER: return "envive-tw-rounded-global-custom envive-tw-bg-background-light envive-tw-md:p-6 envive-tw-p-3";
10
- case WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-md:py-6 envive-tw-py-3";
10
+ case WidgetWrapperVariant.INLINE_WITH_BORDER: return "envive-tw-border-t envive-tw-border-b envive-tw-border-solid envive-tw-border-border-light envive-tw-py-6";
11
11
  case WidgetWrapperVariant.INLINE_NO_BORDER: return;
12
12
  default: return;
13
13
  }
@@ -1,5 +1,5 @@
1
1
  import { WidgetWrapperWithTitleProps } from "./types/types.cjs";
2
- import * as react_jsx_runtime19 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime36 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts
5
5
  declare const WidgetWrapperWithTitle: ({
@@ -14,6 +14,6 @@ declare const WidgetWrapperWithTitle: ({
14
14
  hexCardColor,
15
15
  hideLogo,
16
16
  fullIsLoading
17
- }: WidgetWrapperWithTitleProps) => react_jsx_runtime19.JSX.Element;
17
+ }: WidgetWrapperWithTitleProps) => react_jsx_runtime36.JSX.Element;
18
18
  //#endregion
19
19
  export { WidgetWrapperWithTitle };
@@ -1,5 +1,5 @@
1
1
  import { WidgetWrapperWithTitleProps } from "./types/types.js";
2
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime7 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.ts
5
5
  declare const WidgetWrapperWithTitle: ({
@@ -14,6 +14,6 @@ declare const WidgetWrapperWithTitle: ({
14
14
  hexCardColor,
15
15
  hideLogo,
16
16
  fullIsLoading
17
- }: WidgetWrapperWithTitleProps) => react_jsx_runtime0.JSX.Element;
17
+ }: WidgetWrapperWithTitleProps) => react_jsx_runtime7.JSX.Element;
18
18
  //#endregion
19
19
  export { WidgetWrapperWithTitle };
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
4
+ const require_internals = require('./vanilla/internals.cjs');
4
5
  const require_vanilla = require('./vanilla.cjs');
5
6
  let react = require("react");
6
7
  react = require_rolldown_runtime.__toESM(react);
@@ -11,6 +12,7 @@ function useStore(options) {
11
12
  const store = (0, react.useContext)(StoreContext);
12
13
  return (options == null ? void 0 : options.store) || store || require_vanilla.getDefaultStore();
13
14
  }
15
+ const isPromiseLike = (x) => typeof (x == null ? void 0 : x.then) === "function";
14
16
  const attachPromiseStatus = (promise) => {
15
17
  if (!promise.status) {
16
18
  promise.status = "pending";
@@ -32,6 +34,87 @@ const use = react.default.use || ((promise) => {
32
34
  throw promise;
33
35
  }
34
36
  });
37
+ const continuablePromiseMap = /* @__PURE__ */ new WeakMap();
38
+ const createContinuablePromise = (promise, getValue) => {
39
+ let continuablePromise = continuablePromiseMap.get(promise);
40
+ if (!continuablePromise) {
41
+ continuablePromise = new Promise((resolve, reject) => {
42
+ let curr = promise;
43
+ const onFulfilled = (me) => (v) => {
44
+ if (curr === me) resolve(v);
45
+ };
46
+ const onRejected = (me) => (e) => {
47
+ if (curr === me) reject(e);
48
+ };
49
+ const onAbort = () => {
50
+ try {
51
+ const nextValue = getValue();
52
+ if (isPromiseLike(nextValue)) {
53
+ continuablePromiseMap.set(nextValue, continuablePromise);
54
+ curr = nextValue;
55
+ nextValue.then(onFulfilled(nextValue), onRejected(nextValue));
56
+ require_internals.registerAbortHandler(nextValue, onAbort);
57
+ } else resolve(nextValue);
58
+ } catch (e) {
59
+ reject(e);
60
+ }
61
+ };
62
+ promise.then(onFulfilled(promise), onRejected(promise));
63
+ require_internals.registerAbortHandler(promise, onAbort);
64
+ });
65
+ continuablePromiseMap.set(promise, continuablePromise);
66
+ }
67
+ return continuablePromise;
68
+ };
69
+ function useAtomValue(atom, options) {
70
+ const { delay, unstable_promiseStatus: promiseStatus = !react.default.use } = options || {};
71
+ const store = useStore(options);
72
+ const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] = (0, react.useReducer)((prev) => {
73
+ const nextValue = store.get(atom);
74
+ if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) return prev;
75
+ return [
76
+ nextValue,
77
+ store,
78
+ atom
79
+ ];
80
+ }, void 0, () => [
81
+ store.get(atom),
82
+ store,
83
+ atom
84
+ ]);
85
+ let value = valueFromReducer;
86
+ if (storeFromReducer !== store || atomFromReducer !== atom) {
87
+ rerender();
88
+ value = store.get(atom);
89
+ }
90
+ (0, react.useEffect)(() => {
91
+ const unsub = store.sub(atom, () => {
92
+ if (promiseStatus) try {
93
+ const value2 = store.get(atom);
94
+ if (isPromiseLike(value2)) attachPromiseStatus(createContinuablePromise(value2, () => store.get(atom)));
95
+ } catch (e) {}
96
+ if (typeof delay === "number") {
97
+ setTimeout(rerender, delay);
98
+ return;
99
+ }
100
+ rerender();
101
+ });
102
+ rerender();
103
+ return unsub;
104
+ }, [
105
+ store,
106
+ atom,
107
+ delay,
108
+ promiseStatus
109
+ ]);
110
+ (0, react.useDebugValue)(value);
111
+ if (isPromiseLike(value)) {
112
+ const promise = createContinuablePromise(value, () => store.get(atom));
113
+ if (promiseStatus) attachPromiseStatus(promise);
114
+ return use(promise);
115
+ }
116
+ return value;
117
+ }
35
118
  function useSetAtom(atom, options) {
36
119
  const store = useStore(options);
37
120
  return (0, react.useCallback)((...args) => {
@@ -39,6 +122,10 @@ function useSetAtom(atom, options) {
39
122
  return store.set(atom, ...args);
40
123
  }, [store, atom]);
41
124
  }
125
+ function useAtom(atom, options) {
126
+ return [useAtomValue(atom, options), useSetAtom(atom, options)];
127
+ }
42
128
 
43
129
  //#endregion
130
+ exports.useAtom = useAtom;
44
131
  exports.useSetAtom = useSetAtom;
@@ -1,7 +1,8 @@
1
1
  'use client';
2
2
 
3
+ import { registerAbortHandler } from "./vanilla/internals.js";
3
4
  import { getDefaultStore } from "./vanilla.js";
4
- import React, { createContext, createElement, useCallback, useContext, useEffect, useRef } from "react";
5
+ import React, { createContext, createElement, useCallback, useContext, useDebugValue, useEffect, useReducer, useRef } from "react";
5
6
 
6
7
  //#region ../../node_modules/jotai/esm/react.mjs
7
8
  const StoreContext = createContext(void 0);
@@ -9,6 +10,7 @@ function useStore(options) {
9
10
  const store = useContext(StoreContext);
10
11
  return (options == null ? void 0 : options.store) || store || getDefaultStore();
11
12
  }
13
+ const isPromiseLike = (x) => typeof (x == null ? void 0 : x.then) === "function";
12
14
  const attachPromiseStatus = (promise) => {
13
15
  if (!promise.status) {
14
16
  promise.status = "pending";
@@ -30,6 +32,87 @@ const use = React.use || ((promise) => {
30
32
  throw promise;
31
33
  }
32
34
  });
35
+ const continuablePromiseMap = /* @__PURE__ */ new WeakMap();
36
+ const createContinuablePromise = (promise, getValue) => {
37
+ let continuablePromise = continuablePromiseMap.get(promise);
38
+ if (!continuablePromise) {
39
+ continuablePromise = new Promise((resolve, reject) => {
40
+ let curr = promise;
41
+ const onFulfilled = (me) => (v) => {
42
+ if (curr === me) resolve(v);
43
+ };
44
+ const onRejected = (me) => (e) => {
45
+ if (curr === me) reject(e);
46
+ };
47
+ const onAbort = () => {
48
+ try {
49
+ const nextValue = getValue();
50
+ if (isPromiseLike(nextValue)) {
51
+ continuablePromiseMap.set(nextValue, continuablePromise);
52
+ curr = nextValue;
53
+ nextValue.then(onFulfilled(nextValue), onRejected(nextValue));
54
+ registerAbortHandler(nextValue, onAbort);
55
+ } else resolve(nextValue);
56
+ } catch (e) {
57
+ reject(e);
58
+ }
59
+ };
60
+ promise.then(onFulfilled(promise), onRejected(promise));
61
+ registerAbortHandler(promise, onAbort);
62
+ });
63
+ continuablePromiseMap.set(promise, continuablePromise);
64
+ }
65
+ return continuablePromise;
66
+ };
67
+ function useAtomValue(atom, options) {
68
+ const { delay, unstable_promiseStatus: promiseStatus = !React.use } = options || {};
69
+ const store = useStore(options);
70
+ const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] = useReducer((prev) => {
71
+ const nextValue = store.get(atom);
72
+ if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) return prev;
73
+ return [
74
+ nextValue,
75
+ store,
76
+ atom
77
+ ];
78
+ }, void 0, () => [
79
+ store.get(atom),
80
+ store,
81
+ atom
82
+ ]);
83
+ let value = valueFromReducer;
84
+ if (storeFromReducer !== store || atomFromReducer !== atom) {
85
+ rerender();
86
+ value = store.get(atom);
87
+ }
88
+ useEffect(() => {
89
+ const unsub = store.sub(atom, () => {
90
+ if (promiseStatus) try {
91
+ const value2 = store.get(atom);
92
+ if (isPromiseLike(value2)) attachPromiseStatus(createContinuablePromise(value2, () => store.get(atom)));
93
+ } catch (e) {}
94
+ if (typeof delay === "number") {
95
+ setTimeout(rerender, delay);
96
+ return;
97
+ }
98
+ rerender();
99
+ });
100
+ rerender();
101
+ return unsub;
102
+ }, [
103
+ store,
104
+ atom,
105
+ delay,
106
+ promiseStatus
107
+ ]);
108
+ useDebugValue(value);
109
+ if (isPromiseLike(value)) {
110
+ const promise = createContinuablePromise(value, () => store.get(atom));
111
+ if (promiseStatus) attachPromiseStatus(promise);
112
+ return use(promise);
113
+ }
114
+ return value;
115
+ }
33
116
  function useSetAtom(atom, options) {
34
117
  const store = useStore(options);
35
118
  return useCallback((...args) => {
@@ -37,6 +120,9 @@ function useSetAtom(atom, options) {
37
120
  return store.set(atom, ...args);
38
121
  }, [store, atom]);
39
122
  }
123
+ function useAtom(atom, options) {
124
+ return [useAtomValue(atom, options), useSetAtom(atom, options)];
125
+ }
40
126
 
41
127
  //#endregion
42
- export { useSetAtom };
128
+ export { useAtom, useSetAtom };
@@ -520,4 +520,5 @@ function buildStore(...buildArgs) {
520
520
  }
521
521
 
522
522
  //#endregion
523
- exports.buildStore = buildStore;
523
+ exports.buildStore = buildStore;
524
+ exports.registerAbortHandler = registerAbortHandler;