@envive-ai/react-toolkit-v3 0.3.21 → 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 (284) 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/Carousel/Carousel.cjs +1 -1
  6. package/dist/Carousel/Carousel.d.cts +2 -2
  7. package/dist/Carousel/Carousel.d.ts +2 -2
  8. package/dist/Carousel/Carousel.js +1 -1
  9. package/dist/Carousel/components/Container.cjs +2 -2
  10. package/dist/Carousel/components/Container.js +2 -2
  11. package/dist/ChatFooter/ChatFooter.cjs +7 -3
  12. package/dist/ChatFooter/ChatFooter.d.cts +7 -3
  13. package/dist/ChatFooter/ChatFooter.d.ts +5 -1
  14. package/dist/ChatFooter/ChatFooter.js +7 -3
  15. package/dist/ChatFooter/components/Layout.cjs +2 -2
  16. package/dist/ChatFooter/components/Layout.js +2 -2
  17. package/dist/ChatFooter/components/index.d.cts +10 -6
  18. package/dist/ChatFooter/components/index.d.ts +7 -3
  19. package/dist/ChatFooter/types/types.d.cts +16 -0
  20. package/dist/ChatFooter/types/types.d.ts +16 -0
  21. package/dist/ChatHeader/ChatHeader.cjs +2 -1
  22. package/dist/ChatHeader/ChatHeader.d.cts +2 -2
  23. package/dist/ChatHeader/ChatHeader.d.ts +2 -2
  24. package/dist/ChatHeader/ChatHeader.js +2 -1
  25. package/dist/ChatHeader/components/Handle.cjs +4 -4
  26. package/dist/ChatHeader/components/Handle.js +4 -4
  27. package/dist/ChatHeader/components/Toggle.cjs +3 -3
  28. package/dist/ChatHeader/components/Toggle.js +3 -3
  29. package/dist/ChatHeader/hooks/useGetHandleProperties.cjs +8 -6
  30. package/dist/ChatHeader/hooks/useGetHandleProperties.js +8 -6
  31. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.cjs +1 -1
  32. package/dist/ChatHeader/hooks/useGetToggleOptionProperties.js +1 -1
  33. package/dist/ChatPreview/ChatPreview.cjs +7 -4
  34. package/dist/ChatPreview/ChatPreview.d.cts +2 -2
  35. package/dist/ChatPreview/ChatPreview.js +7 -4
  36. package/dist/ChatPreview/index.d.cts +2 -2
  37. package/dist/ChatPreview/index.d.ts +2 -2
  38. package/dist/ChatPreview/types/types.d.cts +13 -1
  39. package/dist/ChatPreview/types/types.d.ts +13 -1
  40. package/dist/ChatPreviewComparison/ChatPreviewComparison.cjs +7 -4
  41. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.cts +2 -2
  42. package/dist/ChatPreviewComparison/ChatPreviewComparison.d.ts +2 -2
  43. package/dist/ChatPreviewComparison/ChatPreviewComparison.js +7 -4
  44. package/dist/ChatPreviewComparison/components/Headline.cjs +2 -2
  45. package/dist/ChatPreviewComparison/components/Headline.js +2 -2
  46. package/dist/ChatPreviewComparison/components/Layout.cjs +4 -4
  47. package/dist/ChatPreviewComparison/components/Layout.js +4 -4
  48. package/dist/ChatPreviewComparison/components/Message.cjs +2 -2
  49. package/dist/ChatPreviewComparison/components/Message.js +2 -2
  50. package/dist/ChatPreviewComparison/index.d.cts +2 -2
  51. package/dist/ChatPreviewComparison/index.d.ts +2 -2
  52. package/dist/ChatPreviewComparison/types/types.d.cts +13 -1
  53. package/dist/ChatPreviewComparison/types/types.d.ts +13 -1
  54. package/dist/ChatPreviewLoading/ChatPreviewLoading.cjs +7 -2
  55. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.cts +4 -3
  56. package/dist/ChatPreviewLoading/ChatPreviewLoading.d.ts +4 -3
  57. package/dist/ChatPreviewLoading/ChatPreviewLoading.js +7 -2
  58. package/dist/ChatPreviewLoading/types/types.d.cts +4 -0
  59. package/dist/ChatPreviewLoading/types/types.d.ts +4 -0
  60. package/dist/Container/Container.d.cts +172 -172
  61. package/dist/Container/Container.d.ts +172 -172
  62. package/dist/DesignTokens/DesignTokensComponent.d.cts +2 -2
  63. package/dist/DesignTokens/DesignTokensComponent.d.ts +2 -2
  64. package/dist/Disclaimer/components/Container.cjs +2 -2
  65. package/dist/Disclaimer/components/Container.js +2 -2
  66. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.cts +2 -2
  67. package/dist/DocumentRetrievalCard/DocumentRetrievalCard.d.ts +2 -2
  68. package/dist/DocumentRetrievalCard/components/Layout.cjs +2 -2
  69. package/dist/DocumentRetrievalCard/components/Layout.js +2 -2
  70. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.cjs +1 -1
  71. package/dist/DocumentRetrievalCard/components/ViewArticleButton/components/Icon.js +1 -1
  72. package/dist/FloatingButton/FloatingButton.d.cts +2 -2
  73. package/dist/FloatingButton/FloatingButton.d.ts +2 -2
  74. package/dist/FloatingChat/FloatingChat.cjs +27 -4
  75. package/dist/FloatingChat/FloatingChat.d.cts +2 -2
  76. package/dist/FloatingChat/FloatingChat.d.ts +2 -2
  77. package/dist/FloatingChat/FloatingChat.js +28 -5
  78. package/dist/FloatingChat/components/AgentMessage.cjs +2 -2
  79. package/dist/FloatingChat/components/AgentMessage.js +2 -2
  80. package/dist/FloatingChat/components/ChatMessages.cjs +1 -1
  81. package/dist/FloatingChat/components/ChatMessages.js +1 -1
  82. package/dist/FloatingChat/components/Layout.cjs +3 -3
  83. package/dist/FloatingChat/components/Layout.js +3 -3
  84. package/dist/FloatingChat/components/ResultsGridView.cjs +1 -1
  85. package/dist/FloatingChat/components/ResultsGridView.js +1 -1
  86. package/dist/FloatingChat/components/SalesAgentBadgeContent.cjs +1 -1
  87. package/dist/FloatingChat/components/SalesAgentBadgeContent.js +1 -1
  88. package/dist/FloatingChat/hooks/useChatSuggestions.cjs +3 -5
  89. package/dist/FloatingChat/hooks/useChatSuggestions.js +4 -6
  90. package/dist/FullPageSalesAgent/FullPageSalesAgent.cjs +25 -3
  91. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.cts +5 -3
  92. package/dist/FullPageSalesAgent/FullPageSalesAgent.d.ts +5 -3
  93. package/dist/FullPageSalesAgent/FullPageSalesAgent.js +26 -4
  94. package/dist/Image/Image.d.cts +2 -2
  95. package/dist/Image/Image.d.ts +2 -2
  96. package/dist/ImageGallery/ImageGallery.d.cts +2 -2
  97. package/dist/ImageGallery/ImageGallery.d.ts +2 -2
  98. package/dist/ImageGallery/components/Layout.cjs +1 -1
  99. package/dist/ImageGallery/components/Layout.js +1 -1
  100. package/dist/MarkdownProcessor/MarkdownProcessor.d.cts +2 -2
  101. package/dist/MarkdownProcessor/MarkdownProcessor.d.ts +2 -2
  102. package/dist/Message/components/LinkButton.cjs +1 -1
  103. package/dist/Message/components/LinkButton.js +1 -1
  104. package/dist/OrderLookupCard/OrderLookupCard.cjs +1 -1
  105. package/dist/OrderLookupCard/OrderLookupCard.js +1 -1
  106. package/dist/ProductCard/ProductCard.cjs +7 -3
  107. package/dist/ProductCard/ProductCard.d.cts +6 -3
  108. package/dist/ProductCard/ProductCard.d.ts +6 -3
  109. package/dist/ProductCard/ProductCard.js +7 -3
  110. package/dist/ProductCard/index.d.cts +2 -2
  111. package/dist/ProductCard/index.d.ts +2 -2
  112. package/dist/ProductCard/types/index.d.cts +7 -1
  113. package/dist/ProductCard/types/index.d.ts +7 -1
  114. package/dist/PromptButton/PromptButton.d.cts +2 -2
  115. package/dist/PromptButton/PromptButton.d.ts +2 -2
  116. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.cjs +5 -2
  117. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.cts +6 -3
  118. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.d.ts +6 -3
  119. package/dist/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.js +5 -2
  120. package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.cjs +1 -1
  121. package/dist/PromptButtonCarouselWithImage/components/PromptButtonsCarousel.js +1 -1
  122. package/dist/PromptButtonCarouselWithImage/types/types.d.cts +12 -0
  123. package/dist/PromptButtonCarouselWithImage/types/types.d.ts +12 -0
  124. package/dist/PromptCarousel/PromptCarousel.cjs +3 -3
  125. package/dist/PromptCarousel/PromptCarousel.d.cts +2 -2
  126. package/dist/PromptCarousel/PromptCarousel.d.ts +2 -2
  127. package/dist/PromptCarousel/PromptCarousel.js +3 -3
  128. package/dist/ReviewCard/ReviewCard.d.cts +2 -2
  129. package/dist/ReviewCard/ReviewCard.d.ts +2 -2
  130. package/dist/ReviewCard/components/Container.cjs +2 -2
  131. package/dist/ReviewCard/components/Container.js +2 -2
  132. package/dist/ReviewCard/components/Rating.cjs +0 -1
  133. package/dist/ReviewCard/components/Rating.js +0 -1
  134. package/dist/ReviewCard/components/ReadMoreButton.cjs +1 -1
  135. package/dist/ReviewCard/components/ReadMoreButton.js +1 -1
  136. package/dist/ReviewCard/components/index.d.cts +4 -4
  137. package/dist/ReviewCard/components/index.d.ts +6 -6
  138. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.cts +2 -2
  139. package/dist/SalesAgentProductCard/SalesAgentProductCard.d.ts +2 -2
  140. package/dist/SalesAgentProductCard/components/Container.cjs +2 -2
  141. package/dist/SalesAgentProductCard/components/Container.js +2 -2
  142. package/dist/SalesAgentProductCard/components/index.d.cts +6 -6
  143. package/dist/SalesAgentProductCard/components/index.d.ts +8 -8
  144. package/dist/SocialProof/SocialProof.cjs +7 -4
  145. package/dist/SocialProof/SocialProof.d.cts +2 -2
  146. package/dist/SocialProof/SocialProof.js +7 -4
  147. package/dist/SocialProof/components/Headline.cjs +3 -3
  148. package/dist/SocialProof/components/Headline.js +3 -3
  149. package/dist/SocialProof/components/LayoutFourHorizontal.cjs +1 -1
  150. package/dist/SocialProof/components/LayoutFourHorizontal.js +1 -1
  151. package/dist/SocialProof/components/Subheadline.cjs +1 -1
  152. package/dist/SocialProof/components/Subheadline.js +1 -1
  153. package/dist/SocialProof/components/Textfield.cjs +5 -2
  154. package/dist/SocialProof/components/Textfield.js +5 -2
  155. package/dist/SocialProof/index.d.cts +2 -2
  156. package/dist/SocialProof/index.d.ts +2 -2
  157. package/dist/SocialProof/types/types.d.cts +13 -1
  158. package/dist/SocialProof/types/types.d.ts +13 -1
  159. package/dist/SparkleAnimation/SparkleAnimation.d.cts +2 -2
  160. package/dist/SparkleAnimation/SparkleAnimation.d.ts +2 -2
  161. package/dist/Stack/Stack.d.cts +2 -2
  162. package/dist/Stack/Stack.d.ts +2 -2
  163. package/dist/TextField/TextField.cjs +34 -2
  164. package/dist/TextField/TextField.d.cts +5 -1
  165. package/dist/TextField/TextField.d.ts +5 -1
  166. package/dist/TextField/TextField.js +34 -2
  167. package/dist/TextField/components/Layout.cjs +10 -7
  168. package/dist/TextField/components/Layout.js +10 -7
  169. package/dist/TextField/components/VoiceInputButton.cjs +45 -0
  170. package/dist/TextField/components/VoiceInputButton.js +39 -0
  171. package/dist/TextField/components/index.cjs +3 -1
  172. package/dist/TextField/components/index.js +3 -1
  173. package/dist/TextField/hooks/useGetMicButtonContainerProperties.cjs +20 -0
  174. package/dist/TextField/hooks/useGetMicButtonContainerProperties.js +19 -0
  175. package/dist/TextField/hooks/useGetSkeletonProperties.cjs +1 -1
  176. package/dist/TextField/hooks/useGetSkeletonProperties.js +1 -1
  177. package/dist/TextField/hooks/useVoiceInput.cjs +59 -0
  178. package/dist/TextField/hooks/useVoiceInput.js +57 -0
  179. package/dist/TextField/types/index.d.cts +11 -0
  180. package/dist/TextField/types/index.d.ts +11 -0
  181. package/dist/TextField/utils/getLayoutStateProperties.cjs +9 -1
  182. package/dist/TextField/utils/getLayoutStateProperties.js +8 -1
  183. package/dist/TitledPromptCarousel/TitledPromptCarousel.cjs +1 -1
  184. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.cts +2 -2
  185. package/dist/TitledPromptCarousel/TitledPromptCarousel.d.ts +2 -2
  186. package/dist/TitledPromptCarousel/TitledPromptCarousel.js +1 -1
  187. package/dist/Tokens/index.cjs +1 -1
  188. package/dist/Tokens/index.js +1 -1
  189. package/dist/TypingAnimation/TypingAnimation.cjs +8 -4
  190. package/dist/TypingAnimation/TypingAnimation.d.cts +2 -2
  191. package/dist/TypingAnimation/TypingAnimation.js +8 -4
  192. package/dist/TypingAnimation/hooks/useGetTypographyVariant.cjs +1 -1
  193. package/dist/TypingAnimation/hooks/useGetTypographyVariant.js +1 -1
  194. package/dist/TypingAnimation/index.d.cts +2 -2
  195. package/dist/TypingAnimation/index.d.ts +2 -2
  196. package/dist/TypingAnimation/types/index.d.cts +13 -1
  197. package/dist/TypingAnimation/types/index.d.ts +13 -1
  198. package/dist/Typography/Typography.d.cts +4 -4
  199. package/dist/Typography/Typography.d.ts +4 -4
  200. package/dist/WelcomeMessage/components/Container.cjs +2 -2
  201. package/dist/WelcomeMessage/components/Container.js +2 -2
  202. package/dist/WidgetTextField/WidgetTextField.cjs +40 -8
  203. package/dist/WidgetTextField/WidgetTextField.d.cts +7 -3
  204. package/dist/WidgetTextField/WidgetTextField.d.ts +7 -3
  205. package/dist/WidgetTextField/WidgetTextField.js +34 -3
  206. package/dist/WidgetTextField/components/Container.cjs +33 -27
  207. package/dist/WidgetTextField/components/Container.js +33 -27
  208. package/dist/WidgetTextField/components/Icon.cjs +1 -1
  209. package/dist/WidgetTextField/components/Icon.js +1 -1
  210. package/dist/WidgetTextField/hooks/useGetContainerProperties.cjs +5 -3
  211. package/dist/WidgetTextField/hooks/useGetContainerProperties.js +5 -3
  212. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.cjs +20 -0
  213. package/dist/WidgetTextField/hooks/useGetMicWidgetButtonProperties.js +19 -0
  214. package/dist/WidgetTextField/types/types.d.cts +21 -0
  215. package/dist/WidgetTextField/types/types.d.ts +21 -0
  216. package/dist/WidgetWrapper/WidgetWrapper.d.cts +2 -2
  217. package/dist/WidgetWrapper/WidgetWrapper.d.ts +2 -2
  218. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -1
  219. package/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +1 -1
  220. package/dist/WidgetWrapperWithTitle/WidgetWrapperWithTitle.d.cts +2 -2
  221. package/dist/node_modules/jotai/esm/react.cjs +87 -0
  222. package/dist/node_modules/jotai/esm/react.js +88 -2
  223. package/dist/node_modules/jotai/esm/vanilla/internals.cjs +2 -1
  224. package/dist/node_modules/jotai/esm/vanilla/internals.js +1 -1
  225. package/dist/styles.css +1 -1
  226. package/package.json +2 -1
  227. package/src/components/ChatFooter/ChatFooter.tsx +8 -0
  228. package/src/components/ChatFooter/__tests__/ChatFooter.test.tsx +43 -0
  229. package/src/components/ChatFooter/components/TextField.tsx +12 -0
  230. package/src/components/ChatFooter/types/types.ts +17 -0
  231. package/src/components/ChatHeader/ChatHeader.tsx +1 -0
  232. package/src/components/ChatHeader/components/Handle.tsx +7 -2
  233. package/src/components/ChatHeader/hooks/useGetHandleProperties.ts +9 -5
  234. package/src/components/ChatHeader/hooks/useGetToggleOptionProperties.ts +1 -1
  235. package/src/components/ChatHeader/types/index.ts +1 -0
  236. package/src/components/ChatPreview/ChatPreview.tsx +13 -2
  237. package/src/components/ChatPreview/__tests__/ChatPreview.test.tsx +44 -0
  238. package/src/components/ChatPreview/index.ts +1 -1
  239. package/src/components/ChatPreview/types/types.ts +13 -0
  240. package/src/components/ChatPreviewComparison/ChatPreviewComparison.tsx +6 -0
  241. package/src/components/ChatPreviewComparison/__tests__/ChatPreviewComparison.test.tsx +44 -0
  242. package/src/components/ChatPreviewComparison/index.ts +1 -1
  243. package/src/components/ChatPreviewComparison/types/types.ts +13 -0
  244. package/src/components/ChatPreviewLoading/ChatPreviewLoading.tsx +5 -3
  245. package/src/components/ChatPreviewLoading/__tests__/ChatPreviewLoading.test.tsx +40 -0
  246. package/src/components/ChatPreviewLoading/types/types.ts +5 -0
  247. package/src/components/FloatingChat/FloatingChat.tsx +38 -7
  248. package/src/components/FloatingChat/hooks/useChatSuggestions.ts +8 -12
  249. package/src/components/FullPageSalesAgent/FullPageSalesAgent.tsx +32 -1
  250. package/src/components/ProductCard/ProductCard.tsx +7 -0
  251. package/src/components/ProductCard/__tests__/ProductCard.test.tsx +33 -0
  252. package/src/components/ProductCard/index.ts +1 -1
  253. package/src/components/ProductCard/types/index.ts +6 -0
  254. package/src/components/PromptButtonCarouselWithImage/PromptButtonCarouselWithImage.tsx +6 -0
  255. package/src/components/PromptButtonCarouselWithImage/__tests__/PromptButtonCarouselWithImage.test.tsx +34 -0
  256. package/src/components/PromptButtonCarouselWithImage/types/types.ts +12 -0
  257. package/src/components/ReviewCard/components/Rating.tsx +0 -1
  258. package/src/components/SocialProof/SocialProof.tsx +6 -0
  259. package/src/components/SocialProof/__tests__/SocialProof.test.tsx +58 -0
  260. package/src/components/SocialProof/components/Textfield.tsx +9 -0
  261. package/src/components/SocialProof/index.ts +1 -1
  262. package/src/components/SocialProof/types/types.ts +13 -0
  263. package/src/components/TextField/TextField.tsx +49 -0
  264. package/src/components/TextField/__tests__/TextField.test.tsx +3 -3
  265. package/src/components/TextField/__tests__/VoiceInputButton.test.tsx +175 -0
  266. package/src/components/TextField/components/Layout.tsx +24 -17
  267. package/src/components/TextField/components/VoiceInputButton.tsx +69 -0
  268. package/src/components/TextField/components/index.ts +2 -0
  269. package/src/components/TextField/hooks/useGetMicButtonContainerProperties.ts +38 -0
  270. package/src/components/TextField/hooks/useGetSkeletonProperties.ts +1 -1
  271. package/src/components/TextField/hooks/useVoiceInput.ts +77 -0
  272. package/src/components/TextField/types/index.ts +11 -0
  273. package/src/components/TextField/utils/getLayoutStateProperties.ts +8 -0
  274. package/src/components/TypingAnimation/TypingAnimation.tsx +7 -0
  275. package/src/components/TypingAnimation/__tests__/TypingAnimation.test.tsx +47 -0
  276. package/src/components/TypingAnimation/index.ts +1 -1
  277. package/src/components/TypingAnimation/types/index.ts +14 -1
  278. package/src/components/WidgetTextField/WidgetTextField.tsx +47 -0
  279. package/src/components/WidgetTextField/__tests__/WidgetTextField.test.tsx +119 -4
  280. package/src/components/WidgetTextField/components/Container.tsx +40 -27
  281. package/src/components/WidgetTextField/hooks/useGetContainerProperties.ts +16 -4
  282. package/src/components/WidgetTextField/hooks/useGetMicWidgetButtonProperties.ts +38 -0
  283. package/src/components/WidgetTextField/types/types.ts +21 -0
  284. package/src/components/WidgetWrapper/hooks/useGetWrapperProperties.ts +1 -1
@@ -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",
@@ -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_runtime18 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_runtime18.JSX.Element;
20
20
  //#endregion
21
21
  export { WidgetWrapper };
@@ -1,5 +1,5 @@
1
1
  import { WidgetWrapperProps } from "./types/types.js";
2
- import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime2 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_runtime1.JSX.Element;
19
+ }: WidgetWrapperProps) => react_jsx_runtime2.JSX.Element;
20
20
  //#endregion
21
21
  export { WidgetWrapper };
@@ -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_runtime18 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime20 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_runtime18.JSX.Element;
17
+ }: WidgetWrapperWithTitleProps) => react_jsx_runtime20.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;
@@ -519,4 +519,4 @@ function buildStore(...buildArgs) {
519
519
  }
520
520
 
521
521
  //#endregion
522
- export { buildStore };
522
+ export { buildStore, registerAbortHandler };