@botuyo/chat-widget-standalone 1.0.0 → 1.0.2

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 (149) hide show
  1. package/README.md +243 -290
  2. package/dist/{ChatWidget-B6W68bT_.js → ChatWidget-BCHSZnMy.js} +17 -17
  3. package/dist/{ChatWidget-B6W68bT_.js.map → ChatWidget-BCHSZnMy.js.map} +1 -1
  4. package/dist/botuyo-chat.css +1 -1
  5. package/dist/botuyo-chat.js +1 -1
  6. package/dist/{chunk-audio-CgduwQLl.js → chunk-audio-BT2WWPfS.js} +2 -2
  7. package/dist/{chunk-audio-CgduwQLl.js.map → chunk-audio-BT2WWPfS.js.map} +1 -1
  8. package/dist/{chunk-chat-ui-EAAXXtnK.js → chunk-chat-ui-BHfnFN_3.js} +10 -10
  9. package/dist/{chunk-chat-ui-EAAXXtnK.js.map → chunk-chat-ui-BHfnFN_3.js.map} +1 -1
  10. package/dist/{chunk-gallery-B9sBFYYc.js → chunk-gallery-CHMxgXlB.js} +2 -2
  11. package/dist/{chunk-gallery-B9sBFYYc.js.map → chunk-gallery-CHMxgXlB.js.map} +1 -1
  12. package/dist/src/chat-widget/ChatWidget.d.ts +3 -0
  13. package/dist/src/chat-widget/ChatWidget.d.ts.map +1 -0
  14. package/dist/src/chat-widget/ChatWidgetProvider.d.ts +81 -0
  15. package/dist/src/chat-widget/ChatWidgetProvider.d.ts.map +1 -0
  16. package/dist/src/chat-widget/components/AudioPlayer.d.ts +8 -0
  17. package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +1 -0
  18. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts +37 -0
  19. package/dist/src/chat-widget/components/AudioPlayer.stories.d.ts.map +1 -0
  20. package/dist/src/chat-widget/components/ChatWindow.d.ts +28 -0
  21. package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -0
  22. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts +71 -0
  23. package/dist/src/chat-widget/components/ChatWindow.stories.d.ts.map +1 -0
  24. package/dist/src/chat-widget/components/ErrorBoundary.d.ts +36 -0
  25. package/dist/src/chat-widget/components/ErrorBoundary.d.ts.map +1 -0
  26. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts +29 -0
  27. package/dist/src/chat-widget/components/ErrorBoundary.stories.d.ts.map +1 -0
  28. package/dist/src/chat-widget/components/Gallery.d.ts +14 -0
  29. package/dist/src/chat-widget/components/Gallery.d.ts.map +1 -0
  30. package/dist/src/chat-widget/components/Gallery.stories.d.ts +33 -0
  31. package/dist/src/chat-widget/components/Gallery.stories.d.ts.map +1 -0
  32. package/dist/src/chat-widget/components/Icons.d.ts +7 -0
  33. package/dist/src/chat-widget/components/Icons.d.ts.map +1 -0
  34. package/dist/src/chat-widget/components/InputArea.d.ts +20 -0
  35. package/dist/src/chat-widget/components/InputArea.d.ts.map +1 -0
  36. package/dist/src/chat-widget/components/InputArea.stories.d.ts +61 -0
  37. package/dist/src/chat-widget/components/InputArea.stories.d.ts.map +1 -0
  38. package/dist/src/chat-widget/components/LanguageSelector.d.ts +25 -0
  39. package/dist/src/chat-widget/components/LanguageSelector.d.ts.map +1 -0
  40. package/dist/src/chat-widget/components/Launcher.d.ts +21 -0
  41. package/dist/src/chat-widget/components/Launcher.d.ts.map +1 -0
  42. package/dist/src/chat-widget/components/Launcher.stories.d.ts +75 -0
  43. package/dist/src/chat-widget/components/Launcher.stories.d.ts.map +1 -0
  44. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts +29 -0
  45. package/dist/src/chat-widget/components/LiveCallInputArea.d.ts.map +1 -0
  46. package/dist/src/chat-widget/components/MessageBubble.d.ts +14 -0
  47. package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -0
  48. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +70 -0
  49. package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +1 -0
  50. package/dist/src/chat-widget/components/MessageList.d.ts +15 -0
  51. package/dist/src/chat-widget/components/MessageList.d.ts.map +1 -0
  52. package/dist/src/chat-widget/components/MessageList.stories.d.ts +52 -0
  53. package/dist/src/chat-widget/components/MessageList.stories.d.ts.map +1 -0
  54. package/dist/src/chat-widget/components/TypingIndicator.d.ts +2 -0
  55. package/dist/src/chat-widget/components/TypingIndicator.d.ts.map +1 -0
  56. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts +39 -0
  57. package/dist/src/chat-widget/components/TypingIndicator.stories.d.ts.map +1 -0
  58. package/dist/src/chat-widget/components/VoiceInputArea.d.ts +26 -0
  59. package/dist/src/chat-widget/components/VoiceInputArea.d.ts.map +1 -0
  60. package/dist/src/chat-widget/components/index.d.ts +16 -0
  61. package/dist/src/chat-widget/components/index.d.ts.map +1 -0
  62. package/dist/src/chat-widget/hooks/useAnalytics.d.ts +19 -0
  63. package/dist/src/chat-widget/hooks/useAnalytics.d.ts.map +1 -0
  64. package/dist/src/chat-widget/hooks/useChatSocket.d.ts +30 -0
  65. package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -0
  66. package/dist/src/chat-widget/hooks/useChatState.d.ts +23 -0
  67. package/dist/src/chat-widget/hooks/useChatState.d.ts.map +1 -0
  68. package/dist/src/chat-widget/hooks/useChatWidget.d.ts +48 -0
  69. package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -0
  70. package/dist/src/chat-widget/hooks/useDarkMode.d.ts +6 -0
  71. package/dist/src/chat-widget/hooks/useDarkMode.d.ts.map +1 -0
  72. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts +10 -0
  73. package/dist/src/chat-widget/hooks/useDynamicHeight.d.ts.map +1 -0
  74. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts +34 -0
  75. package/dist/src/chat-widget/hooks/useFocusTrap.d.ts.map +1 -0
  76. package/dist/src/chat-widget/hooks/useHighContrast.d.ts +6 -0
  77. package/dist/src/chat-widget/hooks/useHighContrast.d.ts.map +1 -0
  78. package/dist/src/chat-widget/hooks/useIsMobile.d.ts +2 -0
  79. package/dist/src/chat-widget/hooks/useIsMobile.d.ts.map +1 -0
  80. package/dist/src/chat-widget/hooks/useNotifications.d.ts +23 -0
  81. package/dist/src/chat-widget/hooks/useNotifications.d.ts.map +1 -0
  82. package/dist/src/chat-widget/hooks/useRateLimit.d.ts +15 -0
  83. package/dist/src/chat-widget/hooks/useRateLimit.d.ts.map +1 -0
  84. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts +10 -0
  85. package/dist/src/chat-widget/hooks/useSEOMetadata.d.ts.map +1 -0
  86. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +12 -0
  87. package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts.map +1 -0
  88. package/dist/src/chat-widget/i18n/LanguageContext.d.ts +33 -0
  89. package/dist/src/chat-widget/i18n/LanguageContext.d.ts.map +1 -0
  90. package/dist/src/chat-widget/i18n/index.d.ts +8 -0
  91. package/dist/src/chat-widget/i18n/index.d.ts.map +1 -0
  92. package/dist/src/chat-widget/i18n/translations.d.ts +177 -0
  93. package/dist/src/chat-widget/i18n/translations.d.ts.map +1 -0
  94. package/dist/src/chat-widget/i18n/useTranslations.d.ts +27 -0
  95. package/dist/src/chat-widget/i18n/useTranslations.d.ts.map +1 -0
  96. package/dist/src/chat-widget/index.d.ts +11 -0
  97. package/dist/src/chat-widget/index.d.ts.map +1 -0
  98. package/dist/src/chat-widget/types/index.d.ts +268 -0
  99. package/dist/src/chat-widget/types/index.d.ts.map +1 -0
  100. package/dist/src/chat-widget/types/socket.d.ts +101 -0
  101. package/dist/src/chat-widget/types/socket.d.ts.map +1 -0
  102. package/dist/src/chat-widget/utils/dateUtils.d.ts +33 -0
  103. package/dist/src/chat-widget/utils/dateUtils.d.ts.map +1 -0
  104. package/dist/src/chat-widget/utils/defaultAssets.d.ts +20 -0
  105. package/dist/src/chat-widget/utils/defaultAssets.d.ts.map +1 -0
  106. package/dist/src/chat-widget/utils/deviceId.d.ts +18 -0
  107. package/dist/src/chat-widget/utils/deviceId.d.ts.map +1 -0
  108. package/dist/src/chat-widget/utils/fileValidation.d.ts +75 -0
  109. package/dist/src/chat-widget/utils/fileValidation.d.ts.map +1 -0
  110. package/dist/src/chat-widget/utils/logger.d.ts +31 -0
  111. package/dist/src/chat-widget/utils/logger.d.ts.map +1 -0
  112. package/dist/src/chat-widget/utils/performance.d.ts +50 -0
  113. package/dist/src/chat-widget/utils/performance.d.ts.map +1 -0
  114. package/dist/src/chat-widget/utils/storage.d.ts +24 -0
  115. package/dist/src/chat-widget/utils/storage.d.ts.map +1 -0
  116. package/dist/src/chat-widget/utils/theme.d.ts +122 -0
  117. package/dist/src/chat-widget/utils/theme.d.ts.map +1 -0
  118. package/dist/src/chat-widget/utils/theme.examples.d.ts +47 -0
  119. package/dist/src/chat-widget/utils/theme.examples.d.ts.map +1 -0
  120. package/dist/src/chat-widget/utils/themes/index.d.ts +12 -0
  121. package/dist/src/chat-widget/utils/themes/index.d.ts.map +1 -0
  122. package/dist/src/chat-widget/voice/components/CallButton.d.ts +12 -0
  123. package/dist/src/chat-widget/voice/components/CallButton.d.ts.map +1 -0
  124. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts +12 -0
  125. package/dist/src/chat-widget/voice/components/LiveCallOverlay.d.ts.map +1 -0
  126. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts +13 -0
  127. package/dist/src/chat-widget/voice/components/VoiceButton.d.ts.map +1 -0
  128. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts +12 -0
  129. package/dist/src/chat-widget/voice/components/VoiceChatOverlay.d.ts.map +1 -0
  130. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts +12 -0
  131. package/dist/src/chat-widget/voice/components/WaveformVisualizer.d.ts.map +1 -0
  132. package/dist/src/chat-widget/voice/components/index.d.ts +10 -0
  133. package/dist/src/chat-widget/voice/components/index.d.ts.map +1 -0
  134. package/dist/src/chat-widget/voice/index.d.ts +11 -0
  135. package/dist/src/chat-widget/voice/index.d.ts.map +1 -0
  136. package/dist/src/chat-widget/voice/types.d.ts +232 -0
  137. package/dist/src/chat-widget/voice/types.d.ts.map +1 -0
  138. package/dist/src/chat-widget/voice/useLiveCall.d.ts +13 -0
  139. package/dist/src/chat-widget/voice/useLiveCall.d.ts.map +1 -0
  140. package/dist/src/chat-widget/voice/useVoiceChat.d.ts +13 -0
  141. package/dist/src/chat-widget/voice/useVoiceChat.d.ts.map +1 -0
  142. package/dist/src/chat-widget/voice/useVoiceState.d.ts +38 -0
  143. package/dist/src/chat-widget/voice/useVoiceState.d.ts.map +1 -0
  144. package/dist/src/lib/utils.d.ts +3 -0
  145. package/dist/src/lib/utils.d.ts.map +1 -0
  146. package/dist/standalone.d.ts +95 -0
  147. package/dist/standalone.d.ts.map +1 -0
  148. package/dist/stats.html +1 -1
  149. package/package.json +3 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/utils/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAe3C,cAAM,WAAW;IACf,OAAO,CAAC,EAAE,CAAoC;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAI;IAEzB,IAAI;IAuBJ,WAAW,CAAC,OAAO,EAAE,WAAW;IAShC,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE;IAUpC,WAAW,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAWhD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAUxD,aAAa,CAAC,EAAE,EAAE,MAAM;IASxB,aAAa;IAUb,WAAW,CAAC,IAAI,EAAE,GAAG;IASrB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;IAU3B,QAAQ;IAWR,uBAAuB;CA+B9B;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAA"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Sistema de Temas y CSS Variables
4
+ *
5
+ * Este módulo centraliza toda la gestión de temas del widget.
6
+ * Exporta temas predefinidos, utilidades y constantes.
7
+ */
8
+ import { ChatTheme } from '../types';
9
+ /**
10
+ * ===================================
11
+ * CSS VARIABLES (HSL Format)
12
+ * ===================================
13
+ */
14
+ export interface CSSVariables {
15
+ background: string;
16
+ foreground: string;
17
+ card: string;
18
+ cardForeground: string;
19
+ primary: string;
20
+ primaryForeground: string;
21
+ muted: string;
22
+ mutedForeground: string;
23
+ border: string;
24
+ destructive: string;
25
+ radius: string;
26
+ spacing1?: string;
27
+ spacing2?: string;
28
+ spacing3?: string;
29
+ spacing4?: string;
30
+ spacing5?: string;
31
+ spacing6?: string;
32
+ spacing8?: string;
33
+ }
34
+ /**
35
+ * Valores CSS por defecto (Light Mode - BotUyo)
36
+ */
37
+ export declare const DEFAULT_CSS_VARIABLES: CSSVariables;
38
+ /**
39
+ * Valores CSS para Dark Mode
40
+ */
41
+ export declare const DARK_CSS_VARIABLES: CSSVariables;
42
+ /**
43
+ * ===================================
44
+ * TEMAS PREDEFINIDOS
45
+ * ===================================
46
+ *
47
+ * Cada tema está diseñado para ser visualmente único y distintivo.
48
+ * Los usuarios pueden personalizar cualquier valor, y el sistema de merge
49
+ * garantiza que los valores faltantes se completen con defaults.
50
+ */
51
+ /**
52
+ * TEMA DEFAULT - BotUyo (Verde Fresco)
53
+ * Tema por defecto cuando no se envía configuración
54
+ */
55
+ export declare const DEFAULT_THEME: Required<Omit<ChatTheme, 'avatars' | 'emotion' | 'starterPrompt' | 'launcherBorderRadius' | 'borderRadius' | 'bubbleStyles' | 'promptPersistence' | 'avatarScale' | 'height' | 'bottom' | 'defaultLocale'>>;
56
+ /**
57
+ * TEMA OCEAN - Azul Profundo
58
+ * Diseño profesional y corporativo con tonos azules
59
+ */
60
+ export declare const OCEAN_THEME: ChatTheme;
61
+ /**
62
+ * TEMA SUNSET - Naranja Cálido
63
+ * Diseño energético y amigable con tonos cálidos
64
+ */
65
+ export declare const SUNSET_THEME: ChatTheme;
66
+ /**
67
+ * TEMA MIDNIGHT - Negro Premium
68
+ * Diseño oscuro y minimalista de alto contraste
69
+ */
70
+ export declare const MIDNIGHT_THEME: ChatTheme;
71
+ /**
72
+ * TEMA NATURE - Verde Bosque
73
+ * Diseño natural y relajante
74
+ */
75
+ export declare const NATURE_THEME: ChatTheme;
76
+ /**
77
+ * ===================================
78
+ * UTILIDADES
79
+ * ===================================
80
+ */
81
+ /**
82
+ * Sistema de Merge de Temas con Prioridades
83
+ *
84
+ * PRIORIDAD (de mayor a menor):
85
+ * 1. Tema del proyecto (userTheme) - Lo que el usuario define en su código
86
+ * 2. Tema del socket (socketTheme) - Lo que viene de la API/configuración remota
87
+ * 3. Tema por defecto (DEFAULT_THEME) - Valores fallback
88
+ *
89
+ * El merge es PROFUNDO para cssVariables, garantizando que cada propiedad
90
+ * individual se complete con su fallback correspondiente.
91
+ */
92
+ export declare function mergeThemeWithDefaults(userTheme?: Partial<ChatTheme>, socketTheme?: Partial<ChatTheme>): Required<Omit<ChatTheme, 'avatars' | 'emotion' | 'starterPrompt' | 'launcherBorderRadius' | 'borderRadius' | 'bubbleStyles' | 'promptPersistence' | 'avatarScale' | 'height' | 'bottom' | 'defaultLocale'>>;
93
+ /**
94
+ * Obtiene el color primario con fallback
95
+ */
96
+ export declare function getPrimaryColor(options: {
97
+ primaryColor?: string;
98
+ }): string;
99
+ /**
100
+ * Convierte variables CSS a un objeto de estilos inline
101
+ */
102
+ export declare function cssVariablesToInlineStyles(variables: Partial<CSSVariables>): Record<string, string>;
103
+ /**
104
+ * Genera estilos de color sólidos desde variables CSS
105
+ */
106
+ export declare function getSolidStyles(variables?: Partial<CSSVariables>): {
107
+ background: string;
108
+ foreground: string;
109
+ card: string;
110
+ cardForeground: string;
111
+ primary: string;
112
+ primaryForeground: string;
113
+ muted: string;
114
+ mutedForeground: string;
115
+ border: string;
116
+ destructive: string;
117
+ };
118
+ /**
119
+ * Retorna el tema completo con fallbacks aplicados
120
+ */
121
+ export declare function getMergedTheme(theme?: ChatTheme): ChatTheme;
122
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/utils/theme.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IAGd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAqBnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAqBhC,CAAA;AAED;;;;;;;;GAQG;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAClC,IAAI,CACF,SAAS,EACP,SAAS,GACT,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,cAAc,GACd,cAAc,GACd,mBAAmB,GACnB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,eAAe,CAClB,CASF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAkBzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,SAoB1B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAsB5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,SAiB1B,CAAA;AAED;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAC9B,WAAW,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC/B,QAAQ,CACT,IAAI,CACF,SAAS,EACP,SAAS,GACT,SAAS,GACT,eAAe,GACf,sBAAsB,GACtB,cAAc,GACd,cAAc,GACd,mBAAmB,GACnB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,eAAe,CAClB,CACF,CAsBA;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE1E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;EAc/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAE,SAAc,GAAG,SAAS,CAE/D"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Ejemplo de uso del Sistema de Temas
3
+ *
4
+ * Este archivo demuestra cómo usar los temas predefinidos,
5
+ * crear temas personalizados y aplicarlos al widget.
6
+ */
7
+ declare const defaultTheme: Required<Omit<import("..").ChatTheme, "defaultLocale" | "avatars" | "emotion" | "starterPrompt" | "launcherBorderRadius" | "borderRadius" | "bubbleStyles" | "promptPersistence" | "avatarScale" | "height" | "bottom">>;
8
+ declare const customSimpleTheme: {
9
+ primaryColor: string;
10
+ botName: string;
11
+ cssVariables: {
12
+ primary: string;
13
+ };
14
+ };
15
+ declare const customFullTheme: {
16
+ primaryColor: string;
17
+ botName: string;
18
+ logoUrl: string;
19
+ position: "bottom-left";
20
+ welcomeMessage: string;
21
+ inputPlaceholder: string;
22
+ cssVariables: {
23
+ background: string;
24
+ foreground: string;
25
+ card: string;
26
+ cardForeground: string;
27
+ primary: string;
28
+ primaryForeground: string;
29
+ muted: string;
30
+ mutedForeground: string;
31
+ border: string;
32
+ destructive: string;
33
+ radius: string;
34
+ };
35
+ };
36
+ export declare const mergedTheme: Required<Omit<import("..").ChatTheme, "defaultLocale" | "avatars" | "emotion" | "starterPrompt" | "launcherBorderRadius" | "borderRadius" | "bubbleStyles" | "promptPersistence" | "avatarScale" | "height" | "bottom">>;
37
+ export declare const myComponent: {
38
+ backgroundColor: string;
39
+ color: string;
40
+ borderColor: string;
41
+ };
42
+ export declare const containerStyle: {
43
+ backgroundColor: string;
44
+ };
45
+ export declare function MyApp(): boolean;
46
+ export { defaultTheme, customSimpleTheme, customFullTheme, };
47
+ //# sourceMappingURL=theme.examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.examples.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/utils/theme.examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,QAAA,MAAM,YAAY,0NAAgB,CAAA;AA6BlC,QAAA,MAAM,iBAAiB;;;;;;CAOtB,CAAA;AAGD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;CAoBpB,CAAA;AAiBD,eAAO,MAAM,WAAW,0NAAoC,CAAA;AAmB5D,eAAO,MAAM,WAAW;;;;CAIvB,CAAA;AAkBD,eAAO,MAAM,cAAc;;CAG1B,CAAA;AAyBD,wBAAgB,KAAK,YAcpB;AAuFD,OAAO,EAEL,YAAY,EAMZ,iBAAiB,EACjB,eAAe,GAEhB,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Exportaciones centrales del sistema de temas
4
+ *
5
+ * Importa desde aquí todo lo relacionado con temas:
6
+ * import { DEFAULT_THEME, getSolidStyles, mergeThemeWithDefaults } from './utils/themes'
7
+ */
8
+ export type { CSSVariables } from '../theme';
9
+ export { DEFAULT_CSS_VARIABLES, DARK_CSS_VARIABLES } from '../theme';
10
+ export { DEFAULT_THEME, } from '../theme';
11
+ export { mergeThemeWithDefaults, getPrimaryColor, cssVariablesToInlineStyles, getSolidStyles, } from '../theme';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/utils/themes/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG5C,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAGpE,OAAO,EACL,aAAa,GAId,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,cAAc,GACf,MAAM,UAAU,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Call Button Component
4
+ *
5
+ * Button to start/end live voice calls.
6
+ */
7
+ import type { CallButtonProps } from '../types';
8
+ /**
9
+ * Call button for starting/ending live voice calls
10
+ */
11
+ export declare function CallButton({ state, isSupported, callDuration, primaryColor, onStartCall, onEndCall, disabled, }: CallButtonProps): import("react/jsx-runtime").JSX.Element | null;
12
+ //# sourceMappingURL=CallButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CallButton.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/voice/components/CallButton.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAW/C;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,YAAgB,EAChB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAgB,GACjB,EAAE,eAAe,kDAqEjB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Live Call Overlay Component
4
+ *
5
+ * Full-screen overlay displayed during an active live call.
6
+ */
7
+ import type { LiveCallOverlayProps } from '../types';
8
+ /**
9
+ * Full-screen overlay for active live calls
10
+ */
11
+ export declare function LiveCallOverlay({ isOpen, state, callDuration, transcription, botResponse, onEndCall, }: LiveCallOverlayProps): import("react/jsx-runtime").JSX.Element | null;
12
+ //# sourceMappingURL=LiveCallOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveCallOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/voice/components/LiveCallOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAwBpD;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,KAAK,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,SAAS,GACV,EAAE,oBAAoB,kDA+FtB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Button Component
4
+ *
5
+ * Microphone button for initiating voice chat.
6
+ * Supports press-and-hold or tap interactions.
7
+ */
8
+ import type { VoiceButtonProps } from '../types';
9
+ /**
10
+ * Voice recording button with visual feedback
11
+ */
12
+ export declare function VoiceButton({ state, isSupported, primaryColor, onPress, onRelease, onCancel, disabled, }: VoiceButtonProps): import("react/jsx-runtime").JSX.Element | null;
13
+ //# sourceMappingURL=VoiceButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceButton.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/voice/components/VoiceButton.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAgB,GACjB,EAAE,gBAAgB,kDAiHlB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Chat Overlay Component
4
+ *
5
+ * Full-screen overlay for voice chat interaction with visual feedback.
6
+ */
7
+ import type { VoiceChatOverlayProps } from '../types';
8
+ /**
9
+ * Full-screen overlay for voice chat interaction
10
+ */
11
+ export declare function VoiceChatOverlay({ isOpen, state, partialTranscription, finalTranscription, botResponse, recordingDuration, maxDuration, onClose, onCancel, }: VoiceChatOverlayProps): import("react/jsx-runtime").JSX.Element | null;
12
+ //# sourceMappingURL=VoiceChatOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceChatOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/voice/components/VoiceChatOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAYrD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,WAAgB,EAChB,OAAO,EACP,QAAQ,GACT,EAAE,qBAAqB,kDAuJvB"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Waveform Visualizer Component
4
+ *
5
+ * Animated audio waveform visualization for voice recording feedback.
6
+ */
7
+ import type { WaveformVisualizerProps } from '../types';
8
+ /**
9
+ * Animated waveform bars for audio visualization
10
+ */
11
+ export declare function WaveformVisualizer({ isActive, className, barCount, color, }: WaveformVisualizerProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=WaveformVisualizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WaveformVisualizer.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/voice/components/WaveformVisualizer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,QAAY,EACZ,KAAK,GACN,EAAE,uBAAuB,2CAiDzB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Components Barrel Export
4
+ */
5
+ export { CallButton } from './CallButton';
6
+ export { LiveCallOverlay } from './LiveCallOverlay';
7
+ export { VoiceButton } from './VoiceButton';
8
+ export { VoiceChatOverlay } from './VoiceChatOverlay';
9
+ export { WaveformVisualizer } from './WaveformVisualizer';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/chat-widget/voice/components/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Module Barrel Export
4
+ */
5
+ export type { LiveCallState, LiveCallClientMessage, LiveCallServerMessage, LiveCallErrorCode, LiveCallErrorMessage, UseLiveCallOptions, UseLiveCallReturn, CallButtonProps, LiveCallOverlayProps, VoiceState, VoiceServerMessage, UseVoiceChatOptions, UseVoiceChatReturn, VoiceConfig, VoiceButtonProps, VoiceChatOverlayProps, WaveformVisualizerProps, } from './types';
6
+ export { VOICE_AUDIO_CONFIG } from './types';
7
+ export { useLiveCall } from './useLiveCall';
8
+ export { useVoiceChat } from './useVoiceChat';
9
+ export { useVoiceState } from './useVoiceState';
10
+ export { CallButton, LiveCallOverlay, VoiceButton, VoiceChatOverlay, WaveformVisualizer, } from './components';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAEV,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EAEpB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,cAAc,CAAA"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Module Types
4
+ *
5
+ * Types for Live Call (real-time voice conversation) and Voice Notes (async).
6
+ */
7
+ /**
8
+ * Live Call state machine states
9
+ */
10
+ export type LiveCallState = 'idle' | 'calling' | 'ready' | 'listening' | 'thinking' | 'speaking';
11
+ /**
12
+ * Live Call client → server messages
13
+ */
14
+ export interface LiveCallAuthMessage {
15
+ type: 'auth';
16
+ tenantId: string;
17
+ sessionId: string;
18
+ conversationId?: string;
19
+ }
20
+ export interface LiveCallStartMessage {
21
+ type: 'start_call';
22
+ }
23
+ export interface LiveCallEndMessage {
24
+ type: 'end_call';
25
+ }
26
+ export type LiveCallClientMessage = LiveCallAuthMessage | LiveCallStartMessage | LiveCallEndMessage;
27
+ /**
28
+ * Live Call server → client messages
29
+ */
30
+ export interface LiveCallStartedMessage {
31
+ type: 'call_started';
32
+ greeting?: string;
33
+ }
34
+ export interface LiveCallListeningMessage {
35
+ type: 'listening';
36
+ }
37
+ export interface LiveCallTranscriptionMessage {
38
+ type: 'transcription';
39
+ text: string;
40
+ }
41
+ export interface LiveCallSpeakingMessage {
42
+ type: 'speaking';
43
+ }
44
+ export interface LiveCallResponseTextMessage {
45
+ type: 'response_text';
46
+ text: string;
47
+ }
48
+ export interface LiveCallDoneMessage {
49
+ type: 'done';
50
+ }
51
+ export interface LiveCallErrorMessage {
52
+ type: 'error';
53
+ code: LiveCallErrorCode;
54
+ message: string;
55
+ }
56
+ export type LiveCallErrorCode = 'voice_disabled' | 'quota_exceeded' | 'connection_error' | 'microphone_denied' | 'browser_unsupported';
57
+ export type LiveCallServerMessage = LiveCallStartedMessage | LiveCallListeningMessage | LiveCallTranscriptionMessage | LiveCallSpeakingMessage | LiveCallResponseTextMessage | LiveCallDoneMessage | LiveCallErrorMessage;
58
+ /**
59
+ * Live Call hook options
60
+ */
61
+ export interface UseLiveCallOptions {
62
+ apiBaseUrl: string;
63
+ tenantId: string;
64
+ sessionId: string;
65
+ conversationId?: string;
66
+ wsEndpoint?: string;
67
+ onStateChange?: (state: LiveCallState) => void;
68
+ onTranscription?: (text: string) => void;
69
+ onBotResponse?: (text: string) => void;
70
+ onError?: (error: LiveCallErrorMessage) => void;
71
+ }
72
+ /**
73
+ * Live Call hook return type
74
+ */
75
+ export interface UseLiveCallReturn {
76
+ state: LiveCallState;
77
+ isSupported: boolean;
78
+ callDuration: number;
79
+ startCall: () => Promise<void>;
80
+ endCall: () => void;
81
+ }
82
+ /**
83
+ * Voice Notes state (simpler, async flow)
84
+ * @deprecated Use LiveCallState for real-time calls
85
+ */
86
+ export type VoiceState = 'idle' | 'listening' | 'processing' | 'speaking';
87
+ /**
88
+ * Voice Notes server → client messages
89
+ * @deprecated Use LiveCallServerMessage for real-time calls
90
+ */
91
+ export interface VoiceTranscriptionPartial {
92
+ type: 'transcription_partial';
93
+ text: string;
94
+ }
95
+ export interface VoiceTranscriptionFinal {
96
+ type: 'transcription_final';
97
+ text: string;
98
+ }
99
+ export interface VoiceResponseStart {
100
+ type: 'response_start';
101
+ }
102
+ export interface VoiceResponseText {
103
+ type: 'response_text';
104
+ text: string;
105
+ }
106
+ export interface VoiceResponseEnd {
107
+ type: 'response_end';
108
+ }
109
+ export interface VoiceErrorMessage {
110
+ type: 'error';
111
+ code: string;
112
+ message: string;
113
+ }
114
+ export type VoiceServerMessage = VoiceTranscriptionPartial | VoiceTranscriptionFinal | VoiceResponseStart | VoiceResponseText | VoiceResponseEnd | VoiceErrorMessage;
115
+ /**
116
+ * Voice Notes hook options
117
+ * @deprecated Use UseLiveCallOptions for real-time calls
118
+ */
119
+ export interface UseVoiceChatOptions {
120
+ apiBaseUrl: string;
121
+ tenantId: string;
122
+ sessionId: string;
123
+ conversationId?: string;
124
+ config?: VoiceConfig;
125
+ onTranscription?: (text: string, isFinal: boolean) => void;
126
+ onBotResponse?: (text: string) => void;
127
+ onBotAudioPlayed?: () => void;
128
+ onStateChange?: (state: VoiceState) => void;
129
+ onError?: (error: VoiceErrorMessage) => void;
130
+ }
131
+ /**
132
+ * Voice Notes hook return type
133
+ * @deprecated Use UseLiveCallReturn for real-time calls
134
+ */
135
+ export interface UseVoiceChatReturn {
136
+ state: VoiceState;
137
+ isConnected: boolean;
138
+ isSupported: boolean;
139
+ partialTranscription: string;
140
+ recordingDuration: number;
141
+ startRecording: () => Promise<void>;
142
+ stopRecording: () => void;
143
+ cancelRecording: () => void;
144
+ stopPlayback: () => void;
145
+ connect: () => void;
146
+ disconnect: () => void;
147
+ }
148
+ /**
149
+ * Voice configuration from tenant settings
150
+ */
151
+ export interface VoiceConfig {
152
+ enabled?: boolean;
153
+ language?: string;
154
+ voiceId?: string;
155
+ maxDurationSeconds?: number;
156
+ wsEndpoint?: string;
157
+ }
158
+ /**
159
+ * Audio format configuration
160
+ */
161
+ export declare const VOICE_AUDIO_CONFIG: {
162
+ readonly input: {
163
+ readonly sampleRate: 16000;
164
+ readonly bitDepth: 16;
165
+ readonly channels: 1;
166
+ readonly chunkSize: 320;
167
+ };
168
+ readonly output: {
169
+ readonly sampleRate: 24000;
170
+ readonly bitDepth: 16;
171
+ readonly channels: 1;
172
+ };
173
+ };
174
+ /**
175
+ * Call button props (for Live Call)
176
+ */
177
+ export interface CallButtonProps {
178
+ state: LiveCallState;
179
+ isSupported: boolean;
180
+ callDuration?: number;
181
+ primaryColor?: string;
182
+ onStartCall: () => void;
183
+ onEndCall: () => void;
184
+ disabled?: boolean;
185
+ }
186
+ /**
187
+ * Voice button props (for Voice Notes - legacy)
188
+ */
189
+ export interface VoiceButtonProps {
190
+ state: VoiceState;
191
+ isSupported: boolean;
192
+ primaryColor?: string;
193
+ onPress: () => void;
194
+ onRelease: () => void;
195
+ onCancel: () => void;
196
+ disabled?: boolean;
197
+ }
198
+ /**
199
+ * Waveform visualizer props
200
+ */
201
+ export interface WaveformVisualizerProps {
202
+ isActive: boolean;
203
+ className?: string;
204
+ barCount?: number;
205
+ color?: string;
206
+ }
207
+ /**
208
+ * Live call overlay props
209
+ */
210
+ export interface LiveCallOverlayProps {
211
+ isOpen: boolean;
212
+ state: LiveCallState;
213
+ callDuration: number;
214
+ transcription?: string;
215
+ botResponse?: string;
216
+ onEndCall: () => void;
217
+ }
218
+ /**
219
+ * Voice chat overlay props (legacy)
220
+ */
221
+ export interface VoiceChatOverlayProps {
222
+ isOpen: boolean;
223
+ state: VoiceState;
224
+ partialTranscription: string;
225
+ finalTranscription?: string;
226
+ botResponse?: string;
227
+ recordingDuration: number;
228
+ maxDuration?: number;
229
+ onClose: () => void;
230
+ onCancel: () => void;
231
+ }
232
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Live Call Hook
4
+ *
5
+ * Real-time voice conversation like a phone call from the browser.
6
+ * Uses WebSocket for bidirectional audio streaming.
7
+ */
8
+ import type { UseLiveCallOptions, UseLiveCallReturn } from './types';
9
+ /**
10
+ * Hook for live call voice conversation
11
+ */
12
+ export declare function useLiveCall(options: UseLiveCallOptions): UseLiveCallReturn;
13
+ //# sourceMappingURL=useLiveCall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLiveCall.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/useLiveCall.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAGV,kBAAkB,EAClB,iBAAiB,EAElB,MAAM,SAAS,CAAA;AA2ChB;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB,CAuV1E"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice Chat Hook
4
+ *
5
+ * Main hook for managing real-time voice chat functionality via WebSocket.
6
+ * Handles audio capture, streaming, and playback.
7
+ */
8
+ import type { UseVoiceChatOptions, UseVoiceChatReturn } from './types';
9
+ /**
10
+ * Hook for managing real-time voice chat
11
+ */
12
+ export declare function useVoiceChat(options: UseVoiceChatOptions): UseVoiceChatReturn;
13
+ //# sourceMappingURL=useVoiceChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceChat.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/useVoiceChat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAwD1F;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,kBAAkB,CAwb7E"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @package @botuyo/chat-widget
3
+ * Voice State Machine Hook
4
+ *
5
+ * Manages the voice chat state machine with transitions and recording timer.
6
+ */
7
+ import type { VoiceState } from './types';
8
+ interface UseVoiceStateOptions {
9
+ /** Maximum recording duration in seconds */
10
+ maxDuration?: number;
11
+ /** Callback when max duration is reached */
12
+ onMaxDurationReached?: () => void;
13
+ /** Callback when state changes */
14
+ onStateChange?: (state: VoiceState) => void;
15
+ }
16
+ interface UseVoiceStateReturn {
17
+ /** Current voice state */
18
+ state: VoiceState;
19
+ /** Recording duration in seconds */
20
+ recordingDuration: number;
21
+ /** Transition to a new state */
22
+ transition: (newState: VoiceState) => void;
23
+ /** Reset to idle state */
24
+ reset: () => void;
25
+ }
26
+ /**
27
+ * Hook for managing voice chat state machine
28
+ *
29
+ * Valid transitions:
30
+ * - idle → listening
31
+ * - listening → processing
32
+ * - processing → speaking
33
+ * - speaking → idle
34
+ * - any → idle (reset/cancel)
35
+ */
36
+ export declare function useVoiceState(options?: UseVoiceStateOptions): UseVoiceStateReturn;
37
+ export {};
38
+ //# sourceMappingURL=useVoiceState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVoiceState.d.ts","sourceRoot":"","sources":["../../../../src/chat-widget/voice/useVoiceState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,UAAU,oBAAoB;IAC5B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;CAC5C;AAED,UAAU,mBAAmB;IAC3B,0BAA0B;IAC1B,KAAK,EAAE,UAAU,CAAA;IACjB,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,CAAA;IACzB,gCAAgC;IAChC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI,CAAA;IAC1C,0BAA0B;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAuFrF"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}