1import{r as t,j as o,X as ae,c as x}from"./index-BGOvjOWv.js";import{M as oe}from"./index-BzQcUhK6.js";import{A as ne}from"./arrow-right-CVEpAoSj.js";import{S as te}from"./send-CkhGn9j4.js";import{M as se}from"./message-circle-CMWFeVQd.js";const re=[{id:"booking-process",category:"Booking",keywords:["book","appointment","consult","consultation","schedule"],answer:`At BioRestora, we use a Pay â Book model. You first select your consultation type and complete payment, then choose your preferred time slot. This ensures your appointment is secured and our clinicians can prepare for your visit. 2 3You can book here: /book`,question:"How do I book a consultation?"},{id:"consultation-types",category:"Booking",keywords:["types","consultation","initial","follow","duration","long"],answer:`We offer three consultation tiers: 4 5⢠**Quick Consult ($79)** â Brief telehealth for acute concerns like UTI, prescriptions, skin conditions 6⢠**Follow-Up Consultation (15 min) â $120** â Quick follow-ups, brief check-ins, and results discussions 7⢠**Comprehensive Consultation (30â45 min) â $295** â Doctor-led consultation for perimenopause, menopause and broader women's hormonal health concerns; includes full assessment, pathology review and a personalised care plan 8 9For ongoing care, our **Comprehensive Care framework** (Restore · Rebuild · Optimise) coordinates your consultations into a clear journey. You book each visit individually and your clinician guides the pace. All consultations are conducted via secure telehealth, available Australia-wide.`,question:"What types of consultations are available?"},{id:"pricing",category:"Pricing",keywords:["price","cost","fee","how much","pricing","afford","expensive","pay"],answer:`Our consultation fees are: 10 11⢠**Quick Consult** â $79 · Brief telehealth for acute concerns 12⢠**Follow-Up Consultation (15 min)** â $120 · Quick follow-ups and check-ins 13⢠**Comprehensive Consultation (30â45 min)** â $295 · Doctor-led consultation for perimenopause, menopause and broader women's hormonal health concerns 14 15For ongoing care, our Comprehensive Care framework coordinates your consultations into a journey â no bundle required, book as you go. Payment is completed at the time of booking. We are a private clinic and do not bulk-bill. You can view full details at /fees.`,question:"How much do consultations cost?"},{id:"medicare-rebates",category:"Pricing",keywords:["medicare","rebate","bulk bill","bulk-bill","gap","private health","insurance","covered","rebates","why private","expensive"],answer:"BioRestora is a private-fee clinic. Our fees reflect the time, precision and clinical depth of each consultation. Medicare rebates may apply for eligible patients â our team will c
15onfirm your eligibility at time of booking. We do not bulk-bill. Some patients with private health insurance extras cover may also be able to claim a portion â please check with your fund directly.",question:"Why don't you offer Medicare rebates?"},{id:"payment-methods",category:"Pricing",keywords:["payment","pay","credit card","stripe","method"],answer:"We accept all major credit and debit cards via our secure Stripe payment gateway. Payment is required at the time of booking to confirm your appointment.",question:"What payment methods do you accept?"},{id:"reschedule-refund",category:"Policies",keywords:["reschedule","cancel","refund","change","move","policy"],answer:`We understand plans can change. Our cancellation and rescheduling policy is: 16 17⢠**48+ hours before** â Full refund or free reschedule 18⢠**24â48 hours before** â 50% refund or reschedule with fee 19⢠**Less than 24 hours** â No refund; rescheduling subject to availability 20 21Please contact us via our contact page for any changes.`,question:"What is the cancellation/reschedule policy?"},{id:"telehealth",category:"Services",keywords:["telehealth","online","video","remote","virtual","where"],answer:"All BioRestora consultations are conducted via secure telehealth â secure video or phone, your choice at booking â available to patients anywhere in Australia. You'll receive a private link or call instructions before your appointment. No travel required â access specialist care from home. BioRestora is also listed on Healthdirect, the Australian Government's national health service directory.",question:"Is telehealth available?"},{id:"womens-health",category:"Services",keywords:["women","female","hormones","hormonal health","menopause","perimenopause","pcos","endometriosis","endo","pelvic pain","pms","pmdd","hormonal acne","jawline acne","acne","melasma","pigmentation","low libido","libido","sex drive","hsdd","period"],answer:`BioRestora is Australia's doctor-led telehealth clinic for women's hormonal health. We cover perimenopause and menopause, PCOS, PMS/PMDD, endometriosis, hormonal acne, melasma, low libido and the broader hormonal picture â assessed together, not in silos. 22 23Dedicated pages: /womens-hormonal-health · /endometriosis · /hormonal-acne · /melasma · /low-libido · /pms-pmdd · /pcos · /menopause`,question:"What women's health services do you offer?"},{id:"weight-management",category:"Services",keywords:["weight","lose","obesity","metabolic","metabolism","fat","medical weight loss"],answer:`Our Medical Weight Loss program explores the factors contributing to weight challenges â metabolic, hormonal, genetic, environmental and lifestyle â with investigations arranged when clinically indicated. Obesity is recognised as a chronic disease â our approach combines medical assessment, prescription medication support where clinically appropriate, personalised nutrition guidance, and weekly progress tracking through our digital health platform. 24 25Outcomes vary with individuals. 26 27Learn more: /services/weight-management 28Book now: /book`,question:"Do you help with weight management?"},{id:"advanced-panels",category:"Services",keywords:["genetic","gene","dna","genomic","lab","panel","advanced","testing","blood"],answer:`We offer women's hormonal and advanced diagnostic panels â clinician-prescribed blood tests covering hormones, thyroid, metabolic and inflammatory markers in a women's health context. 29 30Learn more: /lab-bundles`,question:"Do you offer advanced hormonal testing?"},{id:"perimenopause-care",category:"Services",keywords:["optimisation","energy","fatigue","tired","perimenopause","menopause","hormone"],answer:`BioRestora is Australia's telehealth clinic for women's hormonal health. We focus on perimenopause, menopause, PCOS, women's sexual health, medical weight management, and hormonal skin & hair. 31 32Learn more: /womens-health`,question:"What does BioRestora treat?"},{id:"clinical-domains",category:"Services",keywords:["domains","specialise","specialize","conditions","treat","help with","areas"],answer:`BioRestora clinicians help with a wide range of health concerns including: 33 34⢠Hormonal Health 35⢠Metabolic & Weight 36⢠Gut & Digestive 37⢠Fatigue & Stress 38⢠Cardiovascular 39⢠Autoimmune & Inflammatory 40 41See what we treat: /clinical-domains`,question:"What do you treat?"},{id:"supplements",category:"Products",keywords:["supplement","nutraceutical","vitamin","mineral","product","buy","shop","optimise"],answer:`Our curated supplement range is available through Optimise, our dedicated wellness store. All products are practitioner-grade and selected to complement clinical care. 42 43Visit: https://optimise.biorestora.com.au`,question:"Do you sell supplements?"},{id:"lab-testing",category:"Services",keywords:["lab","blood","test","pathology","diagnostic","bundle"],answer:`We offer advanced pathology and diagnostic panels that go beyond standard testing. These targeted panels help identify contributing factors to your hormonal health concerns. 44 45View available panels: /lab-bundles`,question:"What lab testing do you offer?"},{id:"about-biorestora",category:"About",keywords:["about","who","clinic","biorestora","what is","company"],answer:`BioRestora is a virtual women's health clinic offering doctor-led personalised telehealth care Australia-wide. We specialise in hormonal health, perimenopause, menopause, and complex presentations â combining evidence-based conventional medicine with personalised, preventive care, longitudinal follow-up, health data tracking, and advanced clinical tools. 46 47Learn more: /about`,question:"What is BioRestora?"},{id:"clinicians",category:"About",keywords:["doctor","clinician","practitioner","who","team","dr","ochanya","otowo"],answer:`Our clinical team consists of AHPRA-registered medical practitioners with additional training in personalised and preventive approaches to healthcare. All clinicians maintain ongoing professional development. 48 49Meet our team: /clinicians`,question:"Who are your clinicians?"},{id:"how-it-works",category:"About",keywords:["how","process","
49steps","what happens","first visit","expect"],answer:`Here's how BioRestora works: 50 511. **Book & Pay** â Select your consultation and complete payment 522. **Complete Intake** â Fill out your health questionnaire 533. **Consult** â Meet your clinician via secure telehealth 544. **Care Plan** â Receive your personalised care strategy 55 56Learn more: /how-it-works`,question:"How does BioRestora work?"},{id:"privacy",category:"Policies",keywords:["privacy","data","information","secure","confidential","records"],answer:`We take your privacy seriously. All health information is handled in accordance with the Australian Privacy Act 1988 and relevant health records legislation. Our telehealth platform uses end-to-end encryption. 57 58Read our full privacy policy: /privacy`,question:"How is my data protected?"},{id:"contact",category:"About",keywords:["contact","email","phone","reach","get in touch","support"],answer:`You can reach us via our contact page: /contact 59 60We typically respond within 1 business day.`,question:"How can I contact you?"},{id:"patient-portal",category:"Portal",keywords:["portal","login","sign in","account","dashboard","client","patient portal","my account"],question:"What is the patient portal?",answer:`Your Patient Portal is your personal health hub. Once you create an account, you can: 61 62⢠View your health dashboard and trends 63⢠Complete health assessments and questionnaires 64⢠Track weekly check-ins (energy, sleep, mood, stress, digestion) 65⢠Access your care plan and health summaries 66⢠View lab results and upcoming appointments 67⢠Set and track health goals 68 69Access your portal by signing in at /auth`},{id:"health-assessments",category:"Portal",keywords:["assessment","questionnaire","intake","form","survey","health check"],question:"How do health assessments work?",answer:`We use clinically designed health assessments to understand your health before your consultation. The process is: 70 711. **General Clinical Intake** â Complete this first to give us your health overview 722. **Condition-specific assessments** â Unlock after the general intake (e.g., Weight & Metabolic, Menopause & Hormonal, Gut Health, Fatigue & Stress, and more) 73 74Your clinician reviews all responses before your consultation to make the most of your appointment time. 75 76Complete your assessments in your portal: /client/questionnaire`},{id:"health-score",category:"Portal",keywords:["health score","score","weekly check","check-in","checkin","tracking","trend"],question:"What is the health score?",answer:`Your Health Score is calculated from your weekly check-ins, where you rate five key areas: **Energy, Sleep, Mood, Stress, and Digestion** on a 1â10 scale. Over time, this creates a trend that helps both you and your clinician track your progress. 77 78We recommend completing a check-in at least once per week. 79 80Log your check-in: /client/weekly-checkin`},{id:"care-plan",category:"Portal",keywords:["care plan","treatment plan","recommendations","plan","next steps"],question:"What is included in my care plan?",answer:`After your consultation, your clinician may create a personalised care plan that includes: 81 82⢠Key health goals and priorities 83⢠Dietary and lifestyle recommendations 84⢠Suggested supplements (if appropriate) 85⢠Follow-up schedule 86 87Your care plan is available in your portal once approved by your clinician: /client/care-plan`},{id:"health-summary",category:"Portal",keywords:["health summary","letter","summary","report","results summary"],question:"What is a health summary?",answer:"After your consultation, your clinician may prepare a Health Summary â a plain-language letter summarising what was discussed, key findings, and next steps. Once released, you can view and download it from your portal: /client/health-summary"},{id:"membership",category:"Portal",keywords:["membership","member","subscribe","subscription","pulse","access"],question:"How does membership work?",answer:`Pulse is included free for 6 months with any BioRestora consultation â health tracking, care plans, summaries and personalised insights all unlock automatically. Standalone subscriptions are also available. 88 89Manage access: /client/membership`},{id:"vitals-tracking",category:"Portal",keywords:["vitals","blood pressure","weight tracking","heart rate","wearable","apple health","oura","garmin","whoop"],question:"Can I track my vitals?",answer:`You can log vitals like weight, blood pressure, heart rate, blood glucose, and more directly in your portal. We also support integration with wearable devices including Apple Health, Oura, Garmin, and Whoop for automatic data syncing. 90
91Track your vitals: /client/vitals`},{id:"cycle-tracker",category:"Portal",keywords:["cycle","period","menstrual","tracker","period tracker","fertility"],question:"Is there a cycle tracker?",answer:`Our Cycle Tracker lets you log your menstrual cycle, symptoms, mood, energy, and other daily observations. This data helps your clinician understand hormonal patterns and tailor your care. 92 93Access the tracker: /client/cycle-tracker`},{id:"goals",category:"Portal",keywords:["goal","goals","target","progress","health goal"],question:"Can I set health goals?",answer:`You can set personal health goals in your portal and track your progress over time. Goals might include weight targets, sleep improvements, stress management milestones, or any health outcome you're working toward. 94 95Set your goals: /client/goals`},{id:"lab-results",category:"Portal",keywords:["lab results","results","pathology results","blood results","test results"],question:"How do I view my lab results?",answer:`Once your clinician orders lab tests and results are available, they'll appear in your portal with easy-to-understand status indicators (normal, high, low). Your clinician will review and discuss results during your consultation. 96 97View your results: /client/labs`},{id:"appointments",category:"Portal",keywords:["my appointments","upcoming","appointment history","past appointments"],question:"Where can I see my appointments?",answer:`You can view all your upcoming and past appointments in your portal, including consultation type, date, and status. 98 99View appointments: /client/appointments`},{id:"prescribed-reading",category:"Portal",keywords:["reading","article","prescribed reading","insights","education","recommended"],question:"What is prescribed reading?",answer:`Your clinician may prescribe specific health articles and insights tailored to your condition. These appear in your portal dashboard as recommended reading to support your health journey. 100 101Browse all insights: /insights`},{id:"programs",category:"Programs",keywords:["program","package","bundle","consult package"],question:"Do you offer consultation packages?",answer:`We offer consultation packages for patients who benefit from ongoing support through our Comprehensive Care approach. Packages bundle multiple consultations at a value rate and may include additional support. 102 103View programs: /programs`},{id:"health-quiz",category:"Services",keywords:["quiz","health quiz","insight quiz","self assessment","free quiz"],question:"How do I find my starting point?",answer:`Our free health quiz helps you identify which areas of your health could benefit from clinical attention. It takes just a few minutes and provides personalised recommendations. 104 105Find your starting point: /health-insight-quiz 106 107For hormonal health specifically, try our perimenopause screening: /am-i-in-perimenopause`},{id:"perimenopause-screening",category:"Services",keywords:["perimenopause","menopause","peri","hormones","hot flushes","night sweats","HRT","hormone replacement","am i in menopause","too young for menopause"],question:"Am I in perimenopause?",answer:`Our free 2-minute perimenopause screening quiz can help identify whether your symptoms â such as hot flushes, night sweats, sleep disruption, mood changes, or unexplained weight gain â may relate to hormonal changes. 108 109It's designed by doctors who specialise in hormonal health and takes just 2 minutes. 110 111Take the screening: /am-i-in-perimenopause`},{id:"discovery-call",category:"Services",keywords:["free","discovery","screening call","phone call","speak to someone","not sure","talk to a doctor","free consultation"],question:"Can I speak to someone before booking?",answer:`Absolutely! We offer a free 10-minute phone screening call where you can discuss your concerns with our clinical team. No obligation, no pressure â just a conversation about your health. 112 113Request a free screening call: /discovery-call`},{id:"personalised-medicine",category:"About",keywords:["personalised","preventive","whole-person","approach","philosophy"],question:"What does BioRestora's clinical approach mean?",answer:`BioRestora is a conventional medical clinic that practises personalised, preventive medicine. Our AHPRA-registered doctors explore the underlying factors contributing to your health concerns â with investigations arranged when clinically indicated â rather than just managing symptoms. 114 115Our approach includes thorough clinical assessment, diagnostic investigations where appropriate, health data tracking, and personalised care strategies delivered through coordinated, longitudinal care.`},{id:"emergency",category:"Safety",keywords:["emergency","urgent","crisis","suicide","harm","chest pain","ambulance","000"],question:"What should I do in a medical emergency?",answer:`If you are experiencing a medical emergency, please call **000** immediately or go to your nearest emergency department. 116 117For mental health crisis support: 118⢠**Lifeline**: 13 11 14 119⢠**Beyond Blue**: 1300 22 4636 120 121BioRestora is not an emergency service.`}],f=(i,y)=>{typeof window<"u"&&window.gtag&&window.gtag("event",i,{event_category:"chatbot",event_label:y}),typeof window<"u"&&window.dataLayer&&window.dataLayer.push({event:i,event_category:"chatbot",event_label:y})},ie=[{label:"I have a health concern",action:"booking",message:"I have a health concern and I'm not sure which consultation type I need."},{label:"Book a consult",action:"book",message:"How do I book a consultation?"},{label:"Pricing",action:"pricing",message:"What are your consultation fees?"},{label:"Perimenopause & menopause",action:"faq",message:"Do you help with perimenopause and menopause?"},{label:"PCOS & hormonal health",action:"faq",message:"What women's health services do you offer?"},{label:"Hormonal weight management",action:"faq",message:"Do you help with weight management?"},{label:"Policies",action:"faq",message:"What is the cancellation and reschedule policy?"}],le="https://qoumvmenjjksxyfiodco.supabase.co/functions/v1/chatbot",P={role:"assistant",content:`Hi, I'm Cleo â your BioRestora assistant. BioRestora is Australia's virtual women's health clinic â perimenopause, menopause, PCOS, hormonal weight, sexual wellness, skin & hair. 122 123Tell me what's on your mind and I'll recommend the best care pathway for you. 124 125â¹ï¸ General information only â not medical advice.`};function ge(){var H;const[i,y]=t.useState(!1),[u,q]=t.useState([P]),[b,A]=t.useState(""),[g,O]=t.useState(!1),[_,$]=t.useState(!0),[R,V]=t.useState(0),[j,X]=t.useState(0),[C,G]=t.useState(0),c=t.useRef(null),M=t.useRef(null),N=t.useRef(null),[ce,Q]=t.useState(!1);t.useEffect(()=>{const e=document.querySelector("footer");if(!e)return;const n=new IntersectionObserver(([a])=>{const r=Math.max(0,window.innerHeight-a.boundingClientRect.top);V(r),Q(a.isIntersecting)},{threshold:Array.from({length:20},(a,r)=>r/19)});return n.observe(e),()=>n.disconnect()},[]);const B=t.useCallback((e,n)=>{const a=c.current;if(!a)return;const r=e-a.startX,h=n-a.startY;(Math.abs(r)>8||Math.abs(h)>8)&&(a.moved=!0);const p=-(window.innerWidth-72),v=-Math.max(0,window.innerHeight-20-
12556-100),s=0,w=Math.min(0,Math.max(p,a.baseX+r)),S=Math.min(s,Math.max(v,a.baseY+h));X(w),G(S)},[]),E=t.useCallback(()=>{c.current=null},[]);t.useEffect(()=>{const e=a=>B(a.clientX,a.clientY),n=()=>E();return window.addEventListener("pointermove",e),window.addEventListener("pointerup",n),window.addEventListener("pointercancel",n),()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",n),window.removeEventListener("pointercancel",n)}},[B,E]);const F=t.useCallback(()=>{var e;(e=M.current)==null||e.scrollIntoView({behavior:"smooth"})},[]);t.useEffect(()=>{F()},[u,F]),t.useEffect(()=>{var e;i&&((e=N.current)==null||e.focus())},[i]),t.useEffect(()=>{const e=()=>y(!0);return window.addEventListener("open-chatbot",e),()=>window.removeEventListener("open-chatbot",e)},[]);const U=re.map(e=>`Q: ${e.question} 126A: ${e.answer}`).join(` 127 128`),L=async e=>{var h,p,v;const n={role:"user",content:e};q(s=>[...s,n]),A(""),$(!1),O(!0);let a="";const r=[...u,n].filter(s=>s!==P||u.indexOf(s)===0);try{const s=await fetch(le,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InFvdW12bWVuamprc3h5ZmlvZGNvIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzA0NjcyMjMsImV4cCI6MjA4NjA0MzIyM30.2iu4cAoO6r3lYY3LGRQLMFbd6MSsOoHUTpB60xwRpEY"},body:JSON.stringify({messages:r.slice(-10),faqContext:U})});if(!s.ok||!s.body){const I=await s.json().catch(()=>({}));throw new Error(I.error||"Failed to get response")}const w=s.body.getReader(),S=new TextDecoder;let d="";for(;;){const{done:I,value:K}=await w.read();if(I)break;d+=S.decode(K,{stream:!0});let W;for(;(W=d.indexOf(` 129`))!==-1;){let l=d.slice(0,W);if(d=d.slice(W+1),l.endsWith("\r")&&(l=l.slice(0,-1)),l.startsWith(":")||l.trim()===""||!l.startsWith("data: "))continue;const D=l.slice(6).trim();if(D==="[DONE]")break;try{const z=(v=(p=(h=JSON.parse(D).choices)==null?void 0:h[0])==null?void 0:p.delta)==null?void 0:v.content;z&&(a+=z,q(m=>{const k=m[m.length-1];return(k==null?void 0:k.role)==="assistant"&&m.length>1&&k!==P?m.map((T,ee)=>ee===m.length-1?{...T,content:a}:T):[...m,{role:"assistant",content:a}]}))}catch{d=l+` 130`+d;break}}}}catch(s){console.error("Chatbot error:",s),q(w=>[...w,{role:"assistant",content:`I'm sorry, I'm having trouble right now. Please try again or contact us via our contact page. 131 132â¹ï¸ General information only â not medical advice.`}])}finally{O(!1)}},J=e=>{f("faq_clicked",e.label),e.action==="book"&&f("book_clicked"),L(e.message)},Z=e=>{e.preventDefault(),!(!b.trim()||g)&&L(b.trim())},Y=()=>{const e=!i;y(e),e&&f("chat_open")};return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:x("fixed right-4 z-[60] w-[360px] max-w-[calc(100vw-2rem)]",i?"opacity-100 scale-100 pointer-events-auto":"opacity-0 scale-95 pointer-events-none"),style:{bottom:`${80+R}px`,transform:`translate(${j}px, ${C}px)`,transition:c.current?"none":"bottom 0.4s cubic-bezier(0.22,1,0.36,1), opacity 0.25s ease-out, transform 0.25s ease-out"},children:o.jsxs("div",{className:"bg-card border border-border rounded-2xl shadow-2xl flex flex-col overflow-hidden",style:{height:"min(520px, calc(100vh - 8rem))"},children:[o.jsxs("div",{className:"bg-primary text-primary-foreground px-5 py-4 flex items-center justify-between flex-shrink-0",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"font-semibold text-sm",children:"Cleo"}),o.jsx("p",{className:"text-xs text-primary-foreground/70",children:"BioRestora Assistant"})]}),o.jsx("button",{onClick:Y,className:"p-1.5 rounded-full hover:bg-primary-foreground/10 transition-colors","aria-label":"Close chat",children:o.jsx(ae,{className:"h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto px-4 py-3 space-y-3",children:[u.map((e,n)=>o.jsx("div",{className:x("flex",e.role==="user"?"justify-end":"justify-start"),children:o.jsx("div",{className:x("max-w-[85%] rounded-2xl px-4 py-2.5 text-sm leading-relaxed",e.role==="user"?"bg-primary text-primary-foreground rounded-br-md":"bg-secondary text-secondary-foreground rounded-bl-md"),children:e.role==="assistant"?o.jsx("div",{className:"prose prose-sm max-w-none [&_p]:my-1 [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_a]:text-primary [&_a]:underline",children:o.jsx(oe,{components:{a:({href:a,children:r})=>!(a==null?void 0:a.startsWith("http"))&&a?o.jsx("a",{href:a,onClick:p=>{p.preventDefault(),a.includes("book")&&f("book_clicked"),(a.includes("fee")||a.includes("pricing"))&&f("payment_clicked"),window.location.href=a},className:"text-primary underline hover:text-primary/80 cursor-pointer",children:r}):o.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline hover:text-primary/80",children:r})},children:e.content})}):e.content})},n)),g&&((H=u[u.length-1])==null?void 0:H.role)==="user"&&o.jsx("div",{className:"flex justify-start",children:o.jsx("div",{className:"bg-secondary rounded-2xl rounded-bl-md px-4 py-3",children:o.jsxs("div",{className:"flex gap-1.5",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-muted-foreground
132/40 animate-bounce [animation-delay:0ms]"}),o.jsx("span",{className:"w-2 h-2 rounded-full bg-muted-foreground/40 animate-bounce [animation-delay:150ms]"}),o.jsx("span",{className:"w-2 h-2 rounded-full bg-muted-foreground/40 animate-bounce [animation-delay:300ms]"})]})})}),_&&!g&&o.jsx("div",{className:"flex flex-wrap gap-1.5 pt-1",children:ie.map(e=>o.jsxs("button",{onClick:()=>J(e),className:"inline-flex items-center gap-1 px-3 py-1.5 text-xs font-medium rounded-full border border-border bg-background text-foreground/80 hover:bg-secondary hover:text-foreground transition-colors",children:[e.label,o.jsx(ne,{className:"h-3 w-3"})]},e.label))}),o.jsx("div",{ref:M})]}),o.jsx("form",{onSubmit:Z,className:"flex-shrink-0 border-t border-border px-3 py-3",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("input",{ref:N,type:"text",value:b,onChange:e=>A(e.target.value),placeholder:"Ask a question...",disabled:g,className:"flex-1 bg-secondary/50 border-0 rounded-full px-4 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-primary/20 placeholder:text-muted-foreground/60 disabled:opacity-50",maxLength:500}),o.jsx("button",{type:"submit",disabled:!b.trim()||g,className:"p-2.5 rounded-full bg-primary text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-40 disabled:cursor-not-allowed","aria-label":"Send message",children:o.jsx(te,{className:"h-4 w-4"})})]})})]})}),o.jsx("button",{onPointerDown:e=>{var n,a;(a=(n=e.currentTarget).setPointerCapture)==null||a.call(n,e.pointerId),c.current={startX:e.clientX,startY:e.clientY,baseX:j,baseY:C,moved:!1}},onPointerUp:e=>{var n,a;(a=(n=e.currentTarget).releasePointerCapture)==null||a.call(n,e.pointerId)},onClick:e=>{var n;if((n=c.current)!=null&&n.moved){e.preventDefault(),e.stopPropagation(),c.current=null;return}Y()},className:x("fixed right-4 z-[60] p-3.5 rounded-full shadow-lg hover:shadow-xl hover:scale-110 touch-none cursor-grab active:cursor-grabbing",i&&"scale-0 opacity-0"),style:{backgroundColor:"#F97316",color:"#FFFFFF",bottom:`${20+R}px`,transform:`translate(${j}px, ${C}px)`,transition:c.current?"none":"bottom 0.4s cubic-bezier(0.22,1,0.36,1), transform 0.3s cubic-bezier(0.34,1.56,0.64,1), opacity 0.2s ease-out, box-shadow 0.2s ease"},"aria-label":"Open chat â drag to move",title:"Drag to move",children:o.jsx(se,{className:"h-6 w-6"})})]})}export{ge as Chatbot,ge as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.