{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/bY5LlvV6hzY8qfc2KWGm/gjq0K3fxIurdYhSkBGVO/AIChatAssistant_6.js"],
  "sourcesContent": ["// AI chat assistant component for biological and scientific knowledge with Google Gemini 2.5 Flash integration\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Pelagoso AI Chat Assistant\n * \n * Professional biological and scientific knowledge assistant powered by Google Gemini 2.5 Flash.\n * Specializes in animals, plants, habitats, conservation, care, biodiversity, and species education.\n * \n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function AIChatAssistant(props){const{apiKey=\"\",placeholder=\"Ask about animals, plants, habitats, or conservation...\",backgroundColor=\"#1a1a1a\",surfaceColor=\"#2a2a2a\",borderColor=\"#404040\",textColor=\"#ffffff\",mutedTextColor=\"#a0a0a0\",accentColor=\"#4285f4\",buttonColor=\"#4285f4\",buttonTextColor=\"#ffffff\",sourceTagColor=\"#3a3a3a\",sourceTagTextColor=\"#e0e0e0\",inputBackgroundColor=\"#2a2a2a\",inputBorderColor=\"#404040\",inputTextColor=\"#ffffff\",inputPlaceholderColor=\"#a0a0a0\",sourceCardBackground=\"#2a2a2a\",sourceCardBorder=\"#404040\",sourceCardTextColor=\"#ffffff\",sourceCardAccent=\"#4285f4\",sourceCardShadow=\"rgba(0, 0, 0, 0.15)\",messageFont,inputFont,sourceFont,headlineFont,bodyFont,tagsFont,borderRadius=12,inputBorderRadius=32,sourceCardRadius=12,showSuggestedTopics=true,aiAvatar={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"AI Assistant Avatar\"}}=props;const[messages,setMessages]=useState([]);const[inputValue,setInputValue]=useState(\"\");const[isLoading,setIsLoading]=useState(false);const[streamingMessage,setStreamingMessage]=useState(\"\");const[isStreaming,setIsStreaming]=useState(false);const[error,setError]=useState(\"\");const[conversationContext,setConversationContext]=useState(\"\");const[lastSuggestions,setLastSuggestions]=useState();const messagesEndRef=useRef(null);const textareaRef=useRef(null);const streamingRef=useRef(null);const clearChat=()=>{startTransition(()=>{setMessages([]);setConversationContext(\"\");setLastSuggestions([]);setError(\"\");setStreamingMessage(\"\");setIsStreaming(false);});};const scrollToBottom=()=>{// Disabled view anchoring to prevent jarring movement\n// Only scroll if we're not streaming to prevent jarring movement\n// if (!isStreaming) {\n//     if (messages.length > 0) {\n//         const messageElements = document.querySelectorAll('[data-message-id]')\n//         const lastMessage = messageElements[messageElements.length - 1]\n//         if (lastMessage) {\n//             lastMessage.scrollIntoView({ behavior: \"smooth\", block: \"start\" })\n//             return\n//         }\n//     }\n//     messagesEndRef.current?.scrollIntoView({ behavior: \"smooth\" })\n// }\n};useEffect(()=>{// Removed automatic scrolling to prevent view anchoring\n// scrollToBottom()\n},[messages]);// Scroll to streaming message when it starts, but don't follow during streaming\nuseEffect(()=>{// Disabled streaming scroll anchoring\n// if (isStreaming && streamingRef.current && streamingMessage.length < 50) {\n//     streamingRef.current.scrollIntoView({ behavior: \"smooth\", block: \"start\" })\n// }\n},[isStreaming]);const generateSystemPrompt=()=>{const contextPrompt=conversationContext?`\n\nCONVERSATION CONTEXT: ${conversationContext}`:\"\";return`You are Pelagoso, a professional AI assistant specializing in biological and scientific knowledge. \n\nPelagoso is a discovery engine for species\u2014connecting aquarists, biologists, hobbyists, educators, and conservationists. Explore life, care smarter, and deepen your understanding of biodiversity.\n\nYour role is to provide comprehensive, accurate information about:\n- All animals, plants, and organisms\n- Species care, behavior, and biology\n- Conservation efforts and environmental science\n- Habitats, ecosystems, and biodiversity\n- Scientific research and discoveries\n- Educational content about the natural world\n\nCONTEXT & CONVERSATION FLOW GUIDELINES:\n\n1. Maintain Short-term Context\n   \u2022 Remember topics and suggestions from previous messages in this conversation\n   \u2022 When users say \"yes\", \"tell me more\", \"continue\", or \"go on\", expand on the LAST suggestion you made\n   \u2022 Build on current conversation topics rather than starting fresh\n   \u2022 Keep context for the current session until user explicitly changes topics\n\n2. Follow-up Response Handling\n   \u2022 If user responds with vague affirmatives (\"yes\", \"continue\", \"tell me more\"), assume they want the first/primary suggestion from your last response\n   \u2022 Always remember what you last suggested and be ready to expand on it\n   \u2022 Connect new questions to previous topics when relevant\n\n3. Conversation Continuity Rules\n   \u2022 Never ask follow-up questions you cannot handle comprehensively\n   \u2022 Only offer choices you can expand on with detailed information\n   \u2022 If user chooses vaguely, assume they meant your primary/first suggestion\n   \u2022 Reset context politely only if user explicitly switches to unrelated topics\n\n4. Natural & Human-like Interaction\n   \u2022 Recognize greetings, thanks, and small talk warmly\n   \u2022 Example: \"Hello! I'm excited to explore the natural world with you today. What would you like to learn about?\"\n   \u2022 Show understanding for concerns about animal care or conservation\n\n5. Response Structure\n   \u2022 Provide detailed, accurate information with scientific names and facts\n   \u2022 Always end with 2-3 specific follow-up suggestions\n   \u2022 Format suggestions as: \"Would you like me to explore [topic 1], [topic 2], or [topic 3]?\"\n   \u2022 Make suggestions actionable and directly related to current discussion\n\n6. Context Memory Example Flow\n   \u2022 Assistant: \"Would you like me to expand on habitat adaptations or feeding adaptations?\"\n   \u2022 User: \"Yes.\"\n   \u2022 Assistant: \"Great! Let's dive into habitat adaptations. Many species have developed remarkable ways to survive in their environments...\"\n\nBe knowledgeable, enthusiastic, and maintain conversation flow while providing comprehensive biological knowledge.${contextPrompt}`;};const isGreeting=message=>{const greetingPatterns=[/^(hi|hello|hey|good morning|good afternoon|good evening|greetings)/i,/^(what's up|how are you|howdy)/i];return greetingPatterns.some(pattern=>pattern.test(message.trim()));};const isThanks=message=>{const thanksPatterns=[/^(thank you|thanks|thx|appreciate)/i,/^(that was helpful|that helps|great)/i];return thanksPatterns.some(pattern=>pattern.test(message.trim()));};const detectUserIntent=message=>{const followUpPatterns=[/^(yes|yeah|yep|sure|okay|ok|continue|go on|tell me more|more|expand|elaborate)/i,/^(that sounds interesting|i'd like to know more|please continue)/i,/^(what about|how about|and)/i];const isFollowUp=followUpPatterns.some(pattern=>pattern.test(message.trim()));if(isFollowUp){return{intent:\"followUp\",isFollowUp:true};}if(isGreeting(message)){return{intent:\"greeting\",isFollowUp:false};}if(isThanks(message)){return{intent:\"thanks\",isFollowUp:false};}return{intent:\"newTopic\",isFollowUp:false};};const extractFollowUpSuggestions=content=>{// Look for follow-up questions in the response\nconst suggestionPatterns=[/Would you like me to (?:explore|discuss|explain|tell you about) ([^?]+)\\?/gi,/(?:Interested in|Want to learn about|Curious about) ([^?]+)\\?/gi,/(?:Should we|Shall we|Would you like to) (?:explore|discuss|look at) ([^?]+)\\?/gi];const suggestions=[];suggestionPatterns.forEach(pattern=>{let match;while((match=pattern.exec(content))!==null&&suggestions.length<3){const suggestion=match[1].trim();if(suggestion&&!suggestions.includes(suggestion)){suggestions.push(suggestion);}}});return suggestions;};const updateConversationContext=(userMessage,assistantResponse)=>{// Extract key topics and maintain context\nconst topics=[...userMessage.toLowerCase().match(/\\b(?:whale|shark|fish|bird|plant|tree|ecosystem|habitat|conservation|species|animal|marine|terrestrial|aquatic)\\w*\\b/g)||[],...assistantResponse.toLowerCase().match(/\\b(?:whale|shark|fish|bird|plant|tree|ecosystem|habitat|conservation|species|animal|marine|terrestrial|aquatic)\\w*\\b/g)||[]];const uniqueTopics=[...new Set(topics)].slice(0,5);const newContext=`Recent topics: ${uniqueTopics.join(\", \")}`;setConversationContext(newContext);};const callGeminiAPI=async userMessage=>{if(!apiKey){throw new Error(\"Please provide a valid Google Gemini API key in the component properties.\");}const{intent,isFollowUp}=detectUserIntent(userMessage);// Handle follow-up responses\nif(isFollowUp&&lastSuggestions.length>0){// Use the first suggestion as the topic to expand on\nconst topicToExpand=lastSuggestions[0];userMessage=`Tell me more about ${topicToExpand}`;}// Handle greetings\nif(intent===\"greeting\"){const greetingResponse=\"Hello there! \uD83C\uDF3F I'm absolutely delighted to meet you! I'm Pelagoso, your dedicated guide to the fascinating world of biological sciences.\\n\\nI'm here to help you explore everything from the tiniest microorganisms to the largest mammals, from ancient forests to coral reefs, and from conservation efforts to the latest discoveries in biodiversity.\\n\\nWhat aspect of the natural world sparks your curiosity today? I'd love to share some amazing insights with you!\\n\\nWould you like me to explore animal adaptations, plant biology, or marine ecosystems?\";const suggestions=[\"animal adaptations\",\"plant biology\",\"marine ecosystems\"];setLastSuggestions(suggestions);return{content:greetingResponse,sources:[{title:\"Encyclopedia of Life\",url:\"https://eol.org\"},{title:\"Tree of Life Web Project\",url:\"http://tolweb.org\"},{title:\"IUCN Red List\",url:\"https://www.iucnredlist.org\"}],followUpSuggestions:suggestions};}// Handle thanks\nif(intent===\"thanks\"){const thanksResponse=\"You're so very welcome! \uD83D\uDE0A It truly warms my heart to know I could help you learn something new about our incredible natural world.\\n\\nI genuinely love sharing knowledge about biology and conservation - there's always something amazing to discover! Whether it's the intricate dance of ecosystems or the remarkable adaptations of species, every question opens up new wonders.\\n\\nPlease don't hesitate to ask me anything else about animals, plants, habitats, or conservation. I'm here and excited to explore more biological mysteries with you!\\n\\nWould you like me to explore endangered species conservation, fascinating animal behaviors, or unique plant adaptations?\";const suggestions=[\"endangered species conservation\",\"fascinating animal behaviors\",\"unique plant adaptations\"];setLastSuggestions(suggestions);return{content:thanksResponse,sources:[{title:\"World Wildlife Fund\",url:\"https://www.worldwildlife.org\"},{title:\"Conservation International\",url:\"https://www.conservation.org\"},{title:\"National Geographic\",url:\"https://www.nationalgeographic.com\"}],followUpSuggestions:suggestions};}const response=await fetch(`https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent?key=${apiKey}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({contents:[{parts:[{text:`${generateSystemPrompt()}\n\nUser question: ${userMessage}\n\nPlease provide a comprehensive response and end with specific follow-up suggestions formatted as: \"Would you like me to explore [topic 1], [topic 2], or [topic 3]?\"\n\nAlso include relevant scientific sources in your response using this format: [Source Title](URL) when referencing specific information.`}]}],generationConfig:{temperature:.7,topK:40,topP:.95,maxOutputTokens:1024}})});if(!response.ok){const errorData=await response.json();throw new Error(errorData.error?.message||\"Failed to get response from Gemini API\");}const data=await response.json();const content=data.candidates?.[0]?.content?.parts?.[0]?.text||\"I apologize, but I couldn't generate a response. Please try again.\";// Extract sources from the content\nconst sourceRegex=/\\[([^\\]]+)\\]\\(([^)]+)\\)/g;const sources=[];let match;while((match=sourceRegex.exec(content))!==null){sources.push({title:match[1],url:match[2]});}// Add default biological resources if no sources were found in the response\nif(sources.length===0){const defaultSources=[{title:\"Encyclopedia Britannica\",url:\"https://www.britannica.com\"},{title:\"Smithsonian National Museum\",url:\"https://naturalhistory.si.edu\"},{title:\"Nature Journal\",url:\"https://www.nature.com\"},{title:\"Scientific American\",url:\"https://www.scientificamerican.com\"},{title:\"National Geographic\",url:\"https://www.nationalgeographic.com\"}];// Add 2-3 relevant default sources\nsources.push(...defaultSources.slice(0,3));}// Extract follow-up suggestions\nconst followUpSuggestions=extractFollowUpSuggestions(content);setLastSuggestions(followUpSuggestions);return{content,sources,followUpSuggestions};};const simulateStreaming=async fullContent=>{return new Promise(resolve=>{setIsStreaming(true);setStreamingMessage(\"\");const words=fullContent.split(\" \");let currentIndex=0;const streamInterval=setInterval(()=>{if(currentIndex<words.length){const currentText=words.slice(0,currentIndex+1).join(\" \");setStreamingMessage(currentText);currentIndex++;}else{clearInterval(streamInterval);setIsStreaming(false);setStreamingMessage(\"\");resolve();}},50)// Adjust speed as needed\n;});};const handleSubmit=async e=>{e.preventDefault();if(!inputValue.trim()||isLoading)return;const userMessage=inputValue.trim();setInputValue(\"\");setError(\"\");// Add user message\nconst userMsg={id:Date.now().toString(),type:\"user\",content:userMessage,timestamp:new Date};startTransition(()=>{setMessages(prev=>[...prev,userMsg]);setIsLoading(true);});try{const{content,sources,followUpSuggestions}=await callGeminiAPI(userMessage);const assistantMsg={id:(Date.now()+1).toString(),type:\"assistant\",content,timestamp:new Date,sources,followUpSuggestions};// Update conversation context\nupdateConversationContext(userMessage,content);startTransition(()=>{setMessages(prev=>[...prev,assistantMsg]);setIsLoading(false);});}catch(err){startTransition(()=>{setError(err instanceof Error?err.message:\"An error occurred\");setIsLoading(false);});}};const handleKeyDown=e=>{if(e.key===\"Enter\"&&!e.shiftKey){e.preventDefault();handleSubmit(e);}};const adjustTextareaHeight=()=>{if(textareaRef.current){textareaRef.current.style.height=\"auto\";textareaRef.current.style.height=`${Math.min(textareaRef.current.scrollHeight,120)}px`;}};useEffect(()=>{adjustTextareaHeight();},[inputValue]);const renderMessageContent=(content,sources=[],followUpSuggestions=[])=>{// Remove asterisks and clean up markdown formatting\nconst cleanedContent=content.replace(/\\*\\*/g,\"\")// Remove bold markdown\n.replace(/\\*/g,\"\")// Remove italic markdown and bullet asterisks\n.replace(/^\\s*\\*\\s+/gm,\"\")// Remove asterisk bullet points at start of lines\n.replace(/\\s+\\*\\s+/g,\" \")// Remove asterisks used as separators\n.replace(/^\\s*[-\u2022]\\s+/gm,\"\")// Remove dash and bullet point markers\n.replace(/^\\s*\\d+\\.\\s+/gm,\"\")// Remove numbered list markers\n;// Format content into clean blocks\nconst formatIntoBlocks=text=>{// Split by double line breaks or major sections\nconst sections=text.split(/\\n\\s*\\n/).filter(s=>s.trim());return sections.map(section=>{const lines=section.split(\"\\n\").filter(l=>l.trim());if(lines.length===0)return\"\";// Check if this looks like a tip/trick block (has a header pattern)\nconst headerPattern=/^(.{1,50}?)[:\uFF1A]\\s*(.+)/;const match=lines[0].match(headerPattern);if(match&&lines.length>1){// Format as a clean block with header and explanation\nconst header=match[1].trim();const explanation=match[2].trim();const additionalLines=lines.slice(1).join(\" \").trim();return`${header}\n${explanation} ${additionalLines}\n`;}else if(lines[0].length<60&&lines.length>1){// Treat first short line as header\nconst header=lines[0].trim();const explanation=lines.slice(1).join(\" \").trim();return`${header}\n${explanation}\n`;}else{// Regular paragraph\nreturn lines.join(\" \").trim()+\"\\n\";}}).join(\"\\n\");};const formattedContent=formatIntoBlocks(cleanedContent);// Split content into paragraphs and add line breaks for better scannability\nconst paragraphs=formattedContent.split(\"\\n\").filter(p=>p.trim()!==\"\");return /*#__PURE__*/_jsxs(\"div\",{children:[paragraphs.map((paragraph,paragraphIndex)=>{// Replace citation links with clickable source tags for each paragraph\nconst sourceRegex=/\\[([^\\]]+)\\]\\(([^)]+)\\)/g;const parts=[];let lastIndex=0;let match;while((match=sourceRegex.exec(paragraph))!==null){// Add text before the match\nif(match.index>lastIndex){parts.push(paragraph.slice(lastIndex,match.index));}// Add the source tag\nparts.push({type:\"source\",title:match[1],url:match[2]});lastIndex=match.index+match[0].length;}// Add remaining text\nif(lastIndex<paragraph.length){parts.push(paragraph.slice(lastIndex));}// Determine if this is a headline (short line followed by explanation, or starts with certain patterns)\nconst isHeadline=paragraph.length<60&&paragraphIndex<paragraphs.length-1&&paragraphs[paragraphIndex+1].length>60||/^(#|##|###|\\*\\*|__)/i.test(paragraph.trim())||paragraph.length<50&&!paragraph.includes(\".\")&&!paragraph.includes(\",\");const fontStyle=isHeadline?headlineFont:bodyFont;const fontWeight=isHeadline?\"600\":\"400\";return /*#__PURE__*/_jsx(\"div\",{style:{marginBottom:isHeadline?\"8px\":\"24px\",lineHeight:isHeadline?\"1.3\":\"1.7\",wordBreak:\"break-word\",whiteSpace:\"pre-wrap\",textAlign:\"left\",fontWeight:fontWeight,...fontStyle},children:parts.map((part,partIndex)=>{if(typeof part===\"string\"){return /*#__PURE__*/_jsx(\"span\",{children:part},partIndex);}else{return /*#__PURE__*/_jsx(\"a\",{href:part.url,target:\"_blank\",rel:\"noopener noreferrer\",style:{display:\"inline-block\",backgroundColor:sourceTagColor,color:sourceTagTextColor,padding:\"2px 8px\",borderRadius:\"12px\",textDecoration:\"none\",fontSize:\"12px\",margin:\"0 2px\",...tagsFont},children:part.title},partIndex);}})},paragraphIndex);}),followUpSuggestions.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"32px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"12px\",color:mutedTextColor,marginBottom:\"16px\",fontWeight:\"500\",...tagsFont},children:\"Continue exploring\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:\"8px\",flexWrap:\"wrap\"},children:followUpSuggestions.map((suggestion,index)=>/*#__PURE__*/_jsx(\"div\",{onClick:()=>{setInputValue(`Tell me more about ${suggestion}`);setTimeout(()=>{const syntheticEvent={preventDefault:()=>{},target:{value:`Tell me more about ${suggestion}`}};handleSubmit(syntheticEvent);},100);},style:{backgroundColor:`${accentColor}15`,border:`1px solid ${accentColor}40`,borderRadius:\"20px\",padding:\"8px 16px\",cursor:\"pointer\",transition:\"all 0.2s ease\",fontSize:\"13px\",fontWeight:\"500\",color:accentColor,...tagsFont},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`${accentColor}25`;e.currentTarget.style.borderColor=accentColor;e.currentTarget.style.transform=\"translateY(-1px)\";e.currentTarget.style.boxShadow=\"0 4px 12px rgba(0, 0, 0, 0.15)\";},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`${accentColor}15`;e.currentTarget.style.borderColor=`${accentColor}40`;e.currentTarget.style.transform=\"translateY(0)\";e.currentTarget.style.boxShadow=\"none\";},children:suggestion},index))})]}),sources.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"32px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"12px\",color:mutedTextColor,marginBottom:\"16px\",fontWeight:\"500\",...tagsFont},children:\"Sources & References\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:\"12px\",overflowX:\"auto\",overflowY:\"hidden\",paddingBottom:\"8px\",scrollbarWidth:\"thin\",scrollbarColor:`${borderColor} transparent`,WebkitOverflowScrolling:\"touch\"},children:sources.map((source,index)=>/*#__PURE__*/_jsxs(\"a\",{href:source.url,target:\"_blank\",rel:\"noopener noreferrer\",style:{display:\"flex\",flexDirection:\"column\",minWidth:\"220px\",maxWidth:\"220px\",backgroundColor:sourceCardBackground,border:`1px solid ${sourceCardBorder}`,borderRadius:`${sourceCardRadius}px`,overflow:\"hidden\",textDecoration:\"none\",color:sourceCardTextColor,transition:\"all 0.3s ease\",cursor:\"pointer\",boxShadow:`0 4px 12px ${sourceCardShadow}`,position:\"relative\"},onMouseEnter:e=>{e.currentTarget.style.transform=\"translateY(-4px)\";e.currentTarget.style.boxShadow=`0 8px 24px ${sourceCardShadow}, 0 0 0 1px ${sourceCardAccent}40`;e.currentTarget.style.borderColor=sourceCardAccent;},onMouseLeave:e=>{e.currentTarget.style.transform=\"translateY(0)\";e.currentTarget.style.boxShadow=`0 4px 12px ${sourceCardShadow}`;e.currentTarget.style.borderColor=sourceCardBorder;},children:[/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"120px\",background:`linear-gradient(135deg, ${sourceCardAccent}15, ${sourceCardAccent}30, ${sourceCardAccent}20)`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"40px\",height:\"40px\",backgroundColor:sourceCardAccent,borderRadius:\"12px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:buttonTextColor,fontSize:\"20px\",fontWeight:\"600\",boxShadow:`0 4px 12px ${sourceCardAccent}40`,zIndex:2,position:\"relative\"},children:\"\uD83D\uDCDA\"}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"-30px\",right:\"-30px\",width:\"80px\",height:\"80px\",backgroundColor:`${sourceCardAccent}12`,borderRadius:\"50%\",zIndex:1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:\"-20px\",left:\"-20px\",width:\"50px\",height:\"50px\",backgroundColor:`${sourceCardAccent}08`,borderRadius:\"50%\",zIndex:1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"20px\",left:\"-10px\",width:\"30px\",height:\"30px\",backgroundColor:`${sourceCardAccent}06`,borderRadius:\"50%\",zIndex:1}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,right:0,bottom:0,background:`radial-gradient(circle at 30% 70%, ${sourceCardAccent}08 0%, transparent 50%)`,zIndex:1}})]}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"16px\",display:\"flex\",flexDirection:\"column\",gap:\"8px\",flex:1,backgroundColor:sourceCardBackground},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",fontWeight:\"600\",color:sourceCardTextColor,lineHeight:\"1.4\",display:\"-webkit-box\",WebkitLineClamp:2,WebkitBoxOrient:\"vertical\",overflow:\"hidden\",marginBottom:\"4px\",...headlineFont},children:source.title}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:\"6px\",backgroundColor:`${sourceCardAccent}15`,color:sourceCardAccent,padding:\"4px 8px\",borderRadius:\"6px\",fontSize:\"11px\",fontWeight:\"500\",width:\"fit-content\",...bodyFont},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"6px\",height:\"6px\",backgroundColor:sourceCardAccent,borderRadius:\"50%\"}}),new URL(source.url).hostname.replace(\"www.\",\"\")]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"auto\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",paddingTop:\"8px\",borderTop:`1px solid ${sourceCardBorder}`},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"11px\",color:sourceCardAccent,fontWeight:\"600\",textTransform:\"uppercase\",letterSpacing:\"0.5px\",...tagsFont},children:\"Read More\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"12px\",color:sourceCardAccent,transform:\"rotate(-45deg)\",transition:\"transform 0.2s ease\"},children:\"\u2197\"})]})]})]},index))})]})]});};const suggestedTopics=[\"Animal Behavior\",\"Plant Biology\",\"Marine Life\",\"Conservation\",\"Ecosystems\",\"Bird Migration\",\"Endangered Species\",\"Biodiversity\",\"Climate Impact\",\"Habitat Protection\"];const handleTopicClick=topic=>{const prompts={\"Animal Behavior\":\"Tell me about fascinating animal behaviors and adaptations\",\"Plant Biology\":\"Explain how plants adapt to different environments\",\"Marine Life\":\"Tell me about the most fascinating marine creatures and their adaptations\",\"Conservation\":\"What are the most effective conservation strategies for endangered species?\",\"Ecosystems\":\"How do different ecosystems maintain balance and support biodiversity?\",\"Bird Migration\":\"How do birds navigate during their incredible migration journeys?\",\"Endangered Species\":\"What species are most at risk and how can we help them?\",\"Biodiversity\":\"Why is biodiversity important for ecosystem health?\",\"Climate Impact\":\"How does climate change affect different species and habitats?\",\"Habitat Protection\":\"What are the best strategies for protecting natural habitats?\"};const prompt=prompts[topic]||`Tell me about ${topic.toLowerCase()}`;setInputValue(prompt);// Auto-submit the suggested topic\nsetTimeout(()=>{const syntheticEvent={preventDefault:()=>{},target:{value:prompt}};handleSubmit(syntheticEvent);},100);};return /*#__PURE__*/_jsxs(\"div\",{style:{...props.style,backgroundColor,borderRadius,border:`1px solid ${borderColor}`,display:\"flex\",flexDirection:\"column\",height:\"100%\",overflow:\"hidden\"},children:[false&&/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"24px 20px 16px 20px\",borderBottom:`1px solid ${borderColor}`,backgroundColor:surfaceColor,display:\"flex\",alignItems:\"center\",gap:\"16px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"48px\",height:\"48px\",borderRadius:\"50%\",overflow:\"hidden\",flexShrink:0,border:`3px solid ${accentColor}40`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.3)`},children:/*#__PURE__*/_jsx(\"img\",{src:aiAvatar.src,alt:aiAvatar.alt,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"20px\",fontWeight:\"600\",color:textColor,marginBottom:\"4px\",...headlineFont},children:\"Pelagoso AI Assistant\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",color:mutedTextColor,lineHeight:\"1.4\",...bodyFont},children:\"Your biological and scientific knowledge companion\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,overflowY:\"auto\",padding:\"16px 20px\",display:\"flex\",flexDirection:\"column\",gap:\"16px\"},children:[messages.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"24px\",padding:\"20px 0\"},children:showSuggestedTopics&&/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"14px\",fontWeight:\"600\",color:textColor,marginBottom:\"16px\",...messageFont},children:\"Explore these topics\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gap:\"8px\",overflowX:\"auto\",overflowY:\"hidden\",paddingBottom:\"8px\",scrollbarWidth:\"thin\",scrollbarColor:`${borderColor} transparent`,WebkitOverflowScrolling:\"touch\"},children:suggestedTopics.map((topic,index)=>/*#__PURE__*/_jsx(\"div\",{onClick:()=>handleTopicClick(topic),style:{backgroundColor:surfaceColor,border:`1px solid ${borderColor}`,borderRadius:\"24px\",padding:\"12px 20px\",cursor:\"pointer\",transition:\"all 0.2s ease\",whiteSpace:\"nowrap\",flexShrink:0,fontSize:\"14px\",fontWeight:\"500\",color:textColor,...tagsFont},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`${accentColor}15`;e.currentTarget.style.borderColor=accentColor;e.currentTarget.style.transform=\"translateY(-1px)\";e.currentTarget.style.boxShadow=\"0 4px 12px rgba(0, 0, 0, 0.15)\";},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=surfaceColor;e.currentTarget.style.borderColor=borderColor;e.currentTarget.style.transform=\"translateY(0)\";e.currentTarget.style.boxShadow=\"none\";},children:topic},index))})]})}),messages.map(message=>/*#__PURE__*/_jsxs(\"div\",{\"data-message-id\":message.id,style:{display:\"flex\",flexDirection:\"column\",alignItems:message.type===\"user\"?\"flex-end\":\"flex-start\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",gap:\"12px\",maxWidth:\"100%\",flexDirection:message.type===\"user\"?\"row-reverse\":\"row\"},children:[message.type===\"assistant\"&&/*#__PURE__*/_jsx(\"div\",{style:{width:\"32px\",height:\"32px\",borderRadius:\"50%\",overflow:\"hidden\",flexShrink:0,border:`2px solid ${accentColor}40`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.2)`},children:/*#__PURE__*/_jsx(\"img\",{src:aiAvatar.src,alt:aiAvatar.alt,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 16px\",borderRadius:\"16px\",backgroundColor:message.type===\"user\"?accentColor:surfaceColor,color:message.type===\"user\"?buttonTextColor:textColor,border:message.type===\"assistant\"?`1px solid ${borderColor}`:\"none\",width:message.type===\"assistant\"?\"100%\":\"auto\",maxWidth:\"100%\",...messageFont},children:message.type===\"assistant\"?renderMessageContent(message.content,message.sources,message.followUpSuggestions):message.content})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:\"11px\",color:mutedTextColor,marginTop:\"4px\",marginLeft:message.type===\"assistant\"?\"44px\":\"0px\",...sourceFont},children:[message.type===\"user\"?\"You\":\"Pelagoso\",\" \u2022 \",message.timestamp.toLocaleTimeString()]})]},message.id)),isStreaming&&/*#__PURE__*/_jsxs(\"div\",{ref:streamingRef,style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",gap:\"12px\",maxWidth:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"32px\",height:\"32px\",borderRadius:\"50%\",overflow:\"hidden\",flexShrink:0,border:`2px solid ${accentColor}40`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.2)`},children:/*#__PURE__*/_jsx(\"img\",{src:aiAvatar.src,alt:aiAvatar.alt,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 16px\",borderRadius:\"16px\",backgroundColor:surfaceColor,color:textColor,border:`1px solid ${borderColor}`,width:\"100%\",maxWidth:\"100%\",...messageFont,minHeight:\"48px\",position:\"relative\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{lineHeight:\"1.7\",wordBreak:\"break-word\",whiteSpace:\"pre-wrap\"},children:[streamingMessage,/*#__PURE__*/_jsx(\"span\",{style:{display:\"inline-block\",width:\"2px\",height:\"1.2em\",backgroundColor:accentColor,marginLeft:\"2px\",animation:\"blink 1s infinite\"}})]})})]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:\"11px\",color:mutedTextColor,marginTop:\"4px\",marginLeft:\"44px\",...sourceFont},children:[\"Pelagoso \u2022 \",new Date().toLocaleTimeString()]})]}),isLoading&&!isStreaming&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",gap:\"12px\",maxWidth:\"100%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"32px\",height:\"32px\",borderRadius:\"50%\",overflow:\"hidden\",flexShrink:0,border:`2px solid ${accentColor}40`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.2)`},children:/*#__PURE__*/_jsx(\"img\",{src:aiAvatar.src,alt:aiAvatar.alt,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"16px 20px\",borderRadius:\"16px\",backgroundColor:surfaceColor,border:`1px solid ${borderColor}`,display:\"flex\",alignItems:\"center\",gap:\"12px\",minHeight:\"52px\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"4px\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"8px\",height:\"8px\",borderRadius:\"50%\",backgroundColor:accentColor,animation:\"typingDot 1.4s infinite ease-in-out\",animationDelay:\"0s\"}}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"8px\",height:\"8px\",borderRadius:\"50%\",backgroundColor:accentColor,animation:\"typingDot 1.4s infinite ease-in-out\",animationDelay:\"0.2s\"}}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"8px\",height:\"8px\",borderRadius:\"50%\",backgroundColor:accentColor,animation:\"typingDot 1.4s infinite ease-in-out\",animationDelay:\"0.4s\"}})]}),/*#__PURE__*/_jsx(\"div\",{style:{color:mutedTextColor,fontSize:\"14px\",fontWeight:\"500\",...messageFont},children:\"Pelagoso is thinking...\"})]})]}),error&&/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 16px\",backgroundColor:\"#ff4414\",color:\"#ffffff\",borderRadius:\"8px\",...messageFont},children:error}),/*#__PURE__*/_jsx(\"div\",{ref:messagesEndRef})]}),/*#__PURE__*/_jsx(\"form\",{onSubmit:handleSubmit,style:{padding:\"20px\",backgroundColor:backgroundColor,borderRadius:`0 0 ${borderRadius}px ${borderRadius}px`},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:\"12px\",width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{backgroundColor:inputBackgroundColor,borderRadius:`${inputBorderRadius}px`,padding:\"16px 20px\",border:`1px solid ${inputBorderColor}`,boxShadow:`\n                                0 4px 12px rgba(0, 0, 0, 0.15),\n                                inset 0 1px 0 rgba(255, 255, 255, 0.1)\n                            `,transition:\"all 0.3s ease\",position:\"relative\",overflow:\"hidden\",display:\"flex\",alignItems:\"flex-end\",gap:\"12px\"},children:[/*#__PURE__*/_jsx(\"textarea\",{ref:textareaRef,value:inputValue,onChange:e=>{setInputValue(e.target.value);adjustTextareaHeight();},onKeyDown:handleKeyDown,placeholder:placeholder,disabled:isLoading,style:{width:\"100%\",minHeight:\"24px\",maxHeight:\"120px\",border:\"none\",backgroundColor:\"transparent\",color:inputTextColor,resize:\"none\",outline:\"none\",fontSize:\"15px\",lineHeight:\"1.5\",fontWeight:\"400\",...inputFont},onFocus:e=>{e.target.parentElement.style.borderColor=`${accentColor}80`;e.target.parentElement.style.boxShadow=`\n                                    0 8px 24px rgba(0, 0, 0, 0.2),\n                                    0 0 0 3px ${accentColor}20,\n                                    inset 0 1px 0 rgba(255, 255, 255, 0.15)\n                                `;},onBlur:e=>{e.target.parentElement.style.borderColor=inputBorderColor;e.target.parentElement.style.boxShadow=`\n                                    0 4px 12px rgba(0, 0, 0, 0.15),\n                                    inset 0 1px 0 rgba(255, 255, 255, 0.1)\n                                `;}}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:!inputValue.trim()||isLoading,style:{width:\"36px\",height:\"36px\",background:!inputValue.trim()||isLoading?`${buttonColor}40`:buttonColor,color:buttonTextColor,border:\"none\",borderRadius:\"50%\",cursor:!inputValue.trim()||isLoading?\"not-allowed\":\"pointer\",opacity:!inputValue.trim()||isLoading?.5:1,boxShadow:!inputValue.trim()||isLoading?\"0 2px 8px rgba(0, 0, 0, 0.1)\":`0 2px 8px ${buttonColor}40`,transition:\"all 0.3s ease\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,marginBottom:\"2px\"},onMouseEnter:e=>{if(!e.target.disabled){const target=e.target;target.style.transform=\"scale(1.05)\";target.style.boxShadow=`0 4px 12px ${buttonColor}50`;}},onMouseLeave:e=>{if(!e.target.disabled){const target=e.target;target.style.transform=\"scale(1)\";target.style.boxShadow=`0 2px 8px ${buttonColor}40`;}},onMouseDown:f=>{if(!f.target.disabled){f.target.style.transform=\"scale(0.95)\";}},onMouseUp:f=>{if(!f.target.disabled){f.target.style.transform=\"scale(1.05)\";}},children:isLoading?/*#__PURE__*/_jsx(\"div\",{style:{width:\"16px\",height:\"16px\",border:`2px solid ${buttonTextColor}40`,borderTop:`2px solid ${buttonTextColor}`,borderRadius:\"50%\",animation:\"spin 1s linear infinite\"}}):/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"18px\",fontWeight:\"bold\",transform:\"rotate(-45deg)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:\"\u2197\"})})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"flex-start\",alignItems:\"center\"},children:messages.length>0&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:clearChat,style:{padding:\"8px 12px\",background:`${mutedTextColor}20`,color:mutedTextColor,border:`1px solid ${borderColor}40`,borderRadius:\"16px\",cursor:\"pointer\",transition:\"all 0.3s ease\",fontSize:\"12px\",fontWeight:\"500\",display:\"flex\",alignItems:\"center\",gap:\"4px\",...inputFont},onMouseEnter:e=>{const target=e.target;target.style.background=`${mutedTextColor}30`;target.style.color=textColor;target.style.borderColor=`${borderColor}80`;},onMouseLeave:e=>{const target=e.target;target.style.background=`${mutedTextColor}20`;target.style.color=mutedTextColor;target.style.borderColor=`${borderColor}40`;},title:\"Clear chat history\",children:\"\uD83D\uDDD1\uFE0F Clear\"})})]})}),/*#__PURE__*/_jsx(\"style\",{children:`\n                    @keyframes spin {\n                        0% { transform: rotate(0deg); }\n                        100% { transform: rotate(360deg); }\n                    }\n                    \n                    @keyframes shimmer {\n                        0% { left: -100%; }\n                        50% { left: -100%; }\n                        100% { left: 100%; }\n                    }\n                    \n                    @keyframes typingDot {\n                        0%, 60%, 100% {\n                            transform: translateY(0);\n                            opacity: 0.4;\n                        }\n                        30% {\n                            transform: translateY(-10px);\n                            opacity: 1;\n                        }\n                    }\n                    \n                    @keyframes blink {\n                        0%, 50% { opacity: 1; }\n                        51%, 100% { opacity: 0; }\n                    }\n                    \n                    textarea::placeholder {\n                        color: ${inputPlaceholderColor} !important;\n                        opacity: 0.8;\n                    }\n                `})]});}addPropertyControls(AIChatAssistant,{apiKey:{type:ControlType.String,title:\"Gemini API Key\",placeholder:\"Enter your Google Gemini API key...\",defaultValue:\"\"},aiAvatar:{type:ControlType.ResponsiveImage,title:\"AI Avatar\"},placeholder:{type:ControlType.String,title:\"Input Placeholder\",defaultValue:\"Ask about animals, plants, habitats, or conservation...\"},showSuggestedTopics:{type:ControlType.Boolean,title:\"Show Suggested Topics\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#1a1a1a\"},surfaceColor:{type:ControlType.Color,title:\"Surface Color\",defaultValue:\"#2a2a2a\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#404040\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#ffffff\"},mutedTextColor:{type:ControlType.Color,title:\"Muted Text\",defaultValue:\"#a0a0a0\"},accentColor:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#4285f4\"},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#4285f4\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text\",defaultValue:\"#ffffff\"},sourceTagColor:{type:ControlType.Color,title:\"Source Tag Background\",defaultValue:\"#3a3a3a\"},sourceTagTextColor:{type:ControlType.Color,title:\"Source Tag Text\",defaultValue:\"#e0e0e0\"},sourceCardBackground:{type:ControlType.Color,title:\"Source Card Background\",defaultValue:\"#2a2a2a\"},sourceCardBorder:{type:ControlType.Color,title:\"Source Card Border\",defaultValue:\"#404040\"},sourceCardTextColor:{type:ControlType.Color,title:\"Source Card Text\",defaultValue:\"#ffffff\"},sourceCardAccent:{type:ControlType.Color,title:\"Source Card Accent\",defaultValue:\"#4285f4\"},sourceCardShadow:{type:ControlType.Color,title:\"Source Card Shadow\",defaultValue:\"rgba(0, 0, 0, 0.15)\"},inputBackgroundColor:{type:ControlType.Color,title:\"Input Background\",defaultValue:\"#2a2a2a\"},inputBorderColor:{type:ControlType.Color,title:\"Input Border\",defaultValue:\"#404040\"},inputTextColor:{type:ControlType.Color,title:\"Input Text\",defaultValue:\"#ffffff\"},inputPlaceholderColor:{type:ControlType.Color,title:\"Input Placeholder\",defaultValue:\"#a0a0a0\"},headlineFont:{type:ControlType.Font,title:\"Headline Font\",defaultValue:{fontSize:\"16px\",variant:\"Semibold\",letterSpacing:\"-0.02em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},bodyFont:{type:ControlType.Font,title:\"Body Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.6em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},tagsFont:{type:ControlType.Font,title:\"Tags Font\",defaultValue:{fontSize:\"12px\",variant:\"Medium\",letterSpacing:\"0em\",lineHeight:\"1.2em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},messageFont:{type:ControlType.Font,title:\"Message Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},inputFont:{type:ControlType.Font,title:\"Input Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},sourceFont:{type:ControlType.Font,title:\"Source Font\",defaultValue:{fontSize:\"11px\",variant:\"Medium\",letterSpacing:\"0em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:24,step:1,unit:\"px\"},inputBorderRadius:{type:ControlType.Number,title:\"Input Border Radius\",defaultValue:32,min:0,max:50,step:1,unit:\"px\"},sourceCardRadius:{type:ControlType.Number,title:\"Source Card Radius\",defaultValue:12,min:0,max:24,step:1,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AIChatAssistant\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AIChatAssistant_6.map"],
  "mappings": "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",
  "names": ["AIChatAssistant", "props", "apiKey", "placeholder", "backgroundColor", "surfaceColor", "borderColor", "textColor", "mutedTextColor", "accentColor", "buttonColor", "buttonTextColor", "sourceTagColor", "sourceTagTextColor", "inputBackgroundColor", "inputBorderColor", "inputTextColor", "inputPlaceholderColor", "sourceCardBackground", "sourceCardBorder", "sourceCardTextColor", "sourceCardAccent", "sourceCardShadow", "messageFont", "inputFont", "sourceFont", "headlineFont", "bodyFont", "tagsFont", "borderRadius", "inputBorderRadius", "sourceCardRadius", "showSuggestedTopics", "aiAvatar", "messages", "setMessages", "ye", "inputValue", "setInputValue", "isLoading", "setIsLoading", "streamingMessage", "setStreamingMessage", "isStreaming", "setIsStreaming", "error", "setError", "conversationContext", "setConversationContext", "lastSuggestions", "setLastSuggestions", "messagesEndRef", "pe", "textareaRef", "streamingRef", "clearChat", "Z", "scrollToBottom", "ue", "generateSystemPrompt", "isGreeting", "message", "pattern", "isThanks", "detectUserIntent", "extractFollowUpSuggestions", "content", "suggestionPatterns", "suggestions", "match", "suggestion", "updateConversationContext", "userMessage", "assistantResponse", "topics", "newContext", "callGeminiAPI", "intent", "isFollowUp", "greetingResponse", "thanksResponse", "response", "errorData", "sourceRegex", "sources", "defaultSources", "followUpSuggestions", "simulateStreaming", "fullContent", "resolve", "words", "currentIndex", "streamInterval", "currentText", "handleSubmit", "userMsg", "prev", "assistantMsg", "err", "handleKeyDown", "adjustTextareaHeight", "renderMessageContent", "cleanedContent", "paragraphs", "text", "s", "section", "lines", "l", "headerPattern", "header", "explanation", "additionalLines", "p", "u", "paragraph", "paragraphIndex", "parts", "lastIndex", "isHeadline", "part", "partIndex", "index", "syntheticEvent", "e", "source", "suggestedTopics", "handleTopicClick", "topic", "prompt", "target", "f", "addPropertyControls", "ControlType"]
}
