@botuyo/chat-widget-standalone 1.0.37 → 1.0.39

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 (158) hide show
  1. package/dist/ShadowChatWidget.d.ts +25 -0
  2. package/dist/ShadowChatWidget.d.ts.map +1 -0
  3. package/dist/botuyo-chat.es.js +1 -1
  4. package/dist/botuyo-chat.es.js.map +1 -1
  5. package/dist/botuyo-chat.umd.css +1 -0
  6. package/dist/botuyo-chat.umd.js +2 -0
  7. package/dist/botuyo-chat.umd.js.map +1 -0
  8. package/dist/{chunk-audio-DG3X3uze.js → chunk-audio-COeJdzjG.js} +2 -2
  9. package/dist/{chunk-audio-DG3X3uze.js.map → chunk-audio-COeJdzjG.js.map} +1 -1
  10. package/dist/{chunk-chat-ui-C0sPAQ4e.js → chunk-chat-ui-SifgaVaw.js} +33 -32
  11. package/dist/{chunk-chat-ui-C0sPAQ4e.js.map → chunk-chat-ui-SifgaVaw.js.map} +1 -1
  12. package/dist/{chunk-gallery-BDe3OAec.js → chunk-gallery-CvYRVmRl.js} +2 -2
  13. package/dist/{chunk-gallery-BDe3OAec.js.map → chunk-gallery-CvYRVmRl.js.map} +1 -1
  14. package/dist/src/chat-widget/ChatWidget.d.ts +5 -0
  15. package/dist/src/chat-widget/ChatWidget.d.ts.map +1 -0
  16. package/dist/src/chat-widget/ChatWidgetProvider.d.ts +81 -0
  17. package/dist/src/chat-widget/ChatWidgetProvider.d.ts.map +1 -0
  18. package/dist/src/chat-widget/components/AudioPlayer.d.ts +8 -0
  19. package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +1 -0
  20. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts +37 -0
  21. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts.map +1 -0
  22. package/dist/src/chat-widget/components/Avatar3D.d.ts +23 -0
  23. package/dist/src/chat-widget/components/Avatar3D.d.ts.map +1 -0
  24. package/dist/src/chat-widget/components/ChatWindow.d.ts +35 -0
  25. package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -0
  26. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts +71 -0
  27. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts.map +1 -0
  28. package/dist/src/chat-widget/components/ErrorBoundary.d.ts +36 -0
  29. package/dist/src/chat-widget/components/ErrorBoundary.d.ts.map +1 -0
  30. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts +29 -0
  31. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts.map +1 -0
  32. package/dist/src/chat-widget/components/Gallery.d.ts +14 -0
  33. package/dist/src/chat-widget/components/Gallery.d.ts.map +1 -0
  34. package/dist/src/chat-widget/components/Gallery.stories.d.ts +33 -0
  35. package/dist/src/chat-widget/components/Gallery.stories.d.ts.map +1 -0
  36. package/dist/src/chat-widget/components/Icons.d.ts +10 -0
  37. package/dist/src/chat-widget/components/Icons.d.ts.map +1 -0
  38. package/dist/src/chat-widget/components/InputArea.d.ts +21 -0
  39. package/dist/src/chat-widget/components/InputArea.d.ts.map +1 -0
  40. package/dist/src/chat-widget/components/InputArea.stories.d.ts +62 -0
  41. package/dist/src/chat-widget/components/InputArea.stories.d.ts.map +1 -0
  42. package/dist/src/chat-widget/components/LanguageSelector.d.ts +25 -0
  43. package/dist/src/chat-widget/components/LanguageSelector.d.ts.map +1 -0
  44. package/dist/src/chat-widget/components/Launcher.d.ts +22 -0
  45. package/dist/src/chat-widget/components/Launcher.d.ts.map +1 -0
  46. package/dist/src/chat-widget/components/Launcher.stories.d.ts +75 -0
  47. package/dist/src/chat-widget/components/Launcher.stories.d.ts.map +1 -0
  48. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts +29 -0
  49. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts.map +1 -0
  50. package/dist/src/chat-widget/components/MessageBubble.d.ts +15 -0
  51. package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -0
  52. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +71 -0
  53. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +1 -0
  54. package/dist/src/chat-widget/components/MessageList.d.ts +15 -0
  55. package/dist/src/chat-widget/components/MessageList.d.ts.map +1 -0
  56. package/dist/src/chat-widget/components/MessageList.stories.d.ts +52 -0
  57. package/dist/src/chat-widget/components/MessageList.stories.d.ts.map +1 -0
  58. package/dist/src/chat-widget/components/TypingIndicator.d.ts +2 -0
  59. package/dist/src/chat-widget/components/TypingIndicator.d.ts.map +1 -0
  60. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts +39 -0
  61. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts.map +1 -0
  62. package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts +65 -0
  63. package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts.map +1 -0
  64. package/dist/src/chat-widget/components/VoiceInputArea.d.ts +26 -0
  65. package/dist/src/chat-widget/components/VoiceInputArea.d.ts.map +1 -0
  66. package/dist/src/chat-widget/components/index.d.ts +16 -0
  67. package/dist/src/chat-widget/components/index.d.ts.map +1 -0
  68. package/dist/src/chat-widget/contexts/AnimationContext.d.ts +69 -0
  69. package/dist/src/chat-widget/contexts/AnimationContext.d.ts.map +1 -0
  70. package/dist/src/chat-widget/hooks/useAnalytics.d.ts +19 -0
  71. package/dist/src/chat-widget/hooks/useAnalytics.d.ts.map +1 -0
  72. package/dist/src/chat-widget/hooks/useChatSocket.d.ts +35 -0
  73. package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -0
  74. package/dist/src/chat-widget/hooks/useChatState.d.ts +23 -0
  75. package/dist/src/chat-widget/hooks/useChatState.d.ts.map +1 -0
  76. package/dist/src/chat-widget/hooks/useChatWidget.d.ts +50 -0
  77. package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -0
  78. package/dist/src/chat-widget/hooks/useDarkMode.d.ts +6 -0
  79. package/dist/src/chat-widget/hooks/useDarkMode.d.ts.map +1 -0
  80. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts +10 -0
  81. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts.map +1 -0
  82. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts +34 -0
  83. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts.map +1 -0
  84. package/dist/src/chat-widget/hooks/useHighContrast.d.ts +6 -0
  85. package/dist/src/chat-widget/hooks/useHighContrast.d.ts.map +1 -0
  86. package/dist/src/chat-widget/hooks/useIsMobile.d.ts +2 -0
  87. package/dist/src/chat-widget/hooks/useIsMobile.d.ts.map +1 -0
  88. package/dist/src/chat-widget/hooks/useNotifications.d.ts +23 -0
  89. package/dist/src/chat-widget/hooks/useNotifications.d.ts.map +1 -0
  90. package/dist/src/chat-widget/hooks/useRateLimit.d.ts +15 -0
  91. package/dist/src/chat-widget/hooks/useRateLimit.d.ts.map +1 -0
  92. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts +10 -0
  93. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts.map +1 -0
  94. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +12 -0
  95. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts.map +1 -0
  96. package/dist/src/chat-widget/i18n/LanguageContext.d.ts +33 -0
  97. package/dist/src/chat-widget/i18n/LanguageContext.d.ts.map +1 -0
  98. package/dist/src/chat-widget/i18n/index.d.ts +8 -0
  99. package/dist/src/chat-widget/i18n/index.d.ts.map +1 -0
  100. package/dist/src/chat-widget/i18n/translations.d.ts +177 -0
  101. package/dist/src/chat-widget/i18n/translations.d.ts.map +1 -0
  102. package/dist/src/chat-widget/i18n/useTranslations.d.ts +27 -0
  103. package/dist/src/chat-widget/i18n/useTranslations.d.ts.map +1 -0
  104. package/dist/src/chat-widget/index.d.ts +11 -0
  105. package/dist/src/chat-widget/index.d.ts.map +1 -0
  106. package/dist/src/chat-widget/types/index.d.ts +328 -0
  107. package/dist/src/chat-widget/types/index.d.ts.map +1 -0
  108. package/dist/src/chat-widget/types/socket.d.ts +107 -0
  109. package/dist/src/chat-widget/types/socket.d.ts.map +1 -0
  110. package/dist/src/chat-widget/utils/dateUtils.d.ts +33 -0
  111. package/dist/src/chat-widget/utils/dateUtils.d.ts.map +1 -0
  112. package/dist/src/chat-widget/utils/defaultAssets.d.ts +20 -0
  113. package/dist/src/chat-widget/utils/defaultAssets.d.ts.map +1 -0
  114. package/dist/src/chat-widget/utils/deviceId.d.ts +18 -0
  115. package/dist/src/chat-widget/utils/deviceId.d.ts.map +1 -0
  116. package/dist/src/chat-widget/utils/fileValidation.d.ts +75 -0
  117. package/dist/src/chat-widget/utils/fileValidation.d.ts.map +1 -0
  118. package/dist/src/chat-widget/utils/logger.d.ts +31 -0
  119. package/dist/src/chat-widget/utils/logger.d.ts.map +1 -0
  120. package/dist/src/chat-widget/utils/performance.d.ts +50 -0
  121. package/dist/src/chat-widget/utils/performance.d.ts.map +1 -0
  122. package/dist/src/chat-widget/utils/storage.d.ts +25 -0
  123. package/dist/src/chat-widget/utils/storage.d.ts.map +1 -0
  124. package/dist/src/chat-widget/utils/theme.d.ts +122 -0
  125. package/dist/src/chat-widget/utils/theme.d.ts.map +1 -0
  126. package/dist/src/chat-widget/utils/theme.examples.d.ts +47 -0
  127. package/dist/src/chat-widget/utils/theme.examples.d.ts.map +1 -0
  128. package/dist/src/chat-widget/utils/themes/index.d.ts +12 -0
  129. package/dist/src/chat-widget/utils/themes/index.d.ts.map +1 -0
  130. package/dist/src/chat-widget/voice/components/CallButton.d.ts +12 -0
  131. package/dist/src/chat-widget/voice/components/CallButton.d.ts.map +1 -0
  132. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts +12 -0
  133. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts.map +1 -0
  134. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts +13 -0
  135. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts.map +1 -0
  136. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts +12 -0
  137. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts.map +1 -0
  138. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts +12 -0
  139. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts.map +1 -0
  140. package/dist/src/chat-widget/voice/components/index.d.ts +10 -0
  141. package/dist/src/chat-widget/voice/components/index.d.ts.map +1 -0
  142. package/dist/src/chat-widget/voice/index.d.ts +11 -0
  143. package/dist/src/chat-widget/voice/index.d.ts.map +1 -0
  144. package/dist/src/chat-widget/voice/types.d.ts +232 -0
  145. package/dist/src/chat-widget/voice/types.d.ts.map +1 -0
  146. package/dist/src/chat-widget/voice/useLiveCall.d.ts +13 -0
  147. package/dist/src/chat-widget/voice/useLiveCall.d.ts.map +1 -0
  148. package/dist/src/chat-widget/voice/useVoiceChat.d.ts +13 -0
  149. package/dist/src/chat-widget/voice/useVoiceChat.d.ts.map +1 -0
  150. package/dist/src/chat-widget/voice/useVoiceState.d.ts +38 -0
  151. package/dist/src/chat-widget/voice/useVoiceState.d.ts.map +1 -0
  152. package/dist/src/lib/utils.d.ts +3 -0
  153. package/dist/src/lib/utils.d.ts.map +1 -0
  154. package/dist/standalone.d.ts +113 -0
  155. package/dist/standalone.d.ts.map +1 -0
  156. package/dist/stats-umd.html +4949 -0
  157. package/dist/stats.html +1 -1
  158. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ import { InputArea } from './InputArea';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof InputArea;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
10
+ isConnected: boolean;
11
+ placeholder?: string | undefined;
12
+ primaryColor?: string | undefined;
13
+ mediaConfig?: import("../types").MediaConfig | undefined;
14
+ onSendMessage: (message: string) => void;
15
+ onSendAttachment?: ((file: File, type: "image" | "audio" | "file") => void) | undefined;
16
+ onSendLocation?: ((location: {
17
+ latitude: number;
18
+ longitude: number;
19
+ }) => void) | undefined;
20
+ onVoiceCall?: (() => void) | undefined;
21
+ }>) => import("react/jsx-runtime").JSX.Element)[];
22
+ tags: string[];
23
+ argTypes: {
24
+ isConnected: {
25
+ control: "boolean";
26
+ description: string;
27
+ };
28
+ placeholder: {
29
+ control: "text";
30
+ description: string;
31
+ };
32
+ primaryColor: {
33
+ control: "color";
34
+ description: string;
35
+ };
36
+ mediaConfig: {
37
+ control: "object";
38
+ description: string;
39
+ };
40
+ onSendMessage: {
41
+ action: string;
42
+ };
43
+ onSendAttachment: {
44
+ action: string;
45
+ };
46
+ onSendLocation: {
47
+ action: string;
48
+ };
49
+ };
50
+ };
51
+ export default meta;
52
+ type Story = StoryObj<typeof meta>;
53
+ export declare const Default: Story;
54
+ export declare const Disconnected: Story;
55
+ export declare const CustomPlaceholder: Story;
56
+ export declare const CustomColor: Story;
57
+ export declare const AllMediaEnabled: Story;
58
+ export declare const OnlyText: Story;
59
+ export declare const OnlyImages: Story;
60
+ export declare const ImagesAndLocation: Story;
61
+ export declare const SmallFileLimit: Story;
62
+ //# sourceMappingURL=InputArea.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputArea.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/InputArea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCwB,CAAA;AAElC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAK/B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAY7B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAYxB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAY/B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Selector de idioma para el Chat Widget
3
+ * Componente opcional que permite cambiar el idioma del widget
4
+ */
5
+ interface LanguageSelectorProps {
6
+ /** Clase CSS adicional */
7
+ className?: string;
8
+ /** Mostrar banderas en lugar de códigos */
9
+ showFlags?: boolean;
10
+ /** Estilo del selector: 'dropdown' | 'buttons' */
11
+ variant?: 'dropdown' | 'buttons';
12
+ }
13
+ /**
14
+ * Selector de idioma para el widget
15
+ *
16
+ * @example
17
+ * // Dropdown
18
+ * <LanguageSelector variant="dropdown" showFlags />
19
+ *
20
+ * // Botones
21
+ * <LanguageSelector variant="buttons" />
22
+ */
23
+ export declare function LanguageSelector({ className, showFlags, variant, }: LanguageSelectorProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
25
+ //# sourceMappingURL=LanguageSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageSelector.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/LanguageSelector.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,UAAU,qBAAqB;IAC7B,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CACjC;AAeD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,SAAgB,EAChB,OAAoB,GACrB,EAAE,qBAAqB,2CAiDvB"}
@@ -0,0 +1,22 @@
1
+ import type { BubbleStyles } from '../types';
2
+ export type BotEmotion = 'default' | 'writing' | 'thinking' | 'confused' | 'sorry' | 'happy' | 'angry' | 'love' | 'wink';
3
+ export type EmotionAvatarMap = Partial<Record<BotEmotion, string>>;
4
+ export type PromptStrategy = 'always' | 'session' | 'forever';
5
+ interface LauncherProps {
6
+ isOpen: boolean;
7
+ onClick: () => void;
8
+ unreadCount?: number;
9
+ primaryColor?: string;
10
+ logoUrl?: string;
11
+ starterPrompt?: string;
12
+ position?: 'bottom-right' | 'bottom-left';
13
+ emotion?: BotEmotion;
14
+ avatars?: EmotionAvatarMap;
15
+ styles?: BubbleStyles;
16
+ promptPersistence?: PromptStrategy;
17
+ avatarScale?: number;
18
+ showPromptAvatar?: boolean;
19
+ }
20
+ export declare function Launcher({ isOpen, onClick, unreadCount, primaryColor, logoUrl, starterPrompt, position, emotion, avatars, styles, promptPersistence, avatarScale, showPromptAvatar: _showPromptAvatar, }: LauncherProps): import("react/jsx-runtime").JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=Launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Launcher.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/Launcher.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI5C,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,UAAU,GACV,UAAU,GACV,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,CAAA;AACV,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAClE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAE7D,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAA;IACzC,OAAO,CAAC,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,cAAc,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,OAAO,EACP,WAAe,EACf,YAAY,EACZ,OAAO,EACP,aAAa,EACb,QAAyB,EACzB,OAAmB,EACnB,OAAY,EACZ,MAAM,EACN,iBAA6B,EAC7B,WAAiB,EACjB,gBAAgB,EAAE,iBAAyB,GAC5C,EAAE,aAAa,2CA4Qf"}
@@ -0,0 +1,75 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ import { Launcher } from './Launcher';
3
+ /**
4
+ * El componente Launcher es el botón flotante que permite abrir el chat.
5
+ * Se muestra en la esquina inferior derecha de la pantalla.
6
+ */
7
+ declare const meta: {
8
+ title: string;
9
+ component: typeof Launcher;
10
+ parameters: {
11
+ layout: string;
12
+ };
13
+ tags: string[];
14
+ argTypes: {
15
+ isOpen: {
16
+ control: "boolean";
17
+ description: string;
18
+ };
19
+ onClick: {
20
+ action: string;
21
+ description: string;
22
+ };
23
+ unreadCount: {
24
+ control: {
25
+ type: "number";
26
+ min: number;
27
+ max: number;
28
+ };
29
+ description: string;
30
+ };
31
+ primaryColor: {
32
+ control: "color";
33
+ description: string;
34
+ };
35
+ emotion: {
36
+ control: "select";
37
+ options: string[];
38
+ description: string;
39
+ table: {
40
+ category: string;
41
+ };
42
+ };
43
+ };
44
+ };
45
+ export default meta;
46
+ type Story = StoryObj<typeof meta>;
47
+ /**
48
+ * Estado cerrado sin mensajes no leídos
49
+ */
50
+ export declare const Closed: Story;
51
+ /**
52
+ * Estado cerrado con mensajes no leídos
53
+ */
54
+ export declare const ClosedWithUnread: Story;
55
+ /**
56
+ * Estado cerrado con muchos mensajes no leídos
57
+ */
58
+ export declare const ClosedWithManyUnread: Story;
59
+ /**
60
+ * Estado abierto
61
+ */
62
+ export declare const Open: Story;
63
+ /**
64
+ * Con color personalizado
65
+ */
66
+ export declare const CustomColor: Story;
67
+ /**
68
+ * Bot pensando
69
+ */
70
+ export declare const BotThinking: Story;
71
+ /**
72
+ * Bot confundido
73
+ */
74
+ export declare const BotConfused: Story;
75
+ //# sourceMappingURL=Launcher.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Launcher.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/Launcher.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC;;;GAGG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCuB,CAAA;AAEjC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,KAQpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAQlC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAQzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAQzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAQzB,CAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Live Call Input Area Component
4
+ *
5
+ * Wrapper around InputArea that adds live call functionality.
6
+ */
7
+ import { type InputAreaProps } from './InputArea';
8
+ import type { VoiceConfig } from '../voice/types';
9
+ export interface LiveCallInputAreaProps extends InputAreaProps {
10
+ /** API base URL for voice WebSocket */
11
+ apiBaseUrl: string;
12
+ /** Tenant ID for authentication */
13
+ tenantId: string;
14
+ /** Session ID for the current session */
15
+ sessionId: string;
16
+ /** Conversation ID to continue */
17
+ conversationId?: string;
18
+ /** Voice configuration */
19
+ voiceConfig?: VoiceConfig;
20
+ /** Callback when user transcription is finalized */
21
+ onVoiceTranscription?: (text: string) => void;
22
+ /** Callback when bot text response arrives */
23
+ onBotVoiceResponse?: (text: string) => void;
24
+ }
25
+ /**
26
+ * Input area with integrated live call functionality
27
+ */
28
+ export declare function LiveCallInputArea({ apiBaseUrl, tenantId, sessionId, conversationId, voiceConfig, onVoiceTranscription, onBotVoiceResponse, ...inputAreaProps }: LiveCallInputAreaProps): import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=LiveCallInputArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveCallInputArea.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/LiveCallInputArea.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAG5D,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,gBAAgB,CAAA;AAEtF,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,oDAAoD;IACpD,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,GAAG,cAAc,EAClB,EAAE,sBAAsB,2CAsExB"}
@@ -0,0 +1,15 @@
1
+ import type { ChatMessage, BubbleStyles } from '../types';
2
+ import type { EmotionAvatarMap } from './Launcher';
3
+ export interface MessageBubbleProps {
4
+ message: ChatMessage;
5
+ primaryColor?: string;
6
+ botAvatar?: string;
7
+ botName?: string;
8
+ styles?: BubbleStyles;
9
+ avatars?: EmotionAvatarMap;
10
+ isFirst?: boolean;
11
+ isLast?: boolean;
12
+ index?: number;
13
+ }
14
+ export declare const MessageBubble: import("react").NamedExoticComponent<MessageBubbleProps>;
15
+ //# sourceMappingURL=MessageBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/MessageBubble.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAMb,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMlD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,aAAa,0DA4YzB,CAAA"}
@@ -0,0 +1,71 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ /**
3
+ * MessageBubble muestra un mensaje individual en el chat.
4
+ * Soporta texto, markdown, imágenes, audio, enlaces y archivos.
5
+ */
6
+ declare const meta: {
7
+ title: string;
8
+ component: import("react").NamedExoticComponent<import("./MessageBubble").MessageBubbleProps>;
9
+ parameters: {
10
+ layout: string;
11
+ };
12
+ tags: string[];
13
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
14
+ message: import("..").ChatMessage;
15
+ primaryColor?: string | undefined;
16
+ botAvatar?: string | undefined;
17
+ botName?: string | undefined;
18
+ styles?: import("..").BubbleStyles | undefined;
19
+ avatars?: import("./Launcher").EmotionAvatarMap | undefined;
20
+ isFirst?: boolean | undefined;
21
+ isLast?: boolean | undefined;
22
+ index?: number | undefined;
23
+ }>) => import("react/jsx-runtime").JSX.Element)[];
24
+ };
25
+ export default meta;
26
+ type Story = StoryObj<typeof meta>;
27
+ /**
28
+ * Mensaje simple del bot
29
+ */
30
+ export declare const BotMessage: Story;
31
+ /**
32
+ * Mensaje del usuario
33
+ */
34
+ export declare const UserMessage: Story;
35
+ /**
36
+ * Mensaje con markdown
37
+ */
38
+ export declare const MessageWithMarkdown: Story;
39
+ /**
40
+ * Mensaje con enlace en markdown
41
+ */
42
+ export declare const MessageWithLink: Story;
43
+ /**
44
+ * Mensaje con imagen
45
+ */
46
+ export declare const MessageWithGallery: Story;
47
+ /**
48
+ * Mensaje con ubicación
49
+ */
50
+ export declare const MessageWithLocation: Story;
51
+ /**
52
+ * Mensaje con archivo adjunto
53
+ */
54
+ export declare const MessageWithFile: Story;
55
+ /**
56
+ * Mensaje con audio
57
+ */
58
+ export declare const MessageWithAudio: Story;
59
+ /**
60
+ * Mensaje del usuario enviando
61
+ */
62
+ export declare const MessageSending: Story;
63
+ /**
64
+ * Mensaje con error (ejemplo visual)
65
+ */
66
+ export declare const MessageError: Story;
67
+ /**
68
+ * Mensaje largo
69
+ */
70
+ export declare const LongMessage: Story;
71
+ //# sourceMappingURL=MessageBubble.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBubble.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/MessageBubble.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAU3D;;;GAGG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;CAc4B,CAAA;AAEtC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAUlC;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAwBjC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAU7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAcjC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAe7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAY9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAW5B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAW1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { BubbleStyles, ChatMessage } from '../types';
3
+ import type { EmotionAvatarMap } from './Launcher';
4
+ export interface MessageListProps {
5
+ messages: ChatMessage[];
6
+ isTyping: boolean;
7
+ welcomeMessage?: string;
8
+ primaryColor?: string;
9
+ logoUrl?: string;
10
+ botName?: string;
11
+ bubbleStyles?: BubbleStyles;
12
+ avatars?: EmotionAvatarMap;
13
+ }
14
+ export declare const MessageList: React.NamedExoticComponent<MessageListProps>;
15
+ //# sourceMappingURL=MessageList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/MessageList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4C,MAAM,OAAO,CAAA;AAEhE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAIzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMlD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAC3B;AAED,eAAO,MAAM,WAAW,8CA8RvB,CAAA"}
@@ -0,0 +1,52 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ import type { ChatMessage } from '../types';
3
+ declare const meta: {
4
+ title: string;
5
+ component: import("react").NamedExoticComponent<import("./MessageList").MessageListProps>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
10
+ messages: ChatMessage[];
11
+ isTyping: boolean;
12
+ welcomeMessage?: string | undefined;
13
+ primaryColor?: string | undefined;
14
+ logoUrl?: string | undefined;
15
+ botName?: string | undefined;
16
+ bubbleStyles?: import("..").BubbleStyles | undefined;
17
+ avatars?: import("./Launcher").EmotionAvatarMap | undefined;
18
+ }>) => import("react/jsx-runtime").JSX.Element)[];
19
+ tags: string[];
20
+ argTypes: {
21
+ isTyping: {
22
+ control: "boolean";
23
+ description: string;
24
+ };
25
+ welcomeMessage: {
26
+ control: "text";
27
+ description: string;
28
+ };
29
+ primaryColor: {
30
+ control: "color";
31
+ description: string;
32
+ };
33
+ botName: {
34
+ control: "text";
35
+ description: string;
36
+ };
37
+ };
38
+ };
39
+ export default meta;
40
+ type Story = StoryObj<typeof meta>;
41
+ export declare const Default: Story;
42
+ export declare const Empty: Story;
43
+ export declare const BotTyping: Story;
44
+ export declare const WithMarkdown: Story;
45
+ export declare const WithGallery: Story;
46
+ export declare const WithLocation: Story;
47
+ export declare const WithAudio: Story;
48
+ export declare const LongConversation: Story;
49
+ export declare const VirtualizedList: Story;
50
+ export declare const CustomColor: Story;
51
+ export declare const WithLogo: Story;
52
+ //# sourceMappingURL=MessageList.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageList.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/MessageList.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,UAAU,CAAA;AAEjB,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC0B,CAAA;AAEpC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AA0BlC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAQnB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAe1B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAezB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAcvB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAiB9B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAgB7B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const TypingIndicator: import("react").NamedExoticComponent<object>;
2
+ //# sourceMappingURL=TypingIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/TypingIndicator.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,8CAwC1B,CAAA"}
@@ -0,0 +1,39 @@
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ /**
3
+ * TypingIndicator muestra una animación cuando el bot está escribiendo.
4
+ * Proporciona feedback visual al usuario de que el bot está procesando.
5
+ */
6
+ declare const meta: {
7
+ title: string;
8
+ component: import("react").NamedExoticComponent<object>;
9
+ parameters: {
10
+ layout: string;
11
+ };
12
+ tags: string[];
13
+ argTypes: {
14
+ primaryColor: {
15
+ control: string;
16
+ description: string;
17
+ };
18
+ };
19
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, object>) => import("react/jsx-runtime").JSX.Element)[];
20
+ };
21
+ export default meta;
22
+ type Story = StoryObj<typeof meta>;
23
+ /**
24
+ * Indicador de escritura con color por defecto
25
+ */
26
+ export declare const Default: Story;
27
+ /**
28
+ * Indicador con color azul
29
+ */
30
+ export declare const Blue: Story;
31
+ /**
32
+ * Indicador con color púrpura
33
+ */
34
+ export declare const Purple: Story;
35
+ /**
36
+ * Indicador con color rojo
37
+ */
38
+ export declare const Red: Story;
39
+ //# sourceMappingURL=TypingIndicator.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypingIndicator.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/TypingIndicator.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAG3D;;;GAGG;AACH,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAoB8B,CAAA;AAExC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,KAIjB,CAAA"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Call Overlay Component
4
+ *
5
+ * Real-time voice call overlay using Gemini Live API via Socket.IO.
6
+ * Sends raw PCM 16kHz audio chunks and receives PCM 24kHz audio responses.
7
+ *
8
+ * Flow: User Mic (PCM 16kHz) → Socket.IO → Backend → Gemini Live API →
9
+ * PCM 24kHz audio → Socket.IO → Web Audio API playback
10
+ */
11
+ import type { EmotionAvatarMap } from './Launcher';
12
+ /** Configurable voice call overlay options */
13
+ export interface VoiceOverlayConfig {
14
+ /** Background color of the overlay. Default: '#0a0a0a' */
15
+ backgroundColor?: string;
16
+ /** Glow color when listening. Default: '#10b981' (emerald) */
17
+ listeningColor?: string;
18
+ /** Glow color when speaking. Default: uses primaryColor */
19
+ speakingColor?: string;
20
+ /** Glow color when thinking. Default: '#a855f7' (purple) */
21
+ thinkingColor?: string;
22
+ /** Show emojis for emotions when no avatar is provided. Default: true */
23
+ showEmojis?: boolean;
24
+ /** Show the emotion text label on the avatar/header. Default: true */
25
+ showEmotionLabel?: boolean;
26
+ /** Show waveform bars visualizer. Default: true */
27
+ showWaveform?: boolean;
28
+ /** Show the "Gemini Live" badge. Default: true */
29
+ showBadge?: boolean;
30
+ /** Custom badge text. Default: 'Gemini Live' */
31
+ badgeText?: string;
32
+ /** Custom emoji map overrides. Merged with defaults. */
33
+ emotionEmojis?: Partial<Record<string, string>>;
34
+ /** Custom status labels per state */
35
+ statusLabels?: Partial<Record<CallState, string>>;
36
+ /** Avatar orb size in px. Default: 128 */
37
+ orbSize?: number;
38
+ /** Scale factor when speaking. Default: 1.08 */
39
+ speakingScale?: number;
40
+ /** Scale factor when thinking. Default: 0.95 */
41
+ thinkingScale?: number;
42
+ /** URL to a .vrm/.glb 3D model. When set, replaces 2D avatar with 3D. */
43
+ avatar3dUrl?: string;
44
+ }
45
+ interface VoiceCallOverlayProps {
46
+ isOpen: boolean;
47
+ onClose: () => void;
48
+ primaryColor?: string;
49
+ getSocket?: () => any;
50
+ avatars?: EmotionAvatarMap;
51
+ logoUrl?: string;
52
+ /** URL to a .vrm/.glb 3D model for the avatar */
53
+ avatar3dUrl?: string;
54
+ /** Voice overlay configuration for full customizability */
55
+ voiceConfig?: VoiceOverlayConfig;
56
+ /** Callback to persist voice transcripts to the main chat history */
57
+ onAddMessage?: (message: {
58
+ sender: 'user' | 'bot';
59
+ content: string;
60
+ }) => void;
61
+ }
62
+ type CallState = 'idle' | 'connecting' | 'listening' | 'speaking' | 'thinking';
63
+ export declare function VoiceCallOverlay({ isOpen, onClose, primaryColor, getSocket, avatars, logoUrl, avatar3dUrl, voiceConfig, onAddMessage, }: VoiceCallOverlayProps): import("react/jsx-runtime").JSX.Element | null;
64
+ export {};
65
+ //# sourceMappingURL=VoiceCallOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceCallOverlay.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/VoiceCallOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMlD,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,qEAAqE;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CAC9E;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;AA+X9E,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,OAAO,EACP,YAAwB,EACxB,SAAS,EACT,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,YAAY,GACb,EAAE,qBAAqB,kDAu1BvB"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Input Area Component
4
+ *
5
+ * Extends InputArea with voice chat functionality.
6
+ * This is a wrapper that adds voice button and overlay to the standard InputArea.
7
+ */
8
+ import { type InputAreaProps } from './InputArea';
9
+ import { type VoiceConfig } from '../voice';
10
+ export interface VoiceInputAreaProps extends InputAreaProps {
11
+ /** Voice chat configuration (Enterprise tier) */
12
+ voiceConfig?: VoiceConfig;
13
+ /** API base URL for voice WebSocket */
14
+ apiBaseUrl: string;
15
+ /** Tenant ID for voice authentication */
16
+ tenantId: string;
17
+ /** Session ID for voice authentication */
18
+ sessionId: string;
19
+ /** Callback when voice message transcription is complete */
20
+ onVoiceTranscription?: (text: string) => void;
21
+ }
22
+ /**
23
+ * InputArea with integrated voice chat functionality
24
+ */
25
+ export declare function VoiceInputArea({ voiceConfig, apiBaseUrl, tenantId, sessionId, onVoiceTranscription, onSendMessage, primaryColor, isConnected, ...inputAreaProps }: VoiceInputAreaProps): import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=VoiceInputArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceInputArea.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/VoiceInputArea.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAA+C,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAGxF,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,iDAAiD;IACjD,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,GAAG,cAAc,EAClB,EAAE,mBAAmB,2CA0HrB"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Components Index
3
+ * Exporta todos los componentes del ChatWidget
4
+ */
5
+ export { Launcher } from './Launcher';
6
+ export { ChatWindow } from './ChatWindow';
7
+ export { MessageList } from './MessageList';
8
+ export { MessageBubble } from './MessageBubble';
9
+ export { TypingIndicator } from './TypingIndicator';
10
+ export { InputArea } from './InputArea';
11
+ export { VoiceInputArea } from './VoiceInputArea';
12
+ export { LiveCallInputArea } from './LiveCallInputArea';
13
+ export { Gallery } from './Gallery';
14
+ export { ErrorBoundary } from './ErrorBoundary';
15
+ export { LanguageSelector } from './LanguageSelector';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA"}