{"version":3,"file":"FaqSearch.CtxU-RJm.mjs","names":["useState","useRef","useMemo","useCallback","_Fragment","startTransition"],"sources":["https:/framerusercontent.com/modules/Kt0bUsF4nqZ6pFWO87Ov/68Y2SnXHr4M4GIv5CXvx/FaqSearch.js"],"sourcesContent":["// User request: Fully rewrite `FaqSearch.tsx` as an improved Help Center search engine connected to CMS article JSON, with category badges, quick suggestions, better no-results state, min query length of 2, result count, requested navigation behavior, and specified Framer controls/annotations.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{startTransition,useCallback,useEffect,useMemo,useRef,useState}from\"react\";const defaultArticlesJSON=`[{\"title\":\"What is Erasmus Fun?\",\"answer\":\"Erasmus Fun is a travel community that organises group adventures, expeditions, and surf camps for Erasmus students, international students, and young travellers across Europe and beyond.\",\"slug\":\"what-is-erasmus-fun\",\"category\":\"Getting Started\"},{\"title\":\"Who can join an Erasmus Fun trip?\",\"answer\":\"Anyone between 18 and 35 is welcome. You don't need to be an Erasmus student — we welcome all international students, young professionals, and solo travellers looking for a social adventure.\",\"slug\":\"who-can-join-an-erasmus-fun-trip\",\"category\":\"Getting Started\"},{\"title\":\"Can I travel alone with Erasmus Fun?\",\"answer\":\"Absolutely. Most of our travellers join solo and leave with a group of friends. Solo travel with Erasmus Fun is one of the best ways to meet people from all over the world.\",\"slug\":\"can-i-travel-alone-with-erasmus-fun\",\"category\":\"Getting Started\"},{\"title\":\"What is the minimum age to join?\",\"answer\":\"You must be at least 18 years old to join any Erasmus Fun trip. No exceptions.\",\"slug\":\"what-is-the-minimum-age-to-join\",\"category\":\"Getting Started\"},{\"title\":\"Is there a maximum age limit?\",\"answer\":\"We don't enforce a strict maximum age, but our trips are designed for travellers aged 18 to 35. Most of our community falls in this range.\",\"slug\":\"is-there-a-maximum-age-limit\",\"category\":\"Getting Started\"},{\"title\":\"What languages are spoken on trips?\",\"answer\":\"All trips are conducted in English, which serves as the common language of our international community. Our team speaks multiple languages including Portuguese, Spanish, French, and Arabic.\",\"slug\":\"what-languages-are-spoken-on-trips\",\"category\":\"Getting Started\"},{\"title\":\"Why travel with Erasmus Fun instead of going alone?\",\"answer\":\"We handle all logistics, accommodation, and activities so you can focus on the experience. You'll join a ready-made group of international people, all there for the same reason — to explore, connect, and have fun.\",\"slug\":\"why-travel-with-erasmus-fun-instead-of-going-alone\",\"category\":\"Getting Started\"},{\"title\":\"How is Erasmus Fun different from other travel companies?\",\"answer\":\"Erasmus Fun is built on community, not just tourism. Every trip is designed to create genuine friendships. We're not a faceless agency — we're a travel community with a clear identity and a loyal group of alumni.\",\"slug\":\"how-is-erasmus-fun-different-from-other-travel-companies\",\"category\":\"Getting Started\"},{\"title\":\"Do I need to be an Erasmus student?\",\"answer\":\"No. While our name comes from the Erasmus programme, you don't need to be enrolled in it. We welcome all international students, expats, and young travellers.\",\"slug\":\"do-i-need-to-be-an-erasmus-student\",\"category\":\"Getting Started\"},{\"title\":\"What is the travel style on Erasmus Fun trips?\",\"answer\":\"Our trips are social, active, and adventurous. Expect a mix of guided activities, free time to explore, group meals, and evening social time with your fellow travellers.\",\"slug\":\"what-is-the-travel-style-on-erasmus-fun-trips\",\"category\":\"Getting Started\"},{\"title\":\"How does booking work?\",\"answer\":\"Select your trip on the website, choose your room type, and complete the booking form. You'll pay a deposit to secure your spot, with the remaining balance due before the trip.\",\"slug\":\"how-does-booking-work\",\"category\":\"Booking\"},{\"title\":\"How do I know my booking is confirmed?\",\"answer\":\"You'll receive a confirmation email within a few minutes of completing your booking. If you don't see it, check your spam folder or contact us.\",\"slug\":\"how-do-i-know-my-booking-is-confirmed\",\"category\":\"Booking\"},{\"title\":\"Can I book with a group of friends?\",\"answer\":\"Yes. You can book individually and let us know you're travelling together, or we can assign the same accommodation to your group. Contact us after booking to coordinate.\",\"slug\":\"can-i-book-with-a-group-of-friends\",\"category\":\"Booking\"},{\"title\":\"What happens if a trip is sold out?\",\"answer\":\"If your preferred trip is full, you can join the waitlist. If a spot becomes available, we'll contact you in order of the waitlist. We also run additional dates for our most popular trips.\",\"slug\":\"what-happens-if-a-trip-is-sold-out\",\"category\":\"Booking\"},{\"title\":\"What is the minimum number of participants for a trip to run?\",\"answer\":\"Most trips require a minimum of 10 confirmed participants. If we don't reach the minimum, we'll offer you a full refund or the option to transfer to another date.\",\"slug\":\"what-is-the-minimum-number-of-participants-for-a-trip-to-run\",\"category\":\"Booking\"},{\"title\":\"Can I change my trip date after booking?\",\"answer\":\"Date changes are subject to availability and may incur an admin fee. Contact us as early as possible if you need to change your travel date.\",\"slug\":\"can-i-change-my-trip-date-after-booking\",\"category\":\"Booking\"},{\"title\":\"What payment methods do you accept?\",\"answer\":\"We accept all major credit and debit cards (Visa, Mastercard, American Express), MB Way, bank transfer, and payments via our secure online checkout.\",\"slug\":\"what-payment-methods-do-you-accept\",\"category\":\"Payments\"},{\"title\":\"How much is the deposit?\",\"answer\":\"Deposits typically range from €50 to €100 depending on the trip. The deposit secures your place and is deducted from your total balance.\",\"slug\":\"how-much-is-the-deposit\",\"category\":\"Payments\"},{\"title\":\"When is the remaining balance due?\",\"answer\":\"The remaining balance is usually due 30 days before departure. You'll receive an automatic reminder by email. If you book within 30 days of departure, full payment is required at the time of booking.\",\"slug\":\"when-is-the-remaining-balance-due\",\"category\":\"Payments\"},{\"title\":\"Are there student discounts?\",\"answer\":\"Yes. We offer discounts for ESN cardholders and students from partner universities. Check the trip page or contact us to verify your discount.\",\"slug\":\"are-there-student-discounts\",\"category\":\"Payments\"},{\"title\":\"Can I use a promo code?\",\"answer\":\"Yes. Enter your promo code at checkout to apply the discount. Promo codes cannot be combined with other offers and have expiry dates.\",\"slug\":\"can-i-use-a-promo-code\",\"category\":\"Payments\"},{\"title\":\"What is your refund policy?\",\"answer\":\"Deposits are non-refundable. If you cancel more than 30 days before departure, you'll receive a refund of the balance paid minus the deposit. Cancellations within 30 days are non-refundable.\",\"slug\":\"what-is-your-refund-policy\",\"category\":\"Payments\"},{\"title\":\"What happens if my payment fails?\",\"answer\":\"If a payment fails, your booking will not be confirmed. Try a different card or payment method, or contact your bank. If the issue persists, reach out to our team.\",\"slug\":\"what-happens-if-my-payment-fails\",\"category\":\"Payments\"},{\"title\":\"Are flights included in the trip price?\",\"answer\":\"No. Flights are not included. You will need to book your own flights to the departure city or airport. We'll provide all the information you need for arrival and departure times.\",\"slug\":\"are-flights-included-in-the-trip-price\",\"category\":\"Flights & Transport\"},{\"title\":\"When should I book my flights?\",\"answer\":\"Book your flights only after your trip is fully confirmed (deposit paid and trip reached minimum participants). We recommend booking as early as possible for the best prices.\",\"slug\":\"when-should-i-book-my-flights\",\"category\":\"Flights & Transport\"},{\"title\":\"How do airport transfers work?\",\"answer\":\"For most trips, we organise a group transfer from the airport or a designated meeting point. Details of the meeting point and transfer time will be shared in your Info Pack.\",\"slug\":\"how-do-airport-transfers-work\",\"category\":\"Flights & Transport\"},{\"title\":\"What if my flight is delayed?\",\"answer\":\"Contact your travel coordinator immediately if you're delayed. We'll do our best to accommodate you, but we cannot guarantee holding the group for late arrivals that miss the scheduled transfer.\",\"slug\":\"what-if-my-flight-is-delayed\",\"category\":\"Flights & Transport\"},{\"title\":\"Where is the meeting point?\",\"answer\":\"Meeting point details vary by trip and are included in your Info Pack, sent 1–2 weeks before departure. For most trips, we meet at the main airport or a central city location.\",\"slug\":\"where-is-the-meeting-point\",\"category\":\"Flights & Transport\"},{\"title\":\"Do I need a visa?\",\"answer\":\"Visa requirements depend on your nationality and destination. EU/EEA passport holders generally don't need a visa for our European trips or Morocco. Always check the requirements for your specific passport.\",\"slug\":\"do-i-need-a-visa\",\"category\":\"Before Departure\"},{\"title\":\"Do I need travel insurance?\",\"answer\":\"Travel insurance is strongly recommended and required for some trips. It should cover medical expenses, trip cancellation, and personal belongings. We can suggest reputable providers.\",\"slug\":\"do-i-need-travel-insurance\",\"category\":\"Before Departure\"},{\"title\":\"What documents should I bring?\",\"answer\":\"Bring a valid passport (required for all international trips), your booking confirmation, travel insurance documents, any required visas, and emergency contact information.\",\"slug\":\"what-documents-should-i-bring\",\"category\":\"Before Departure\"},{\"title\":\"When will I receive the Info Pack?\",\"answer\":\"Your Info Pack is sent by email 1–2 weeks before departure. It includes meeting point details, accommodation information, packing tips, what to expect, and emergency contacts.\",\"slug\":\"when-will-i-receive-the-info-pack\",\"category\":\"Before Departure\"},{\"title\":\"Will I be added to a WhatsApp group?\",\"answer\":\"Yes. All confirmed travellers are added to a trip WhatsApp group 1–2 weeks before departure. This is where your coordinator shares updates and where you can get to know your group.\",\"slug\":\"will-i-be-added-to-a-whatsapp-group\",\"category\":\"Before Departure\"},{\"title\":\"What currency should I bring?\",\"answer\":\"This depends on your destination. For Morocco, bring Moroccan Dirhams (MAD) — you can exchange at the airport or in local banks. For Azores and Madeira, the currency is the Euro (€).\",\"slug\":\"what-currency-should-i-bring\",\"category\":\"Before Departure\"},{\"title\":\"What type of accommodation do you use?\",\"answer\":\"Depending on the trip, we use hotels, surf houses, boutique riads, eco-lodges, and desert camps. All accommodation is selected for comfort, social atmosphere, and prime location.\",\"slug\":\"what-type-of-accommodation-do-you-use\",\"category\":\"Accommodation\"},{\"title\":\"Are rooms shared or private?\",\"answer\":\"Most of our standard packages include shared twin or double rooms. Private room upgrades are available on most trips for an extra cost, subject to availability.\",\"slug\":\"are-rooms-shared-or-private\",\"category\":\"Accommodation\"},{\"title\":\"How are rooms allocated?\",\"answer\":\"For solo travellers, we match you with a same-gender roommate unless you've requested a private room. Friends can be placed together on request.\",\"slug\":\"how-are-rooms-allocated\",\"category\":\"Accommodation\"},{\"title\":\"Is Wi-Fi available at accommodation?\",\"answer\":\"Most of our accommodations offer Wi-Fi in common areas. Connection quality varies by location — desert camps and remote areas may have limited or no connectivity.\",\"slug\":\"is-wi-fi-available-at-accommodation\",\"category\":\"Accommodation\"},{\"title\":\"Are towels and bedding provided?\",\"answer\":\"Yes. All our accommodations provide towels and bedding. For surf camps and desert camps, beach towels are sometimes not included — we'll let you know in your packing list.\",\"slug\":\"are-towels-and-bedding-provided\",\"category\":\"Accommodation\"},{\"title\":\"What does a typical day look like?\",\"answer\":\"Days vary by trip and destination, but typically include a morning activity, free time in the afternoon, and a group dinner or social activity in the evening. Your coordinator keeps things moving without being rigid.\",\"slug\":\"what-does-a-typical-day-look-like\",\"category\":\"During the Trip\"},{\"title\":\"Are meals included?\",\"answer\":\"Breakfast is usually included. Some trips include dinner. Lunch is generally at your own expense. Specific meal inclusions are listed on each trip page.\",\"slug\":\"are-meals-included\",\"category\":\"During the Trip\"},{\"title\":\"Can vegetarians and vegans be accommodated?\",\"answer\":\"Yes. Let us know your dietary requirements when booking or in the trip WhatsApp group. Our coordinators will communicate with the accommodation and restaurant teams.\",\"slug\":\"can-vegetarians-and-vegans-be-accommodated\",\"category\":\"During the Trip\"},{\"title\":\"Is alcohol available on trips?\",\"answer\":\"Yes, for trips in Europe and the Azores. For our Morocco trips, please note that Morocco is a predominantly Muslim country — alcohol is available in some hotels and tourist venues but not publicly.\",\"slug\":\"is-alcohol-available-on-trips\",\"category\":\"During the Trip\"},{\"title\":\"Who leads the trip?\",\"answer\":\"Every Erasmus Fun trip is led by a Travel Coordinator — an experienced, multilingual host who manages logistics, introduces the group, and makes sure everyone feels welcome from day one.\",\"slug\":\"who-leads-the-trip\",\"category\":\"During the Trip\"},{\"title\":\"Is Erasmus Fun safe?\",\"answer\":\"Yes. Safety is our top priority. All our trips are carefully planned, our coordinators are trained, and we work only with trusted local partners. We've run hundreds of trips with thousands of happy travellers.\",\"slug\":\"is-erasmus-fun-safe\",\"category\":\"Safety & Insurance\"},{\"title\":\"Is Morocco safe for travellers?\",\"answer\":\"Morocco is a popular tourist destination visited by millions each year. Our Moroccan trips follow established, well-tested routes. Your coordinator will provide local guidance throughout.\",\"slug\":\"is-morocco-safe-for-travellers\",\"category\":\"Safety & Insurance\"},{\"title\":\"Is it safe for women travelling alone?\",\"answer\":\"Yes. Many of our solo travellers are women, and we take this seriously. Our coordinators are trained to create a safe, inclusive environment. For Morocco, we share specific cultural guidance in advance.\",\"slug\":\"is-it-safe-for-women-travelling-alone\",\"category\":\"Safety & Insurance\"},{\"title\":\"What should I do in a medical emergency?\",\"answer\":\"Contact your travel coordinator immediately. They will assist you in reaching local medical services. We strongly recommend travel insurance that covers medical evacuation.\",\"slug\":\"what-should-i-do-in-a-medical-emergency\",\"category\":\"Safety & Insurance\"},{\"title\":\"What if I lose my passport?\",\"answer\":\"Contact your coordinator and your country's consulate or embassy immediately. Keep a digital copy of your passport in your email or cloud storage before travelling.\",\"slug\":\"what-if-i-lose-my-passport\",\"category\":\"Safety & Insurance\"},{\"title\":\"How do I join the Erasmus Fun community?\",\"answer\":\"You automatically become part of the Erasmus Fun community when you join a trip. You'll be added to our WhatsApp group and community network, and can join future trips with alumni discounts.\",\"slug\":\"how-do-i-join-the-erasmus-fun-community\",\"category\":\"Community\"},{\"title\":\"Is there an alumni community?\",\"answer\":\"Yes. Past travellers are part of our alumni network and get early access to new trips, exclusive discounts, and invitations to community events.\",\"slug\":\"is-there-an-alumni-community\",\"category\":\"Community\"},{\"title\":\"Can I meet other travellers before the trip?\",\"answer\":\"Yes. Once you're confirmed, you'll be added to the trip WhatsApp group where you can introduce yourself and connect with your fellow travellers before departure.\",\"slug\":\"can-i-meet-other-travellers-before-the-trip\",\"category\":\"Community\"},{\"title\":\"What is the cancellation policy?\",\"answer\":\"Deposits are non-refundable. Cancellations more than 30 days before departure receive a refund of the remaining balance. Cancellations within 30 days are non-refundable.\",\"slug\":\"what-is-the-cancellation-policy\",\"category\":\"Policies\"},{\"title\":\"What is the code of conduct?\",\"answer\":\"All travellers are expected to be respectful of fellow travellers, local cultures, and team members. Harassment, discrimination, or disruptive behaviour may result in removal from the trip without refund.\",\"slug\":\"what-is-the-code-of-conduct\",\"category\":\"Policies\"},{\"title\":\"What happens if Erasmus Fun cancels the trip?\",\"answer\":\"If we cancel a trip, you will receive a full refund, including your deposit. We'll notify you as early as possible and help you find an alternative date if desired.\",\"slug\":\"what-happens-if-erasmus-fun-cancels-the-trip\",\"category\":\"Policies\"},{\"title\":\"How can I contact Erasmus Fun?\",\"answer\":\"You can reach us via email at booking@erasmus.fun, via WhatsApp at +351 932 584 111, or through the contact form on our website. We typically respond within 24 hours.\",\"slug\":\"how-can-i-contact-erasmus-fun\",\"category\":\"Contact\"},{\"title\":\"What are your response times?\",\"answer\":\"We aim to respond to all enquiries within 24 hours on weekdays. During peak booking seasons, response times may be slightly longer.\",\"slug\":\"what-are-your-response-times\",\"category\":\"Contact\"},{\"title\":\"Is there emergency support during trips?\",\"answer\":\"Yes. Your travel coordinator is available 24/7 during the trip. Emergency contact numbers are also included in your Info Pack.\",\"slug\":\"is-there-emergency-support-during-trips\",\"category\":\"Contact\"},{\"title\":\"What is the Sahara Expedition?\",\"answer\":\"The Sahara Expedition is Erasmus Fun's flagship trip — a 4-day adventure through the Moroccan desert including camel rides, sandboarding, quad bikes, and a night sleeping under the stars in a desert camp.\",\"slug\":\"what-is-the-sahara-expedition\",\"category\":\"Sahara Expedition\"},{\"title\":\"What is included in the Sahara Expedition?\",\"answer\":\"Included: airport transfer from Agadir, accommodation in Tamraght, desert camp night, camel ride, quad bikes, sandboarding, all breakfasts, and a travel coordinator throughout.\",\"slug\":\"what-is-included-in-the-sahara-expedition\",\"category\":\"Sahara Expedition\"},{\"title\":\"Where does the Sahara Expedition depart from?\",\"answer\":\"The trip starts in Tamraght, a surf village near Agadir. Fly into Agadir Al Massira Airport (AGA) and we'll arrange the group transfer to the accommodation.\",\"slug\":\"where-does-the-sahara-expedition-depart-from\",\"category\":\"Sahara Expedition\"},{\"title\":\"What is the desert camp like?\",\"answer\":\"The desert camp is a traditional Berber camp in the Sahara dunes. You'll sleep in a furnished tent under a sky full of stars. It's one of the most magical experiences on the trip.\",\"slug\":\"what-is-the-desert-camp-like\",\"category\":\"Sahara Expedition\"},{\"title\":\"What should I pack for Morocco?\",\"answer\":\"Pack light, breathable clothing for warm days, a warm layer for cold desert nights, sunscreen, a hat, comfortable walking shoes or sandals, a swimsuit, and personal toiletries.\",\"slug\":\"what-should-i-pack-for-morocco\",\"category\":\"Sahara Expedition\"},{\"title\":\"Do I need a visa for Morocco?\",\"answer\":\"EU, UK, US, Canadian, and Australian passport holders do not need a visa for Morocco for stays up to 90 days. Always verify requirements for your specific nationality.\",\"slug\":\"do-i-need-a-visa-for-morocco\",\"category\":\"Sahara Expedition\"},{\"title\":\"What is the weather like in Morocco?\",\"answer\":\"Morocco has a varied climate. Coastal areas like Agadir are warm year-round (20–30\\xb0C). The desert can be very hot during the day and cold at night. Check your specific travel month.\",\"slug\":\"what-is-the-weather-like-in-morocco\",\"category\":\"Sahara Expedition\"},{\"title\":\"What currency is used in Morocco?\",\"answer\":\"The Moroccan Dirham (MAD). You can exchange currency at Agadir airport or in banks in town. Most tourist restaurants and activity providers accept card payments.\",\"slug\":\"what-currency-is-used-in-morocco\",\"category\":\"Sahara Expedition\"},{\"title\":\"What is the Azores Expedition?\",\"answer\":\"The Azores Expedition is a volcanic island adventure in the middle of the Atlantic. Expect stunning lagoons, hot springs, crater hikes, whale watching, and some of Europe's most dramatic natural scenery.\",\"slug\":\"what-is-the-azores-expedition\",\"category\":\"Azores Expedition\"},{\"title\":\"What is included in the Azores Expedition?\",\"answer\":\"Included: accommodation, guided hikes, hot springs visit, group activities, breakfasts, and a travel coordinator. Flights and some optional activities are not included.\",\"slug\":\"what-is-included-in-the-azores-expedition\",\"category\":\"Azores Expedition\"},{\"title\":\"Do I need to be fit to do the Azores trips?\",\"answer\":\"Light to moderate fitness is recommended. Some hikes involve uneven terrain and elevation. Most activities are accessible, and your coordinator will advise on difficulty levels.\",\"slug\":\"do-i-need-to-be-fit-to-do-the-azores-trips\",\"category\":\"Azores Expedition\"},{\"title\":\"What is the weather like in the Azores?\",\"answer\":\"The Azores have a mild, oceanic climate. Expect 18–25\\xb0C in summer with occasional rain even in fine weather. Pack a light rain jacket alongside your summer clothes.\",\"slug\":\"what-is-the-weather-like-in-the-azores\",\"category\":\"Azores Expedition\"},{\"title\":\"What is the Madeira Expedition?\",\"answer\":\"The Madeira Expedition takes you through one of the most beautiful islands in Portugal — levada walks, mountain sunrises, natural lava pools, and lush volcanic landscape.\",\"slug\":\"what-is-the-madeira-expedition\",\"category\":\"Madeira Expedition\"},{\"title\":\"What are levadas?\",\"answer\":\"Levadas are Madeira's unique irrigation channels that double as walking trails. They wind through mountains, forests, and coastal cliffs — offering some of the most beautiful hikes in Europe.\",\"slug\":\"what-are-levadas\",\"category\":\"Madeira Expedition\"},{\"title\":\"What is included in the Madeira Expedition?\",\"answer\":\"Included: accommodation, guided levada walks, sunrise hike to Pico do Arieiro, natural pool visits, breakfasts, and a travel coordinator. Flights and optional activities not included.\",\"slug\":\"what-is-included-in-the-madeira-expedition\",\"category\":\"Madeira Expedition\"},{\"title\":\"What is Surf Camp Portugal?\",\"answer\":\"Surf Camp Portugal is a week-long surf and social experience on the Portuguese coast. Daily surf lessons, beach activities, group dinners, and a vibrant international atmosphere.\",\"slug\":\"what-is-surf-camp-portugal\",\"category\":\"Surf Camp Portugal\"},{\"title\":\"Do I need surfing experience to join?\",\"answer\":\"No. Surf Camp is designed for all levels, from complete beginners to intermediate surfers. Our certified instructors adapt the lessons to your level.\",\"slug\":\"do-i-need-surfing-experience-to-join\",\"category\":\"Surf Camp Portugal\"},{\"title\":\"What is included in Surf Camp Portugal?\",\"answer\":\"Included: accommodation in a surf house, daily surf lessons, surfboard and wetsuit rental, breakfasts, group dinners, beach activities, and a travel coordinator.\",\"slug\":\"what-is-included-in-surf-camp-portugal\",\"category\":\"Surf Camp Portugal\"},{\"title\":\"What is Surf Camp Morocco?\",\"answer\":\"Surf Camp Morocco combines surf lessons on Morocco's stunning Atlantic coast with cultural immersion — souks, tagines, coastal hikes, and the warmth of Moroccan hospitality.\",\"slug\":\"what-is-surf-camp-morocco\",\"category\":\"Surf Camp Morocco\"},{\"title\":\"What is included in Surf Camp Morocco?\",\"answer\":\"Included: accommodation, daily surf lessons, surfboard and wetsuit, airport transfer from Agadir, breakfasts, dinners, cultural activities, and a travel coordinator.\",\"slug\":\"what-is-included-in-surf-camp-morocco\",\"category\":\"Surf Camp Morocco\"},{\"title\":\"Where is Surf Camp Morocco located?\",\"answer\":\"Surf Camp Morocco is based in Tamraght, a charming surf village 20km north of Agadir on Morocco's Atlantic coast. It's one of Africa's best surf spots for beginners and intermediates.\",\"slug\":\"where-is-surf-camp-morocco-located\",\"category\":\"Surf Camp Morocco\"},{\"title\":\"What surf level is Surf Camp Morocco for?\",\"answer\":\"All levels are welcome. Our instructors teach in small groups tailored to each level — from first-timers to intermediate surfers looking to improve their technique.\",\"slug\":\"what-surf-level-is-surf-camp-morocco-for\",\"category\":\"Surf Camp Morocco\"}]`;const quickSuggestions=[\"How to book\",\"Cancellation policy\",\"Travel insurance\",\"Flights included\"];/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function FaqSearch(props){const{articles=defaultArticlesJSON,placeholder=\"Search questions, topics, destinations…\",filterCategory=\"\"}=props;const[query,setQuery]=useState(\"\");const[focused,setFocused]=useState(false);const[hoveredIndex,setHoveredIndex]=useState(null);const inputRef=useRef(null);const blurTimeoutRef=useRef(null);const parsedArticles=useMemo(()=>{try{const data=JSON.parse(articles);if(!Array.isArray(data))return[];return data.filter(item=>item&&typeof item.title===\"string\"&&typeof item.answer===\"string\"&&typeof item.slug===\"string\"&&typeof item.category===\"string\");}catch(_error){return[];}},[articles]);const trimmedQuery=query.trim();const baseArticles=useMemo(()=>{const cat=filterCategory.trim();if(!cat)return parsedArticles;return parsedArticles.filter(a=>a.category===cat);},[parsedArticles,filterCategory]);const filteredResults=useMemo(()=>{if(trimmedQuery.length<2)return[];const q=trimmedQuery.toLowerCase();return baseArticles.filter(article=>article.title.toLowerCase().includes(q)||article.answer.toLowerCase().includes(q)||article.category.toLowerCase().includes(q)).slice(0,8);},[baseArticles,trimmedQuery]);const showSuggestions=focused&&trimmedQuery.length===0;const showResultsPanel=focused&&trimmedQuery.length>=2;const clearBlurTimeout=useCallback(()=>{if(blurTimeoutRef.current!==null){if(typeof window!==\"undefined\"){window.clearTimeout(blurTimeoutRef.current);}blurTimeoutRef.current=null;}},[]);useEffect(()=>{return()=>{clearBlurTimeout();};},[clearBlurTimeout]);const handleChange=useCallback(event=>{const value=event.target.value;startTransition(()=>setQuery(value));},[]);const handleFocus=useCallback(()=>{clearBlurTimeout();startTransition(()=>setFocused(true));},[clearBlurTimeout]);const handleBlur=useCallback(()=>{clearBlurTimeout();if(typeof window!==\"undefined\"){blurTimeoutRef.current=window.setTimeout(()=>{startTransition(()=>setFocused(false));},200);}else{startTransition(()=>setFocused(false));}},[clearBlurTimeout]);const handleClear=useCallback(()=>{clearBlurTimeout();startTransition(()=>{setQuery(\"\");setFocused(true);});if(inputRef.current){inputRef.current.focus();}},[clearBlurTimeout]);const handleSuggestionClick=useCallback(text=>{startTransition(()=>setQuery(text));if(inputRef.current)inputRef.current.focus();},[]);return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"auto\",background:\"transparent\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:16,top:\"50%\",transform:\"translateY(-50%)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"7\",cy:\"7\",r:\"4.5\",stroke:\"rgb(150,150,150)\",strokeWidth:\"1.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10.5 10.5L14 14\",stroke:\"rgb(150,150,150)\",strokeWidth:\"1.5\",strokeLinecap:\"round\"})]})}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"text\",value:query,placeholder:placeholder,onChange:handleChange,onFocus:handleFocus,onBlur:handleBlur,\"aria-label\":\"Search help center articles\",style:{width:\"100%\",height:52,border:focused?\"1.5px solid rgb(18,18,18)\":\"1px solid rgba(18,18,18,0.12)\",borderRadius:12,outline:\"none\",fontSize:15,fontFamily:\"inherit\",paddingLeft:48,paddingRight:query.length>0?40:16,background:\"#FFFFFF\",transition:\"border 0.16s ease\",boxSizing:\"border-box\"}}),query.length>0&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",onMouseDown:event=>event.preventDefault(),onClick:handleClear,\"aria-label\":\"Clear search\",style:{position:\"absolute\",right:16,top:\"50%\",transform:\"translateY(-50%)\",border:\"none\",background:\"transparent\",color:\"rgb(140,140,140)\",fontSize:16,lineHeight:1,padding:0,cursor:\"pointer\"},children:\"\\xd7\"})]}),(showSuggestions||showResultsPanel)&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"calc(100% + 8px)\",left:0,width:\"100%\",background:\"#FFFFFF\",border:\"1px solid rgba(18,18,18,0.08)\",borderRadius:14,boxShadow:\"0 8px 32px rgba(0,0,0,0.09)\",zIndex:100,overflow:\"hidden\"},children:showSuggestions?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"14px 16px 16px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"rgb(140,140,140)\",marginBottom:10},children:\"Popular topics\"}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8},children:quickSuggestions.map(text=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",onMouseDown:event=>event.preventDefault(),onClick:()=>handleSuggestionClick(text),style:{padding:\"6px 12px\",borderRadius:100,border:\"1px solid rgba(18,18,18,0.1)\",fontSize:12,fontWeight:500,background:\"white\",color:\"rgb(40,40,40)\",cursor:\"pointer\"},children:text},text))})]}):filteredResults.length===0?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"20px 16px\",textAlign:\"center\",color:\"rgb(120,120,120)\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:14,fontWeight:600,color:\"rgb(55,55,55)\"},children:[\"No results for “\",trimmedQuery,\"”\"]}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:12,marginTop:6},children:[\"Try another keyword or\",\" \",/*#__PURE__*/_jsx(\"a\",{href:\"/contact\",style:{color:\"rgb(18,18,18)\",textDecoration:\"underline\"},children:\"contact our team\"}),\".\"]}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:14,paddingTop:8,borderTop:\"1px solid rgba(18,18,18,0.06)\",fontSize:11,color:\"rgb(160,160,160)\"},children:\"0 results\"})]}):/*#__PURE__*/_jsxs(_Fragment,{children:[filteredResults.map((article,index)=>/*#__PURE__*/_jsxs(\"a\",{href:`/fqa/${article.slug}`,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.preventDefault();if(typeof window!==\"undefined\"){window.location.href=`/fqa/${article.slug}`;}},onMouseEnter:()=>startTransition(()=>setHoveredIndex(index)),onMouseLeave:()=>startTransition(()=>setHoveredIndex(null)),style:{display:\"flex\",alignItems:\"flex-start\",gap:12,padding:\"14px 16px\",borderBottom:index===filteredResults.length-1?\"none\":\"1px solid rgba(18,18,18,0.06)\",background:hoveredIndex===index?\"rgba(18,18,18,0.03)\":\"transparent\",cursor:\"pointer\",textDecoration:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:28,height:28,borderRadius:\"50%\",background:\"rgba(18,18,18,0.05)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"12\",height:\"12\",viewBox:\"0 0 16 16\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"7\",cy:\"7\",r:\"4.5\",stroke:\"rgb(100,100,100)\",strokeWidth:\"1.5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10.5 10.5L14 14\",stroke:\"rgb(100,100,100)\",strokeWidth:\"1.5\",strokeLinecap:\"round\"})]})}),/*#__PURE__*/_jsxs(\"div\",{style:{flex:1,minWidth:0},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginBottom:2},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,fontWeight:600,color:\"rgb(18,18,18)\",lineHeight:1.3},children:article.title}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:11,fontWeight:600,padding:\"2px 8px\",borderRadius:100,background:\"rgba(18,18,18,0.06)\",color:\"rgb(100,100,100)\",whiteSpace:\"nowrap\"},children:article.category})]}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"rgb(120,120,120)\",lineHeight:1.5,display:\"-webkit-box\",WebkitBoxOrient:\"vertical\",WebkitLineClamp:2,overflow:\"hidden\"},children:article.answer})]}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{marginTop:2,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M5 3L9 7L5 11\",stroke:\"rgb(200,200,200)\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]},`${article.slug}-${index}`)),/*#__PURE__*/_jsx(\"div\",{style:{padding:\"8px 16px\",fontSize:11,color:\"rgb(160,160,160)\",borderTop:\"1px solid rgba(18,18,18,0.06)\"},children:`${filteredResults.length} result${filteredResults.length!==1?\"s\":\"\"} for \\xab${trimmedQuery}\\xbb`})]})})]});}addPropertyControls(FaqSearch,{articles:{type:ControlType.String,title:\"Articles JSON (from CMS)\",displayTextArea:true,defaultValue:defaultArticlesJSON},placeholder:{type:ControlType.String,defaultValue:\"Search questions, topics, destinations…\"},filterCategory:{type:ControlType.String,title:\"Filter by Category\",defaultValue:\"\",description:\"Leave empty to search all articles. Bind to CMS category name variable to filter by current category.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FaqSearch\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FaqSearch.map"],"mappings":"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"}