{"version":3,"file":"PanelSearchModal.Cf8a7epS.mjs","names":["useState","useRef","useMemo","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/iq9ldPZqAAyB2hSTcpeb/mhVY5KT040xwLnTbTyJH/PanelSearchModal.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useCallback,useMemo}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";// ============================================================================\n// Environment Detection (Inlined for Framer)\n// ============================================================================\nconst DEFAULT_MARKETING_BASE_URL=\"https://www.claritylabs.com.au\";function getEnvironmentConfig(){if(typeof window!==\"undefined\"&&window.FRAMER_ENV){const env=window.FRAMER_ENV;const rawAppUrl=env.VERCEL_APP_URL||\"https://staging-app.claritylabs.com.au\";const appBase=rawAppUrl.endsWith(\"/\")?rawAppUrl.slice(0,-1):rawAppUrl;const isStaging=appBase.includes(\"staging\")||env.ENVIRONMENT===\"staging\";return{supabaseUrl:env.SUPABASE_URL,supabaseAnonKey:env.SUPABASE_ANON_KEY,apiBaseUrl:`${appBase}/api`,marketingBaseUrl:env.MARKETING_BASE_URL||env.MARKETING_URL||appBase||DEFAULT_MARKETING_BASE_URL,isStaging};}const hostname=typeof window!==\"undefined\"?window.location.hostname:\"localhost\";if(hostname===\"claritylabs.com.au\"||hostname===\"www.claritylabs.com.au\"||hostname===\"app.claritylabs.com.au\"){return{supabaseUrl:\"https://hqnkhmgxzuvyjepsrswp.supabase.co\",supabaseAnonKey:\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImhxbmtobWd4enV2eWplcHNyc3dwIiwicm9zZSI6ImFub24iLCJpYXQiOjE3Mjk0MDExMDAsImV4cCI6MjA0NDk3NzEwMH0.M6b0RGlqFv-k4rqxQzX9Zs0n8YaLHDGzH-8xLqPqJ5I\",apiBaseUrl:\"https://app.claritylabs.com.au/api\",marketingBaseUrl:DEFAULT_MARKETING_BASE_URL,isStaging:false};}// Staging/development environment\nreturn{supabaseUrl:\"https://vhktighvugcguqphfnku.supabase.co\",supabaseAnonKey:\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZoa3RpZ2h2dWdjZ3VxcGhmbmt1Iiwicm9zZSI6ImFub24iLCJpYXQiOjE3NjA4NDI0OTEsImV4cCI6MjA3NjQxODQ5MX0.rP9i8smlmGjwO1uFwC_qdAsiCmIKrAtpvOrffAd1714\",apiBaseUrl:\"https://staging-app.claritylabs.com.au/api\",marketingBaseUrl:\"https://lucky-patterns-188234.framer.app\",isStaging:true};}// Design tokens (inlined from frontend/src/styles/tokens.ts for Framer compatibility)\nconst tokens={colors:{primary:{500:\"#006060\",600:\"#004d4d\",50:\"#e6f2f2\",100:\"#b3d9d9\"},secondary:{500:\"#e8926f\",600:\"#e07a5b\"},background:{primary:\"#ffffff\",secondary:\"#fafafa\"},text:{primary:\"#2c2c2c\",secondary:\"#51565a\",tertiary:\"#4b5563\"},border:{light:\"#e5e7eb\",medium:\"#d1d5db\"},gray:{50:\"#f9fafb\",100:\"#f3f4f6\",400:\"#9ca3af\",500:\"#6b7280\",600:\"#4b5563\"},warning:{500:\"#d97706\"}},typography:{fontFamily:{satoshi:'Satoshi, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',inter:'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif'},fontSize:{h5:\"20px\",body:\"16px\",bodyS:\"14px\",bodyXS:\"12px\"},fontWeight:{light:300,regular:400,medium:500,semibold:600,bold:700},lineHeight:{tight:1.2,normal:1.5,relaxed:1.6}},spacing:{1:4,2:8,3:12,4:16,5:20,6:24,8:32},borderRadius:{sm:\"4px\",md:\"12px\",lg:\"20px\",full:\"9999px\"},shadows:{sm:\"0 1px 2px rgba(0, 0, 0, 0.05)\",md:\"0 4px 6px rgba(0, 0, 0, 0.07)\",lg:\"0 10px 15px rgba(0, 0, 0, 0.1)\"},breakpoints:{phone:809,tablet:810,desktop:1200}};const BASELINE_PANEL_IDS={young:[\"CLA_PAN_001\",\"CLA_PAN_002\"],midlife:[\"CLA_PAN_003\",\"CLA_PAN_004\"],mature:[\"CLA_PAN_005\",\"CLA_PAN_006\"]};const FEATURED_PANEL_IDS=Array.from(new Set([...BASELINE_PANEL_IDS.young,...BASELINE_PANEL_IDS.midlife,...BASELINE_PANEL_IDS.mature,\"VIT_PAN_001\",\"VIT_PAN_002\",\"VIT_PAN_003\",\"LON_PAN_001\",\"CLA_TEST_028\",\"VIT_TEST_007\",\"VIT_TEST_012\"]));function formatPrice(cents){return`$${(cents/100).toFixed(0)}`;}/**\n * Gets user age category from localStorage\n * Returns 'young' (18-35), 'midlife' (35-50), 'mature' (50+), or null if not logged in\n */const getUserAgeCategory=()=>{try{const userDataStr=localStorage.getItem(\"claritylabs_user\");if(!userDataStr)return null;const userData=JSON.parse(userDataStr);const dobStr=userData.user_metadata?.date_of_birth||userData.date_of_birth;if(!dobStr)return null;const dob=new Date(dobStr);const today=new Date;const age=today.getFullYear()-dob.getFullYear();const monthDiff=today.getMonth()-dob.getMonth();const dayDiff=today.getDate()-dob.getDate();// Adjust age if birthday hasn't occurred this year\nconst adjustedAge=monthDiff<0||monthDiff===0&&dayDiff<0?age-1:age;// Three age tiers\nif(adjustedAge<35)return\"young\";if(adjustedAge<50)return\"midlife\";return\"mature\";}catch(e){return null;}};/**\n * Filters baseline panels based on user age\n * Strategy:\n * - If user has an active search query → show all matching results (no age filtering)\n * - If logged in with age data → show age-appropriate baselines only\n * - If not logged in → show only midlife baselines (default to middle audience)\n */const filterBaselinesByAge=(panels,searchQuery)=>{// If user has an active search, don't filter by age - show all matching results\n// This allows users to explicitly search for \"young\" or \"mature\" panels\nif(searchQuery&&searchQuery.length>0){return panels;}const allBaselineIds=[...BASELINE_PANEL_IDS.young,...BASELINE_PANEL_IDS.midlife,...BASELINE_PANEL_IDS.mature];const ageCategory=getUserAgeCategory();return panels.filter(panel=>{// If not a baseline panel, always include\nif(!allBaselineIds.includes(panel.panel_id)){return true;}// If user is logged in and we know their age, show age-appropriate baselines\nif(ageCategory){return BASELINE_PANEL_IDS[ageCategory].includes(panel.panel_id);}// Default: show only midlife baselines (don't crowd search results)\nreturn BASELINE_PANEL_IDS.midlife.includes(panel.panel_id);});};/**\n * Sorts panels by tier priority\n * Strategy: Vitality > Clarity > Longevity > Individual Tests\n */const sortPanelsByTier=panels=>{const tierPriority={Vitality:1,Clarity:2,Longevity:3};return[...panels].sort((a,b)=>{// First sort by panel type (Panels before Tests)\nconst typeA=a.panel_type||\"Panel\";const typeB=b.panel_type||\"Panel\";if(typeA===\"Panel\"&&typeB===\"Test\")return-1;if(typeA===\"Test\"&&typeB===\"Panel\")return 1;// Then sort by tier within same type\nconst tierA=a.tier||\"Clarity\";const tierB=b.tier||\"Clarity\";const priorityA=tierPriority[tierA]||999;const priorityB=tierPriority[tierB]||999;return priorityA-priorityB;});};function getApiConfig(){// Auto-detect environment based on URL\nconst envConfig=getEnvironmentConfig();return{url:envConfig.supabaseUrl,key:envConfig.supabaseAnonKey,marketingBaseUrl:envConfig.marketingBaseUrl||DEFAULT_MARKETING_BASE_URL};}const toArray=value=>{if(Array.isArray(value)){return value.filter(Boolean);}if(typeof value===\"string\"){return value.split(\",\").map(item=>item.trim()).filter(Boolean);}return[];};const getIncludedBiomarkersList=panel=>{const fromUi=toArray(panel.ui_content?.included_biomarkers);if(fromUi.length){return fromUi;}return toArray(panel.properties?.included_biomarkers);};const getBiomarkerCount=panel=>{const explicit=panel.properties?.biomarker_count??(typeof panel.declared_biomarkers===\"number\"?panel.declared_biomarkers:null)??(typeof panel.computed_biomarkers===\"number\"?panel.computed_biomarkers:null);if(typeof explicit===\"number\"){return explicit;}if(Array.isArray(panel.declared_biomarkers)){return panel.declared_biomarkers.length;}if(typeof panel.declared_biomarkers===\"string\"){return panel.declared_biomarkers.split(\",\").map(item=>item.trim()).filter(Boolean).length;}return getIncludedBiomarkersList(panel).length;};// Rich Panel Card Component\nfunction PanelCard({panel,isInCart,onAddToCart,showPrice,marketingBaseUrl}){const[isExplanationExpanded,setIsExplanationExpanded]=useState(false);const[isBiomarkersExpanded,setIsBiomarkersExpanded]=useState(false);const[isHovered,setIsHovered]=useState(false);const biomarkerCount=getBiomarkerCount(panel);const includedBiomarkers=getIncludedBiomarkersList(panel);const normalizedMarketingBase=(marketingBaseUrl||DEFAULT_MARKETING_BASE_URL).replace(/\\/$/,\"\");const appBase=normalizedMarketingBase.replace(\"www.claritylabs.com.au\",\"app.claritylabs.com.au\");const learnMoreHref=panel.properties?.learn_more?panel.properties.learn_more:panel.slug?panel.panel_type===\"Test\"?`${appBase}/tests/${panel.slug}`:`${appBase}/panels/${panel.slug}`:appBase;return /*#__PURE__*/_jsxs(\"div\",{onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{display:\"flex\",flexDirection:\"column\",backgroundColor:tokens.colors.background.primary,border:`1px solid ${tokens.colors.border.light}`,borderRadius:tokens.borderRadius.lg,padding:`${tokens.spacing[6]}px`,boxShadow:isHovered?tokens.shadows.lg:tokens.shadows.md,transition:\"all 200ms ease\",transform:isHovered?\"translateY(-2px)\":\"translateY(0)\",minHeight:\"240px\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:`${tokens.spacing[4]}px`,right:`${tokens.spacing[4]}px`,display:\"inline-flex\",alignItems:\"center\",padding:`${tokens.spacing[1]}px ${tokens.spacing[3]}px`,backgroundColor:tokens.colors.gray[100],color:tokens.colors.text.tertiary,fontSize:tokens.typography.fontSize.bodyXS,fontFamily:tokens.typography.fontFamily.inter,fontWeight:tokens.typography.fontWeight.regular,borderRadius:tokens.borderRadius.full,whiteSpace:\"nowrap\"},children:panel.tier}),/*#__PURE__*/_jsx(\"h3\",{style:{fontFamily:tokens.typography.fontFamily.satoshi,fontSize:tokens.typography.fontSize.h5,fontWeight:tokens.typography.fontWeight.light,lineHeight:tokens.typography.lineHeight.tight,color:tokens.colors.text.primary,margin:`0 0 ${tokens.spacing[2]}px 0`},children:panel.panel_name}),panel.properties?.subtitle&&/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,fontWeight:tokens.typography.fontWeight.regular,lineHeight:tokens.typography.lineHeight.normal,color:tokens.colors.primary[600],margin:`0 0 ${tokens.spacing[4]}px 0`},children:panel.properties.subtitle}),panel.properties?.hook&&/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.body,fontWeight:tokens.typography.fontWeight.regular,lineHeight:tokens.typography.lineHeight.relaxed,color:tokens.colors.text.primary,margin:`0 0 ${tokens.spacing[4]}px 0`,flex:1},children:panel.properties.hook}),biomarkerCount>0&&/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:`${tokens.spacing[2]}px`},children:/*#__PURE__*/_jsxs(\"p\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,fontWeight:tokens.typography.fontWeight.medium,color:tokens.colors.text.secondary,margin:0},children:[biomarkerCount,\" biomarker\",biomarkerCount!==1?\"s\":\"\"]})}),panel.properties?.explanation&&/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:`${tokens.spacing[3]}px`},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setIsExplanationExpanded(!isExplanationExpanded),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,fontWeight:tokens.typography.fontWeight.medium,color:tokens.colors.text.secondary,background:\"none\",border:\"none\",padding:0,cursor:\"pointer\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{children:\"Explanation\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"16px\"},children:isExplanationExpanded?\"−\":\"+\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{maxHeight:isExplanationExpanded?\"300px\":\"0\",overflow:\"hidden\",transition:\"max-height 300ms ease, opacity 200ms ease, margin-top 300ms ease\",opacity:isExplanationExpanded?1:0,marginTop:isExplanationExpanded?`${tokens.spacing[3]}px`:\"0\"},children:/*#__PURE__*/_jsx(\"div\",{style:{padding:`${tokens.spacing[3]}px`,backgroundColor:tokens.colors.gray[50],borderRadius:tokens.borderRadius.md},children:/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,fontWeight:tokens.typography.fontWeight.regular,color:tokens.colors.text.secondary,margin:0,lineHeight:tokens.typography.lineHeight.relaxed},children:panel.properties.explanation})})})]}),includedBiomarkers.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:`${tokens.spacing[4]}px`},children:[/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setIsBiomarkersExpanded(!isBiomarkersExpanded),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,fontWeight:tokens.typography.fontWeight.medium,color:tokens.colors.text.secondary,background:\"none\",border:\"none\",padding:0,cursor:\"pointer\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{children:\"Included Biomarkers\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"16px\"},children:isBiomarkersExpanded?\"−\":\"+\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{maxHeight:isBiomarkersExpanded?\"300px\":\"0\",overflow:\"hidden\",transition:\"max-height 300ms ease, opacity 200ms ease, margin-top 300ms ease\",opacity:isBiomarkersExpanded?1:0,marginTop:isBiomarkersExpanded?`${tokens.spacing[3]}px`:\"0\"},children:/*#__PURE__*/_jsx(\"div\",{style:{padding:`${tokens.spacing[3]}px`,backgroundColor:tokens.colors.gray[50],borderRadius:tokens.borderRadius.md},children:/*#__PURE__*/_jsx(\"ul\",{style:{listStyle:\"none\",margin:0,padding:0,display:\"flex\",flexDirection:\"column\",gap:`${tokens.spacing[2]}px`},children:includedBiomarkers.map((item,idx)=>/*#__PURE__*/_jsx(\"li\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,fontWeight:tokens.typography.fontWeight.regular,color:tokens.colors.text.secondary,lineHeight:tokens.typography.lineHeight.relaxed},children:item},`${panel.panel_id}-biomarker-${idx}`))})})})]}),/*#__PURE__*/_jsx(\"div\",{style:{height:\"1px\",backgroundColor:tokens.colors.border.light,margin:`${tokens.spacing[4]}px 0`,marginTop:\"auto\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:`${tokens.spacing[3]}px`},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:`${tokens.spacing[3]}px`},children:[showPrice&&/*#__PURE__*/_jsx(\"div\",{style:{fontFamily:tokens.typography.fontFamily.satoshi,fontSize:\"24px\",fontWeight:tokens.typography.fontWeight.light,color:tokens.colors.primary[500]},children:formatPrice(panel.price_cents)}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:`${tokens.spacing[2]}px`,marginLeft:\"auto\"},children:[panel.target_gender&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",padding:`${tokens.spacing[1]}px ${tokens.spacing[3]}px`,backgroundColor:tokens.colors.gray[100],color:tokens.colors.text.primary,fontSize:tokens.typography.fontSize.bodyXS,fontFamily:tokens.typography.fontFamily.inter,fontWeight:tokens.typography.fontWeight.light,borderRadius:tokens.borderRadius.full,whiteSpace:\"nowrap\"},children:panel.target_gender===\"Any\"?\"Any | 18+\":panel.target_age_min&&panel.target_age_max?`${panel.target_gender} | ${panel.target_age_min}-${panel.target_age_max}`:panel.target_gender}),panel.evidence_tier_aggregate&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",padding:`${tokens.spacing[1]}px ${tokens.spacing[3]}px`,backgroundColor:tokens.colors.gray[100],color:tokens.colors.text.primary,fontSize:tokens.typography.fontSize.bodyXS,fontFamily:tokens.typography.fontFamily.inter,fontWeight:tokens.typography.fontWeight.light,borderRadius:tokens.borderRadius.full,whiteSpace:\"nowrap\"},children:panel.evidence_tier_aggregate})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:`${tokens.spacing[2]}px`,width:\"100%\"},children:[/*#__PURE__*/_jsxs(\"a\",{href:learnMoreHref,style:{flex:1,padding:`${tokens.spacing[3]}px ${tokens.spacing[4]}px`,borderRadius:tokens.borderRadius.full,fontSize:tokens.typography.fontSize.bodyS,fontFamily:tokens.typography.fontFamily.inter,fontWeight:tokens.typography.fontWeight.medium,border:`1px solid ${tokens.colors.primary[500]}`,backgroundColor:tokens.colors.background.primary,color:tokens.colors.primary[500],cursor:\"pointer\",transition:\"all 150ms ease\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:`${tokens.spacing[2]}px`,textDecoration:\"none\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=tokens.colors.primary[50];},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=tokens.colors.background.primary;},children:[\"Learn More\",/*#__PURE__*/_jsx(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 12 12\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 6H11M11 6L6 1M11 6L6 11\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})]}),/*#__PURE__*/_jsx(\"button\",{onClick:onAddToCart,style:{flex:1,padding:`${tokens.spacing[3]}px ${tokens.spacing[4]}px`,borderRadius:tokens.borderRadius.full,fontSize:tokens.typography.fontSize.bodyS,fontFamily:tokens.typography.fontFamily.inter,fontWeight:tokens.typography.fontWeight.medium,border:isInCart?`1px solid ${tokens.colors.primary[500]}`:\"none\",backgroundColor:isInCart?tokens.colors.primary[50]:tokens.colors.primary[500],color:isInCart?tokens.colors.primary[500]:tokens.colors.background.primary,cursor:\"pointer\",transition:\"all 150ms ease\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",gap:`${tokens.spacing[2]}px`},onMouseEnter:e=>{if(!isInCart){e.currentTarget.style.backgroundColor=tokens.colors.primary[600];}},onMouseLeave:e=>{if(!isInCart){e.currentTarget.style.backgroundColor=tokens.colors.primary[500];}},children:isInCart?\"✓ In Cart\":\"Add to Cart\"})]})]})]});}export default function PanelSearchModal({variant=\"icon\",placeholderText=\"Search panels and tests...\",filterByTier=\"All\",showPrices=true,debug=false}){const[isOpen,setIsOpen]=useState(false);const[searchQuery,setSearchQuery]=useState(\"\");const[panels,setPanels]=useState([]);const[loading,setLoading]=useState(false);const[error,setError]=useState(null);const[cart,setCart]=useState({panels:[],tests:[]});const[isSearchBarHovered,setIsSearchBarHovered]=useState(false);const[catalogMode,setCatalogMode]=useState(\"featured\");// CRITICAL: Track client-side mounting to prevent SSR portal errors\n// Framer does SSR and createPortal(document.body) fails during server render\nconst[mounted,setMounted]=useState(false);const modalRef=useRef(null);const searchInputRef=useRef(null);const wasJustOpened=useRef(false);// Mobile viewport detection for responsive layout\nconst[isMobile,setIsMobile]=useState(false);// Set mounted flag after client-side hydration\nuseEffect(()=>{setMounted(true);},[]);useEffect(()=>{if(!mounted)return;const checkMobile=()=>setIsMobile(window.innerWidth<600);checkMobile();window.addEventListener(\"resize\",checkMobile);return()=>window.removeEventListener(\"resize\",checkMobile);},[mounted]);const apiConfig=useMemo(()=>getApiConfig(),[]);const cartPanelSet=useMemo(()=>new Set(cart.panels),[cart.panels]);// Cart management\nuseEffect(()=>{const savedCart=localStorage.getItem(\"claritylabs_cart\");if(savedCart){try{setCart(JSON.parse(savedCart));}catch(e){console.error(\"Failed to parse cart:\",e);}}const handleCartUpdate=e=>{setCart(e.detail);};window.addEventListener(\"cartUpdated\",handleCartUpdate);return()=>{window.removeEventListener(\"cartUpdated\",handleCartUpdate);};},[]);// Modal keyboard/click handlers - Fixed for mobile touch events\nuseEffect(()=>{if(!isOpen)return;searchInputRef.current?.focus();const handleKeyDown=e=>{if(e.key===\"Escape\")setIsOpen(false);};// Handle both mouse and touch events for click-outside detection\n// Uses wasJustOpened ref to prevent immediate close on mobile\nconst handleClickOutside=e=>{// Skip if modal was just opened (prevents mobile touch race condition)\nif(wasJustOpened.current)return;if(modalRef.current&&!modalRef.current.contains(e.target)){setIsOpen(false);}};document.addEventListener(\"keydown\",handleKeyDown);document.addEventListener(\"mousedown\",handleClickOutside);document.addEventListener(\"touchstart\",handleClickOutside,{passive:true});return()=>{document.removeEventListener(\"keydown\",handleKeyDown);document.removeEventListener(\"mousedown\",handleClickOutside);document.removeEventListener(\"touchstart\",handleClickOutside);};},[isOpen]);useEffect(()=>{if(!isOpen){setCatalogMode(\"featured\");}},[isOpen]);// Body scroll lock when modal is open (especially important on mobile)\nuseEffect(()=>{if(isOpen){const scrollY=window.scrollY;document.body.style.position=\"fixed\";document.body.style.top=`-${scrollY}px`;document.body.style.width=\"100%\";document.body.style.overflow=\"hidden\";}return()=>{const scrollY=document.body.style.top;document.body.style.position=\"\";document.body.style.top=\"\";document.body.style.width=\"\";document.body.style.overflow=\"\";if(scrollY){window.scrollTo(0,parseInt(scrollY||\"0\")*-1);}};},[isOpen]);// Search with biomarker awareness\nuseEffect(()=>{if(!isOpen)return;const controller=new AbortController;const timeoutId=setTimeout(async()=>{const trimmedQuery=searchQuery.trim();const shouldUseFeatured=trimmedQuery.length===0&&catalogMode===\"featured\"&&FEATURED_PANEL_IDS.length>0;const payload=trimmedQuery.length>0?{search_text:trimmedQuery}:shouldUseFeatured?{panel_ids:FEATURED_PANEL_IDS}:{};setLoading(true);setError(null);try{// CRITICAL: Use Next.js API route instead of direct Edge Function call\n// Learnings from AUTH_FIX_POSTMORTEM (Lesson #2, #3):\n// - Edge Functions can't access browser cookies (no auth)\n// - Always proxy through Next.js API routes for client-side calls\n// - Add timeout to prevent infinite hangs (Lesson #5)\nconst envConfig=getEnvironmentConfig();const timeoutPromise=new Promise((_,reject)=>setTimeout(()=>reject(new Error(\"Request timeout after 30s\")),3e4));const fetchPromise=fetch(`${envConfig.apiBaseUrl}/panels`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload),credentials:\"include\",signal:controller.signal});const response=await Promise.race([fetchPromise,timeoutPromise]);if(!response.ok){throw new Error(`HTTP ${response.status}`);}const data=await response.json();let filteredPanels=data.panels||[];filteredPanels=filterBaselinesByAge(filteredPanels,trimmedQuery);filteredPanels=sortPanelsByTier(filteredPanels);setPanels(filteredPanels);if(debug){const mode=trimmedQuery?`search:${trimmedQuery}`:shouldUseFeatured?\"featured\":\"all\";console.log(`[PanelSearchModal] Loaded (${mode}) panels:`,filteredPanels.length);}}catch(err){if(err.name!==\"AbortError\"){setError(trimmedQuery?\"Failed to search panels\":\"Failed to load panels\");console.error(err);}}finally{setLoading(false);}},250);return()=>{controller.abort();clearTimeout(timeoutId);};},[searchQuery,isOpen,apiConfig,catalogMode,debug]);const handleAddToCart=useCallback(panelId=>{const isInCart=cartPanelSet.has(panelId);const newCart={...cart,panels:isInCart?cart.panels.filter(id=>id!==panelId):[...cart.panels,panelId]};setCart(newCart);localStorage.setItem(\"claritylabs_cart\",JSON.stringify(newCart));window.dispatchEvent(new CustomEvent(\"cartUpdated\",{detail:newCart}));if(debug){console.log(\"[PanelSearchModal] Cart updated:\",newCart);}},[cart,cartPanelSet,debug]);const handleTriggerClick=()=>{// Set flag to prevent immediate close on mobile (touch event race condition)\nwasJustOpened.current=true;setIsOpen(true);// Clear flag after a short delay\nsetTimeout(()=>{wasJustOpened.current=false;},150);};return /*#__PURE__*/_jsxs(_Fragment,{children:[variant===\"icon\"&&/*#__PURE__*/_jsx(\"button\",{onClick:handleTriggerClick,onMouseEnter:()=>setIsSearchBarHovered(true),onMouseLeave:()=>setIsSearchBarHovered(false),\"aria-label\":\"Search panels and tests\",style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",width:\"36px\",height:\"36px\",padding:0,border:\"none\",borderRadius:tokens.borderRadius.full,backgroundColor:isSearchBarHovered?tokens.colors.gray[100]:\"transparent\",color:isSearchBarHovered?tokens.colors.text.primary:tokens.colors.text.secondary,cursor:\"pointer\",transition:\"all 150ms ease\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M21 21l-4.35-4.35\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]})}),variant===\"searchBar\"&&/*#__PURE__*/_jsxs(\"div\",{onClick:handleTriggerClick,onMouseEnter:()=>setIsSearchBarHovered(true),onMouseLeave:()=>setIsSearchBarHovered(false),style:{width:\"100%\",height:\"44px\",minHeight:\"44px\",padding:`0 ${tokens.spacing[5]}px`,backgroundColor:tokens.colors.background.primary,border:`1px solid ${isSearchBarHovered?tokens.colors.border.medium:tokens.colors.border.light}`,borderRadius:tokens.borderRadius.full,cursor:\"pointer\",display:\"flex\",flexShrink:0,alignItems:\"center\",justifyContent:\"flex-start\",gap:`${tokens.spacing[3]}px`,transition:\"all 200ms ease\",boxSizing:\"border-box\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\",stroke:isSearchBarHovered?tokens.colors.gray[600]:tokens.colors.gray[400],strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M21 21l-4.35-4.35\",stroke:isSearchBarHovered?tokens.colors.gray[600]:tokens.colors.gray[400],strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,color:tokens.colors.gray[400],fontSize:\"15px\",fontFamily:tokens.typography.fontFamily.inter,fontWeight:tokens.typography.fontWeight.regular,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",textAlign:\"left\"},children:placeholderText})]}),mounted&&isOpen&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(0, 0, 0, 0.5)\",backdropFilter:\"blur(4px)\",zIndex:9999,display:\"flex\",alignItems:\"flex-start\",justifyContent:\"center\",// Responsive padding: smaller on mobile\npadding:isMobile?\"16px 12px 12px\":\"80px 20px 20px\",overflowY:\"auto\"},children:/*#__PURE__*/_jsxs(\"div\",{ref:modalRef,role:\"dialog\",\"aria-modal\":\"true\",style:{backgroundColor:tokens.colors.background.primary,borderRadius:tokens.borderRadius.lg,maxWidth:\"1200px\",width:\"100%\",boxShadow:\"0 20px 60px rgba(0, 0, 0, 0.3)\",maxHeight:isMobile?\"calc(100vh - 32px)\":\"calc(100vh - 100px)\",display:\"flex\",flexDirection:\"column\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:()=>setIsOpen(false),\"aria-label\":\"Close search\",style:{position:\"absolute\",top:`${tokens.spacing[4]}px`,right:`${tokens.spacing[4]}px`,background:\"none\",border:\"none\",cursor:\"pointer\",padding:`${tokens.spacing[2]}px`,borderRadius:tokens.borderRadius.sm,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:1,transition:\"background-color 150ms ease\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=tokens.colors.gray[100];},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"transparent\";},children:/*#__PURE__*/_jsx(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M18 6L6 18M6 6l12 12\",stroke:tokens.colors.gray[500],strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:`${tokens.spacing[6]}px`,paddingRight:`${tokens.spacing[8]+tokens.spacing[6]}px`,borderBottom:`1px solid ${tokens.colors.border.light}`},children:[/*#__PURE__*/_jsx(\"input\",{ref:searchInputRef,type:\"text\",value:searchQuery,onChange:e=>setSearchQuery(e.target.value),placeholder:placeholderText,style:{width:\"100%\",padding:`${tokens.spacing[3]}px ${tokens.spacing[4]}px`,border:`1px solid ${tokens.colors.border.light}`,borderRadius:tokens.borderRadius.md,fontSize:tokens.typography.fontSize.body,fontFamily:tokens.typography.fontFamily.inter,outline:\"none\",transition:\"border-color 200ms ease\"},onFocus:e=>{e.currentTarget.style.borderColor=tokens.colors.primary[500];},onBlur:e=>{e.currentTarget.style.borderColor=tokens.colors.border.light;}}),!searchQuery&&catalogMode===\"featured\"&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:`${tokens.spacing[3]}px`,display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:`${tokens.spacing[3]}px`},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:tokens.typography.fontSize.bodyS,fontFamily:tokens.typography.fontFamily.inter,color:tokens.colors.text.secondary},children:\"Showing featured panels. Need the full catalog?\"}),/*#__PURE__*/_jsx(\"button\",{onClick:()=>setCatalogMode(\"all\"),style:{border:\"none\",backgroundColor:tokens.colors.primary[500],color:tokens.colors.background.primary,borderRadius:tokens.borderRadius.full,padding:`${tokens.spacing[2]}px ${tokens.spacing[4]}px`,cursor:\"pointer\",fontSize:tokens.typography.fontSize.bodyS,fontFamily:tokens.typography.fontFamily.inter},children:\"Load all panels\"})]}),searchQuery&&/*#__PURE__*/_jsx(\"p\",{style:{marginTop:`${tokens.spacing[2]}px`,fontSize:tokens.typography.fontSize.bodyS,fontFamily:tokens.typography.fontFamily.inter,color:tokens.colors.text.secondary,margin:`${tokens.spacing[2]}px 0 0 0`},children:\"Searching panels, biomarkers, and tests...\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,overflowY:\"auto\",padding:`${tokens.spacing[6]}px`},children:[loading&&/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",padding:`${tokens.spacing[8]}px`,color:tokens.colors.text.secondary,fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.body},children:\"Loading panels...\"}),error&&/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",padding:`${tokens.spacing[8]}px`,color:tokens.colors.warning[500],fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.body},children:error}),!loading&&!error&&panels.length===0&&searchQuery&&/*#__PURE__*/_jsxs(\"div\",{style:{textAlign:\"center\",padding:`${tokens.spacing[8]}px`},children:[/*#__PURE__*/_jsxs(\"p\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.body,color:tokens.colors.text.secondary,margin:`0 0 ${tokens.spacing[2]}px 0`},children:['No panels found for \"',searchQuery,'\"']}),/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.bodyS,color:tokens.colors.text.tertiary,margin:0},children:'Try searching for biomarkers like \"cholesterol\", \"haemoglobin\", or \"thyroid\"'})]}),!loading&&!error&&panels.length===0&&!searchQuery&&/*#__PURE__*/_jsx(\"div\",{style:{textAlign:\"center\",padding:`${tokens.spacing[8]}px`,color:tokens.colors.text.secondary,fontFamily:tokens.typography.fontFamily.inter,fontSize:tokens.typography.fontSize.body},children:\"Start typing to search panels, biomarkers, or tests\"}),!loading&&!error&&panels.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",// Responsive grid: smaller minimum on mobile to prevent overflow\ngridTemplateColumns:`repeat(auto-fill, minmax(${isMobile?\"280px\":\"320px\"}, 1fr))`,gap:`${tokens.spacing[5]}px`},children:panels.map(panel=>/*#__PURE__*/_jsx(PanelCard,{panel:panel,isInCart:cartPanelSet.has(panel.panel_id),onAddToCart:()=>handleAddToCart(panel.panel_id),showPrice:showPrices,marketingBaseUrl:apiConfig.marketingBaseUrl},panel.panel_id))})]})]})}),document.body),mounted&&getEnvironmentConfig().isStaging&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{position:\"fixed\",bottom:16,right:16,background:tokens.colors.warning[500],color:\"white\",padding:\"6px 14px\",borderRadius:\"6px\",fontSize:\"13px\",fontWeight:tokens.typography.fontWeight.semibold,fontFamily:tokens.typography.fontFamily.inter,zIndex:9999,boxShadow:tokens.shadows.md},children:\"STAGING\"}),document.body)]});}addPropertyControls(PanelSearchModal,{variant:{type:ControlType.Enum,title:\"Trigger Style\",options:[\"icon\",\"searchBar\"],optionTitles:[\"Icon (compact)\",\"Search Bar (full-width)\"],defaultValue:\"icon\"},placeholderText:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Search panels and tests...\",hidden:props=>props.variant===\"icon\"},filterByTier:{type:ControlType.Enum,title:\"Filter by Tier\",options:[\"All\",\"Clarity\",\"Vitality\",\"Longevity\"],defaultValue:\"All\"},showPrices:{type:ControlType.Boolean,title:\"Show Prices\",defaultValue:true},debug:{type:ControlType.Boolean,title:\"Debug Mode\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PanelSearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PanelSearchModal.map"],"mappings":"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"}