@botuyo/chat-widget-standalone 1.0.2 → 1.0.5
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.
- package/README.md +158 -226
- package/dist/ChatWidget-3m1RqH_c.js +33 -0
- package/dist/ChatWidget-3m1RqH_c.js.map +1 -0
- package/dist/botuyo-chat.css +1 -1
- package/dist/botuyo-chat.es.js +2 -0
- package/dist/botuyo-chat.es.js.map +1 -0
- package/dist/botuyo-chat.umd.css +1 -0
- package/dist/botuyo-chat.umd.js +2 -0
- package/dist/botuyo-chat.umd.js.map +1 -0
- package/dist/chunk-audio-C4Q6VB-1.js +13 -0
- package/dist/chunk-audio-C4Q6VB-1.js.map +1 -0
- package/dist/chunk-chat-ui-DmqgsaBa.js +104 -0
- package/dist/chunk-chat-ui-DmqgsaBa.js.map +1 -0
- package/dist/{chunk-gallery-CHMxgXlB.js → chunk-gallery-Ca7lW3V4.js} +2 -2
- package/dist/{chunk-gallery-CHMxgXlB.js.map → chunk-gallery-Ca7lW3V4.js.map} +1 -1
- package/dist/src/chat-widget/ChatWidget.d.ts +1 -0
- package/dist/src/chat-widget/ChatWidget.d.ts.map +1 -1
- package/dist/src/chat-widget/components/AudioPlayer.d.ts.map +1 -1
- package/dist/src/chat-widget/components/ChatWindow.d.ts +2 -1
- package/dist/src/chat-widget/components/ChatWindow.d.ts.map +1 -1
- package/dist/src/chat-widget/components/Icons.d.ts +4 -1
- package/dist/src/chat-widget/components/Icons.d.ts.map +1 -1
- package/dist/src/chat-widget/components/InputArea.d.ts +2 -1
- package/dist/src/chat-widget/components/InputArea.d.ts.map +1 -1
- package/dist/src/chat-widget/components/InputArea.stories.d.ts +1 -0
- package/dist/src/chat-widget/components/InputArea.stories.d.ts.map +1 -1
- package/dist/src/chat-widget/components/Launcher.d.ts.map +1 -1
- package/dist/src/chat-widget/components/MessageBubble.d.ts +1 -0
- package/dist/src/chat-widget/components/MessageBubble.d.ts.map +1 -1
- package/dist/src/chat-widget/components/MessageBubble.stories.d.ts +1 -0
- package/dist/src/chat-widget/components/MessageBubble.stories.d.ts.map +1 -1
- package/dist/src/chat-widget/components/VoiceCallDemo.d.ts +15 -0
- package/dist/src/chat-widget/components/VoiceCallDemo.d.ts.map +1 -0
- package/dist/src/chat-widget/contexts/AnimationContext.d.ts +69 -0
- package/dist/src/chat-widget/contexts/AnimationContext.d.ts.map +1 -0
- package/dist/src/chat-widget/hooks/useChatSocket.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useChatWidget.d.ts.map +1 -1
- package/dist/src/chat-widget/hooks/useWidgetTheme.d.ts +1 -1
- package/dist/src/chat-widget/types/index.d.ts +54 -0
- package/dist/src/chat-widget/types/index.d.ts.map +1 -1
- package/dist/src/chat-widget/utils/theme.d.ts +2 -2
- package/dist/src/chat-widget/utils/theme.d.ts.map +1 -1
- package/dist/src/chat-widget/utils/theme.examples.d.ts +2 -2
- package/dist/src/chat-widget/utils/theme.examples.d.ts.map +1 -1
- package/dist/standalone.d.ts.map +1 -1
- package/dist/stats-umd.html +4949 -0
- package/dist/stats.html +1 -1
- package/package.json +147 -143
- package/dist/ChatWidget-BCHSZnMy.js +0 -33
- package/dist/ChatWidget-BCHSZnMy.js.map +0 -1
- package/dist/botuyo-chat.js +0 -2
- package/dist/botuyo-chat.js.map +0 -1
- package/dist/chunk-audio-BT2WWPfS.js +0 -10
- package/dist/chunk-audio-BT2WWPfS.js.map +0 -1
- package/dist/chunk-chat-ui-BHfnFN_3.js +0 -89
- package/dist/chunk-chat-ui-BHfnFN_3.js.map +0 -1
package/dist/botuyo-chat.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,R as o}from"./vendor-react-CtfcjTlq.js";import{d as i}from"./chunk-chat-ui-BHfnFN_3.js";const n=t.lazy(()=>import("./ChatWidget-BCHSZnMy.js").then(t=>({default:t.ChatWidget})));class r{root=null;container=null;config=null;init(t){return this.config=t,this.render(),this}render(){if(!this.config)return void console.error("[BotUyoChat] No configuration provided");if(this.container||(this.container=document.createElement("div"),this.container.id="botuyo-chat-widget-root",this.container.style.position="fixed",this.container.style.zIndex="999999",document.body.appendChild(this.container)),this.config.theme?.cssVariables){const t=this.config.theme.cssVariables,e={background:t.background,foreground:t.foreground,card:t.card,cardForeground:t.cardForeground,primary:t.primary,primaryForeground:t.primaryForeground,muted:t.muted,mutedForeground:t.mutedForeground,border:t.border,destructive:t.destructive,radius:t.radius,spacing1:t.spacing1,spacing2:t.spacing2,spacing3:t.spacing3,spacing4:t.spacing4,spacing5:t.spacing5,spacing6:t.spacing6,spacing8:t.spacing8};Object.entries(e).forEach(([t,e])=>{void 0!==e&&this.container.style.setProperty(`--${t}`,e)})}this.root||(this.root=e.createRoot(this.container));const r={apiKey:this.config.apiKey,apiBaseUrl:this.config.apiBaseUrl,theme:{primaryColor:"#10b981",botName:"Asistente Virtual",position:"bottom-right",welcomeMessage:"¡Hola! 👋 ¿En qué puedo ayudarte?",inputPlaceholder:"Escribe tu mensaje...",borderRadius:"0.75rem",launcherBorderRadius:"50%",...this.config.theme},userContext:this.config.userContext,pageContext:this.config.pageContext,includeSEOMetadata:this.config.includeSEOMetadata??!1,onNavigate:this.config.onNavigate,onLogin:this.config.onLogin,onEvent:this.config.onEvent,onStateChange:this.config.onStateChange},a=o.createElement(t.Suspense,{fallback:o.createElement("div",{style:{position:"fixed",bottom:"24px",right:"24px",width:"60px",height:"60px",borderRadius:"50%",backgroundColor:r.theme?.primaryColor||"#10b981",display:"flex",alignItems:"center",justifyContent:"center",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",cursor:"wait"}},o.createElement("div",{style:{width:"24px",height:"24px",border:"3px solid rgba(255, 255, 255, 0.3)",borderTopColor:"#fff",borderRadius:"50%",animation:"spin 1s linear infinite"}}))},o.createElement(n,r));this.root.render(o.createElement(i,{defaultLocale:this.config.theme?.defaultLocale,children:a})),console.log("[BotUyoChat] Widget initialized",r)}update(t){this.config?(this.config={...this.config,...t,theme:{...this.config.theme,...t.theme}},this.render()):console.error("[BotUyoChat] Widget not initialized")}destroy(){this.root&&(this.root.unmount(),this.root=null),this.container&&this.container.parentNode&&(this.container.parentNode.removeChild(this.container),this.container=null),this.config=null,console.log("[BotUyoChat] Widget destroyed")}open(){window.dispatchEvent(new CustomEvent("botuyo-chat:open"))}close(){window.dispatchEvent(new CustomEvent("botuyo-chat:close"))}sendMessage(t){window.dispatchEvent(new CustomEvent("botuyo-chat:send-message",{detail:{message:t}}))}getState(){return null}}const a=new r;window.BotUyoChat=a;export{r as BotUyoChatWidget,a as default};
|
|
2
|
-
//# sourceMappingURL=botuyo-chat.js.map
|
package/dist/botuyo-chat.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"botuyo-chat.js","sources":["../standalone.tsx"],"sourcesContent":["/**\r\n * BotUyo Chat Widget - Standalone Version\r\n * Entry point for CDN distribution\r\n * \r\n * This file creates a global `BotUyoChat` object that can be used\r\n * to initialize the chat widget on any website without React/Next.js\r\n * \r\n * OPTIMIZATION: Code splitting enabled\r\n * - Core bundle loads only Launcher (~80KB)\r\n * - ChatWidget lazy loads on user interaction (~200KB)\r\n * - Total reduction: 306KB -> ~100KB initial load (66% reduction)\r\n */\r\n\r\nimport { createRoot, Root } from 'react-dom/client';\r\nimport React, { lazy, Suspense } from 'react';\r\nimport type { ChatWidgetProps } from './src/chat-widget/types';\r\nimport { LanguageProvider } from './src/chat-widget/i18n/LanguageContext';\r\n\r\n// Import standalone styles\r\nimport './styles.css';\r\n\r\n// Lazy load ChatWidget - only loaded when user opens chat\r\nconst ChatWidget = lazy(() => \r\n import('./src/chat-widget/ChatWidget').then(module => ({\r\n default: module.ChatWidget\r\n }))\r\n);\r\n\r\ninterface CSSVariables {\r\n background?: string;\r\n foreground?: string;\r\n card?: string;\r\n cardForeground?: string;\r\n primary?: string;\r\n primaryForeground?: string;\r\n muted?: string;\r\n mutedForeground?: string;\r\n border?: string;\r\n destructive?: string;\r\n radius?: string;\r\n spacing1?: string;\r\n spacing2?: string;\r\n spacing3?: string;\r\n spacing4?: string;\r\n spacing5?: string;\r\n spacing6?: string;\r\n spacing8?: string;\r\n}\r\n\r\ninterface StandaloneConfig extends Partial<ChatWidgetProps> {\r\n // Override required fields to make them optional for standalone\r\n apiKey: string;\r\n apiBaseUrl: string;\r\n theme?: ChatWidgetProps['theme'] & {\r\n cssVariables?: CSSVariables;\r\n };\r\n}\r\n\r\nclass BotUyoChatWidget {\r\n private root: Root | null = null;\r\n private container: HTMLElement | null = null;\r\n private config: StandaloneConfig | null = null;\r\n\r\n /**\r\n * Initialize the chat widget\r\n * @param config - Widget configuration\r\n * @returns Widget instance for chaining\r\n */\r\n init(config: StandaloneConfig): this {\r\n this.config = config;\r\n this.render();\r\n return this;\r\n }\r\n\r\n /**\r\n * Render the widget into the DOM\r\n */\r\n private render(): void {\r\n if (!this.config) {\r\n console.error('[BotUyoChat] No configuration provided');\r\n return;\r\n }\r\n\r\n // Create container if it doesn't exist\r\n if (!this.container) {\r\n this.container = document.createElement('div');\r\n this.container.id = 'botuyo-chat-widget-root';\r\n this.container.style.position = 'fixed';\r\n this.container.style.zIndex = '999999';\r\n document.body.appendChild(this.container);\r\n }\r\n\r\n // Apply CSS variables to container if provided\r\n if (this.config.theme?.cssVariables) {\r\n const vars = this.config.theme.cssVariables;\r\n const varMap: Record<string, string | undefined> = {\r\n background: vars.background,\r\n foreground: vars.foreground,\r\n card: vars.card,\r\n cardForeground: vars.cardForeground,\r\n primary: vars.primary,\r\n primaryForeground: vars.primaryForeground,\r\n muted: vars.muted,\r\n mutedForeground: vars.mutedForeground,\r\n border: vars.border,\r\n destructive: vars.destructive,\r\n radius: vars.radius,\r\n // Design System - Spacing (no spacing7 - no existe en CSSVariables)\r\n spacing1: vars.spacing1,\r\n spacing2: vars.spacing2,\r\n spacing3: vars.spacing3,\r\n spacing4: vars.spacing4,\r\n spacing5: vars.spacing5,\r\n spacing6: vars.spacing6,\r\n spacing8: vars.spacing8,\r\n };\r\n\r\n Object.entries(varMap).forEach(([key, value]) => {\r\n if (value !== undefined) {\r\n this.container!.style.setProperty(`--${key}`, value);\r\n }\r\n });\r\n }\r\n\r\n // Create React root\r\n if (!this.root) {\r\n this.root = createRoot(this.container);\r\n }\r\n\r\n // Merge config with defaults (user config takes precedence)\r\n const widgetProps: ChatWidgetProps = {\r\n apiKey: this.config.apiKey,\r\n apiBaseUrl: this.config.apiBaseUrl,\r\n theme: {\r\n // Defaults\r\n primaryColor: '#10b981',\r\n botName: 'Asistente Virtual',\r\n // logoUrl is optional - components use DEFAULT_AVATAR_URL if not provided\r\n position: 'bottom-right',\r\n welcomeMessage: '¡Hola! 👋 ¿En qué puedo ayudarte?',\r\n inputPlaceholder: 'Escribe tu mensaje...',\r\n borderRadius: '0.75rem',\r\n launcherBorderRadius: '50%',\r\n // User config overrides defaults\r\n ...this.config.theme,\r\n },\r\n userContext: this.config.userContext,\r\n pageContext: this.config.pageContext,\r\n includeSEOMetadata: this.config.includeSEOMetadata ?? false,\r\n onNavigate: this.config.onNavigate,\r\n onLogin: this.config.onLogin,\r\n onEvent: this.config.onEvent,\r\n onStateChange: this.config.onStateChange,\r\n };\r\n\r\n // Render React component with Suspense for code splitting\r\n const suspenseElement = React.createElement(\r\n Suspense,\r\n {\r\n fallback: React.createElement(\r\n 'div',\r\n {\r\n style: {\r\n position: 'fixed',\r\n bottom: '24px',\r\n right: '24px',\r\n width: '60px',\r\n height: '60px',\r\n borderRadius: '50%',\r\n backgroundColor: widgetProps.theme?.primaryColor || '#10b981',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)',\r\n cursor: 'wait',\r\n }\r\n },\r\n React.createElement(\r\n 'div',\r\n {\r\n style: {\r\n width: '24px',\r\n height: '24px',\r\n border: '3px solid rgba(255, 255, 255, 0.3)',\r\n borderTopColor: '#fff',\r\n borderRadius: '50%',\r\n animation: 'spin 1s linear infinite',\r\n }\r\n }\r\n )\r\n )\r\n },\r\n React.createElement(ChatWidget, widgetProps)\r\n );\r\n\r\n this.root.render(\r\n React.createElement(\r\n LanguageProvider,\r\n { \r\n defaultLocale: this.config.theme?.defaultLocale,\r\n children: suspenseElement\r\n }\r\n )\r\n );\r\n\r\n console.log('[BotUyoChat] Widget initialized', widgetProps);\r\n }\r\n\r\n /**\r\n * Update widget configuration\r\n * @param config - Partial configuration to update\r\n */\r\n update(config: Partial<StandaloneConfig>): void {\r\n if (!this.config) {\r\n console.error('[BotUyoChat] Widget not initialized');\r\n return;\r\n }\r\n\r\n this.config = {\r\n ...this.config,\r\n ...config,\r\n theme: {\r\n ...this.config.theme,\r\n ...config.theme,\r\n },\r\n };\r\n\r\n this.render();\r\n }\r\n\r\n /**\r\n * Destroy the widget and clean up\r\n */\r\n destroy(): void {\r\n if (this.root) {\r\n this.root.unmount();\r\n this.root = null;\r\n }\r\n\r\n if (this.container && this.container.parentNode) {\r\n this.container.parentNode.removeChild(this.container);\r\n this.container = null;\r\n }\r\n\r\n this.config = null;\r\n console.log('[BotUyoChat] Widget destroyed');\r\n }\r\n\r\n /**\r\n * Open the chat window programmatically\r\n */\r\n open(): void {\r\n // This will be implemented by dispatching a custom event\r\n // that the widget listens to\r\n window.dispatchEvent(new CustomEvent('botuyo-chat:open'));\r\n }\r\n\r\n /**\r\n * Close the chat window programmatically\r\n */\r\n close(): void {\r\n window.dispatchEvent(new CustomEvent('botuyo-chat:close'));\r\n }\r\n\r\n /**\r\n * Send a message programmatically\r\n * @param message - Message text\r\n */\r\n sendMessage(message: string): void {\r\n window.dispatchEvent(\r\n new CustomEvent('botuyo-chat:send-message', {\r\n detail: { message },\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Get current widget state\r\n */\r\n getState(): { isOpen: boolean; messageCount: number } | null {\r\n // This would need to be implemented with proper state management\r\n return null;\r\n }\r\n}\r\n\r\n// Create global instance\r\nconst instance = new BotUyoChatWidget();\r\n\r\n// Expose to window\r\ndeclare global {\r\n interface Window {\r\n BotUyoChat: BotUyoChatWidget;\r\n }\r\n}\r\n\r\nwindow.BotUyoChat = instance;\r\n\r\n// Export for module systems\r\nexport default instance;\r\nexport { BotUyoChatWidget };\r\nexport type { StandaloneConfig };\r\n"],"names":["ChatWidget","lazy","import","then","module","default","BotUyoChatWidget","root","container","config","init","this","render","console","error","document","createElement","id","style","position","zIndex","body","appendChild","theme","cssVariables","vars","varMap","background","foreground","card","cardForeground","primary","primaryForeground","muted","mutedForeground","border","destructive","radius","spacing1","spacing2","spacing3","spacing4","spacing5","spacing6","spacing8","Object","entries","forEach","key","value","setProperty","createRoot","widgetProps","apiKey","apiBaseUrl","primaryColor","botName","welcomeMessage","inputPlaceholder","borderRadius","launcherBorderRadius","userContext","pageContext","includeSEOMetadata","onNavigate","onLogin","onEvent","onStateChange","suspenseElement","React","Suspense","fallback","bottom","right","width","height","backgroundColor","display","alignItems","justifyContent","boxShadow","cursor","borderTopColor","animation","LanguageProvider","defaultLocale","children","log","update","destroy","unmount","parentNode","removeChild","open","window","dispatchEvent","CustomEvent","close","sendMessage","message","detail","getState","instance","BotUyoChat"],"mappings":"6GAsBA,MAAMA,EAAaC,EAAAA,KAAK,IACtBC,OAAO,4BAAgCC,KAAKC,IAAA,CAC1CC,QAASD,EAAOJ,eAkCpB,MAAMM,EACIC,KAAoB,KACpBC,UAAgC,KAChCC,OAAkC,KAO1C,IAAAC,CAAKD,GAGH,OAFAE,KAAKF,OAASA,EACdE,KAAKC,SACED,IACT,CAKQ,MAAAC,GACN,IAAKD,KAAKF,OAER,YADAI,QAAQC,MAAM,0CAchB,GATKH,KAAKH,YACRG,KAAKH,UAAYO,SAASC,cAAc,OACxCL,KAAKH,UAAUS,GAAK,0BACpBN,KAAKH,UAAUU,MAAMC,SAAW,QAChCR,KAAKH,UAAUU,MAAME,OAAS,SAC9BL,SAASM,KAAKC,YAAYX,KAAKH,YAI7BG,KAAKF,OAAOc,OAAOC,aAAc,CACnC,MAAMC,EAAOd,KAAKF,OAAOc,MAAMC,aACzBE,EAA6C,CACjDC,WAAYF,EAAKE,WACjBC,WAAYH,EAAKG,WACjBC,KAAMJ,EAAKI,KACXC,eAAgBL,EAAKK,eACrBC,QAASN,EAAKM,QACdC,kBAAmBP,EAAKO,kBACxBC,MAAOR,EAAKQ,MACZC,gBAAiBT,EAAKS,gBACtBC,OAAQV,EAAKU,OACbC,YAAaX,EAAKW,YAClBC,OAAQZ,EAAKY,OAEbC,SAAUb,EAAKa,SACfC,SAAUd,EAAKc,SACfC,SAAUf,EAAKe,SACfC,SAAUhB,EAAKgB,SACfC,SAAUjB,EAAKiB,SACfC,SAAUlB,EAAKkB,SACfC,SAAUnB,EAAKmB,UAGjBC,OAAOC,QAAQpB,GAAQqB,QAAQ,EAAEC,EAAKC,WACtB,IAAVA,GACFtC,KAAKH,UAAWU,MAAMgC,YAAY,KAAKF,IAAOC,IAGpD,CAGKtC,KAAKJ,OACRI,KAAKJ,KAAO4C,aAAWxC,KAAKH,YAI9B,MAAM4C,EAA+B,CACnCC,OAAQ1C,KAAKF,OAAO4C,OACpBC,WAAY3C,KAAKF,OAAO6C,WACxB/B,MAAO,CAELgC,aAAc,UACdC,QAAS,oBAETrC,SAAU,eACVsC,eAAgB,oCAChBC,iBAAkB,wBAClBC,aAAc,UACdC,qBAAsB,SAEnBjD,KAAKF,OAAOc,OAEjBsC,YAAalD,KAAKF,OAAOoD,YACzBC,YAAanD,KAAKF,OAAOqD,YACzBC,mBAAoBpD,KAAKF,OAAOsD,qBAAsB,EACtDC,WAAYrD,KAAKF,OAAOuD,WACxBC,QAAStD,KAAKF,OAAOwD,QACrBC,QAASvD,KAAKF,OAAOyD,QACrBC,cAAexD,KAAKF,OAAO0D,eAIvBC,EAAkBC,EAAMrD,cAC5BsD,EAAAA,SACA,CACEC,SAAUF,EAAMrD,cACd,MACA,CACEE,MAAO,CACLC,SAAU,QACVqD,OAAQ,OACRC,MAAO,OACPC,MAAO,OACPC,OAAQ,OACRhB,aAAc,MACdiB,gBAAiBxB,EAAY7B,OAAOgC,cAAgB,UACpDsB,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBC,UAAW,iCACXC,OAAQ,SAGZZ,EAAMrD,cACJ,MACA,CACEE,MAAO,CACLwD,MAAO,OACPC,OAAQ,OACRxC,OAAQ,qCACR+C,eAAgB,OAChBvB,aAAc,MACdwB,UAAW,+BAMrBd,EAAMrD,cAAchB,EAAYoD,IAGlCzC,KAAKJ,KAAKK,OACRyD,EAAMrD,cACJoE,EACA,CACEC,cAAe1E,KAAKF,OAAOc,OAAO8D,cAClCC,SAAUlB,KAKhBvD,QAAQ0E,IAAI,kCAAmCnC,EACjD,CAMA,MAAAoC,CAAO/E,GACAE,KAAKF,QAKVE,KAAKF,OAAS,IACTE,KAAKF,UACLA,EACHc,MAAO,IACFZ,KAAKF,OAAOc,SACZd,EAAOc,QAIdZ,KAAKC,UAbHC,QAAQC,MAAM,sCAclB,CAKA,OAAA2E,GACM9E,KAAKJ,OACPI,KAAKJ,KAAKmF,UACV/E,KAAKJ,KAAO,MAGVI,KAAKH,WAAaG,KAAKH,UAAUmF,aACnChF,KAAKH,UAAUmF,WAAWC,YAAYjF,KAAKH,WAC3CG,KAAKH,UAAY,MAGnBG,KAAKF,OAAS,KACdI,QAAQ0E,IAAI,gCACd,CAKA,IAAAM,GAGEC,OAAOC,cAAc,IAAIC,YAAY,oBACvC,CAKA,KAAAC,GACEH,OAAOC,cAAc,IAAIC,YAAY,qBACvC,CAMA,WAAAE,CAAYC,GACVL,OAAOC,cACL,IAAIC,YAAY,2BAA4B,CAC1CI,OAAQ,CAAED,aAGhB,CAKA,QAAAE,GAEE,OAAO,IACT,EAIF,MAAMC,EAAW,IAAIhG,EASrBwF,OAAOS,WAAaD"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{r as e,j as r}from"./vendor-react-CtfcjTlq.js";import{g as s,c as t,L as a,P as l,a as o}from"./chunk-chat-ui-BHfnFN_3.js";const n=e.memo(function({url:n,isBot:i,primaryColor:c}){const[d,u]=e.useState(!1),[f,m]=e.useState(0),[h,x]=e.useState(0),[p,j]=e.useState(!0),y=e.useRef(null),w=e.useMemo(()=>s({primaryColor:c}),[c]);/* @__PURE__ */
|
|
2
|
-
return r.jsxs("div",{className:t("flex items-center gap-3 py-1 min-w-[200px]",i?"text-foreground":"text-primary-foreground"),children:[
|
|
3
|
-
/* @__PURE__ */r.jsx("audio",{ref:y,src:n,onLoadedMetadata:()=>{m(y.current?.duration||0),j(!1)},onTimeUpdate:()=>x(y.current?.currentTime||0),onEnded:()=>u(!1)}),
|
|
4
|
-
/* @__PURE__ */r.jsx("button",{onClick:()=>{d?y.current?.pause():y.current?.play(),u(!d)},disabled:p,className:"w-8 h-8 rounded-full flex items-center justify-center shrink-0",style:{backgroundColor:i?w:"hsl(var(--card))",color:i?"white":w},children:p?/* @__PURE__ */r.jsx(a,{className:"w-4 h-4 animate-spin"}):d?/* @__PURE__ */r.jsx(l,{className:"w-4 h-4 fill-current"}):/* @__PURE__ */r.jsx(o,{className:"w-4 h-4 fill-current ml-0.5"})}),
|
|
5
|
-
/* @__PURE__ */r.jsxs("div",{className:"flex-1 space-y-1",children:[
|
|
6
|
-
/* @__PURE__ */r.jsx("div",{className:"relative h-1 w-full bg-current/20 rounded-full overflow-hidden",children:/* @__PURE__ */r.jsx("div",{className:"absolute h-full bg-current rounded-full",style:{width:`${h/f*100||0}%`}})}),
|
|
7
|
-
/* @__PURE__ */r.jsxs("div",{className:"flex justify-between text-[9px] font-bold opacity-60",children:[
|
|
8
|
-
/* @__PURE__ */r.jsxs("span",{children:[Math.floor(h/60),":",Math.floor(h%60).toString().padStart(2,"0")]}),
|
|
9
|
-
/* @__PURE__ */r.jsxs("span",{children:[Math.floor(f/60),":",Math.floor(f%60).toString().padStart(2,"0")]})]})]})]})});export{n as AudioPlayer};
|
|
10
|
-
//# sourceMappingURL=chunk-audio-BT2WWPfS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-audio-BT2WWPfS.js","sources":["../src/chat-widget/components/AudioPlayer.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { useState, useRef, useMemo, memo } from 'react'\r\nimport { Play, Pause, Loader2 } from './Icons'\r\nimport { cn } from '@/lib/utils'\r\nimport { getPrimaryColor } from '../utils/theme'\r\n\r\ninterface AudioPlayerProps {\r\n url: string\r\n isBot: boolean\r\n primaryColor?: string\r\n}\r\n\r\nexport type { AudioPlayerProps }\r\n\r\nexport const AudioPlayer = memo(function AudioPlayer({\r\n url,\r\n isBot,\r\n primaryColor,\r\n}: AudioPlayerProps) {\r\n const [isPlaying, setIsPlaying] = useState(false)\r\n const [duration, setDuration] = useState(0)\r\n const [currentTime, setCurrentTime] = useState(0)\r\n const [isLoading, setIsLoading] = useState(true)\r\n const audioRef = useRef<HTMLAudioElement>(null)\r\n\r\n const brandColor = useMemo(() => getPrimaryColor({ primaryColor }), [primaryColor])\r\n\r\n const togglePlay = () => {\r\n if (isPlaying) audioRef.current?.pause()\r\n else audioRef.current?.play()\r\n setIsPlaying(!isPlaying)\r\n }\r\n\r\n return (\r\n <div\r\n className={cn(\r\n 'flex items-center gap-3 py-1 min-w-[200px]',\r\n isBot ? 'text-foreground' : 'text-primary-foreground'\r\n )}\r\n >\r\n <audio\r\n ref={audioRef}\r\n src={url}\r\n onLoadedMetadata={() => {\r\n setDuration(audioRef.current?.duration || 0)\r\n setIsLoading(false)\r\n }}\r\n onTimeUpdate={() => setCurrentTime(audioRef.current?.currentTime || 0)}\r\n onEnded={() => setIsPlaying(false)}\r\n />\r\n <button\r\n onClick={togglePlay}\r\n disabled={isLoading}\r\n className=\"w-8 h-8 rounded-full flex items-center justify-center shrink-0\"\r\n style={{\r\n backgroundColor: isBot ? brandColor : 'hsl(var(--card))',\r\n color: isBot ? 'white' : brandColor,\r\n }}\r\n >\r\n {isLoading ? (\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n ) : isPlaying ? (\r\n <Pause className=\"w-4 h-4 fill-current\" />\r\n ) : (\r\n <Play className=\"w-4 h-4 fill-current ml-0.5\" />\r\n )}\r\n </button>\r\n <div className=\"flex-1 space-y-1\">\r\n <div className=\"relative h-1 w-full bg-current/20 rounded-full overflow-hidden\">\r\n <div\r\n className=\"absolute h-full bg-current rounded-full\"\r\n style={{ width: `${(currentTime / duration) * 100 || 0}%` }}\r\n />\r\n </div>\r\n <div className=\"flex justify-between text-[9px] font-bold opacity-60\">\r\n <span>\r\n {Math.floor(currentTime / 60)}:\r\n {Math.floor(currentTime % 60)\r\n .toString()\r\n .padStart(2, '0')}\r\n </span>\r\n <span>\r\n {Math.floor(duration / 60)}:\r\n {Math.floor(duration % 60)\r\n .toString()\r\n .padStart(2, '0')}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n})\r\n"],"names":["AudioPlayer","memo","url","isBot","primaryColor","isPlaying","setIsPlaying","useState","duration","setDuration","currentTime","setCurrentTime","isLoading","setIsLoading","audioRef","useRef","brandColor","useMemo","getPrimaryColor","jsxs","className","cn","children","jsx","ref","src","onLoadedMetadata","current","onTimeUpdate","onEnded","onClick","pause","play","disabled","style","backgroundColor","color","Loader2","Pause","Play","width","Math","floor","toString","padStart"],"mappings":"kIAeO,MAAMA,EAAcC,EAAAA,KAAK,UAAqBC,IACnDA,EAAAC,MACAA,EAAAC,aACAA,IAEA,MAAOC,EAAWC,GAAgBC,EAAAA,UAAS,IACpCC,EAAUC,GAAeF,EAAAA,SAAS,IAClCG,EAAaC,GAAkBJ,EAAAA,SAAS,IACxCK,EAAWC,GAAgBN,EAAAA,UAAS,GACrCO,EAAWC,EAAAA,OAAyB,MAEpCC,EAAaC,EAAAA,QAAQ,IAAMC,EAAgB,CAAEd,iBAAiB,CAACA;AAQrE,OACEe,EAAAA,KAAC,MAAA,CACCC,UAAWC,EACT,6CACAlB,EAAQ,kBAAoB,2BAG9BmB,SAAA;eAAAC,EAAAA,IAAC,QAAA,CACCC,IAAKV,EACLW,IAAKvB,EACLwB,iBAAkB,KAChBjB,EAAYK,EAASa,SAASnB,UAAY,GAC1CK,GAAa,IAEfe,aAAc,IAAMjB,EAAeG,EAASa,SAASjB,aAAe,GACpEmB,QAAS,IAAMvB,GAAa;eAE9BiB,EAAAA,IAAC,SAAA,CACCO,QAxBa,KACbzB,EAAWS,EAASa,SAASI,QAC5BjB,EAASa,SAASK,OACvB1B,GAAcD,IAsBV4B,SAAUrB,EACVQ,UAAU,iEACVc,MAAO,CACLC,gBAAiBhC,EAAQa,EAAa,mBACtCoB,MAAOjC,EAAQ,QAAUa,GAG1BM,SAAAV,iBACCW,EAAAA,IAACc,EAAA,CAAQjB,UAAU,yBACjBf,iBACFkB,EAAAA,IAACe,EAAA,CAAMlB,UAAU,wCAEjBG,EAAAA,IAACgB,EAAA,CAAKnB,UAAU;iBAGpBD,KAAC,MAAA,CAAIC,UAAU,mBACbE,SAAA;iBAAAC,IAAC,MAAA,CAAIH,UAAU,iEACbE,wBAAAC,EAAAA,IAAC,MAAA,CACCH,UAAU,0CACVc,MAAO,CAAEM,MAAO,GAAI9B,EAAcF,EAAY,KAAO;iBAGzDW,KAAC,MAAA,CAAIC,UAAU,uDACbE,SAAA;eAAAH,OAAC,OAAA,CACEG,SAAA,CAAAmB,KAAKC,MAAMhC,EAAc,IAAI,IAC7B+B,KAAKC,MAAMhC,EAAc,IACvBiC,WACAC,SAAS,EAAG;sBAEhB,OAAA,CACEtB,SAAA,CAAAmB,KAAKC,MAAMlC,EAAW,IAAI,IAC1BiC,KAAKC,MAAMlC,EAAW,IACpBmC,WACAC,SAAS,EAAG,gBAM3B"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import{r as e,j as t,a as r,M as s,R as o}from"./vendor-react-CtfcjTlq.js";import{c as n,d as a}from"./chunk-markdown-xGy7kpWU.js";const i={es:{online:"En línea",offline:"Desconectado",connecting:"Conectando...",con_amor_paseo_libre:"Con ❤️ por BotUyo",preview:"Vista previa",fotos:"Fotos",ubicacion:"Ubicación",input_placeholder:"Escribe un mensaje...",send:"Enviar",attach_photo:"Adjuntar foto",attach_location:"Compartir ubicación",recording:"Grabando...",rate_limit_exceeded:"Has enviado demasiados mensajes. Espera un momento.",connection_error:"Error de conexión",file_too_large:"Archivo demasiado grande",invalid_file:"Tipo de archivo no válido",extracted:{assistant:"Asistente",anterior:"Anterior",siguiente:"Siguiente",cerrar:"Cerrar",cerrar_chat:"Cerrar chat",abrir_chat:"Abrir chat",ver_ubicacion:"Ver ubicación"},accessibility:{closeChat:"Cerrar ventana de chat",closeChatHint:"Presiona Escape para cerrar",chatMessages:"Mensajes del chat",messageHistory:"Historial de mensajes",dialogDescription:"Ventana de chat con {{botName}}. Presiona Escape para cerrar. Usa Ctrl+Enter para enviar mensajes.",sendMessage:"Enviar mensaje",sendMessageHint:"Presiona Enter o Ctrl+Enter para enviar",typeMessage:"Escribe tu mensaje aquí",botMessage:"Mensaje del asistente",userMessage:"Tu mensaje",messageFrom:"Mensaje de {{sender}}",messageTime:"Enviado {{time}}",newMessage:"Nuevo mensaje recibido"}},en:{online:"Online",offline:"Offline",connecting:"Connecting...",con_amor_paseo_libre:"With ❤️ by BotUyo",preview:"Preview",fotos:"Photos",ubicacion:"Location",input_placeholder:"Type a message...",send:"Send",attach_photo:"Attach photo",attach_location:"Share location",recording:"Recording...",rate_limit_exceeded:"You have sent too many messages. Please wait.",connection_error:"Connection error",file_too_large:"File too large",invalid_file:"Invalid file type",extracted:{assistant:"Assistant",anterior:"Previous",siguiente:"Next",cerrar:"Close",cerrar_chat:"Close chat",abrir_chat:"Open chat",ver_ubicacion:"View location"},accessibility:{closeChat:"Close chat window",closeChatHint:"Press Escape to close",chatMessages:"Chat messages",messageHistory:"Message history",dialogDescription:"Chat window with {{botName}}. Press Escape to close. Use Ctrl+Enter to send messages.",sendMessage:"Send message",sendMessageHint:"Press Enter or Ctrl+Enter to send",typeMessage:"Type your message here",botMessage:"Assistant message",userMessage:"Your message",messageFrom:"Message from {{sender}}",messageTime:"Sent {{time}}",newMessage:"New message received"}},pt:{online:"Online",offline:"Desconectado",connecting:"Conectando...",con_amor_paseo_libre:"Com ❤️ por BotUyo",preview:"Visualizar",fotos:"Fotos",ubicacion:"Localização",input_placeholder:"Digite uma mensagem...",send:"Enviar",attach_photo:"Anexar foto",attach_location:"Compartilhar localização",recording:"Gravando...",rate_limit_exceeded:"Você enviou muitas mensagens. Aguarde um momento.",connection_error:"Erro de conexão",file_too_large:"Arquivo muito grande",invalid_file:"Tipo de arquivo inválido",extracted:{assistant:"Assistente",anterior:"Anterior",siguiente:"Próximo",cerrar:"Fechar",cerrar_chat:"Fechar chat",abrir_chat:"Abrir chat",ver_ubicacion:"Ver localização"},accessibility:{closeChat:"Fechar janela de chat",closeChatHint:"Pressione Escape para fechar",chatMessages:"Mensagens do chat",messageHistory:"Histórico de mensagens",dialogDescription:"Janela de chat com {{botName}}. Pressione Escape para fechar. Use Ctrl+Enter para enviar mensagens.",sendMessage:"Enviar mensagem",sendMessageHint:"Pressione Enter ou Ctrl+Enter para enviar",typeMessage:"Digite sua mensagem aqui",botMessage:"Mensagem do assistente",userMessage:"Sua mensagem",messageFrom:"Mensagem de {{sender}}",messageTime:"Enviado {{time}}",newMessage:"Nova mensagem recebida"}},fr:{online:"En ligne",offline:"Déconnecté",connecting:"Connexion...",con_amor_paseo_libre:"Avec ❤️ par BotUyo",preview:"Aperçu",fotos:"Photos",ubicacion:"Emplacement",input_placeholder:"Tapez un message...",send:"Envoyer",attach_photo:"Joindre une photo",attach_location:"Partager la localisation",recording:"Enregistrement...",rate_limit_exceeded:"Vous avez envoyé trop de messages. Veuillez patienter.",connection_error:"Erreur de connexion",file_too_large:"Fichier trop volumineux",invalid_file:"Type de fichier invalide",extracted:{assistant:"Assistant",anterior:"Précédent",siguiente:"Suivant",cerrar:"Fermer",cerrar_chat:"Fermer le chat",abrir_chat:"Ouvrir le chat",ver_ubicacion:"Voir l'emplacement"},accessibility:{closeChat:"Fermer la fenêtre de chat",closeChatHint:"Appuyez sur Échap pour fermer",chatMessages:"Messages du chat",messageHistory:"Historique des messages",dialogDescription:"Fenêtre de chat avec {{botName}}. Appuyez sur Échap pour fermer. Utilisez Ctrl+Entrée pour envoyer des messages.",sendMessage:"Envoyer un message",sendMessageHint:"Appuyez sur Entrée ou Ctrl+Entrée pour envoyer",typeMessage:"Tapez votre message ici",botMessage:"Message de l'assistant",userMessage:"Votre message",messageFrom:"Message de {{sender}}",messageTime:"Envoyé {{time}}",newMessage:"Nouveau message reçu"}}};function l(){if("undefined"==typeof navigator)return"es";const e=navigator.language.split("-")[0];return i[e]?e:"es"}const c=e.createContext(void 0),d="botuyo-chat-locale";function m({children:r,defaultLocale:s}){const[o,n]=e.useState(()=>{if(s)return s;if("undefined"!=typeof window){const e=localStorage.getItem(d);if(e)return e}return l()});return e.useEffect(()=>{if("undefined"==typeof window||s)return;const e=()=>{localStorage.getItem(d)||n(l())};return window.addEventListener("languagechange",e),()=>window.removeEventListener("languagechange",e)},[s]),/* @__PURE__ */t.jsx(c.Provider,{value:{locale:o,setLocale:e=>{["es","en","pt","fr"].includes(e)?(n(e),"undefined"!=typeof window&&localStorage.setItem(d,e)):console.warn(`[BotUyo] Locale "${e}" no es soportado. Manteniendo "${o}"`)}},children:r})}function u(t){const{locale:r,setLocale:s}=function(){const t=e.useContext(c);if(void 0===t)throw new Error("useLanguage debe usarse dentro de un LanguageProvider");return t}();return{t:e.useCallback(e=>{var s,o;return(s=i[r],(o=t?`${t}.${e}`:e).split(".").reduce((e,t)=>e?.[t],s)||o)||e},[r,t]),setLocale:s,currentLocale:r}}const h=(...e)=>e.filter((e,t,r)=>Boolean(e)&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),p=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()))(e);return t.charAt(0).toUpperCase()+t.slice(1)};var g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const f=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1},b=e.forwardRef(({color:t="currentColor",size:r=24,strokeWidth:s=2,absoluteStrokeWidth:o,className:n="",children:a,iconNode:i,...l},c)=>e.createElement("svg",{ref:c,...g,width:r,height:r,stroke:t,strokeWidth:o?24*Number(s)/Number(r):s,className:h("lucide",n),...!a&&!f(l)&&{"aria-hidden":"true"},...l},[...i.map(([t,r])=>e.createElement(t,r)),...Array.isArray(a)?a:[a]])),x=(t,r)=>{const s=e.forwardRef(({className:s,...o},n)=>{return e.createElement(b,{ref:n,iconNode:r,className:h(`lucide-${a=p(t),a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${t}`,s),...o});var a});return s.displayName=p(t),s},v=x("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),y=x("check-check",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]),w=x("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),k=x("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),j=x("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),C=x("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),N=x("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]),M=x("heart",[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]]),z=x("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),E=x("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),S=x("map-pin",[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),A=x("message-circle",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]]),_=x("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]),F=x("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),O=x("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]),I=x("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),D=x("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),T=x("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),L=x("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]),U=x("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),W=x("zoom-in",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);function $(e){var t,r,s="";if("string"==typeof e||"number"==typeof e)s+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=$(e[t]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}const R=(e=/* @__PURE__ */new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),P="-",B=[],V=e=>{const t=G(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return q(e);const r=e.split(P),s=""===r[0]&&r.length>1?1:0;return H(r,s,t)},getConflictingClassGroupIds:(e,t)=>{if(t){const t=s[e],o=r[e];return t?o?((e,t)=>{const r=new Array(e.length+t.length);for(let s=0;s<e.length;s++)r[s]=e[s];for(let s=0;s<t.length;s++)r[e.length+s]=t[s];return r})(o,t):t:o||B}return r[e]||B}}},H=(e,t,r)=>{if(0===e.length-t)return r.classGroupId;const s=e[t],o=r.nextPart.get(s);if(o){const r=H(e,t+1,o);if(r)return r}const n=r.validators;if(null===n)return;const a=0===t?e.join(P):e.slice(t).join(P),i=n.length;for(let l=0;l<i;l++){const e=n[l];if(e.validator(a))return e.classGroupId}},q=e=>-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),s=t.slice(0,r);return s?"arbitrary.."+s:void 0})(),G=e=>{const{theme:t,classGroups:r}=e;return K(r,t)},K=(e,t)=>{const r=R();for(const s in e){const o=e[s];Y(o,r,s,t)}return r},Y=(e,t,r,s)=>{const o=e.length;for(let n=0;n<o;n++){const o=e[n];J(o,t,r,s)}},J=(e,t,r,s)=>{"string"!=typeof e?"function"!=typeof e?X(e,t,r,s):Q(e,t,r,s):Z(e,t,r)},Z=(e,t,r)=>{(""===e?t:ee(t,e)).classGroupId=r},Q=(e,t,r,s)=>{te(e)?Y(e(s),t,r,s):(null===t.validators&&(t.validators=[]),t.validators.push(((e,t)=>({classGroupId:e,validator:t}))(r,e)))},X=(e,t,r,s)=>{const o=Object.entries(e),n=o.length;for(let a=0;a<n;a++){const[e,n]=o[a];Y(n,ee(t,e),r,s)}},ee=(e,t)=>{let r=e;const s=t.split(P),o=s.length;for(let n=0;n<o;n++){const e=s[n];let t=r.nextPart.get(e);t||(t=R(),r.nextPart.set(e,t)),r=t}return r},te=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,re=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=/* @__PURE__ */Object.create(null),s=/* @__PURE__ */Object.create(null);const o=(o,n)=>{r[o]=n,t++,t>e&&(t=0,s=r,r=/* @__PURE__ */Object.create(null))};return{get(e){let t=r[e];return void 0!==t?t:void 0!==(t=s[e])?(o(e,t),t):void 0},set(e,t){e in r?r[e]=t:o(e,t)}}},se=[],oe=(e,t,r,s,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:s,isExternal:o}),ne=e=>{const{prefix:t,experimentalParseClassName:r}=e;let s=e=>{const t=[];let r,s=0,o=0,n=0;const a=e.length;for(let d=0;d<a;d++){const a=e[d];if(0===s&&0===o){if(":"===a){t.push(e.slice(n,d)),n=d+1;continue}if("/"===a){r=d;continue}}"["===a?s++:"]"===a?s--:"("===a?o++:")"===a&&o--}const i=0===t.length?e:e.slice(n);let l=i,c=!1;return i.endsWith("!")?(l=i.slice(0,-1),c=!0):i.startsWith("!")&&(l=i.slice(1),c=!0),oe(t,c,l,r&&r>n?r-n:void 0)};if(t){const e=t+":",r=s;s=t=>t.startsWith(e)?r(t.slice(e.length)):oe(se,!1,t,void 0,!0)}if(r){const e=s;s=t=>r({className:t,parseClassName:e})}return s},ae=e=>{const t=/* @__PURE__ */new Map;return e.orderSensitiveModifiers.forEach((e,r)=>{t.set(e,1e6+r)}),e=>{const r=[];let s=[];for(let o=0;o<e.length;o++){const n=e[o],a="["===n[0],i=t.has(n);a||i?(s.length>0&&(s.sort(),r.push(...s),s=[]),r.push(n)):s.push(n)}return s.length>0&&(s.sort(),r.push(...s)),r}},ie=/\s+/,le=e=>{if("string"==typeof e)return e;let t,r="";for(let s=0;s<e.length;s++)e[s]&&(t=le(e[s]))&&(r&&(r+=" "),r+=t);return r},ce=[],de=e=>{const t=t=>t[e]||ce;return t.isThemeGetter=!0,t},me=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ue=/^\((?:(\w[\w-]*):)?(.+)\)$/i,he=/^\d+\/\d+$/,pe=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ge=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fe=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,be=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ve=e=>he.test(e),ye=e=>!!e&&!Number.isNaN(Number(e)),we=e=>!!e&&Number.isInteger(Number(e)),ke=e=>e.endsWith("%")&&ye(e.slice(0,-1)),je=e=>pe.test(e),Ce=()=>!0,Ne=e=>ge.test(e)&&!fe.test(e),Me=()=>!1,ze=e=>be.test(e),Ee=e=>xe.test(e),Se=e=>!_e(e)&&!Le(e),Ae=e=>Ve(e,Ke,Me),_e=e=>me.test(e),Fe=e=>Ve(e,Ye,Ne),Oe=e=>Ve(e,Je,ye),Ie=e=>Ve(e,qe,Me),De=e=>Ve(e,Ge,Ee),Te=e=>Ve(e,Qe,ze),Le=e=>ue.test(e),Ue=e=>He(e,Ye),We=e=>He(e,Ze),$e=e=>He(e,qe),Re=e=>He(e,Ke),Pe=e=>He(e,Ge),Be=e=>He(e,Qe,!0),Ve=(e,t,r)=>{const s=me.exec(e);return!!s&&(s[1]?t(s[1]):r(s[2]))},He=(e,t,r=!1)=>{const s=ue.exec(e);return!!s&&(s[1]?t(s[1]):r)},qe=e=>"position"===e||"percentage"===e,Ge=e=>"image"===e||"url"===e,Ke=e=>"length"===e||"size"===e||"bg-size"===e,Ye=e=>"length"===e,Je=e=>"number"===e,Ze=e=>"family-name"===e,Qe=e=>"shadow"===e,Xe=/* @__PURE__ */((e,...t)=>{let r,s,o,n;const a=e=>{const t=s(e);if(t)return t;const n=((e,t)=>{const{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:o,sortModifiers:n}=t,a=[],i=e.trim().split(ie);let l="";for(let c=i.length-1;c>=0;c-=1){const e=i[c],{isExternal:t,modifiers:d,hasImportantModifier:m,baseClassName:u,maybePostfixModifierPosition:h}=r(e);if(t){l=e+(l.length>0?" "+l:l);continue}let p=!!h,g=s(p?u.substring(0,h):u);if(!g){if(!p){l=e+(l.length>0?" "+l:l);continue}if(g=s(u),!g){l=e+(l.length>0?" "+l:l);continue}p=!1}const f=0===d.length?"":1===d.length?d[0]:n(d).join(":"),b=m?f+"!":f,x=b+g;if(a.indexOf(x)>-1)continue;a.push(x);const v=o(g,p);for(let r=0;r<v.length;++r){const e=v[r];a.push(b+e)}l=e+(l.length>0?" "+l:l)}return l})(e,r);return o(e,n),n};return n=i=>{const l=t.reduce((e,t)=>t(e),e());return r=(e=>({cache:re(e.cacheSize),parseClassName:ne(e),sortModifiers:ae(e),...V(e)}))(l),s=r.cache.get,o=r.cache.set,n=a,a(i)},(...e)=>n(((...e)=>{let t,r,s=0,o="";for(;s<e.length;)(t=e[s++])&&(r=le(t))&&(o&&(o+=" "),o+=r);return o})(...e))})(()=>{const e=de("color"),t=de("font"),r=de("text"),s=de("font-weight"),o=de("tracking"),n=de("leading"),a=de("breakpoint"),i=de("container"),l=de("spacing"),c=de("radius"),d=de("shadow"),m=de("inset-shadow"),u=de("text-shadow"),h=de("drop-shadow"),p=de("blur"),g=de("perspective"),f=de("aspect"),b=de("ease"),x=de("animate"),v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",Le,_e],y=()=>[Le,_e,l],w=()=>[ve,"full","auto",...y()],k=()=>[we,"none","subgrid",Le,_e],j=()=>["auto",{span:["full",we,Le,_e]},we,Le,_e],C=()=>[we,"auto",Le,_e],N=()=>["auto","min","max","fr",Le,_e],M=()=>["auto",...y()],z=()=>[ve,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],E=()=>[e,Le,_e],S=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",$e,Ie,{position:[Le,_e]}],A=()=>["auto","cover","contain",Re,Ae,{size:[Le,_e]}],_=()=>[ke,Ue,Fe],F=()=>["","none","full",c,Le,_e],O=()=>["",ye,Ue,Fe],I=()=>[ye,ke,$e,Ie],D=()=>["","none",p,Le,_e],T=()=>["none",ye,Le,_e],L=()=>["none",ye,Le,_e],U=()=>[ye,Le,_e],W=()=>[ve,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[je],breakpoint:[je],color:[Ce],container:[je],"drop-shadow":[je],ease:["in","out","in-out"],font:[Se],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[je],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[je],shadow:[je],spacing:["px",ye],text:[je],"text-shadow":[je],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ve,_e,Le,f]}],container:["container"],columns:[{columns:[ye,_e,Le,i]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{start:w()}],end:[{end:w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:["visible","invisible","collapse"],z:[{z:[we,"auto",Le,_e]}],basis:[{basis:[ve,"full","auto",i,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ye,ve,"auto","initial","none",_e]}],grow:[{grow:["",ye,Le,_e]}],shrink:[{shrink:["",ye,Le,_e]}],order:[{order:[we,"first","last","none",Le,_e]}],"grid-cols":[{"grid-cols":k()}],"col-start-end":[{col:j()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":k()}],"row-start-end":[{row:j()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:z()}],w:[{w:[i,"screen",...z()]}],"min-w":[{"min-w":[i,"screen","none",...z()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[a]},...z()]}],h:[{h:["screen","lh",...z()]}],"min-h":[{"min-h":["screen","lh","none",...z()]}],"max-h":[{"max-h":["screen","lh",...z()]}],"font-size":[{text:["base",r,Ue,Fe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,Le,Oe]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ke,_e]}],"font-family":[{font:[We,_e,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Le,_e]}],"line-clamp":[{"line-clamp":[ye,"none",Le,Oe]}],leading:[{leading:[n,...y()]}],"list-image":[{"list-image":["none",Le,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Le,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:E()}],"text-color":[{text:E()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"]}],"text-decoration-thickness":[{decoration:[ye,"from-font","auto",Le,Fe]}],"text-decoration-color":[{decoration:E()}],"underline-offset":[{"underline-offset":[ye,"auto",Le,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Le,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Le,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:S()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:A()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},we,Le,_e],radial:["",Le,_e],conic:[we,Le,_e]},Pe,De]}],"bg-color":[{bg:E()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:E()}],"gradient-via":[{via:E()}],"gradient-to":[{to:E()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:O()}],"border-w-x":[{"border-x":O()}],"border-w-y":[{"border-y":O()}],"border-w-s":[{"border-s":O()}],"border-w-e":[{"border-e":O()}],"border-w-t":[{"border-t":O()}],"border-w-r":[{"border-r":O()}],"border-w-b":[{"border-b":O()}],"border-w-l":[{"border-l":O()}],"divide-x":[{"divide-x":O()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":O()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:E()}],"border-color-x":[{"border-x":E()}],"border-color-y":[{"border-y":E()}],"border-color-s":[{"border-s":E()}],"border-color-e":[{"border-e":E()}],"border-color-t":[{"border-t":E()}],"border-color-r":[{"border-r":E()}],"border-color-b":[{"border-b":E()}],"border-color-l":[{"border-l":E()}],"divide-color":[{divide:E()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[ye,Le,_e]}],"outline-w":[{outline:["",ye,Ue,Fe]}],"outline-color":[{outline:E()}],shadow:[{shadow:["","none",d,Be,Te]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{"inset-shadow":["none",m,Be,Te]}],"inset-shadow-color":[{"inset-shadow":E()}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:E()}],"ring-offset-w":[{"ring-offset":[ye,Fe]}],"ring-offset-color":[{"ring-offset":E()}],"inset-ring-w":[{"inset-ring":O()}],"inset-ring-color":[{"inset-ring":E()}],"text-shadow":[{"text-shadow":["none",u,Be,Te]}],"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[ye,Le,_e]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ye]}],"mask-image-linear-from-pos":[{"mask-linear-from":I()}],"mask-image-linear-to-pos":[{"mask-linear-to":I()}],"mask-image-linear-from-color":[{"mask-linear-from":E()}],"mask-image-linear-to-color":[{"mask-linear-to":E()}],"mask-image-t-from-pos":[{"mask-t-from":I()}],"mask-image-t-to-pos":[{"mask-t-to":I()}],"mask-image-t-from-color":[{"mask-t-from":E()}],"mask-image-t-to-color":[{"mask-t-to":E()}],"mask-image-r-from-pos":[{"mask-r-from":I()}],"mask-image-r-to-pos":[{"mask-r-to":I()}],"mask-image-r-from-color":[{"mask-r-from":E()}],"mask-image-r-to-color":[{"mask-r-to":E()}],"mask-image-b-from-pos":[{"mask-b-from":I()}],"mask-image-b-to-pos":[{"mask-b-to":I()}],"mask-image-b-from-color":[{"mask-b-from":E()}],"mask-image-b-to-color":[{"mask-b-to":E()}],"mask-image-l-from-pos":[{"mask-l-from":I()}],"mask-image-l-to-pos":[{"mask-l-to":I()}],"mask-image-l-from-color":[{"mask-l-from":E()}],"mask-image-l-to-color":[{"mask-l-to":E()}],"mask-image-x-from-pos":[{"mask-x-from":I()}],"mask-image-x-to-pos":[{"mask-x-to":I()}],"mask-image-x-from-color":[{"mask-x-from":E()}],"mask-image-x-to-color":[{"mask-x-to":E()}],"mask-image-y-from-pos":[{"mask-y-from":I()}],"mask-image-y-to-pos":[{"mask-y-to":I()}],"mask-image-y-from-color":[{"mask-y-from":E()}],"mask-image-y-to-color":[{"mask-y-to":E()}],"mask-image-radial":[{"mask-radial":[Le,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":I()}],"mask-image-radial-to-pos":[{"mask-radial-to":I()}],"mask-image-radial-from-color":[{"mask-radial-from":E()}],"mask-image-radial-to-color":[{"mask-radial-to":E()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[ye]}],"mask-image-conic-from-pos":[{"mask-conic-from":I()}],"mask-image-conic-to-pos":[{"mask-conic-to":I()}],"mask-image-conic-from-color":[{"mask-conic-from":E()}],"mask-image-conic-to-color":[{"mask-conic-to":E()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:S()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:A()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Le,_e]}],filter:[{filter:["","none",Le,_e]}],blur:[{blur:D()}],brightness:[{brightness:[ye,Le,_e]}],contrast:[{contrast:[ye,Le,_e]}],"drop-shadow":[{"drop-shadow":["","none",h,Be,Te]}],"drop-shadow-color":[{"drop-shadow":E()}],grayscale:[{grayscale:["",ye,Le,_e]}],"hue-rotate":[{"hue-rotate":[ye,Le,_e]}],invert:[{invert:["",ye,Le,_e]}],saturate:[{saturate:[ye,Le,_e]}],sepia:[{sepia:["",ye,Le,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Le,_e]}],"backdrop-blur":[{"backdrop-blur":D()}],"backdrop-brightness":[{"backdrop-brightness":[ye,Le,_e]}],"backdrop-contrast":[{"backdrop-contrast":[ye,Le,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ye,Le,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ye,Le,_e]}],"backdrop-invert":[{"backdrop-invert":["",ye,Le,_e]}],"backdrop-opacity":[{"backdrop-opacity":[ye,Le,_e]}],"backdrop-saturate":[{"backdrop-saturate":[ye,Le,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",ye,Le,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Le,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ye,"initial",Le,_e]}],ease:[{ease:["linear","initial",b,Le,_e]}],delay:[{delay:[ye,Le,_e]}],animate:[{animate:["none",x,Le,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,Le,_e]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:T()}],"rotate-x":[{"rotate-x":T()}],"rotate-y":[{"rotate-y":T()}],"rotate-z":[{"rotate-z":T()}],scale:[{scale:L()}],"scale-x":[{"scale-x":L()}],"scale-y":[{"scale-y":L()}],"scale-z":[{"scale-z":L()}],"scale-3d":["scale-3d"],skew:[{skew:U()}],"skew-x":[{"skew-x":U()}],"skew-y":[{"skew-y":U()}],transform:[{transform:[Le,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:W()}],"translate-x":[{"translate-x":W()}],"translate-y":[{"translate-y":W()}],"translate-z":[{"translate-z":W()}],"translate-none":["translate-none"],accent:[{accent:E()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:E()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Le,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Le,_e]}],fill:[{fill:["none",...E()]}],"stroke-w":[{stroke:[ye,Ue,Fe,Oe]}],stroke:[{stroke:["none",...E()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function et(...e){return Xe(function(){for(var e,t,r=0,s="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=$(e))&&(s&&(s+=" "),s+=t);return s}(e))}const tt={background:"0 0% 100%",foreground:"240 10% 3.9%",card:"0 0% 100%",cardForeground:"240 10% 3.9%",primary:"160 84% 39%",primaryForeground:"0 0% 100%",muted:"240 4.8% 95.9%",mutedForeground:"240 3.8% 46.1%",border:"240 5.9% 90%",destructive:"0 84.2% 60.2%",radius:"0.5rem",spacing1:"0.25rem",spacing2:"0.5rem",spacing3:"0.75rem",spacing4:"1rem",spacing5:"0.75rem",spacing6:"1.5rem",spacing8:"2rem"},rt="hsl(160, 84%, 39%)";function st(e,t){const r={...tt,...t?.cssVariables||{},...e?.cssVariables||{}};return{primaryColor:e?.primaryColor||t?.primaryColor||rt,botName:e?.botName||t?.botName||"Asistente",logoUrl:e?.logoUrl||t?.logoUrl||"",position:e?.position||t?.position||"bottom-right",welcomeMessage:e?.welcomeMessage||t?.welcomeMessage||"¡Hola! ¿En qué puedo ayudarte?",inputPlaceholder:e?.inputPlaceholder||t?.inputPlaceholder||"Escribe un mensaje...",cssVariables:r}}function ot(e){return e.primaryColor||rt}function nt(){return"undefined"!=typeof window&&!!window.DEBUG}const at={log:(e,...t)=>{nt()&&console.log(`[BotUyo] ${e}`,...t)},warn:(e,...t)=>{nt()&&console.warn(`[BotUyo] ${e}`,...t)},error:(e,...t)=>{console.error(`[BotUyo] ${e}`,...t)},debug:(e,...t)=>{nt()},info:(e,...t)=>{nt()&&console.info(`[BotUyo] ${e}`,...t)}},it=`data:image/svg+xml,${encodeURIComponent('\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">\n <defs>\n <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">\n <stop offset="0%" style="stop-color:#10b981"/>\n <stop offset="100%" style="stop-color:#059669"/>\n </linearGradient>\n </defs>\n <circle cx="32" cy="32" r="32" fill="url(#bg)"/>\n <rect x="16" y="20" width="32" height="24" rx="4" fill="white"/>\n <circle cx="24" cy="30" r="3" fill="#10b981"/>\n <circle cx="40" cy="30" r="3" fill="#10b981"/>\n <rect x="22" y="36" width="20" height="3" rx="1.5" fill="#10b981"/>\n <rect x="28" y="12" width="8" height="8" rx="2" fill="white"/>\n</svg>\n')}`,lt=function(){const e=Math.floor(1200),t=2*e,r=44+t,s=new ArrayBuffer(r),o=new DataView(s);ct(o,0,"RIFF"),o.setUint32(4,r-8,!0),ct(o,8,"WAVE"),ct(o,12,"fmt "),o.setUint32(16,16,!0),o.setUint16(20,1,!0),o.setUint16(22,1,!0),o.setUint32(24,8e3,!0),o.setUint32(28,16e3,!0),o.setUint16(32,2,!0),o.setUint16(34,16,!0),ct(o,36,"data"),o.setUint32(40,t,!0);for(let i=0;i<e;i++){const t=i/8e3,r=1-i/e,s=Math.sin(2*Math.PI*880*t)*r*.5*32767;o.setInt16(44+2*i,s,!0)}const n=new Uint8Array(s);let a="";for(let i=0;i<n.length;i++)a+=String.fromCharCode(n[i]);return`data:audio/wav;base64,${btoa(a)}`}();function ct(e,t,r){for(let s=0;s<r.length;s++)e.setUint8(t+s,r.charCodeAt(s))}function dt(e,t,r){let s,o=r.initialDeps??[],n=!0;function a(){var a,i,l;let c;r.key&&(null==(a=r.debug)?void 0:a.call(r))&&(c=Date.now());const d=e();if(d.length===o.length&&!d.some((e,t)=>o[t]!==e))return s;let m;if(o=d,r.key&&(null==(i=r.debug)?void 0:i.call(r))&&(m=Date.now()),s=t(...d),r.key&&(null==(l=r.debug)?void 0:l.call(r))){const e=Math.round(100*(Date.now()-c))/100,t=Math.round(100*(Date.now()-m))/100,s=t/16,o=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info(`%c⏱ ${o(t,5)} /${o(e,5)} ms`,`\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0,Math.min(120-120*s,120))}deg 100% 31%);`,null==r?void 0:r.key)}return!(null==r?void 0:r.onChange)||n&&r.skipInitialOnChange||r.onChange(s),n=!1,s}return a.updateDeps=e=>{o=e},a}function mt(e,t){if(void 0===e)throw new Error("Unexpected undefined");return e}const ut=(e,t,r)=>{let s;return function(...o){e.clearTimeout(s),s=e.setTimeout(()=>t.apply(this,o),r)}},ht=e=>{const{offsetWidth:t,offsetHeight:r}=e;return{width:t,height:r}},pt=e=>e,gt=e=>{const t=Math.max(e.startIndex-e.overscan,0),r=Math.min(e.endIndex+e.overscan,e.count-1),s=[];for(let o=t;o<=r;o++)s.push(o);return s},ft=(e,t)=>{const r=e.scrollElement;if(!r)return;const s=e.targetWindow;if(!s)return;const o=e=>{const{width:r,height:s}=e;t({width:Math.round(r),height:Math.round(s)})};if(o(ht(r)),!s.ResizeObserver)return()=>{};const n=new s.ResizeObserver(t=>{const s=()=>{const e=t[0];if(null==e?void 0:e.borderBoxSize){const t=e.borderBoxSize[0];if(t)return void o({width:t.inlineSize,height:t.blockSize})}o(ht(r))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()});return n.observe(r,{box:"border-box"}),()=>{n.unobserve(r)}},bt={passive:!0},xt="undefined"==typeof window||"onscrollend"in window,vt=(e,t)=>{const r=e.scrollElement;if(!r)return;const s=e.targetWindow;if(!s)return;let o=0;const n=e.options.useScrollendEvent&&xt?()=>{}:ut(s,()=>{t(o,!1)},e.options.isScrollingResetDelay),a=s=>()=>{const{horizontal:a,isRtl:i}=e.options;o=a?r.scrollLeft*(i?-1:1):r.scrollTop,n(),t(o,s)},i=a(!0),l=a(!1);r.addEventListener("scroll",i,bt);const c=e.options.useScrollendEvent&&xt;return c&&r.addEventListener("scrollend",l,bt),()=>{r.removeEventListener("scroll",i),c&&r.removeEventListener("scrollend",l)}},yt=(e,t,r)=>{if(null==t?void 0:t.borderBoxSize){const e=t.borderBoxSize[0];if(e)return Math.round(e[r.options.horizontal?"inlineSize":"blockSize"])}return e[r.options.horizontal?"offsetWidth":"offsetHeight"]},wt=(e,{adjustments:t=0,behavior:r},s)=>{var o,n;const a=e+t;null==(n=null==(o=s.scrollElement)?void 0:o.scrollTo)||n.call(o,{[s.options.horizontal?"left":"top"]:a,behavior:r})};class kt{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=/* @__PURE__ */new Map,this.laneAssignments=/* @__PURE__ */new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=/* @__PURE__ */new Map,this.observer=/* @__PURE__ */(()=>{let e=null;const t=()=>e||(this.targetWindow&&this.targetWindow.ResizeObserver?e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{const t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}):null);return{disconnect:()=>{var r;null==(r=t())||r.disconnect(),e=null},observe:e=>{var r;return null==(r=t())?void 0:r.observe(e,{box:"border-box"})},unobserve:e=>{var r;return null==(r=t())?void 0:r.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,r])=>{void 0===r&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:pt,rangeExtractor:gt,onChange:()=>{},measureElement:yt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,r;null==(r=(t=this.options).onChange)||r.call(t,this,e)},this.maybeNotify=dt(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const t=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==t){if(this.cleanup(),!t)return void this.maybeNotify();this.scrollElement=t,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(e=this.scrollElement)?void 0:e.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=t,this.maybeNotify()})),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{const r=/* @__PURE__ */new Map,s=/* @__PURE__ */new Map;for(let o=t-1;o>=0;o--){const t=e[o];if(r.has(t.lane))continue;const n=s.get(t.lane);if(null==n||t.end>n.end?s.set(t.lane,t):t.end<n.end&&r.set(t.lane,!0),r.size===this.options.lanes)break}return s.size===this.options.lanes?Array.from(s.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=dt(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,r,s,o,n)=>(void 0!==this.prevLanes&&this.prevLanes!==n&&(this.lanesChangedFlag=!0),this.prevLanes=n,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:r,getItemKey:s,enabled:o,lanes:n}),{key:!1}),this.getMeasurements=dt(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:r,getItemKey:s,enabled:o,lanes:n},a)=>{if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(const d of this.laneAssignments.keys())d>=e&&this.laneAssignments.delete(d);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));const i=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);const l=this.measurementsCache.slice(0,i),c=new Array(n).fill(void 0);for(let d=0;d<i;d++){const e=l[d];e&&(c[e.lane]=d)}for(let d=i;d<e;d++){const e=s(d),o=this.laneAssignments.get(d);let n,i;if(void 0!==o&&this.options.lanes>1){n=o;const e=c[n],s=void 0!==e?l[e]:void 0;i=s?s.end+this.options.gap:t+r}else{const e=1===this.options.lanes?l[d-1]:this.getFurthestMeasurement(l,d);i=e?e.end+this.options.gap:t+r,n=e?e.lane:d%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(d,n)}const m=a.get(e),u="number"==typeof m?m:this.options.estimateSize(d),h=i+u;l[d]={index:d,start:i,size:u,end:h,key:e,lane:n},c[n]=d}return this.measurementsCache=l,l},{key:!1,debug:()=>this.options.debug}),this.calculateRange=dt(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,r,s)=>this.range=e.length>0&&t>0?function({measurements:e,outerSize:t,scrollOffset:r,lanes:s}){const o=e.length-1;if(e.length<=s)return{startIndex:0,endIndex:o};let n=jt(0,o,t=>e[t].start,r),a=n;if(1===s)for(;a<o&&e[a].end<r+t;)a++;else if(s>1){const i=Array(s).fill(0);for(;a<o&&i.some(e=>e<r+t);){const t=e[a];i[t.lane]=t.end,a++}const l=Array(s).fill(r+t);for(;n>=0&&l.some(e=>e>=r);){const t=e[n];l[t.lane]=t.start,n--}n=Math.max(0,n-n%s),a=Math.min(o,a+(s-1-a%s))}return{startIndex:n,endIndex:a}}({measurements:e,outerSize:t,scrollOffset:r,lanes:s}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=dt(()=>{let e=null,t=null;const r=this.calculateRange();return r&&(e=r.startIndex,t=r.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,r,s,o)=>null===s||null===o?[]:e({startIndex:s,endIndex:o,overscan:t,count:r}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,r=e.getAttribute(t);return r?parseInt(r,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{const r=this.indexFromElement(e),s=this.measurementsCache[r];if(!s)return;const o=s.key,n=this.elementsCache.get(o);n!==e&&(n&&this.observer.unobserve(n),this.observer.observe(e),this.elementsCache.set(o,e)),e.isConnected&&this.resizeItem(r,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{const r=this.measurementsCache[e];if(!r)return;const s=t-(this.itemSizeCache.get(r.key)??r.size);0!==s&&((void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(r,s,this):r.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=s,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(r.index),this.itemSizeCache=new Map(this.itemSizeCache.set(r.key,t)),this.notify(!1))},this.measureElement=e=>{e?this._measureElement(e,void 0):this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))})},this.getVirtualItems=dt(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{const r=[];for(let s=0,o=e.length;s<o;s++){const o=t[e[s]];r.push(o)}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{const t=this.getMeasurements();if(0!==t.length)return mt(t[jt(0,t.length-1,e=>mt(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,r=0)=>{if(!this.scrollElement)return 0;const s=this.getSize(),o=this.getScrollOffset();"auto"===t&&(t=e>=o+s?"end":"start"),"center"===t?e+=(r-s)/2:"end"===t&&(e-=s);const n=this.getMaxScrollOffset();return Math.max(Math.min(n,e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const r=this.measurementsCache[e];if(!r)return;const s=this.getSize(),o=this.getScrollOffset();if("auto"===t)if(r.end>=o+s-this.options.scrollPaddingEnd)t="end";else{if(!(r.start<=o+this.options.scrollPaddingStart))return[o,t];t="start"}if("end"===t&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];const n="end"===t?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(n,t,r.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t="start",behavior:r}={})=>{"smooth"===r&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:r})},this.scrollToIndex=(e,{align:t="auto",behavior:r}={})=>{"smooth"===r&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let s=0;const o=t=>{if(!this.targetWindow)return;const s=this.getOffsetForIndex(e,t);if(!s)return void console.warn("Failed to get offset for index:",e);const[o,a]=s;this._scrollToOffset(o,{adjustments:void 0,behavior:r}),this.targetWindow.requestAnimationFrame(()=>{const t=()=>{if(this.currentScrollToIndex!==e)return;const t=this.getScrollOffset(),r=this.getOffsetForIndex(e,a);var s,o;r?(s=r[0],o=t,Math.abs(s-o)<1.01||n(a)):console.warn("Failed to get offset for index:",e)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(t):t()})},n=t=>{this.targetWindow&&this.currentScrollToIndex===e&&(s++,s<10?this.targetWindow.requestAnimationFrame(()=>o(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};o(t)},this.scrollBy=(e,{behavior:t}={})=>{"smooth"===t&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{var e;const t=this.getMeasurements();let r;if(0===t.length)r=this.options.paddingStart;else if(1===this.options.lanes)r=(null==(e=t[t.length-1])?void 0:e.end)??0;else{const e=Array(this.options.lanes).fill(null);let s=t.length-1;for(;s>=0&&e.some(e=>null===e);){const r=t[s];null===e[r.lane]&&(e[r.lane]=r.end),s--}r=Math.max(...e.filter(e=>null!==e))}return Math.max(r-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:r})=>{this.options.scrollToFn(e,{behavior:r,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=/* @__PURE__ */new Map,this.laneAssignments=/* @__PURE__ */new Map,this.notify(!1)},this.setOptions(e)}}const jt=(e,t,r,s)=>{for(;e<=t;){const o=(e+t)/2|0,n=r(o);if(n<s)e=o+1;else{if(!(n>s))return o;t=o-1}}return e>0?e-1:0},Ct="undefined"!=typeof document?e.useLayoutEffect:e.useEffect;const Nt=e.lazy(()=>import("./chunk-audio-BT2WWPfS.js").then(e=>({default:e.AudioPlayer}))),Mt=e.lazy(()=>import("./chunk-gallery-CHMxgXlB.js").then(e=>({default:e.Gallery}))),zt=e.memo(function({message:r,primaryColor:o,botAvatar:i,botName:l="Mar",avatars:c,isFirst:d=!0,isLast:m=!0}){const{t:h}=u("extracted"),p="user"===r.sender,g="system"===r.type||"system"===r.sender,f=!p&&!g,b=ot({primaryColor:o}),x=e.useMemo(()=>{if(p)return null;if("text"===r.type){const e=r;if(e.emotion&&c?.[e.emotion])return c[e.emotion]}return i},[r,c,i,p]),w=({href:e,children:r})=>{if(!e)return null;const s=String(r).toLowerCase(),o=s.includes("reservar")||s.includes("ver")||s.includes("pagar");return e.includes("maps.google")||e.includes("goo.gl")?/* @__PURE__ */t.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"block my-2 no-underline group",children:/* @__PURE__ */t.jsxs("span",{className:"flex items-center gap-3 p-3 border rounded-xl shadow-sm group-hover:border-primary/30 transition-all",style:{backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border))"},children:[
|
|
2
|
-
/* @__PURE__ */t.jsx("span",{className:"flex-shrink-0 p-2 rounded-full",style:{backgroundColor:`${b}1a`,color:b},children:/* @__PURE__ */t.jsx(S,{size:16,strokeWidth:2.5})}),
|
|
3
|
-
/* @__PURE__ */t.jsx("span",{className:"flex flex-col min-w-0 flex-1 text-[11px] font-bold text-foreground leading-tight uppercase tracking-tight",children:h("ver_ubicacion")}),
|
|
4
|
-
/* @__PURE__ */t.jsx(C,{size:12,className:"text-muted-foreground/40 group-hover:text-primary"})]})}):o?/* @__PURE__ */t.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center gap-2 px-5 py-2.5 mt-2 text-[11px] font-black w-full sm:w-auto rounded-xl shadow-md uppercase tracking-widest transition-transform active:scale-95 text-white",style:{backgroundColor:b},children:[r," ",
|
|
5
|
-
/* @__PURE__ */t.jsx(v,{size:14})]}):/* @__PURE__ */t.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"font-bold underline decoration-primary/30 hover:decoration-primary transition-all",style:{color:p?"inherit":b},children:r})},k=({src:r,alt:s})=>r?/* @__PURE__ */t.jsx(e.Suspense,{fallback:/* @__PURE__ */t.jsx("div",{className:"my-3 animate-pulse",children:/* @__PURE__ */t.jsx("div",{className:"w-full h-48 bg-muted rounded-xl"})}),children:/* @__PURE__ */t.jsx(Mt,{images:[{src:r,alt:s}],radius:"rounded-xl"})}):null;return g?/* @__PURE__ */t.jsx("div",{className:"flex justify-center my-4 animate-in fade-in zoom-in-95 w-full",children:/* @__PURE__ */t.jsx("span",{className:"px-3 py-1 border rounded-full text-[9px] font-black uppercase tracking-widest",style:{backgroundColor:"hsl(var(--muted))",borderColor:"hsl(var(--border))",color:"hsl(var(--muted-foreground))"},children:r.content})}):/* @__PURE__ */t.jsxs("div",{className:et("flex w-full mb-0.5 group animate-in fade-in slide-in-from-bottom-2 duration-200",p?"justify-end":"justify-start gap-3",d&&"mt-3",m&&"mb-3"),children:[!p&&/* @__PURE__ */t.jsx("div",{className:"w-9 shrink-0 flex flex-col justify-end pb-1",children:m?/* @__PURE__ */t.jsx("div",{className:"h-9 w-9 rounded-full overflow-hidden border shadow-sm",style:{borderColor:"hsl(var(--border))",backgroundColor:"hsl(var(--background))"},children:x?/* @__PURE__ */t.jsx("img",{src:x,alt:l,className:"h-full w-full object-cover"}):/* @__PURE__ */t.jsx("div",{className:"h-full w-full flex items-center justify-center text-white text-[10px] font-black uppercase",style:{backgroundColor:b},children:l.charAt(0)})}):/* @__PURE__ */t.jsx("div",{className:"w-9"})}),
|
|
6
|
-
/* @__PURE__ */t.jsxs("div",{className:et("max-w-[85%] shadow-sm transition-all duration-300 relative",p?"text-primary-foreground":"border",p?et("rounded-[18px]",d&&"rounded-tr-[4px]",!m&&"rounded-br-[4px]",!d&&!m&&"rounded-r-[4px]"):et("rounded-[18px]",d&&"rounded-tl-[4px]",!m&&"rounded-bl-[4px]",!d&&!m&&"rounded-l-[4px]")),style:p?{padding:"var(--spacing-4) var(--spacing-5)",backgroundColor:b,boxShadow:m?`0 8px 20px -6px ${b}33`:"none"}:{padding:"var(--spacing-4) var(--spacing-5)",backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border) / 0.6)",color:"hsl(var(--foreground))"},children:[(()=>{switch(r.type){case"audio":/* @__PURE__ */
|
|
7
|
-
return t.jsx(e.Suspense,{fallback:/* @__PURE__ */t.jsxs("div",{className:"flex items-center gap-3 py-1 min-w-[200px] animate-pulse",children:[
|
|
8
|
-
/* @__PURE__ */t.jsx("div",{className:"w-8 h-8 rounded-full bg-muted"}),
|
|
9
|
-
/* @__PURE__ */t.jsx("div",{className:"flex-1 space-y-1",children:/* @__PURE__ */t.jsx("div",{className:"h-1 w-full bg-muted rounded-full"})})]}),children:/* @__PURE__ */t.jsx(Nt,{url:r.content,isBot:f,primaryColor:o})});case"image":{const s=r;/* @__PURE__ */
|
|
10
|
-
return t.jsx(e.Suspense,{fallback:/* @__PURE__ */t.jsx("div",{className:"my-3 animate-pulse",children:/* @__PURE__ */t.jsx("div",{className:"w-full h-48 bg-muted rounded-xl"})}),children:/* @__PURE__ */t.jsx(Mt,{images:[{src:s.imageUrl||s.content,alt:s.altText||"Imagen"}],radius:"rounded-xl"})})}case"location":{const e=r;/* @__PURE__ */
|
|
11
|
-
return t.jsx(w,{href:`https://www.google.com/maps/search/?api=1&query=${e.latitude},${e.longitude}`,children:"Ver ubicación"})}case"file":{const e=r,s=e.fileName?.split(".").pop()?.toLowerCase()||"",o=e.fileSize?`${(e.fileSize/1024/1024).toFixed(2)} MB`:"";/* @__PURE__ */
|
|
12
|
-
return t.jsxs("a",{href:e.fileUrl,download:e.fileName,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-3 border rounded-xl transition-all hover:scale-[1.02] group",style:{backgroundColor:p?"rgba(255,255,255,0.1)":"hsl(var(--muted))",borderColor:p?"rgba(255,255,255,0.2)":"hsl(var(--border))"},children:[
|
|
13
|
-
/* @__PURE__ */t.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-lg shrink-0",style:{backgroundColor:p?"rgba(255,255,255,0.2)":`${b}1a`,color:p?"white":b},children:/* @__PURE__ */t.jsx(N,{size:20,strokeWidth:2.5})}),
|
|
14
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex-1 min-w-0",children:[
|
|
15
|
-
/* @__PURE__ */t.jsx("p",{className:"text-sm font-bold truncate",children:e.fileName}),o&&/* @__PURE__ */t.jsxs("p",{className:"text-xs opacity-60 mt-0.5",children:[s?.toUpperCase()," • ",o]})]}),
|
|
16
|
-
/* @__PURE__ */t.jsx(j,{size:18,className:"shrink-0 opacity-60 group-hover:opacity-100 transition-opacity"})]})}default:/* @__PURE__ */
|
|
17
|
-
return t.jsx("div",{className:et("prose prose-sm max-w-none break-words leading-relaxed dark:prose-invert",p?"text-primary-foreground prose-p:text-white":"text-foreground"),children:/* @__PURE__ */t.jsx(s,{remarkPlugins:[a],rehypePlugins:[[n,{tagNames:["p","a","img","strong","em","ul","ol","li","br","span"],attributes:{a:["href","target","rel"],img:["src","alt"],span:["className"]},protocols:{a:{href:["http","https","mailto","tel"]},img:{src:["http","https","data"]}}}]],components:{a:w,img:k,p:({children:e})=>/* @__PURE__ */t.jsx("p",{className:"mb-0 last:mb-0",children:e})},children:r.content||""})})}})(),m&&/* @__PURE__ */t.jsxs("div",{className:et("flex items-center gap-1 mt-1.5 opacity-50 select-none text-[9px]",p?"justify-end":"justify-start"),children:[
|
|
18
|
-
/* @__PURE__ */t.jsx("span",{className:"font-bold tabular-nums uppercase tracking-tighter",children:(e=>{const t=new Date(e);return isNaN(t.getTime())?"":t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1})})(r.timestamp)}),p&&/* @__PURE__ */t.jsx(y,{className:"h-2.5 w-2.5"})]})]})]})},(e,t)=>e.message.id===t.message.id&&e.message.timestamp===t.message.timestamp&&e.primaryColor===t.primaryColor&&e.botAvatar===t.botAvatar&&e.botName===t.botName&&e.isFirst===t.isFirst&&e.isLast===t.isLast&&JSON.stringify(e.styles)===JSON.stringify(t.styles)),Et=e.memo(function(){/* @__PURE__ */
|
|
19
|
-
return t.jsx("div",{className:et("flex items-center self-start animate-in fade-in duration-200","max-w-[85%] sm:max-w-[75%]"),children:/* @__PURE__ */t.jsx("div",{className:"border rounded-[18px] rounded-tl-[4px] px-4 py-3 shadow-soft-sm",style:{backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border))"},children:/* @__PURE__ */t.jsx("div",{className:"flex items-center gap-1.5",children:[0,1,2].map(e=>/* @__PURE__ */t.jsx("span",{className:"h-1.5 w-1.5 rounded-full animate-bounce",style:{backgroundColor:"hsl(var(--primary) / 0.4)",animationDelay:150*e+"ms",animationDuration:"800ms"}},e))})})})});function St(e,t){const r=e.getTime()-t.getTime();return Math.floor(r/1e3/60)}function At(e){return new Intl.DateTimeFormat("es-ES",{hour:"2-digit",minute:"2-digit"}).format(e)}const _t=e.memo(function({messages:s,isTyping:n,welcomeMessage:a="¡Hola! ¿En qué puedo ayudarte?",primaryColor:i,logoUrl:l,botName:c="Mar",bubbleStyles:d,avatars:m}){const u=e.useRef(null),h=e.useRef(null),[p,g]=e.useState(!1),[f,b]=e.useState(!1),x=ot({primaryColor:i}),v=s.length>100,y=(w={count:s.length,getScrollElement:()=>h.current,estimateSize:()=>80,overscan:5,enabled:v},function({useFlushSync:t=!0,...s}){const o=e.useReducer(()=>({}),{})[1],n={...s,onChange:(e,n)=>{var a;t&&n?r.flushSync(o):o(),null==(a=s.onChange)||a.call(s,e,n)}},[a]=e.useState(()=>new kt(n));return a.setOptions(n),Ct(()=>a._didMount(),[]),Ct(()=>a._willUpdate()),a}({observeElementRect:ft,observeElementOffset:vt,scrollToFn:wt,...w}));var w;e.useEffect(()=>{g(!0)},[]),e.useEffect(()=>{if(p&&(s.length>0||n)){const e=setTimeout(()=>{v?y.scrollToIndex(s.length-1,{align:"end",behavior:s.length<=1?"auto":"smooth"}):u.current?.scrollIntoView({behavior:s.length<=1?"auto":"smooth",block:"end"})},100);return()=>clearTimeout(e)}},[s.length,n,p,v,y]);const k=e=>{const t=new Date(e);return isNaN(t.getTime())?"":function(e){return function(e){const t=/* @__PURE__ */new Date;return e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()}(e)?`Hoy, ${At(e)}`:function(e){const t=/* @__PURE__ */new Date;return t.setDate(t.getDate()-1),e.getDate()===t.getDate()&&e.getMonth()===t.getMonth()&&e.getFullYear()===t.getFullYear()}(e)?`Ayer, ${At(e)}`:function(e){return new Intl.DateTimeFormat("es-ES",{day:"numeric",month:"long",hour:"2-digit",minute:"2-digit"}).format(e)}(e)}(t)};return p?v?/* @__PURE__ */t.jsxs("div",{ref:h,className:"flex-1 overflow-y-auto scroll-smooth bg-background/50 scrollbar-none",style:{padding:"var(--spacing-5)"},children:[
|
|
20
|
-
/* @__PURE__ */t.jsx("div",{style:{height:`${y.getTotalSize()}px`,width:"100%",position:"relative"},children:y.getVirtualItems().map(e=>{const r=s[e.index],o=e.index,n=s[o-1],a=s[o+1],u=n&&St(new Date(r.timestamp),new Date(n.timestamp))>15,h=n&&n.sender===r.sender&&St(new Date(r.timestamp),new Date(n.timestamp))<5&&!u,p=a&&a.sender===r.sender&&St(new Date(a.timestamp),new Date(r.timestamp))<5;/* @__PURE__ */
|
|
21
|
-
return t.jsxs("div",{style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start}px)`},children:[u&&/* @__PURE__ */t.jsx("div",{className:"flex justify-center my-8 animate-in fade-in zoom-in-95",children:/* @__PURE__ */t.jsx("span",{className:"px-4 py-1.5 bg-muted/40 backdrop-blur-md rounded-full text-[10px] font-black text-muted-foreground uppercase tracking-[0.2em] border border-border/50 shadow-sm",children:k(r.timestamp)})}),
|
|
22
|
-
/* @__PURE__ */t.jsx(zt,{message:r,primaryColor:i,botAvatar:l,botName:c,styles:d,avatars:m,isFirst:!h,isLast:!p})]},e.key)})}),n&&/* @__PURE__ */t.jsxs("div",{className:"flex items-end gap-3 mt-4 mb-2 animate-in fade-in slide-in-from-left-4 duration-500",children:[
|
|
23
|
-
/* @__PURE__ */t.jsx("div",{className:"w-8 h-8 rounded-xl bg-muted/60 border border-border/50 flex items-center justify-center shrink-0 shadow-soft-sm",children:/* @__PURE__ */t.jsxs("div",{className:"flex gap-[2px]",children:[
|
|
24
|
-
/* @__PURE__ */t.jsx("span",{className:"w-1 h-1 bg-primary/50 rounded-full animate-bounce [animation-delay:-0.3s]"}),
|
|
25
|
-
/* @__PURE__ */t.jsx("span",{className:"w-1 h-1 bg-primary/50 rounded-full animate-bounce [animation-delay:-0.15s]"}),
|
|
26
|
-
/* @__PURE__ */t.jsx("span",{className:"w-1 h-1 bg-primary/50 rounded-full animate-bounce"})]})}),
|
|
27
|
-
/* @__PURE__ */t.jsx(Et,{})]})]}):/* @__PURE__ */t.jsxs("div",{ref:h,className:"flex-1 overflow-y-auto scroll-smooth p-4 bg-background/50 scrollbar-none",children:[
|
|
28
|
-
/* @__PURE__ */t.jsxs("div",{className:"min-h-full flex flex-col justify-end",children:[0===s.length&&/* @__PURE__ */t.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center py-16 text-center animate-in fade-in zoom-in-95 duration-1000",children:[
|
|
29
|
-
/* @__PURE__ */t.jsxs("div",{className:"relative h-24 w-24 mb-6",children:[
|
|
30
|
-
/* @__PURE__ */t.jsx("div",{className:"absolute inset-0 bg-primary/20 rounded-full animate-pulse blur-2xl"}),
|
|
31
|
-
/* @__PURE__ */t.jsx("div",{className:"relative h-full w-full rounded-[28px] border-2 border-primary/20 overflow-hidden bg-card shadow-soft-2xl transition-transform hover:scale-105 duration-500",children:f?/* @__PURE__ */t.jsx("div",{className:"h-full w-full flex items-center justify-center text-3xl",style:{backgroundColor:x},children:"👋"}):l?/* @__PURE__ */t.jsx("img",{src:l,className:"object-cover h-full w-full",alt:c,onError:()=>b(!0)}):/* @__PURE__ */t.jsx("div",{className:"h-full w-full flex items-center justify-center text-3xl",style:{backgroundColor:x},children:"👋"})})]}),
|
|
32
|
-
/* @__PURE__ */t.jsxs("div",{className:"space-y-2",children:[
|
|
33
|
-
/* @__PURE__ */t.jsx("h3",{className:"font-black text-xl text-foreground uppercase tracking-tighter italic",children:c}),
|
|
34
|
-
/* @__PURE__ */t.jsxs("p",{className:"text-[12px] font-bold text-muted-foreground italic px-10 leading-relaxed opacity-60",children:['"',a,'"']})]})]}),
|
|
35
|
-
/* @__PURE__ */t.jsx("div",{className:"flex flex-col",style:{gap:"var(--spacing-3)"},children:s.map((e,r)=>{const n=s[r-1],a=s[r+1],u=n&&St(new Date(e.timestamp),new Date(n.timestamp))>15,h=n&&n.sender===e.sender&&St(new Date(e.timestamp),new Date(n.timestamp))<5&&!u,p=a&&a.sender===e.sender&&St(new Date(a.timestamp),new Date(e.timestamp))<5;/* @__PURE__ */
|
|
36
|
-
return t.jsxs(o.Fragment,{children:[u&&/* @__PURE__ */t.jsx("div",{className:"flex justify-center my-8 animate-in fade-in zoom-in-95",children:/* @__PURE__ */t.jsx("span",{className:"px-4 py-1.5 bg-muted/40 backdrop-blur-md rounded-full text-[10px] font-black text-muted-foreground uppercase tracking-[0.2em] border border-border/50 shadow-sm",children:k(e.timestamp)})}),
|
|
37
|
-
/* @__PURE__ */t.jsx(zt,{message:e,primaryColor:i,botAvatar:l,botName:c,styles:d,avatars:m,isFirst:!h,isLast:!p})]},e.id||`msg-${r}`)})}),
|
|
38
|
-
/* @__PURE__ */t.jsx("div",{ref:u,className:"h-6 shrink-0"})]}),n&&/* @__PURE__ */t.jsxs("div",{className:"flex items-end gap-3 mt-4 mb-2 animate-in fade-in slide-in-from-left-4 duration-500",children:[
|
|
39
|
-
/* @__PURE__ */t.jsx("div",{className:"w-8 h-8 rounded-xl bg-muted/60 border border-border/50 flex items-center justify-center shrink-0 shadow-soft-sm",children:/* @__PURE__ */t.jsxs("div",{className:"flex gap-[2px]",children:[
|
|
40
|
-
/* @__PURE__ */t.jsx("span",{className:"w-1 h-1 bg-primary/50 rounded-full animate-bounce [animation-delay:-0.3s]"}),
|
|
41
|
-
/* @__PURE__ */t.jsx("span",{className:"w-1 h-1 bg-primary/50 rounded-full animate-bounce [animation-delay:-0.15s]"}),
|
|
42
|
-
/* @__PURE__ */t.jsx("span",{className:"w-1 h-1 bg-primary/50 rounded-full animate-bounce"})]})}),
|
|
43
|
-
/* @__PURE__ */t.jsx(Et,{})]})]}):/* @__PURE__ */t.jsx("div",{className:"flex-1 bg-background"})},(e,t)=>{if(e.messages.length!==t.messages.length)return!1;if(e.isTyping!==t.isTyping)return!1;if(e.primaryColor!==t.primaryColor)return!1;if(e.botName!==t.botName)return!1;if(e.logoUrl!==t.logoUrl)return!1;const r=e.messages[e.messages.length-1],s=t.messages[t.messages.length-1];return r?.id===s?.id}),Ft={"image/jpeg":[255,216,255],"image/png":[137,80,78,71,13,10,26,10],"image/webp":[82,73,70,70],"image/gif":[71,73,70,56],"audio/mpeg":[255,251],"audio/wav":[82,73,70,70],"audio/webm":[26,69,223,163],"audio/ogg":[79,103,103,83]};async function Ot(e,t={}){const{maxSizeMB:r=10,allowedExtensions:s,checkMagicBytes:o=!0}=t;if(!function(e,t=10){const r=1024*t*1024;return e.size<=r}(e,r))return{valid:!1,error:`El archivo es demasiado grande. Máximo ${r}MB`};if(s&&!function(e,t){const r=e.name.split(".").pop()?.toLowerCase();return!!r&&t.includes(r)}(e,s))return{valid:!1,error:`Extensión no permitida. Solo: ${s.join(", ")}`};if(o){const t=await async function(e){try{const t=Ft[e.type];if(!t)return!0;const r=await e.slice(0,12).arrayBuffer(),s=new Uint8Array(r);return t.every((e,t)=>s[t]===e)}catch(t){return console.error("File validation error:",t),!1}}(e);if(!t)return{valid:!1,error:"El archivo está corrupto o no es del tipo indicado"}}return{valid:!0}}const It=1e3,Dt={enableImages:!0,enableAudio:!0,enableFiles:!0,enableLocation:!0,allowedFileTypes:["jpg","jpeg","png","webp","gif","pdf","doc","docx","txt","zip"],maxFileSizeMB:10};function Tt({isConnected:r,placeholder:s="Escribe un mensaje...",primaryColor:o,mediaConfig:n,onSendMessage:a,onSendAttachment:i,onSendLocation:l}){const{t:c}=u(),[d,m]=e.useState(""),[h,p]=e.useState(!1),[g,f]=e.useState(!1),[b,x]=e.useState(0),[v,y]=e.useState(null),[w,k]=e.useState(!1),[j,C]=e.useState(!1),M=e.useRef(null),A=e.useRef(null),F=e.useRef(null),O=e.useRef(null),T=e.useRef([]),W=e.useRef(null),$=ot({primaryColor:o}),R=e.useMemo(()=>({...Dt,...n}),[n]),P=e.useMemo(()=>R.enableImages||R.enableAudio||R.enableFiles||R.enableLocation,[R]),B=()=>{const e=d.trim();v?(i?.(v.file,v.type),y(null),m("")):e&&r&&(a(e),m("")),M.current&&(M.current.style.height="40px")},V=async e=>{const t=e.target.files?.[0];if(!t)return;p(!1);const r=await Ot(t,{maxSizeMB:R.maxFileSizeMB||10,allowedExtensions:R.allowedFileTypes||["jpg","jpeg","png","webp","gif","pdf","doc","docx","txt","zip"],checkMagicBytes:!0});if(r.valid)if(t.type.startsWith("image/")&&R.enableImages){k(!0);try{const{default:e}=await import("./browser-image-compression-CsxM8KJN.js"),r={maxSizeMB:.8,maxWidthOrHeight:1200,useWebWorker:!0},s=await e(t,r);y({type:"image",file:s,previewUrl:URL.createObjectURL(s)})}catch(s){at.error("Image compression failed:",s),y({type:"image",file:t,previewUrl:URL.createObjectURL(t)})}finally{k(!1)}}else y({type:"file",file:t,previewUrl:""});else alert(r.error||"Archivo no válido")},H=async e=>{if(O.current&&(e||(O.current.onstop=null),O.current.stop(),O.current.stream.getTracks().forEach(e=>e.stop())),W.current&&clearInterval(W.current),f(!1),x(0),e&&T.current.length>0){const e=new Blob(T.current,{type:"audio/webm"}),t=new File([e],`audio-${Date.now()}.webm`,{type:"audio/webm"}),r=await Ot(t,{maxSizeMB:10});if(!r.valid)return at.error("Audio validation failed:",r.error),alert(r.error),void(T.current=[]);i?.(t,"audio"),T.current=[]}};/* @__PURE__ */
|
|
44
|
-
return t.jsxs("div",{className:"relative",children:[(v||w)&&/* @__PURE__ */t.jsx("div",{className:"absolute bottom-full left-0 mb-2 p-2 rounded-2xl border shadow-soft-2xl animate-in slide-in-from-bottom-2 z-50",style:{backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border))"},children:/* @__PURE__ */t.jsx("div",{className:"relative w-16 h-16",children:w?/* @__PURE__ */t.jsx("div",{className:"w-full h-full flex flex-col items-center justify-center bg-muted rounded-xl",children:/* @__PURE__ */t.jsx(E,{className:"animate-spin text-primary h-5 w-5"})}):"image"===v?.type?/* @__PURE__ */t.jsxs(t.Fragment,{children:[
|
|
45
|
-
/* @__PURE__ */t.jsx("img",{src:v?.previewUrl,className:"w-full h-full object-cover rounded-xl border",alt:c("preview")}),
|
|
46
|
-
/* @__PURE__ */t.jsx("button",{onClick:()=>y(null),className:"absolute -top-1.5 -right-1.5 bg-destructive text-white rounded-full p-1 shadow-md hover:scale-105",children:/* @__PURE__ */t.jsx(U,{size:10,strokeWidth:3})})]}):/* @__PURE__ */t.jsxs(t.Fragment,{children:[
|
|
47
|
-
/* @__PURE__ */t.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center bg-muted rounded-xl border",children:[
|
|
48
|
-
/* @__PURE__ */t.jsx(N,{className:"text-primary h-6 w-6"}),
|
|
49
|
-
/* @__PURE__ */t.jsx("span",{className:"text-[8px] mt-1 font-bold truncate max-w-[60px]",children:v?.file.name})]}),
|
|
50
|
-
/* @__PURE__ */t.jsx("button",{onClick:()=>y(null),className:"absolute -top-1.5 -right-1.5 bg-destructive text-white rounded-full p-1 shadow-md hover:scale-105",children:/* @__PURE__ */t.jsx(U,{size:10,strokeWidth:3})})]})})}),
|
|
51
|
-
/* @__PURE__ */t.jsx("input",{type:"file",accept:"image/*",className:"hidden",ref:F,onChange:V}),
|
|
52
|
-
/* @__PURE__ */t.jsx("input",{type:"file",accept:R.allowedFileTypes?.map(e=>`.${e}`).join(","),className:"hidden",ref:A,onChange:V}),
|
|
53
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex items-center max-w-full",style:{gap:"var(--spacing-3)"},children:[P&&i&&/* @__PURE__ */t.jsxs("div",{className:"relative shrink-0",children:[h&&/* @__PURE__ */t.jsxs("div",{className:"absolute bottom-full left-0 flex flex-col animate-in fade-in slide-in-from-bottom-2 duration-300 z-[60]",style:{marginBottom:"var(--spacing-2)",gap:"var(--spacing-2)"},children:[R.enableImages&&/* @__PURE__ */t.jsxs("button",{onClick:()=>F.current?.click(),className:"flex items-center border shadow-soft-2xl rounded-2xl transition-colors text-[10px] font-black uppercase tracking-widest",style:{gap:"var(--spacing-3)",padding:"var(--spacing-3) var(--spacing-5)",backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border))",color:"hsl(var(--card-foreground))"},children:[
|
|
54
|
-
/* @__PURE__ */t.jsx(z,{size:18,className:"text-blue-500"})," ",c("fotos")]}),R.enableFiles&&/* @__PURE__ */t.jsxs("button",{onClick:()=>A.current?.click(),className:"flex items-center border shadow-soft-2xl rounded-2xl transition-colors text-[10px] font-black uppercase tracking-widest",style:{gap:"var(--spacing-3)",padding:"var(--spacing-3) var(--spacing-5)",backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border))",color:"hsl(var(--card-foreground))"},children:[
|
|
55
|
-
/* @__PURE__ */t.jsx(N,{size:18,className:"text-purple-500"})," Archivos"]}),R.enableLocation&&l&&/* @__PURE__ */t.jsxs("button",{onClick:()=>{C(!0),navigator.geolocation.getCurrentPosition(e=>{l?.({latitude:e.coords.latitude,longitude:e.coords.longitude}),C(!1),p(!1)},()=>C(!1))},className:"flex items-center border shadow-soft-2xl rounded-2xl transition-colors text-[10px] font-black uppercase tracking-widest",style:{gap:"var(--spacing-3)",padding:"var(--spacing-3) var(--spacing-5)",backgroundColor:"hsl(var(--card))",borderColor:"hsl(var(--border))",color:"hsl(var(--card-foreground))"},children:[j?/* @__PURE__ */t.jsx(E,{size:18,className:"animate-spin"}):/* @__PURE__ */t.jsx(S,{size:18,className:"text-emerald-500"})," ",c("ubicacion")]})]}),
|
|
56
|
-
/* @__PURE__ */t.jsx("button",{onClick:()=>p(!h),className:et("h-10 w-10 rounded-full flex items-center justify-center transition-all shadow-sm z-10",h?"bg-muted text-foreground rotate-45":"bg-muted/50 text-muted-foreground hover:bg-muted"),children:/* @__PURE__ */t.jsx(I,{size:22,strokeWidth:2.5})})]}),
|
|
57
|
-
/* @__PURE__ */t.jsx("div",{className:et("flex-1 relative flex items-center min-w-0 rounded-[24px] border px-4 transition-all shadow-inner",g?"h-[44px]":"min-h-[40px] max-h-[120px]"),style:{backgroundColor:g?"hsl(var(--destructive) / 0.05)":"hsl(var(--muted))",borderColor:g?"hsl(var(--destructive))":"hsl(var(--border))"},children:g?/* @__PURE__ */t.jsxs("div",{className:"flex items-center w-full animate-in zoom-in-95",style:{gap:"var(--spacing-4)"},children:[
|
|
58
|
-
/* @__PURE__ */t.jsx("button",{onClick:()=>H(!1),className:"text-destructive/50 hover:text-destructive",children:/* @__PURE__ */t.jsx(L,{size:18})}),
|
|
59
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex-1 flex items-center",style:{gap:"var(--spacing-2)"},children:[
|
|
60
|
-
/* @__PURE__ */t.jsx("div",{className:"flex gap-[3px]",children:[1,2,3,4].map(e=>/* @__PURE__ */t.jsx("span",{className:"w-[3px] h-3 bg-destructive/60 rounded-full animate-pulse",style:{animationDelay:.15*e+"s"}},e))}),
|
|
61
|
-
/* @__PURE__ */t.jsxs("span",{className:"text-destructive font-black text-[11px] tabular-nums",children:[Math.floor(b/60),":",(b%60).toString().padStart(2,"0")]})]}),
|
|
62
|
-
/* @__PURE__ */t.jsx("button",{onClick:()=>H(!0),className:"w-7 h-7 rounded-full bg-destructive flex items-center justify-center text-white shadow-lg",children:/* @__PURE__ */t.jsx(D,{size:12,fill:"currentColor"})})]}):/* @__PURE__ */t.jsxs("div",{className:"w-full relative flex items-center",children:[
|
|
63
|
-
/* @__PURE__ */t.jsx("textarea",{ref:M,rows:1,value:d,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.ctrlKey||e.metaKey?"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),B()):(e.preventDefault(),B())},onChange:e=>{const t=e.target.value.slice(0,It);m(t),M.current&&(M.current.style.height="40px",M.current.style.height=`${Math.min(M.current.scrollHeight,120)}px`)},onFocus:()=>p(!1),placeholder:s,"aria-label":c("accessibility.typeMessage"),"aria-describedby":"send-message-hint","aria-invalid":d.length>It,disabled:!r,className:"w-full bg-transparent text-sm py-2.5 outline-none resize-none overflow-hidden leading-tight pr-8 scrollbar-none disabled:opacity-50",style:{scrollbarWidth:"none",msOverflowStyle:"none",color:"hsl(var(--foreground))"}}),
|
|
64
|
-
/* @__PURE__ */t.jsx("span",{id:"send-message-hint",className:"sr-only",children:c("accessibility.sendMessageHint")}),d.length>800&&/* @__PURE__ */t.jsx("span",{className:et("absolute right-0 text-[9px] font-bold tabular-nums",d.length>=It?"text-destructive":"text-muted-foreground/40"),children:It-d.length})]})}),!g&&/* @__PURE__ */t.jsx(t.Fragment,{children:d.trim()||v?/* @__PURE__ */t.jsx("button",{onClick:B,disabled:!r||w&&!!v,className:"h-10 w-10 rounded-full flex items-center justify-center transition-all active:scale-90 shadow-md shadow-primary/20 shrink-0 disabled:opacity-30 disabled:grayscale",style:{backgroundColor:$},children:/* @__PURE__ */t.jsx(D,{size:18,className:"text-white ml-0.5 fill-current"})}):R.enableAudio&&i?/* @__PURE__ */t.jsx("button",{onClick:async()=>{if(r)try{const e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e);O.current=t,T.current=[],t.ondataavailable=e=>T.current.push(e.data),t.onstop=()=>{const e=new File([new Blob(T.current)],"voice.webm",{type:"audio/webm"});i?.(e,"audio")},t.start(),f(!0),W.current=setInterval(()=>x(e=>e+1),1e3)}catch{alert("Micrófono denegado o no disponible")}},disabled:!r,className:"h-10 w-10 rounded-full flex items-center justify-center transition-all active:scale-90 shadow-md shadow-primary/20 shrink-0 disabled:opacity-30 disabled:grayscale",style:{backgroundColor:$},children:/* @__PURE__ */t.jsx(_,{size:20,strokeWidth:2.5,className:"text-white"})}):/* @__PURE__ */t.jsx("button",{onClick:B,disabled:!r,className:"h-10 w-10 rounded-full flex items-center justify-center transition-all active:scale-90 shadow-md shadow-primary/20 shrink-0 disabled:opacity-30 disabled:grayscale",style:{backgroundColor:$},children:/* @__PURE__ */t.jsx(D,{size:18,className:"text-white ml-0.5 fill-current"})})})]})]})}function Lt(e,t){let r=0,s=null;return function(...o){const n=Date.now(),a=n-r,i=()=>{r=n,e(...o)};a>=t?(s&&(clearTimeout(s),s=null),i()):s||(s=setTimeout(()=>{i(),s=null},t-a))}}function Ut(t=640){const[r,s]=e.useState(()=>"undefined"!=typeof window&&window.innerWidth<t);return e.useEffect(()=>{const e=Lt(()=>{s(window.innerWidth<t)},250);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[t]),r}const Wt="24px";function $t({isOpen:r,isConnected:s,isTyping:o,messages:n,botName:a="Mar",logoUrl:i,welcomeMessage:l,inputPlaceholder:c,primaryColor:d,mediaConfig:m,onClose:h,onSendMessage:p,bubbleStyles:g,avatars:f,onSendAttachment:b,onSendLocation:x,theme:v}){const[y,w]=e.useState(!1),{t:k}=u(),j=Ut(),C=ot({primaryColor:d}),N=function({isOpen:t,height:r,bottom:s}){const o=Ut(),[n,a]=e.useState({}),i=e.useCallback(()=>{if(o){const e=()=>{window.visualViewport?a({height:`${window.visualViewport.height}px`,width:"100%",top:`${window.visualViewport.offsetTop}px`,left:"0px",bottom:"auto",right:"auto",transform:"none"}):a({height:"100dvh",width:"100%",top:"0px",left:"0px"})};return e(),window.visualViewport?.addEventListener("resize",e),window.visualViewport?.addEventListener("scroll",e),()=>{window.visualViewport?.removeEventListener("resize",e),window.visualViewport?.removeEventListener("scroll",e)}}{const e=parseFloat(s||Wt)||24,t=window.innerHeight-64-e;if(r){const e=parseFloat(r)||700,o=Math.min(e,t);a({height:`${o}px`,maxHeight:`${t}px`,bottom:s||Wt})}else{const e=Math.min(700,Math.max(500,t));a({height:`${e}px`,maxHeight:`${t}px`,bottom:s||Wt})}}},[o,r,s]);return e.useEffect(()=>{if(!t)return;const e=i();return window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),e&&e()}},[t,i]),n}({isOpen:r,height:v?.height,bottom:v?.bottom}),z=function({enabled:t,returnFocusRef:r,onEscape:s}){const o=e.useRef(null),n=e.useRef(null);return e.useEffect(()=>{if(!t)return;n.current=document.activeElement;const e=r?.current,a=o.current;if(!a)return;const i=setTimeout(()=>{const e=a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');e.length>0?e[0].focus():a.focus()},100),l=e=>{if(a)if("Escape"!==e.key){if("Tab"===e.key){const t=a.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(0===t.length)return;const r=t[0],s=t[t.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),s.focus()):e.shiftKey||document.activeElement!==s||(e.preventDefault(),r.focus())}}else s?.()};return document.addEventListener("keydown",l),()=>{clearTimeout(i),document.removeEventListener("keydown",l);const t=e||n.current;t&&"function"==typeof t.focus&&t.focus()}},[t,s,r]),o}({enabled:r,onEscape:h});if(e.useEffect(()=>{if(r)return j&&(document.body.style.overflow="hidden",document.body.style.position="fixed",document.body.style.width="100%"),()=>{document.body.style.overflow="",document.body.style.position="",document.body.style.width=""}},[r,j]),!r)return null;const E=v?.bottom||"24px",S="bottom-left"===v?.position;/* @__PURE__ */
|
|
65
|
-
return t.jsxs(t.Fragment,{children:[
|
|
66
|
-
/* @__PURE__ */t.jsx("div",{id:"chat-window-description",className:"sr-only",children:k("accessibility.dialogDescription")}),
|
|
67
|
-
/* @__PURE__ */t.jsxs("div",{ref:z,role:"dialog","aria-modal":"true","aria-labelledby":"chat-window-title","aria-describedby":"chat-window-description",tabIndex:-1,className:et("flex flex-col overflow-hidden transition-all duration-500 ease-[cubic-bezier(0.16,1,0.3,1)]","text-foreground z-[9999]",!j&&["fixed",S?"left-6":"right-6","w-[350px] min-w-[350px] max-w-[350px]","rounded-[32px] border shadow-soft-2xl","animate-in fade-in zoom-in-95","slide-in-from-bottom-10"],j&&["fixed inset-0 w-full"]),style:{...N,...!j&&{bottom:E,maxHeight:`calc(100vh - 64px - ${E})`},backgroundColor:"hsl(var(--background))",borderColor:"hsl(var(--border))",color:"hsl(var(--foreground))"},children:[
|
|
68
|
-
/* @__PURE__ */t.jsx("header",{className:"relative shrink-0 border-b z-20",style:{padding:"var(--spacing-5)",backgroundColor:"hsl(var(--background) / 0.9)",borderColor:"hsl(var(--border))",backdropFilter:"blur(24px)"},children:/* @__PURE__ */t.jsxs("div",{className:"flex items-center justify-between",children:[
|
|
69
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex items-center gap-3",children:[
|
|
70
|
-
/* @__PURE__ */t.jsxs("div",{className:"relative",children:[
|
|
71
|
-
/* @__PURE__ */t.jsx("div",{className:"h-10 w-10 rounded-2xl overflow-hidden bg-primary/10 border-2 border-background shadow-soft-sm",children:y?/* @__PURE__ */t.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted text-muted-foreground",children:/* @__PURE__ */t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:/* @__PURE__ */t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})})}):/* @__PURE__ */t.jsx("img",{src:i||it,alt:a,className:"h-full w-full object-cover",onError:()=>w(!0)})}),
|
|
72
|
-
/* @__PURE__ */t.jsx("div",{className:et("absolute -bottom-0.5 -right-0.5 h-3.5 w-3.5 rounded-full border-2 border-background",s?"bg-emerald-500":"bg-amber-500 animate-pulse")})]}),
|
|
73
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex flex-col",children:[
|
|
74
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex items-center gap-1",children:[
|
|
75
|
-
/* @__PURE__ */t.jsx("span",{id:"chat-window-title",className:"font-black text-xs uppercase tracking-tight text-foreground",children:a}),
|
|
76
|
-
/* @__PURE__ */t.jsx(T,{className:"h-3 w-3 text-primary fill-primary/10"})]}),
|
|
77
|
-
/* @__PURE__ */t.jsxs("div",{id:"chat-window-description",className:"flex items-center gap-1.5 mt-0.5",children:[
|
|
78
|
-
/* @__PURE__ */t.jsx("span",{className:"flex h-1 w-1 rounded-full bg-emerald-500"}),
|
|
79
|
-
/* @__PURE__ */t.jsx("span",{className:"text-[9px] font-black text-muted-foreground uppercase tracking-[0.1em]",children:k(s?"online":"offline")})]})]})]}),
|
|
80
|
-
/* @__PURE__ */t.jsx("button",{onClick:h,"aria-label":k("accessibility.closeChat"),title:"Esc",className:"h-8 w-8 flex items-center justify-center rounded-full bg-muted/60 hover:bg-muted text-foreground transition-all active:scale-90 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",children:/* @__PURE__ */t.jsx(U,{className:"h-4 w-4","aria-hidden":"true"})})]})}),
|
|
81
|
-
/* @__PURE__ */t.jsxs("main",{role:"region","aria-label":k("accessibility.chatMessages"),className:"flex-1 min-h-0 relative flex flex-col",style:{padding:"var(--spacing-5)",backgroundColor:"hsl(var(--muted))"},children:[
|
|
82
|
-
/* @__PURE__ */t.jsx(_t,{messages:n,isTyping:o,welcomeMessage:l,primaryColor:d,logoUrl:i,botName:a,bubbleStyles:g,avatars:f}),
|
|
83
|
-
/* @__PURE__ */t.jsx("div",{className:"absolute top-0 left-0 right-0 h-6 bg-gradient-to-b from-background/10 to-transparent pointer-events-none"})]}),
|
|
84
|
-
/* @__PURE__ */t.jsxs("footer",{className:"border-t",style:{paddingTop:"var(--spacing-5)",paddingLeft:"var(--spacing-5)",paddingRight:"var(--spacing-5)",paddingBottom:j?"max(var(--spacing-3), env(safe-area-inset-bottom))":"var(--spacing-3)",backgroundColor:"hsl(var(--background))",borderColor:"hsl(var(--border))"},children:[
|
|
85
|
-
/* @__PURE__ */t.jsx(Tt,{isConnected:s,placeholder:c,primaryColor:C,mediaConfig:m,onSendMessage:p,onSendAttachment:b,onSendLocation:x}),
|
|
86
|
-
/* @__PURE__ */t.jsxs("div",{className:"flex items-center justify-center gap-1 opacity-25 select-none",style:{marginTop:"var(--spacing-2)",paddingBottom:"var(--spacing-1)"},children:[
|
|
87
|
-
/* @__PURE__ */t.jsx(M,{className:"h-2 w-2 text-primary fill-primary"}),
|
|
88
|
-
/* @__PURE__ */t.jsx("span",{className:"text-[7px] font-bold uppercase tracking-[0.2em]",children:k("con_amor_paseo_libre")})]})]})]})]})}export{w as C,it as D,E as L,A as M,F as P,U as X,W as Z,O as a,k as b,et as c,m as d,lt as e,Ut as f,ot as g,$t as h,at as l,st as m,Lt as t,u};
|
|
89
|
-
//# sourceMappingURL=chunk-chat-ui-BHfnFN_3.js.map
|