@botuyo/chat-widget-standalone 1.0.33 → 1.0.37

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 (159) hide show
  1. package/dist/botuyo-chat.es.js +34 -32
  2. package/dist/botuyo-chat.es.js.map +1 -1
  3. package/dist/{chunk-audio-Bp2hdKWD.js → chunk-audio-DG3X3uze.js} +2 -2
  4. package/dist/{chunk-audio-Bp2hdKWD.js.map → chunk-audio-DG3X3uze.js.map} +1 -1
  5. package/dist/{chunk-chat-ui-NkAhBejH.js → chunk-chat-ui-C0sPAQ4e.js} +20 -15
  6. package/dist/chunk-chat-ui-C0sPAQ4e.js.map +1 -0
  7. package/dist/{chunk-gallery-Csq9S6yg.js → chunk-gallery-BDe3OAec.js} +2 -2
  8. package/dist/{chunk-gallery-Csq9S6yg.js.map → chunk-gallery-BDe3OAec.js.map} +1 -1
  9. package/dist/stats.html +1 -1
  10. package/package.json +1 -1
  11. package/dist/ShadowChatWidget.d.ts +0 -25
  12. package/dist/ShadowChatWidget.d.ts.map +0 -1
  13. package/dist/botuyo-chat.umd.css +0 -1
  14. package/dist/botuyo-chat.umd.js +0 -2
  15. package/dist/botuyo-chat.umd.js.map +0 -1
  16. package/dist/chunk-chat-ui-NkAhBejH.js.map +0 -1
  17. package/dist/src/chat-widget/ChatWidget.d.ts +0 -5
  18. package/dist/src/chat-widget/ChatWidget.d.ts.map +0 -1
  19. package/dist/src/chat-widget/ChatWidgetProvider.d.ts +0 -81
  20. package/dist/src/chat-widget/ChatWidgetProvider.d.ts.map +0 -1
  21. package/dist/src/chat-widget/components/AudioPlayer.d.ts +0 -8
  22. package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +0 -1
  23. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts +0 -37
  24. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts.map +0 -1
  25. package/dist/src/chat-widget/components/Avatar3D.d.ts +0 -23
  26. package/dist/src/chat-widget/components/Avatar3D.d.ts.map +0 -1
  27. package/dist/src/chat-widget/components/ChatWindow.d.ts +0 -35
  28. package/dist/src/chat-widget/components/ChatWindow.d.ts.map +0 -1
  29. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts +0 -71
  30. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts.map +0 -1
  31. package/dist/src/chat-widget/components/ErrorBoundary.d.ts +0 -36
  32. package/dist/src/chat-widget/components/ErrorBoundary.d.ts.map +0 -1
  33. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts +0 -29
  34. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts.map +0 -1
  35. package/dist/src/chat-widget/components/Gallery.d.ts +0 -14
  36. package/dist/src/chat-widget/components/Gallery.d.ts.map +0 -1
  37. package/dist/src/chat-widget/components/Gallery.stories.d.ts +0 -33
  38. package/dist/src/chat-widget/components/Gallery.stories.d.ts.map +0 -1
  39. package/dist/src/chat-widget/components/Icons.d.ts +0 -10
  40. package/dist/src/chat-widget/components/Icons.d.ts.map +0 -1
  41. package/dist/src/chat-widget/components/InputArea.d.ts +0 -21
  42. package/dist/src/chat-widget/components/InputArea.d.ts.map +0 -1
  43. package/dist/src/chat-widget/components/InputArea.stories.d.ts +0 -62
  44. package/dist/src/chat-widget/components/InputArea.stories.d.ts.map +0 -1
  45. package/dist/src/chat-widget/components/LanguageSelector.d.ts +0 -25
  46. package/dist/src/chat-widget/components/LanguageSelector.d.ts.map +0 -1
  47. package/dist/src/chat-widget/components/Launcher.d.ts +0 -22
  48. package/dist/src/chat-widget/components/Launcher.d.ts.map +0 -1
  49. package/dist/src/chat-widget/components/Launcher.stories.d.ts +0 -75
  50. package/dist/src/chat-widget/components/Launcher.stories.d.ts.map +0 -1
  51. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts +0 -29
  52. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts.map +0 -1
  53. package/dist/src/chat-widget/components/MessageBubble.d.ts +0 -15
  54. package/dist/src/chat-widget/components/MessageBubble.d.ts.map +0 -1
  55. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +0 -71
  56. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +0 -1
  57. package/dist/src/chat-widget/components/MessageList.d.ts +0 -15
  58. package/dist/src/chat-widget/components/MessageList.d.ts.map +0 -1
  59. package/dist/src/chat-widget/components/MessageList.stories.d.ts +0 -52
  60. package/dist/src/chat-widget/components/MessageList.stories.d.ts.map +0 -1
  61. package/dist/src/chat-widget/components/TypingIndicator.d.ts +0 -2
  62. package/dist/src/chat-widget/components/TypingIndicator.d.ts.map +0 -1
  63. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts +0 -39
  64. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts.map +0 -1
  65. package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts +0 -65
  66. package/dist/src/chat-widget/components/VoiceCallOverlay.d.ts.map +0 -1
  67. package/dist/src/chat-widget/components/VoiceInputArea.d.ts +0 -26
  68. package/dist/src/chat-widget/components/VoiceInputArea.d.ts.map +0 -1
  69. package/dist/src/chat-widget/components/index.d.ts +0 -16
  70. package/dist/src/chat-widget/components/index.d.ts.map +0 -1
  71. package/dist/src/chat-widget/contexts/AnimationContext.d.ts +0 -69
  72. package/dist/src/chat-widget/contexts/AnimationContext.d.ts.map +0 -1
  73. package/dist/src/chat-widget/hooks/useAnalytics.d.ts +0 -19
  74. package/dist/src/chat-widget/hooks/useAnalytics.d.ts.map +0 -1
  75. package/dist/src/chat-widget/hooks/useChatSocket.d.ts +0 -35
  76. package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +0 -1
  77. package/dist/src/chat-widget/hooks/useChatState.d.ts +0 -23
  78. package/dist/src/chat-widget/hooks/useChatState.d.ts.map +0 -1
  79. package/dist/src/chat-widget/hooks/useChatWidget.d.ts +0 -50
  80. package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +0 -1
  81. package/dist/src/chat-widget/hooks/useDarkMode.d.ts +0 -6
  82. package/dist/src/chat-widget/hooks/useDarkMode.d.ts.map +0 -1
  83. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts +0 -10
  84. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts.map +0 -1
  85. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts +0 -34
  86. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts.map +0 -1
  87. package/dist/src/chat-widget/hooks/useHighContrast.d.ts +0 -6
  88. package/dist/src/chat-widget/hooks/useHighContrast.d.ts.map +0 -1
  89. package/dist/src/chat-widget/hooks/useIsMobile.d.ts +0 -2
  90. package/dist/src/chat-widget/hooks/useIsMobile.d.ts.map +0 -1
  91. package/dist/src/chat-widget/hooks/useNotifications.d.ts +0 -23
  92. package/dist/src/chat-widget/hooks/useNotifications.d.ts.map +0 -1
  93. package/dist/src/chat-widget/hooks/useRateLimit.d.ts +0 -15
  94. package/dist/src/chat-widget/hooks/useRateLimit.d.ts.map +0 -1
  95. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts +0 -10
  96. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts.map +0 -1
  97. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +0 -12
  98. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts.map +0 -1
  99. package/dist/src/chat-widget/i18n/LanguageContext.d.ts +0 -33
  100. package/dist/src/chat-widget/i18n/LanguageContext.d.ts.map +0 -1
  101. package/dist/src/chat-widget/i18n/index.d.ts +0 -8
  102. package/dist/src/chat-widget/i18n/index.d.ts.map +0 -1
  103. package/dist/src/chat-widget/i18n/translations.d.ts +0 -177
  104. package/dist/src/chat-widget/i18n/translations.d.ts.map +0 -1
  105. package/dist/src/chat-widget/i18n/useTranslations.d.ts +0 -27
  106. package/dist/src/chat-widget/i18n/useTranslations.d.ts.map +0 -1
  107. package/dist/src/chat-widget/index.d.ts +0 -11
  108. package/dist/src/chat-widget/index.d.ts.map +0 -1
  109. package/dist/src/chat-widget/types/index.d.ts +0 -328
  110. package/dist/src/chat-widget/types/index.d.ts.map +0 -1
  111. package/dist/src/chat-widget/types/socket.d.ts +0 -103
  112. package/dist/src/chat-widget/types/socket.d.ts.map +0 -1
  113. package/dist/src/chat-widget/utils/dateUtils.d.ts +0 -33
  114. package/dist/src/chat-widget/utils/dateUtils.d.ts.map +0 -1
  115. package/dist/src/chat-widget/utils/defaultAssets.d.ts +0 -20
  116. package/dist/src/chat-widget/utils/defaultAssets.d.ts.map +0 -1
  117. package/dist/src/chat-widget/utils/deviceId.d.ts +0 -18
  118. package/dist/src/chat-widget/utils/deviceId.d.ts.map +0 -1
  119. package/dist/src/chat-widget/utils/fileValidation.d.ts +0 -75
  120. package/dist/src/chat-widget/utils/fileValidation.d.ts.map +0 -1
  121. package/dist/src/chat-widget/utils/logger.d.ts +0 -31
  122. package/dist/src/chat-widget/utils/logger.d.ts.map +0 -1
  123. package/dist/src/chat-widget/utils/performance.d.ts +0 -50
  124. package/dist/src/chat-widget/utils/performance.d.ts.map +0 -1
  125. package/dist/src/chat-widget/utils/storage.d.ts +0 -25
  126. package/dist/src/chat-widget/utils/storage.d.ts.map +0 -1
  127. package/dist/src/chat-widget/utils/theme.d.ts +0 -122
  128. package/dist/src/chat-widget/utils/theme.d.ts.map +0 -1
  129. package/dist/src/chat-widget/utils/theme.examples.d.ts +0 -47
  130. package/dist/src/chat-widget/utils/theme.examples.d.ts.map +0 -1
  131. package/dist/src/chat-widget/utils/themes/index.d.ts +0 -12
  132. package/dist/src/chat-widget/utils/themes/index.d.ts.map +0 -1
  133. package/dist/src/chat-widget/voice/components/CallButton.d.ts +0 -12
  134. package/dist/src/chat-widget/voice/components/CallButton.d.ts.map +0 -1
  135. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts +0 -12
  136. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts.map +0 -1
  137. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts +0 -13
  138. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts.map +0 -1
  139. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts +0 -12
  140. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts.map +0 -1
  141. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts +0 -12
  142. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts.map +0 -1
  143. package/dist/src/chat-widget/voice/components/index.d.ts +0 -10
  144. package/dist/src/chat-widget/voice/components/index.d.ts.map +0 -1
  145. package/dist/src/chat-widget/voice/index.d.ts +0 -11
  146. package/dist/src/chat-widget/voice/index.d.ts.map +0 -1
  147. package/dist/src/chat-widget/voice/types.d.ts +0 -232
  148. package/dist/src/chat-widget/voice/types.d.ts.map +0 -1
  149. package/dist/src/chat-widget/voice/useLiveCall.d.ts +0 -13
  150. package/dist/src/chat-widget/voice/useLiveCall.d.ts.map +0 -1
  151. package/dist/src/chat-widget/voice/useVoiceChat.d.ts +0 -13
  152. package/dist/src/chat-widget/voice/useVoiceChat.d.ts.map +0 -1
  153. package/dist/src/chat-widget/voice/useVoiceState.d.ts +0 -38
  154. package/dist/src/chat-widget/voice/useVoiceState.d.ts.map +0 -1
  155. package/dist/src/lib/utils.d.ts +0 -3
  156. package/dist/src/lib/utils.d.ts.map +0 -1
  157. package/dist/standalone.d.ts +0 -113
  158. package/dist/standalone.d.ts.map +0 -1
  159. package/dist/stats-umd.html +0 -4949
@@ -1,5 +0,0 @@
1
- import type { ChatWidgetProps } from './types';
2
- import './styles/premium-animations.css';
3
- export declare function ChatWidgetInner(props: ChatWidgetProps): import("react/jsx-runtime").JSX.Element | null;
4
- export declare function ChatWidget(props: ChatWidgetProps): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=ChatWidget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatWidget.d.ts","sourceRoot":"","sources":["../../../src/chat-widget/ChatWidget.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAa9C,OAAO,iCAAiC,CAAA;AAExC,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,kDAwNrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAWhD"}
@@ -1,81 +0,0 @@
1
- /**
2
- * @package @botuyo/chat-widget
3
- * ChatWidgetProvider - React Context Provider para el widget
4
- *
5
- * Este provider permite usar el widget de chat como un componente React estándar
6
- * con acceso a su estado y métodos a través de hooks.
7
- */
8
- import { ReactNode } from 'react';
9
- import type { ChatWidgetProps } from './types';
10
- import { type SupportedLocale } from './i18n';
11
- export interface ChatWidgetContextValue {
12
- /** Si el widget está abierto o cerrado */
13
- isOpen: boolean;
14
- /** Abrir el widget */
15
- open: () => void;
16
- /** Cerrar el widget */
17
- close: () => void;
18
- /** Toggle abrir/cerrar */
19
- toggle: () => void;
20
- /** Enviar un mensaje programáticamente */
21
- sendMessage: (text: string) => void;
22
- /** Limpiar el historial de chat */
23
- clearMessages: () => void;
24
- /** Número de mensajes no leídos */
25
- unreadCount: number;
26
- }
27
- export declare function _setInternalSendMessage(fn: ((text: string) => void) | null): void;
28
- export declare function _setInternalClearMessages(fn: (() => void) | null): void;
29
- export interface ChatWidgetProviderProps extends ChatWidgetProps {
30
- /** Children que tendrán acceso al contexto del chat */
31
- children?: ReactNode;
32
- /** Configuración inicial del estado del widget */
33
- initialState?: {
34
- /** Si el widget debe iniciar abierto */
35
- isOpen?: boolean;
36
- };
37
- /** Idioma inicial del widget (es, en, pt, fr). Si no se especifica, se detecta automáticamente */
38
- defaultLocale?: SupportedLocale;
39
- }
40
- /**
41
- * Provider que envuelve tu aplicación para dar acceso al Chat Widget
42
- *
43
- * @example
44
- * ```tsx
45
- * import { ChatWidgetProvider } from '@botuyo/chat-widget'
46
- *
47
- * function App() {
48
- * return (
49
- * <ChatWidgetProvider
50
- * apiKey="tu-api-key"
51
- * apiBaseUrl="https://api.botuyo.com"
52
- * theme={{ primaryColor: '#10b981' }}
53
- * >
54
- * <YourApp />
55
- * </ChatWidgetProvider>
56
- * )
57
- * }
58
- * ```
59
- */
60
- export declare function ChatWidgetProvider({ children, defaultLocale, initialState, onStateChange, ...widgetProps }: ChatWidgetProviderProps): import("react/jsx-runtime").JSX.Element;
61
- /**
62
- * Hook para acceder al contexto del Chat Widget
63
- *
64
- * @throws Error si se usa fuera del ChatWidgetProvider
65
- *
66
- * @example
67
- * ```tsx
68
- * function MyComponent() {
69
- * const chat = useChatWidget()
70
- *
71
- * return (
72
- * <button onClick={chat.open}>
73
- * Abrir Chat {chat.unreadCount > 0 && `(${chat.unreadCount})`}
74
- * </button>
75
- * )
76
- * }
77
- * ```
78
- */
79
- export declare function useChatWidget(): ChatWidgetContextValue;
80
- export default ChatWidgetProvider;
81
- //# sourceMappingURL=ChatWidgetProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatWidgetProvider.d.ts","sourceRoot":"","sources":["../../../src/chat-widget/ChatWidgetProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAoD,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,QAAQ,CAAA;AAI/D,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAA;IACf,sBAAsB;IACtB,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,uBAAuB;IACvB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,0CAA0C;IAC1C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mCAAmC;IACnC,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAA;CACpB;AAMD,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,QAE1E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,QAEhE;AAMD,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,kDAAkD;IAClD,YAAY,CAAC,EAAE;QACb,wCAAwC;QACxC,MAAM,CAAC,EAAE,OAAO,CAAA;KACjB,CAAA;IACD,kGAAkG;IAClG,aAAa,CAAC,EAAE,eAAe,CAAA;CAChC;AAID;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,GAAG,WAAW,EACf,EAAE,uBAAuB,2CAmFzB;AAID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAWtD;AAID,eAAe,kBAAkB,CAAA"}
@@ -1,8 +0,0 @@
1
- interface AudioPlayerProps {
2
- url: string;
3
- isBot: boolean;
4
- primaryColor?: string;
5
- }
6
- export type { AudioPlayerProps };
7
- export declare const AudioPlayer: import("react").NamedExoticComponent<AudioPlayerProps>;
8
- //# sourceMappingURL=AudioPlayer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioPlayer.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/AudioPlayer.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,eAAO,MAAM,WAAW,wDA8HtB,CAAA"}
@@ -1,37 +0,0 @@
1
- import type { StoryObj } from '@storybook/react-vite';
2
- declare const meta: {
3
- title: string;
4
- component: import("react").NamedExoticComponent<import("./AudioPlayer").AudioPlayerProps>;
5
- parameters: {
6
- layout: string;
7
- };
8
- decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
9
- url: string;
10
- isBot: boolean;
11
- primaryColor?: string | undefined;
12
- }>) => import("react/jsx-runtime").JSX.Element)[];
13
- tags: string[];
14
- argTypes: {
15
- url: {
16
- control: "text";
17
- description: string;
18
- };
19
- isBot: {
20
- control: "boolean";
21
- description: string;
22
- };
23
- primaryColor: {
24
- control: "color";
25
- description: string;
26
- };
27
- };
28
- };
29
- export default meta;
30
- type Story = StoryObj<typeof meta>;
31
- export declare const Default: Story;
32
- export declare const CustomColor: Story;
33
- export declare const PurpleTheme: Story;
34
- export declare const RedTheme: Story;
35
- export declare const MultipleAudioPlayers: Story;
36
- export declare const InvalidAudio: Story;
37
- //# sourceMappingURL=AudioPlayer.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioPlayer.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/AudioPlayer.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAG3D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B0B,CAAA;AAEpC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAkClC,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAA"}
@@ -1,23 +0,0 @@
1
- /**
2
- * @package @botuyo/chat-widget
3
- * Avatar3D Component — Lazy-loaded 3D avatar for voice calls
4
- *
5
- * Uses React Three Fiber + @pixiv/three-vrm to render VRM models
6
- * with emotion-driven blendshapes and idle animations.
7
- *
8
- * This component is loaded via React.lazy() — it adds 0KB to the
9
- * main bundle. Three.js + VRM are only downloaded when a tenant
10
- * has avatar3dUrl configured.
11
- */
12
- type CallState = 'idle' | 'connecting' | 'listening' | 'speaking' | 'thinking';
13
- interface Avatar3DProps {
14
- modelUrl: string;
15
- emotion: string | null;
16
- callState: CallState;
17
- audioLevel: number;
18
- primaryColor: string;
19
- size: number;
20
- }
21
- export default function Avatar3D({ modelUrl, emotion, callState, audioLevel, primaryColor, size, }: Avatar3DProps): import("react/jsx-runtime").JSX.Element;
22
- export {};
23
- //# sourceMappingURL=Avatar3D.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar3D.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/Avatar3D.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAeH,KAAK,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,CAAA;AAE9E,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb;AAwTD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,GACL,EAAE,aAAa,2CA6Df"}
@@ -1,35 +0,0 @@
1
- import type { BubbleStyles, ChatMessage, MediaConfig } from '../types';
2
- import { EmotionAvatarMap } from './Launcher';
3
- export interface ChatWindowProps {
4
- isOpen: boolean;
5
- isConnected: boolean;
6
- isTyping: boolean;
7
- messages: ChatMessage[];
8
- botName?: string;
9
- logoUrl?: string;
10
- welcomeMessage?: string;
11
- inputPlaceholder?: string;
12
- primaryColor?: string;
13
- borderRadius?: string;
14
- mediaConfig?: MediaConfig;
15
- onClose: () => void;
16
- onSendMessage: (message: string) => void;
17
- position?: 'bottom-right' | 'bottom-left';
18
- bubbleStyles?: BubbleStyles;
19
- avatars?: EmotionAvatarMap;
20
- onSendAttachment?: (file: File, type: 'image' | 'audio' | 'file') => void;
21
- onSendLocation?: (location: {
22
- latitude: number;
23
- longitude: number;
24
- }) => void;
25
- getSocket?: () => any;
26
- onAddVoiceMessage?: (message: {
27
- sender: 'user' | 'bot';
28
- content: string;
29
- }) => void;
30
- /** URL to a .vrm/.glb 3D model for voice call avatar */
31
- avatar3dUrl?: string;
32
- theme?: import('../types').ChatTheme;
33
- }
34
- export declare function ChatWindow({ isOpen, isConnected, isTyping, messages, botName, logoUrl, welcomeMessage, inputPlaceholder, primaryColor, mediaConfig, onClose, onSendMessage, bubbleStyles, avatars, onSendAttachment, onSendLocation, getSocket, onAddVoiceMessage, avatar3dUrl, theme, }: ChatWindowProps): import("react/jsx-runtime").JSX.Element | null;
35
- //# sourceMappingURL=ChatWindow.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatWindow.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/ChatWindow.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAOtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAI7C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,CAAA;IACzC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,CAAA;IACzE,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC5E,SAAS,CAAC,EAAE,MAAM,GAAG,CAAA;IACrB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClF,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,UAAU,EAAE,SAAS,CAAA;CACrC;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAkB,EAClB,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,KAAK,GACN,EAAE,eAAe,kDAqPjB"}
@@ -1,71 +0,0 @@
1
- import type { StoryObj } from '@storybook/react-vite';
2
- import { ChatWindow } from './ChatWindow';
3
- declare const meta: {
4
- title: string;
5
- component: typeof ChatWindow;
6
- parameters: {
7
- layout: string;
8
- };
9
- tags: string[];
10
- argTypes: {
11
- isOpen: {
12
- control: "boolean";
13
- description: string;
14
- };
15
- isConnected: {
16
- control: "boolean";
17
- description: string;
18
- };
19
- isTyping: {
20
- control: "boolean";
21
- description: string;
22
- };
23
- botName: {
24
- control: "text";
25
- description: string;
26
- };
27
- welcomeMessage: {
28
- control: "text";
29
- description: string;
30
- };
31
- inputPlaceholder: {
32
- control: "text";
33
- description: string;
34
- };
35
- primaryColor: {
36
- control: "color";
37
- description: string;
38
- };
39
- position: {
40
- control: "select";
41
- options: string[];
42
- description: string;
43
- };
44
- onClose: {
45
- action: string;
46
- };
47
- onSendMessage: {
48
- action: string;
49
- };
50
- onSendAttachment: {
51
- action: string;
52
- };
53
- onSendLocation: {
54
- action: string;
55
- };
56
- };
57
- };
58
- export default meta;
59
- type Story = StoryObj<typeof meta>;
60
- export declare const Default: Story;
61
- export declare const EmptyChat: Story;
62
- export declare const BotTyping: Story;
63
- export declare const Disconnected: Story;
64
- export declare const WithGallery: Story;
65
- export declare const WithLocation: Story;
66
- export declare const WithFile: Story;
67
- export declare const WithAudio: Story;
68
- export declare const LongConversation: Story;
69
- export declare const CustomColors: Story;
70
- export declare const BottomLeft: Story;
71
- //# sourceMappingURL=ChatWindow.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatWindow.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/ChatWindow.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAUzC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CyB,CAAA;AAEnC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AA2BlC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAezB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAetB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAcvB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAqC9B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAA"}
@@ -1,36 +0,0 @@
1
- import React, { Component, ReactNode } from 'react';
2
- interface ErrorBoundaryProps {
3
- children: ReactNode;
4
- fallback?: ReactNode;
5
- onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
6
- }
7
- interface ErrorBoundaryState {
8
- hasError: boolean;
9
- error: Error | null;
10
- }
11
- /**
12
- * 🛡️ ERROR BOUNDARY
13
- *
14
- * Componente que captura errores de React en sus hijos y muestra un UI de fallback.
15
- * Previene que un error en un componente rompa toda la aplicación.
16
- *
17
- * @example
18
- * ```tsx
19
- * <ErrorBoundary fallback={<div>Algo salió mal</div>}>
20
- * <MiComponente />
21
- * </ErrorBoundary>
22
- * ```
23
- *
24
- * Principios SOLID aplicados:
25
- * - Single Responsibility: Solo maneja captura de errores
26
- * - Open/Closed: Extensible mediante props fallback y onError
27
- */
28
- export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
29
- constructor(props: ErrorBoundaryProps);
30
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
31
- componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
32
- handleReset: () => void;
33
- render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
34
- }
35
- export {};
36
- //# sourceMappingURL=ErrorBoundary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGnD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAA;CAC7D;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACtE,KAAK,EAAE,kBAAkB;IAKrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAIjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAK1D,WAAW,aAEV;IAED,MAAM;CAyBP"}
@@ -1,29 +0,0 @@
1
- import type { StoryObj } from '@storybook/react-vite';
2
- import { ErrorBoundary } from './ErrorBoundary';
3
- declare const meta: {
4
- title: string;
5
- component: typeof ErrorBoundary;
6
- parameters: {
7
- layout: string;
8
- };
9
- decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
10
- children: import("react").ReactNode;
11
- fallback?: import("react").ReactNode;
12
- onError?: ((error: Error, errorInfo: React.ErrorInfo) => void) | undefined;
13
- }>) => import("react/jsx-runtime").JSX.Element)[];
14
- tags: string[];
15
- argTypes: {
16
- onError: {
17
- action: string;
18
- };
19
- };
20
- };
21
- export default meta;
22
- type Story = StoryObj<typeof meta>;
23
- export declare const Default: Story;
24
- export declare const WithError: Story;
25
- export declare const CustomFallback: Story;
26
- export declare const Interactive: Story;
27
- export declare const NestedErrorBoundaries: Story;
28
- export declare const WithErrorCallback: Story;
29
- //# sourceMappingURL=ErrorBoundary.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ErrorBoundary.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/ErrorBoundary.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;CAmB4B,CAAA;AAEtC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AA8BlC,eAAO,MAAM,OAAO,EAAE,KAarB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAY5B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KA8BnC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAS/B,CAAA"}
@@ -1,14 +0,0 @@
1
- /**
2
- * @package @botuyo/chat-widget
3
- * Gallery - Componente visual para mostrar galerías de imágenes
4
- */
5
- interface GalleryProps {
6
- images: Array<{
7
- src: string;
8
- alt?: string;
9
- }>;
10
- radius?: string;
11
- }
12
- export type { GalleryProps };
13
- export declare const Gallery: import("react").NamedExoticComponent<GalleryProps>;
14
- //# sourceMappingURL=Gallery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gallery.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/Gallery.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AASH,UAAU,YAAY;IACpB,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,YAAY,EAAE,YAAY,EAAE,CAAA;AAE5B,eAAO,MAAM,OAAO,oDA4RlB,CAAA"}
@@ -1,33 +0,0 @@
1
- import type { StoryObj } from '@storybook/react-vite';
2
- declare const meta: {
3
- title: string;
4
- component: import("react").NamedExoticComponent<import("./Gallery").GalleryProps>;
5
- parameters: {
6
- layout: string;
7
- };
8
- decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
9
- images: Array<{
10
- src: string;
11
- alt?: string;
12
- }>;
13
- radius?: string | undefined;
14
- }>) => import("react/jsx-runtime").JSX.Element)[];
15
- tags: string[];
16
- argTypes: {
17
- images: {
18
- control: "object";
19
- description: string;
20
- };
21
- };
22
- };
23
- export default meta;
24
- type Story = StoryObj<typeof meta>;
25
- export declare const SingleImage: Story;
26
- export declare const TwoImages: Story;
27
- export declare const ThreeImages: Story;
28
- export declare const FourImages: Story;
29
- export declare const ManyImages: Story;
30
- export declare const PortraitImages: Story;
31
- export declare const SquareImages: Story;
32
- export declare const WithLongAltText: Story;
33
- //# sourceMappingURL=Gallery.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gallery.stories.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/Gallery.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAG3D,QAAA,MAAM,IAAI;;;;;;;;;eAYP,CAAC;;;;;;;;;;;CAQ4B,CAAA;AAEhC,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAA;AAElC,eAAO,MAAM,WAAW,EAAE,KASzB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KAavB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAiBzB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAqBxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAOxB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAiB5B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAqB1B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAS7B,CAAA"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Centralized icon exports to optimize bundle size
3
- * All lucide-react icons are imported here and re-exported
4
- * This allows for better tree-shaking and reduces duplication
5
- */
6
- export { X, ShieldCheck, Heart, Paperclip, Send, Loader2, Image as ImageIcon, FileAudio, FileText, FileIcon, Plus, MapPin, Mic, Trash2, Phone, // Voice call icon
7
- Play, Pause, AlertCircle, // Error state
8
- RotateCw, // Retry button
9
- MessageCircle, ChevronLeft, ChevronRight, ZoomIn, CheckCheck, MapPin as MapPinBubble, ExternalLink, ArrowRight, Download, } from 'lucide-react';
10
- //# sourceMappingURL=Icons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icons.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/Icons.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,CAAC,EACD,WAAW,EACX,KAAK,EAGL,SAAS,EACT,IAAI,EACJ,OAAO,EACP,KAAK,IAAI,SAAS,EAClB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,GAAG,EACH,MAAM,EACN,KAAK,EAAE,kBAAkB;AAGzB,IAAI,EACJ,KAAK,EACL,WAAW,EAAE,cAAc;AAC3B,QAAQ,EAAE,eAAe;AAGzB,aAAa,EAGb,WAAW,EACX,YAAY,EACZ,MAAM,EAGN,UAAU,EACV,MAAM,IAAI,YAAY,EACtB,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,MAAM,cAAc,CAAA"}
@@ -1,21 +0,0 @@
1
- import type { MediaConfig } from '../types';
2
- export interface Attachment {
3
- type: 'image' | 'audio' | 'file';
4
- file: File;
5
- previewUrl?: string;
6
- }
7
- export interface InputAreaProps {
8
- isConnected: boolean;
9
- placeholder?: string;
10
- primaryColor?: string;
11
- mediaConfig?: MediaConfig;
12
- onSendMessage: (message: string) => void;
13
- onSendAttachment?: (file: File, type: 'image' | 'audio' | 'file') => void;
14
- onSendLocation?: (location: {
15
- latitude: number;
16
- longitude: number;
17
- }) => void;
18
- onVoiceCall?: () => void;
19
- }
20
- export declare function InputArea({ isConnected, placeholder, primaryColor, mediaConfig, onSendMessage, onSendAttachment, onSendLocation, onVoiceCall, }: InputAreaProps): import("react/jsx-runtime").JSX.Element;
21
- //# sourceMappingURL=InputArea.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/components/InputArea.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAmB3C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IAChC,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,CAAA;IACzE,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC5E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;CACzB;AAED,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,WAAqC,EACrC,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,EAAE,cAAc,2CA8ehB"}
@@ -1,62 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,25 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,22 +0,0 @@
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, }: LauncherProps): import("react/jsx-runtime").JSX.Element;
21
- export {};
22
- //# sourceMappingURL=Launcher.d.ts.map
@@ -1 +0,0 @@
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,gBAAwB,GACzB,EAAE,aAAa,2CAiSf"}