{"version":3,"file":"Ask_AI.B0UOU8ea.mjs","names":["React.useRef","React.useState","_Fragment","p"],"sources":["https:/framerusercontent.com/modules/SNu8qvdUvCm5Im6q3wLa/m0lGGuI6xSPulP3cNRy8/Ask_AI.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import*as ReactDOM from\"react-dom\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";/**\n * AskSouvik — Framer code component\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 132\n * @framerIntrinsicHeight 44\n * @framerDisableUnlink\n */const FONT_STACK=\"'Inter Display', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\";const COLLAPSED_WIDTH=132;const COLLAPSED_HEIGHT=44;const MOBILE_BREAKPOINT=640;const ANIM={duration:.5,ease:[.32,.72,0,1]};export default function AskSouvik(props){const{apiKey,model,systemPrompt,pillLabel,greeting,subGreeting,placeholder,suggestedPrompts,autoExpandDelay,idleCollapseDelay,autoExpandOncePerSession,chatWidth,chatHeight,offsetBottom,offsetRight,accentBase,accent1,accent2,accent3,textColor,bgColor,borderColor,userBubbleColor,aiBubbleColor,chipBgColor,chipBorderColor,chipHoverColor}=props;const wrapperRef=React.useRef(null);const inputRef=React.useRef(null);const scrollRef=React.useRef(null);const idleTimerRef=React.useRef(null);const wasAtBottomRef=React.useRef(true);const[open,setOpen]=React.useState(false);const[input,setInput]=React.useState(\"\");const[isThinking,setIsThinking]=React.useState(false);const[hasInteracted,setHasInteracted]=React.useState(false);const[hasUserSentMessage,setHasUserSentMessage]=React.useState(false);const[messages,setMessages]=React.useState([{sender:\"ai\",text:greeting}]);const[mounted,setMounted]=React.useState(false);const[isMobile,setIsMobile]=React.useState(false);const[showInitialGreeting,setShowInitialGreeting]=React.useState(false);const[showThinkingBeforeGreeting,setShowThinkingBeforeGreeting]=React.useState(false);const renderTarget=RenderTarget.current();const isCanvas=renderTarget===RenderTarget.canvas;const isPreview=renderTarget===RenderTarget.preview;React.useEffect(()=>{setMounted(true);},[]);// ─── DETECT MOBILE ─────────────────────────────────────\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;const check=()=>setIsMobile(window.innerWidth<MOBILE_BREAKPOINT);check();window.addEventListener(\"resize\",check);return()=>window.removeEventListener(\"resize\",check);},[]);React.useEffect(()=>{setMessages([{sender:\"ai\",text:greeting}]);},[greeting]);// ─── BODY SCROLL LOCK on mobile when modal open ────────\nReact.useEffect(()=>{if(!isMobile||!open)return;if(typeof document===\"undefined\")return;const prevOverflow=document.body.style.overflow;const prevTouchAction=document.body.style.touchAction;document.body.style.overflow=\"hidden\";document.body.style.touchAction=\"none\";return()=>{document.body.style.overflow=prevOverflow;document.body.style.touchAction=prevTouchAction;};},[isMobile,open]);// ─── AUTO-EXPAND ON LOAD ───────────────────────────────\nReact.useEffect(()=>{if(isCanvas)return;if(autoExpandDelay<=0)return;const sessionKey=\"askSouvik:autoExpanded\";if(autoExpandOncePerSession&&!isPreview){try{if(sessionStorage.getItem(sessionKey)===\"1\")return;}catch(e){}}const t=window.setTimeout(()=>{setOpen(true);if(autoExpandOncePerSession&&!isPreview){try{sessionStorage.setItem(sessionKey,\"1\");}catch(e){}}},autoExpandDelay*2e3);return()=>window.clearTimeout(t);},[autoExpandDelay,autoExpandOncePerSession,isCanvas,isPreview]);// ─── DELAYED GREETING APPEARANCE ───────────────────────\nReact.useEffect(()=>{if(!open){setShowInitialGreeting(false);setShowThinkingBeforeGreeting(false);return;}if(messages.length!==1||messages[0].sender!==\"ai\")return;if(showInitialGreeting)return;const typingTimer=window.setTimeout(()=>{setShowThinkingBeforeGreeting(true);},200);const greetingTimer=window.setTimeout(()=>{setShowThinkingBeforeGreeting(false);setShowInitialGreeting(true);},2e3);return()=>{window.clearTimeout(typingTimer);window.clearTimeout(greetingTimer);};},[open,messages,showInitialGreeting]);// ─── IDLE-COLLAPSE ─────────────────────────────────────\nReact.useEffect(()=>{if(idleTimerRef.current){window.clearTimeout(idleTimerRef.current);idleTimerRef.current=null;}if(open&&!hasInteracted&&idleCollapseDelay>0){idleTimerRef.current=window.setTimeout(()=>{setOpen(false);},idleCollapseDelay*1e3);}return()=>{if(idleTimerRef.current){window.clearTimeout(idleTimerRef.current);}};},[open,hasInteracted,idleCollapseDelay]);// ─── CLICK OUTSIDE / ESC ───────────────────────────────\nReact.useEffect(()=>{if(isMobile)return;function onClick(e){if(open&&wrapperRef.current&&!wrapperRef.current.contains(e.target)){setOpen(false);}}document.addEventListener(\"mousedown\",onClick);return()=>document.removeEventListener(\"mousedown\",onClick);},[open,isMobile]);React.useEffect(()=>{function onKey(e){if(e.key===\"Escape\"&&open)setOpen(false);}document.addEventListener(\"keydown\",onKey);return()=>document.removeEventListener(\"keydown\",onKey);},[open]);// ─── SCROLL TRACKING ───────────────────────────────────\nReact.useEffect(()=>{const el=scrollRef.current;if(!el)return;function onScroll(){if(!el)return;const distanceFromBottom=el.scrollHeight-el.scrollTop-el.clientHeight;wasAtBottomRef.current=distanceFromBottom<80;}el.addEventListener(\"scroll\",onScroll,{passive:true});return()=>el.removeEventListener(\"scroll\",onScroll);},[open]);React.useEffect(()=>{const el=scrollRef.current;if(!el)return;if(wasAtBottomRef.current){el.scrollTop=el.scrollHeight;}},[messages,isThinking,showInitialGreeting,showThinkingBeforeGreeting]);React.useEffect(()=>{if(open){const t=setTimeout(()=>inputRef.current?.focus(),250);return()=>clearTimeout(t);}},[open]);// ─── HANDLERS ──────────────────────────────────────────\nconst markInteracted=()=>{if(!hasInteracted)setHasInteracted(true);};const handleOpen=()=>{setOpen(true);markInteracted();};const handleClose=()=>setOpen(false);const sendMessage=async text=>{const trimmed=text.trim();if(!trimmed||isThinking)return;markInteracted();setHasUserSentMessage(true);const next=[...messages,{sender:\"user\",text:trimmed}];setMessages(next);setInput(\"\");setIsThinking(true);try{const reply=await callGroq(next,apiKey,model,systemPrompt);setMessages(prev=>[...prev,{sender:\"ai\",text:reply}]);}catch(err){const errMsg=err?.message||\"\";let friendly=\"Hmm, something glitched on my end. Mind trying again?\";if(errMsg.includes(\"429\")){friendly=\"Getting a lot of messages right now — give me a sec and try again 🙏\";}else if(errMsg.includes(\"401\")||errMsg.includes(\"403\")||errMsg.includes(\"invalid_api_key\")){friendly=\"Looks like my API key isn't quite right. Souvik needs to check the settings.\";}else if(errMsg.includes(\"network\")||errMsg.includes(\"fetch\")){friendly=\"Couldn't reach my brain right now — connection issue. Try again?\";}setMessages(prev=>[...prev,{sender:\"ai\",text:friendly}]);}finally{setIsThinking(false);}};const handleSend=()=>sendMessage(input);const handleChipClick=prompt=>sendMessage(prompt);// Chips show until user sends their first message\nconst showChips=!hasUserSentMessage&&showInitialGreeting&&suggestedPrompts&&suggestedPrompts.length>0;const showGreetingBubbles=showInitialGreeting&&messages[0]?.sender===\"ai\";const showPreGreetingTyping=!showInitialGreeting&&showThinkingBeforeGreeting&&messages.length===1&&messages[0]?.sender===\"ai\";// ─── SIZING ────────────────────────────────────────────\nconst expandedWidth=isMobile?Math.min(typeof window!==\"undefined\"?window.innerWidth-32:360,420):chatWidth;const expandedHeight=isMobile?Math.min(typeof window!==\"undefined\"?window.innerHeight-80:560,640):chatHeight;// ─── FLOATING UI ───────────────────────────────────────\nconst floatingUI=/*#__PURE__*/_jsxs(_Fragment,{children:[isMobile&&/*#__PURE__*/_jsx(motion.div,{initial:false,animate:{opacity:open?1:0},transition:{duration:.3},onTouchMove:e=>{if(open)e.preventDefault();},onWheel:e=>{if(open)e.preventDefault();},style:{position:\"fixed\",inset:0,background:\"rgba(0, 0, 0, 0.5)\",backdropFilter:\"blur(4px)\",WebkitBackdropFilter:\"blur(4px)\",zIndex:9998,pointerEvents:open?\"auto\":\"none\",touchAction:open?\"none\":\"auto\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",bottom:open&&isMobile?\"50%\":offsetBottom,right:open&&isMobile?\"50%\":offsetRight,transform:open&&isMobile?`translate(50%, 50%)`:\"translate(0, 0)\",zIndex:9999,fontFamily:FONT_STACK,pointerEvents:\"auto\",transition:\"bottom 0.5s cubic-bezier(0.32, 0.72, 0, 1), right 0.5s cubic-bezier(0.32, 0.72, 0, 1), transform 0.5s cubic-bezier(0.32, 0.72, 0, 1)\"},onMouseDown:markInteracted,children:[/*#__PURE__*/_jsx(OrbStyles,{}),/*#__PURE__*/_jsxs(motion.div,{ref:wrapperRef,initial:false,animate:{width:open?expandedWidth:COLLAPSED_WIDTH,height:open?expandedHeight:COLLAPSED_HEIGHT,borderRadius:open?18:22},transition:ANIM,style:{background:bgColor,border:`1px solid ${borderColor}`,overflow:\"hidden\",boxShadow:open?\"0 20px 60px -12px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.02)\":\"0 4px 16px -4px rgba(0,0,0,0.08)\",position:\"relative\"},children:[/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:handleOpen,initial:false,animate:{opacity:open?0:1},transition:{duration:.2,delay:open?0:.25},style:{position:\"absolute\",inset:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,background:\"transparent\",border:\"none\",cursor:\"pointer\",color:textColor,fontSize:14,fontWeight:500,fontFamily:\"inherit\",whiteSpace:\"nowrap\",pointerEvents:open?\"none\":\"auto\"},children:[/*#__PURE__*/_jsx(ColorOrb,{size:22,base:accentBase,a1:accent1,a2:accent2,a3:accent3}),/*#__PURE__*/_jsx(\"span\",{children:pillLabel})]}),/*#__PURE__*/_jsxs(motion.div,{initial:false,animate:{opacity:open?1:0},transition:{duration:.2,delay:open?.25:0},style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",pointerEvents:open?\"auto\":\"none\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,padding:\"14px 16px\",borderBottom:`1px solid ${borderColor}`,flexShrink:0},children:[/*#__PURE__*/_jsx(ColorOrb,{size:28,base:accentBase,a1:accent1,a2:accent2,a3:accent3}),/*#__PURE__*/_jsx(\"span\",{style:{color:textColor,fontSize:14,fontWeight:600,lineHeight:1.2,flex:1,minWidth:0},children:\"Souvik\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:handleClose,\"aria-label\":\"Close\",style:{width:28,height:28,borderRadius:8,border:\"none\",background:\"transparent\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:textColor,opacity:.5,padding:0},onMouseEnter:e=>e.currentTarget.style.opacity=\"1\",onMouseLeave:e=>e.currentTarget.style.opacity=\"0.5\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 3L11 11M11 3L3 11\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\"})})})]}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,onWheel:e=>e.stopPropagation(),onTouchMove:e=>e.stopPropagation(),style:{flex:1,minHeight:0,overflowY:\"auto\",overscrollBehavior:\"contain\",WebkitOverflowScrolling:\"touch\",touchAction:\"pan-y\",padding:\"16px\",display:\"flex\",flexDirection:\"column\",gap:10},children:[showGreetingBubbles&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.3,delay:0},style:{alignSelf:\"flex-start\",maxWidth:\"85%\",padding:\"9px 13px\",borderRadius:14,fontSize:13.5,lineHeight:1.45,background:aiBubbleColor,color:textColor,border:`1px solid ${borderColor}`},children:messages[0].text}),subGreeting&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.3,delay:.15},style:{alignSelf:\"flex-start\",maxWidth:\"85%\",padding:\"9px 13px\",borderRadius:14,fontSize:13.5,lineHeight:1.45,background:aiBubbleColor,color:textColor,border:`1px solid ${borderColor}`},children:subGreeting})]}),showPreGreetingTyping&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},style:{alignSelf:\"flex-start\",padding:\"11px 13px\",borderRadius:14,background:aiBubbleColor,border:`1px solid ${borderColor}`,display:\"flex\",gap:4,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(Dot,{delay:0,color:textColor}),/*#__PURE__*/_jsx(Dot,{delay:.15,color:textColor}),/*#__PURE__*/_jsx(Dot,{delay:.3,color:textColor})]}),messages.slice(1).map((msg,i)=>/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.3,ease:[.32,.72,0,1]},style:{alignSelf:msg.sender===\"user\"?\"flex-end\":\"flex-start\",maxWidth:\"85%\",padding:\"9px 13px\",borderRadius:14,fontSize:13.5,lineHeight:1.45,background:msg.sender===\"user\"?userBubbleColor:aiBubbleColor,color:msg.sender===\"user\"?\"#ffffff\":textColor,border:msg.sender===\"ai\"?`1px solid ${borderColor}`:\"none\",whiteSpace:\"pre-wrap\",wordBreak:\"break-word\"},children:msg.text},`m-${i}`)),showChips&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.3,delay:.3},style:{display:\"flex\",flexWrap:\"wrap\",gap:6,marginTop:4,alignSelf:\"flex-start\",maxWidth:\"100%\"},children:suggestedPrompts.map((p,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>handleChipClick(p),style:{background:chipBgColor,border:`1px solid ${chipBorderColor}`,borderRadius:999,padding:\"6px 12px\",fontSize:12.5,color:textColor,cursor:\"pointer\",fontFamily:\"inherit\",transition:\"background 0.15s ease, transform 0.15s ease\",whiteSpace:\"nowrap\"},onMouseEnter:e=>{e.currentTarget.style.transform=\"translateY(-1px)\";e.currentTarget.style.background=chipHoverColor;},onMouseLeave:e=>{e.currentTarget.style.transform=\"translateY(0)\";e.currentTarget.style.background=chipBgColor;},children:p},i))}),isThinking&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},style:{alignSelf:\"flex-start\",padding:\"11px 13px\",borderRadius:14,background:aiBubbleColor,border:`1px solid ${borderColor}`,display:\"flex\",gap:4,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(Dot,{delay:0,color:textColor}),/*#__PURE__*/_jsx(Dot,{delay:.15,color:textColor}),/*#__PURE__*/_jsx(Dot,{delay:.3,color:textColor})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,padding:\"12px\",borderTop:`1px solid ${borderColor}`,flexShrink:0},children:[/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"text\",value:input,onChange:e=>{setInput(e.target.value);markInteracted();},onFocus:markInteracted,onKeyDown:e=>{markInteracted();if(e.key===\"Enter\"&&!e.shiftKey){e.preventDefault();handleSend();}},placeholder:placeholder,disabled:isThinking,style:{flex:1,background:\"transparent\",border:`1px solid ${borderColor}`,borderRadius:10,padding:\"9px 12px\",fontSize:13.5,color:textColor,outline:\"none\",fontFamily:\"inherit\",minWidth:0}}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:handleSend,disabled:!input.trim()||isThinking,style:{width:36,height:36,borderRadius:10,border:\"none\",background:userBubbleColor,cursor:!input.trim()||isThinking?\"not-allowed\":\"pointer\",opacity:!input.trim()||isThinking?.4:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,transition:\"opacity 0.15s ease\"},\"aria-label\":\"Send\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1.5 7L12.5 7M12.5 7L7.5 2M12.5 7L7.5 12\",stroke:\"white\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]})]})]})]})]});if(isCanvas){return /*#__PURE__*/_jsx(\"div\",{style:{width:156,height:44,borderRadius:22,border:`1px dashed ${borderColor}`,background:bgColor,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:8,color:textColor,fontSize:13,fontFamily:FONT_STACK},children:/*#__PURE__*/_jsxs(\"span\",{style:{opacity:.5},children:[\"● \",pillLabel,\" (in preview)\"]})});}if(!mounted||typeof document===\"undefined\")return null;return /*#__PURE__*/ReactDOM.createPortal(floatingUI,document.body);}async function callGroq(history,apiKey,model,systemPrompt){if(!apiKey){return\"I haven't been wired up yet — Souvik needs to add the API key in the component settings.\";}const apiMessages=[];if(systemPrompt&&systemPrompt.trim()){apiMessages.push({role:\"system\",content:systemPrompt});}const conversationHistory=history[0]?.sender===\"ai\"?history.slice(1):history;for(const m of conversationHistory){apiMessages.push({role:m.sender===\"user\"?\"user\":\"assistant\",content:m.text});}const res=await fetch(\"https://api.groq.com/openai/v1/chat/completions\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:`Bearer ${apiKey}`},body:JSON.stringify({model,messages:apiMessages,temperature:.7,max_tokens:500})});if(!res.ok){const errText=await res.text();throw new Error(`(${res.status}) ${errText.slice(0,120)}`);}const data=await res.json();const text=data?.choices?.[0]?.message?.content??\"\";return text.trim()||\"(I went quiet for a sec — try asking again?)\";}function ColorOrb({size,base,a1,a2,a3}){const blur=Math.max(size*.015,1);const contrast=size<30?1.2:Math.max(size*.008,1.5);const dot=Math.max(size*.008,.1);const shadow=Math.max(size*.008,1);return /*#__PURE__*/_jsx(\"div\",{className:\"askai-orb\",style:{width:size,height:size,\"--ai-base\":base,\"--ai-a1\":a1,\"--ai-a2\":a2,\"--ai-a3\":a3,\"--ai-blur\":`${blur}px`,\"--ai-contrast\":contrast,\"--ai-dot\":`${dot}px`,\"--ai-shadow\":`${shadow}px`}});}function OrbStyles(){return /*#__PURE__*/_jsx(\"style\",{children:`\n@property --askai-angle {\n  syntax: \"<angle>\";\n  inherits: false;\n  initial-value: 0deg;\n}\n.askai-orb {\n  display: grid;\n  grid-template-areas: \"stack\";\n  overflow: hidden;\n  border-radius: 50%;\n  position: relative;\n  flex-shrink: 0;\n  transform: scale(1.1);\n}\n.askai-orb::before, .askai-orb::after {\n  content: \"\";\n  display: block;\n  grid-area: stack;\n  width: 100%;\n  height: 100%;\n  border-radius: 50%;\n}\n.askai-orb::before {\n  background:\n    conic-gradient(from calc(var(--askai-angle) * 2) at 25% 70%, var(--ai-a3), transparent 20% 80%, var(--ai-a3)),\n    conic-gradient(from calc(var(--askai-angle) * 2) at 45% 75%, var(--ai-a2), transparent 30% 60%, var(--ai-a2)),\n    conic-gradient(from calc(var(--askai-angle) * -3) at 80% 20%, var(--ai-a1), transparent 40% 60%, var(--ai-a1)),\n    conic-gradient(from calc(var(--askai-angle) * 2) at 15% 5%, var(--ai-a2), transparent 10% 90%, var(--ai-a2)),\n    conic-gradient(from calc(var(--askai-angle) * 1) at 20% 80%, var(--ai-a1), transparent 10% 90%, var(--ai-a1)),\n    conic-gradient(from calc(var(--askai-angle) * -2) at 85% 10%, var(--ai-a3), transparent 20% 80%, var(--ai-a3));\n  box-shadow: inset var(--ai-base) 0 0 var(--ai-shadow) calc(var(--ai-shadow) * 0.2);\n  filter: blur(var(--ai-blur)) contrast(var(--ai-contrast));\n  animation: askai-spin 20s linear infinite;\n}\n.askai-orb::after {\n  background-image: radial-gradient(circle at center, var(--ai-base) var(--ai-dot), transparent var(--ai-dot));\n  background-size: calc(var(--ai-dot) * 2) calc(var(--ai-dot) * 2);\n  mix-blend-mode: overlay;\n}\n@keyframes askai-spin { to { --askai-angle: 360deg; } }\n@media (prefers-reduced-motion: reduce) { .askai-orb::before { animation: none; } }\n`});}function Dot({delay,color}){return /*#__PURE__*/_jsx(motion.span,{animate:{opacity:[.2,1,.2],y:[0,-2,0]},transition:{duration:1,repeat:Infinity,delay,ease:\"easeInOut\"},style:{width:5,height:5,borderRadius:\"50%\",background:color,opacity:.4,display:\"inline-block\"}});}AskSouvik.defaultProps={apiKey:\"\",model:\"llama-3.3-70b-versatile\",systemPrompt:`You are Souvik — speaking in first person, never as an AI or assistant. Never say \"as an AI\" or \"I'm a chatbot.\" Talk like Souvik would in a casual DM: warm, conversational, lowercase-friendly, occasional dry humor, no corporate fluff.\n\nRules:\n- Keep replies short — 2-4 sentences max unless they ask for detail\n- Speak in first person (\"I\", \"my\", \"me\")\n- If asked something you genuinely don't know about yourself, just say \"honestly not sure\" — don't invent\n- If they want to get in touch, suggest they reach out via the contact section / email`,pillLabel:\"Ask Souvik\",greeting:\"Hey, I'm Souvik 👋\",subGreeting:\"Ask me anything about my work, experience, or projects.\",placeholder:\"Type a message…\",suggestedPrompts:[\"Tell me about your work\",\"What are you looking for?\",\"Show me a project\"],autoExpandDelay:3,idleCollapseDelay:12,autoExpandOncePerSession:true,chatWidth:380,chatHeight:500,offsetBottom:24,offsetRight:24,accentBase:\"#1a1a1a\",accent1:\"#ff6b9d\",accent2:\"#74c7ec\",accent3:\"#a78bfa\",textColor:\"#0a0a0a\",bgColor:\"#ffffff\",borderColor:\"rgba(0, 0, 0, 0.08)\",userBubbleColor:\"#0a0a0a\",aiBubbleColor:\"#f7f7f7\",chipBgColor:\"#ffffff\",chipBorderColor:\"rgba(0, 0, 0, 0.12)\",chipHoverColor:\"#f0f0f0\"};addPropertyControls(AskSouvik,{apiKey:{type:ControlType.String,title:\"Groq API Key\",placeholder:\"gsk_...\"},model:{type:ControlType.Enum,title:\"Model\",options:[\"llama-3.3-70b-versatile\",\"llama-3.1-8b-instant\",\"mixtral-8x7b-32768\",\"gemma2-9b-it\"],optionTitles:[\"Llama 3.3 70B (best quality)\",\"Llama 3.1 8B (fastest)\",\"Mixtral 8x7B\",\"Gemma 2 9B\"],defaultValue:\"llama-3.3-70b-versatile\"},systemPrompt:{type:ControlType.String,title:\"Personality / About\",displayTextArea:true},pillLabel:{type:ControlType.String,title:\"Pill Label\"},greeting:{type:ControlType.String,title:\"Greeting\",displayTextArea:true},subGreeting:{type:ControlType.String,title:\"Sub-greeting\",displayTextArea:true},placeholder:{type:ControlType.String,title:\"Input Placeholder\"},suggestedPrompts:{type:ControlType.Array,title:\"Suggested Prompts\",control:{type:ControlType.String},maxCount:8},autoExpandDelay:{type:ControlType.Number,title:\"Auto-open After\",min:0,max:30,step:1,unit:\"s\"},idleCollapseDelay:{type:ControlType.Number,title:\"Auto-close After\",min:0,max:60,step:1,unit:\"s\"},autoExpandOncePerSession:{type:ControlType.Boolean,title:\"Once Per Session\",defaultValue:true},chatWidth:{type:ControlType.Number,title:\"Chat Width\",min:280,max:600,step:10,unit:\"px\"},chatHeight:{type:ControlType.Number,title:\"Chat Height\",min:320,max:800,step:10,unit:\"px\"},offsetBottom:{type:ControlType.Number,title:\"Offset Bottom\",min:0,max:200,step:4,unit:\"px\"},offsetRight:{type:ControlType.Number,title:\"Offset Right\",min:0,max:200,step:4,unit:\"px\"},accentBase:{type:ControlType.Color,title:\"Orb Base\"},accent1:{type:ControlType.Color,title:\"Orb Accent 1\"},accent2:{type:ControlType.Color,title:\"Orb Accent 2\"},accent3:{type:ControlType.Color,title:\"Orb Accent 3\"},textColor:{type:ControlType.Color,title:\"Text\"},bgColor:{type:ControlType.Color,title:\"Background\"},borderColor:{type:ControlType.Color,title:\"Border\"},userBubbleColor:{type:ControlType.Color,title:\"User Bubble\"},aiBubbleColor:{type:ControlType.Color,title:\"AI Bubble\"},chipBgColor:{type:ControlType.Color,title:\"Chip Background\"},chipBorderColor:{type:ControlType.Color,title:\"Chip Border\"},chipHoverColor:{type:ControlType.Color,title:\"Chip Hover\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AskSouvik\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ask_AI.map"],"mappings":"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"}