1import{_ as Wn}from"./BGcuhesN.js";import{_ as jn}from"./BFYsaJ7N.js";import{_ as Gn}from"./jsPaQ_Nk.js";import{k as Xe,e as Tt,S as qn,i as Vn,T as Yn,j as Xn,_ as Kn,d as Qn,n as Zn}from"./BHw1e3Z5.js";import{l as me,m as Q,Q as ge,u as r,Y as q,B as Ke,M as d,X as N,R as F,d as B,A as Ze,J as _,N as t,O as T,H as oe,$ as ae,ab as wt,q as Jn,P as pe,ac as es,ad as ts,ae as ns,af as ss,U as Qe,Z as os,a9 as as,w as is,ag as rs,aa as ls,V as on,W as an,c as rn}from"./NzCnRFWS.js";import{m as cs}from"./JKvyS0Pp.js";import{_ as ds}from"./CIyx1CTx.js";import{u as us,a as en}from"./BIAPvRGb.js";import{_ as ps}from"./DG-h44ws.js";const ms=me({__name:"ShareButton",props:{title:{},text:{},url:{}},setup(O){const m=O,b=Q(()=>typeof navigator<"u"&&!!navigator.share),D=async()=>{try{b.value&&await navigator.share({title:m.title,text:m.text,url:m.url||window.location.href})}catch(f){console.error("Share failed:",f)}},h=()=>{const f=m.url||(typeof window<"u"?window.location.href:""),g=encodeURIComponent(m.title),n=encodeURIComponent(`${m.text} 2 3${f}`);window.open(`mailto:?subject=${g}&body=${n}`)};return(f,g)=>{const n=Ke("Icon"),y=Ke("Button");return r(b)?(d(),ge(y,{key:0,variant:"outline",class:"gap-2",onClick:D},{default:q(()=>[N(n,{name:"heroicons:share",class:"w-4 h-4"}),g[0]||(g[0]=F(" Share "))]),_:1})):(d(),ge(y,{key:1,variant:"outline",class:"gap-2",onClick:h},{default:q(()=>[N(n,{name:"heroicons:envelope",class:"w-4 h-4"}),g[1]||(g[1]=F(" Share via Email "))]),_:1}))}}});function ln(O){const m=cs(O);return typeof m=="string"?m:""}const fs=me({__name:"PrintVersion",props:{itinerary:{}},setup(O){const m=O,b=Q(()=>({...m.itinerary,parsedItinerary:ln(m.itinerary.itinerary)})),D=()=>{const h=window.open("","_blank");if(!h)return;const f=` 4 <!DOCTYPE html> 5 <html> 6 <head> 7 <title>${b.value.name} Itinerary</title> 8 <style> 9 body { 10 font-family: Arial, sans-serif; 11 line-height: 1.6; 12 max-width: 800px; 13 margin: 0 auto; 14 padding: 20px; 15 } 16 h1 { font-size: 24px; margin-bottom: 20px; } 17 h2 { font-size: 20px; margin-top: 30px; } 18 p { margin-bottom: 15px; } 19 .section { margin-bottom: 30px; } 20 @media print { 21 body { max-width: 100%; } 22 .no-print { display: none; } 23 a { text-decoration: none; color: black; } 24 } 25 </style> 26 </head> 27 <body> 28 <div class="no-print" style="margin-bottom: 20px;"> 29 <button onclick="window.print()">Print Itinerary</button> 30 </div> 31 32 <h1>${b.value.name} 7-day Itinerary</h1> 33 34 <div class="section"> 35 <h2>Introduction</h2> 36 <p>${b.value.intro}</p> 37 </div> 38 39 <div class="section"> 40 <h2>Getting There</h2> 41 <p>${b.value.getting}</p> 42 </div> 43 44 <div class="section"> 45 <h2>Hotels</h2> 46 <p>${b.value.hotels}</p> 47 </div> 48 49 <div class="section"> 50 <h2>Daily Itinerary</h2> 51 ${b.value.parsedItinerary} 52 </div> 53 54 <div class="section no-print"> 55 <p><small>Generated from Travel Bot AI - ${new Date().toLocaleDateString()}</small></p> 56 </div> 57 </body> 58 </html> 59 `;h.document.write(f),h.document.close()};return(h,f)=>{const g=Ke("Icon"),n=Ke("Button");return d(),ge(n,{variant:"outline",class:"gap-2",onClick:D},{default:q(()=>[N(g,{name:"heroicons:document",class:"w-4 h-4"}),f[0]||(f[0]=F(" Print / Save PDF "))]),_:1})}}}),hs={class:"container block"},gs={class:"section"},_s={id:"images",class:"text-xl"},ys={key:0},vs={key:1},bs={key:2,id:"sirv-gallery",ref:"gallery",class:"Sirv","data-options":"thumbnails.type:auto;autostart:visible;","data-info":"false"},ws=["data-src","data-caption","data-alt"],Ts={key:3},xs=me({__name:"Gallery",props:{place:{type:String,default:""},placeId:{type:String,default:""}},setup(O){const m=O,b=B([]),D=B(!1),h=B(null);function f(y){if(!y)return!1;try{const x=new URL(y);return x.protocol==="http:"||x.protocol==="https:"}catch{return!1}}function g(y,x=256){if(!f(y))return null;if(y.includes("flickr")||y.includes("r2.dev"))return`https://img.viddl.me/smartcrop?type=auto&url=${encodeURIComponent(y)}&width=800&height=800`;const S=y.split("/"),P=S.pop(),ee=S.pop(),C=S.pop();if(!P||!ee||!C)return y;const L=P.split("?")[0];return`https://cdn.earthroulette.com/wikipedia/commons/thumb/${C}/${ee}/${L}/${x}px-${L}`}const n=async()=>{D.value=!0,h.value=null;try{const y=await fetch(`https://api2.earthroulette.com/place/${m.placeId}`);if(!y.ok)throw new Error("Failed to fetch media");const x=await y.json();b.value=(x.images||[]).map(S=>{const P=g(S.source_url,1e3);return P?{url:P,title:S.title||m.place||"Destination image"}:null}).filter(S=>S!==null)}catch(y){h.value=y instanceof Error?y.message:"An error occurred"}finally{D.value=!1}};return Xe({script:[{src:"https://scripts.sirv.com/sirvjs/v3/sirv.js?modules=gallery",async:!0,defer:!0}]}),Ze(()=>{if(n(),typeof window<"u"){const y=()=>{const x=window;return x.Sirv?(x.Sirv.options={...x.Sirv.options,info:{enabled:!1}},!0):!1};if(!y()){const x=[200,500,1e3,2e3];let S=0;const P=()=>{S<x.length&&!y()&&setTimeout(P,x[S++])};setTimeout(P,x[S++])}}}),(y,x)=>(d(),_("div",hs,[t("section",gs,[t("h2",_s,T(m.place)+" Gallery ",1),D.value?(d(),_("div",ys," Loading... ")):h.value?(d(),_("div",vs,T(h.value),1)):b.value.length?(d(),_("div",bs,[(d(!0),_(oe,null,ae(b.value,(S,P)=>(d(),_("div",{key:P,"data-src":S.url,"data-caption":S.title,"data-alt":S.title,"data-type":"image"},null,8,ws))),128))],512)):(d(),_("div",Ts," No images available "))])]))}}),Es={class:"section flights"},As={class:"container block"},ks={id:"flights-sky",class:"text-xl"},Ss=["data-destination-name","data-locale"],Is=me({__name:"Flights",props:{place:String,placeId:String,locale:{type:String,default:"en-US"}},setup(O){const m=O,b=B(null);function D(g){switch(g){case"en":return"en-US";case"es":return"es-ES";case"fr":return"fr-FR";case"de":return"de-DE";case"it":return"it-IT";case"ja":return"ja-JP";case"ar":return"ar-AE";case"zh":return"zh-CN";default:return g}}const h=D(m.locale);function f(){return new Promise(g=>{var y;const n=document.createElement("script");n.src="https://widgets.skyscanner.net/widget-server/js/loader.js",n.type="text/javascript",n.async=!0,n.defer=!0,n.onload=()=>{g(void 0),b.value=!0},(y=document.querySelector("#flights"))==null||y.appendChild(n)})}return Ze(()=>{f()}),(g,n)=>(d(),_("div",null,[t("section",Es,[t("div",As,[t("h2",ks," Cheap flights to "+T(O.place),1),t("div",{id:"flights","data-skyscanner
59-widget":"MultiVerticalWidget","data-market":"US","data-currency":"USD","data-media-partner-id":"200980","data-destination-geo-lookup":"false","data-origin-geo-lookup":"true","data-destination-name":`${O.place}`,"data-responsive":"true","data-font-colour":"white","data-locale":r(h)},null,8,Ss)])])]))}}),Cs={key:0,class:"section hotels"},Ls={class:"container block"},Ds={id:"hotels",class:"mx-auto px-4"},Rs={key:0},$s={key:1},Os={key:2},Ms=["href"],Ns={class:"card hotel-card transition ease-in-out delay-20 hover:scale-105 hover:glass bg-accent-content/10 shadow-xl"},Ps={class:"hotel-image"},Us=["src","alt"],Fs={class:"card-body hotel-info"},Hs=["title"],zs={class:"font-bold text-lg"},Bs={key:0,class:"flex items-center"},Ws={class:"rating rating-sm"},js=["checked"],Gs={class:"ml-2 text-xs"},qs={key:0,class:"hidden md:show"},Vs={key:1,class:"text-xs mt-2"},Ys={key:1,class:"text-sm text-base-content/60"},Xs=24,Ks=me({__name:"Hotels",props:{place:String,placeId:String,locale:{type:String,default:"en-US"}},async setup(O){let m,b;const D={forceToAxis:!0},h=O,f=B(1),{data:g,error:n,refresh:y}=([m,b]=wt(()=>us(()=>`https://api2.earthroulette.com/hotels/${h.placeId}?page=${f.value}&limit=${Xs}`,"$Q4kK3Ld0Dc")),m=await m,b(),m);function x(C){return C.replace(/\?aid=awinLIVEPRODFEED_!!!id!!!&/g,"?").replace(/\?aid=awinLIVEPRODFEED_!!!id!!!/g,"").replace(/&aid=awinLIVEPRODFEED_!!!id!!!/g,"").replace(/!!!id!!!/g,"")}function S(C){if(!C)return null;const L=x(C);if(!L||L.includes("!!!"))return null;try{const A=new URL(L);return A.protocol!=="http:"&&A.protocol!=="https:"?null:`https://www.awin1.com/cread.php?awinmid=6776&awinaffid=1681451&ued=${encodeURIComponent(A.toString())}`}catch{return null}}const P=Q(()=>{var C;return(((C=g.value)==null?void 0:C.data)||[]).map(L=>{const A=S(L.link);return!A||!L.hotel_name||!L.image_url?null:{...L,bookingUrl:A}}).filter(L=>L!==null)});Jn(()=>h.place,()=>{f.value=1,y()});const ee=C=>C?Math.round(C/2):0;return(C,L)=>{const A=es,i=ss;return d(),_("div",null,[r(g)?(d(),_("section",Cs,[t("div",Ls,[t("div",Ds,[r(n)?(d(),_("div",Rs," An error occurred: "+T(r(n).message),1)):r(g).data?(d(),_("div",Os,[P.value.length?(d(),ge(i,{key:0,"space-between":30,navigation:"",mousewheel:D,modules:[r(ts),r(ns)],"slides-per-view":2,"centered-slides":!0,loop:!0,breakpoints:{320:{slidesPerView:2,spaceBetween:20},640:{slidesPerView:2,spaceBetween:20},1024:{slidesPerView:4,spaceBetween:30}}},{default:q(()=>[(d(!0),_(oe,null,ae(P.value,o=>(d(),ge(A,{key:o.id},{default:q(()=>[t("a",{href:o.bookingUrl,target:"_blank",rel:"noopener noreferrer sponsored",class:"hotel-card-link"},[t("div",Ns,[t("figure",Ps,[t("img",{src:o.image_url,alt:o.hotel_name,class:"w-full object-cover",loading:"lazy"},null,8,Us),L[0]||(L[0]=t("div",{class:"swiper-lazy-preloader swiper-lazy-preloader-white"},null,-1))]),t("div",Fs,[t("h2",{class:"card-title hotel-name",title:o.hotel_name},T(o.hotel_name),9,Hs),t("p",zs," $"+T(o.price)+"/night ",1),o.user_rating?(d(),_("div",Bs,[t("div",Ws,[(d(),_(oe,null,ae(5,v=>t("input",{key:v,type:"radio",name:"rating-2",class:"mask mask-star-2 bg-orange-400",checked:ee(o.user_rating)>=v,disabled:""},null,8,js)),64))]),t("span",Gs,[o.review_count?(d(),_("span",qs,"("+T(o.review_count)+" reviews)",1)):pe("",!0)])])):(d(),_("div",Vs," No reviews yet "))])])],8,Ms)]),_:2},1024))),128))]),_:1},8,["modules"])):(d(),_("div",Ys," No hotel options available right now. "))])):(d(),_("div",$s," Loading... "))])])])):pe("",!0)])}}}),Qs={class:"bg-base-100 rounded-lg shadow-lg p-6 mt-8"},Zs={class:"space-y-4"},Js=["aria-expanded","aria-controls","onClick"],eo={class:"font-medium"},to=["id"],no={class:"text-gray-300 leading-relaxed"},so=me({__name:"ItineraryFAQ",props:{destination:{}},setup(O){const m=O,b=B([]),D=g=>{b.value.includes(g)?b.value=b.value.filter(n=>n!==g):b.value.push(g)},h=Q(()=>[{question:`What is the best time to visit ${m.destination}?`,answer:`The best time to visit ${m.destination} depends on your preferences for weather, crowds, and activities. Our itinerary includes seasonal recommendations and weather information to help you plan accordingly.`},{question:`How many days do I need in ${m.destination}?`,answer:`Our 7-day itinerary provides a comprehensive experience of ${m.destination}, covering major attractions, local experiences, and hidden gems. You can adjust the pace based on your travel style and interests.`},{question:`What should I pack for ${m.destination}?`,answer:"Packing recommendations vary by season and activities. Check our detailed itinerary for specific clothing suggestions, and don't forget essentials like comfortable walking shoes, weather-appropriate clothing, and any required travel documents."},{question:"Is this itinerary suitable for first-time visitors?",answer:`Yes! Our AI-generated itinerary is designed to give first-time visitors a well-rounded experience of ${m.destination}, including must-see attractions, cultural experiences, and practical travel tips.`},{question:"Can I customize this itinerary?",answer:"Absolutely! Use our AI travel assistant to modify the itinerary based on your interests, budget, and travel style. You can ask for alternative activities, restaurant recommendations, or adjust the pace of your trip."},{question:`What's included in the ${m.destination} itinerary?`,answer:`Our comprehensive itinerary includes daily activities, restaurant recommendations, transportation tips, accommodation suggestions, and insider tips for making the most of your visit to ${m.destination}.`}]),f=Q(()=>({"@context":"https://schema.org","@type":"FAQPage",mainEntity:h.value.map(g=>
59({"@type":"Question",name:g.question,acceptedAnswer:{"@type":"Answer",text:g.answer}}))}));return Xe({script:[{type:"application/ld+json",innerHTML:JSON.stringify(f.value)}]}),(g,n)=>(d(),_("div",Qs,[n[1]||(n[1]=t("h2",{class:"text-2xl font-bold mb-6 flex items-center gap-2"},[t("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-6 w-6 text-primary",viewBox:"0 0 20 20",fill:"currentColor"},[t("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"})]),F(" Frequently Asked Questions ")],-1)),t("div",Zs,[(d(!0),_(oe,null,ae(r(h),(y,x)=>(d(),_("div",{key:x,class:"border border-base-300 rounded-lg overflow-hidden"},[t("button",{class:"w-full px-6 py-4 text-left bg-base-200 hover:bg-base-300 transition-colors flex justify-between items-center","aria-expanded":r(b).includes(x),"aria-controls":`faq-answer-${x}`,onClick:S=>D(x)},[t("span",eo,T(y.question),1),(d(),_("svg",{xmlns:"http://www.w3.org/2000/svg",class:os(["h-5 w-5 transition-transform duration-200",{"rotate-180":r(b).includes(x)}]),viewBox:"0 0 20 20",fill:"currentColor"},n[0]||(n[0]=[t("path",{"fill-rule":"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z","clip-rule":"evenodd"},null,-1)]),2))],8,Js),Qe(t("div",{id:`faq-answer-${x}`,class:"px-6 py-4 bg-base-100"},[t("p",no,T(y.answer),1)],8,to),[[as,r(b).includes(x)]])]))),128))])]))}}),oo={class:"weather-component"},ao={key:0,class:"animate-pulse space-y-3"},io={class:"flex gap-2 mt-4"},ro={key:1,class:"p-3 text-error-content text-sm bg-error/20 rounded-lg"},lo={key:2,class:"space-y-4"},co={class:"flex items-center mb-4"},uo={class:"text-4xl mr-3"},po={class:"flex items-baseline"},mo={class:"text-2xl font-bold"},fo={class:"text-sm ml-1"},ho={class:"text-sm text-gray-400"},go={class:"text-sm"},_o={class:"grid grid-cols-3 gap-3 text-center text-sm mt-3"},yo={class:"bg-base-200 p-2 rounded"},vo={class:"font-medium"},bo={class:"bg-base-200 p-2 rounded"},wo={class:"font-medium"},To={class:"bg-base-200 p-2 rounded"},xo={class:"font-medium"},Eo={key:0,class:"mt-4"},Ao={class:"flex overflow-x-auto pb-2 gap-2 scrollbar"},ko={class:"text-xs text-gray-400"},So={class:"text-xl my-1"},Io={class:"font-medium text-sm"},Co={class:"mt-4 p-3 bg-base-200 rounded-lg"},Lo={class:"text-xs"},Do=me({__name:"Weather",props:{destination:{}},setup(O){const m=O,b=B(!0),D=B(null),h=B({temperature:0,feelsLike:0,condition:"",humidity:0,wind:0,unit:"C",description:"",icon:""}),f=B([]),g=B(""),n=B(null),y=A=>{const i=A.toLowerCase();return i.includes("thunder")?"âï¸":i.includes("drizzle")?"ð¦ï¸":i.includes("rain")?"ð§ï¸":i.includes("snow")?"âï¸":i.includes("mist")||i.includes("fog")?"ð«ï¸":i.includes("clear")?"âï¸":i.includes("clouds")?i.includes("few")?"ð¤ï¸":"âï¸":"ð¤ï¸"},x=A=>{const i=new Date(A*1e3),o={weekday:"short"};return new Intl.DateTimeFormat("en-US",o).format(i)},S=(A,i)=>{const o=A.toLowerCase();return o.includes("beach")||o.includes("bali")||o.includes("hawaii")||o.includes("cancun")||o.includes("caribbean")||o.includes("maldives")?i>30?"Very hot weather expected. Pack light clothing, sunscreen (SPF 50+), a hat, and stay hydrated. Beaches may be crowded in the morning and late afternoon.":i>25?"Perfect beach weather. Remember to pack sunscreen, a hat, and light clothes. Morning and evening are best for outdoor activities.":"Milder beach weather. Light layers recommended, especially for evenings. Still good for beach activities but water may be cooler.":o.includes("mountain")||o.includes("alps")||o.includes("rocky")||o.includes("himalaya")||o.includes("andes")?i<5?"Cold mountain weather. Pack warm layers, thermal clothing, a good jacket, gloves, and hiking boots. Check trail conditions before heading out.":i<15?"Cool mountain temperatures. Bring layers that can be added or removed, a waterproof jacket, and proper hiking footwear. Weather can change quickly.":"Warm mountain weather. Still pack layers as temperatures drop at higher elevations and in the evenings. Bring plenty of water for hiking.":o.includes("city")||o.includes("paris")||o.includes("tokyo")||o.includes("york")||o.includes("london")||o.includes("rome")?i>28?"Hot city weather. Light clothing recommended, but bring a light layer for air-conditioned indoor space
59s. Hydrate well and plan indoor activities during peak heat.":i>15?"Pleasant city temperatures. Perfect for walking tours and outdoor dining. A light jacket may be needed for evenings.":"Cool city weather. Bring layers including a warm jacket, especially for evenings. Indoor attractions and museums are good options for colder days.":i>30?"Hot weather expected. Pack light clothing, sunscreen, a hat, and stay hydrated. Plan indoor activities during the hottest parts of the day.":i>20?"Warm, pleasant weather. Light layers recommended, with a light jacket for evenings. Great for most outdoor activities.":i>10?"Mild temperatures. Pack layers and a medium-weight jacket. Good for outdoor activities with proper clothing.":"Cool to cold weather. Pack warm clothing, a coat, gloves, and consider indoor activities on particularly cold days."},P=async A=>{try{const i=await $fetch("/api/weather/location",{params:{q:A}});if(Array.isArray(i)&&i.length>0)return{lat:i[0].lat,lon:i[0].lon};throw new Error("Location not found")}catch(i){throw console.error("Error fetching coordinates:",i),i}},ee=async(A,i)=>{try{const o=await $fetch("/api/weather/current",{params:{lat:A,lon:i}});return{temperature:o.main.temp,feelsLike:o.main.feels_like,condition:o.weather[0].description,humidity:o.main.humidity,wind:o.wind.speed,unit:"C",description:`Current weather in ${m.destination} is ${o.weather[0].description} with temperatures around ${Math.round(o.main.temp)}°C.`,icon:o.weather[0].icon}}catch(o){throw console.error("Error fetching current weather:",o),o}},C=async(A,i)=>{try{const o=await $fetch("/api/weather/forecast",{params:{lat:A,lon:i}}),v={};return o.list.forEach(R=>{const u=new Date(R.dt*1e3).toISOString().split("T")[0];v[u]||(v[u]={high:-100,low:100,conditions:{},icons:{}}),v[u].high=Math.max(v[u].high,R.main.temp_max),v[u].low=Math.min(v[u].low,R.main.temp_min);const a=R.weather[0].description,U=R.weather[0].icon;v[u].conditions[a]=(v[u].conditions[a]||0)+1,v[u].icons[U]=(v[u].icons[U]||0)+1}),Object.keys(v).sort().slice(0,5).map(R=>{let te="",u=0;Object.entries(v[R].conditions).forEach(([U,M])=>{M>u&&(te=U,u=M)});let a="";
59return u=0,Object.entries(v[R].icons).forEach(([U,M])=>{M>u&&(a=U,u=M)}),{date:x(new Date(R).getTime()/1e3),high:v[R].high,low:v[R].low,condition:te,icon:a}})}catch(o){throw console.error("Error fetching forecast:",o),o}},L=async()=>{try{b.value=!0,n.value=await P(m.destination);const[A,i]=await Promise.all([ee(n.value.lat,n.value.lon),C(n.value.lat,n.value.lon)]);h.value=A,f.value=i,g.value=S(m.destination,A.temperature),b.value=!1}catch(A){console.error("Error loading weather data:",A),D.value="Failed to load weather data. Please try again later.",b.value=!1}};return Ze(()=>{L()}),(A,i)=>(d(),_("div",oo,[r(b)?(d(),_("div",ao,[i[1]||(i[1]=t("div",{class:"h-8 bg-base-300 rounded w-2/3 mb-3"},null,-1)),i[2]||(i[2]=t("div",{class:"h-6 bg-base-300 rounded w-full"},null,-1)),t("div",io,[(d(),_(oe,null,ae(3,o=>t("div",{key:o,class:"flex-1"},i[0]||(i[0]=[t("div",{class:"h-6 bg-base-300 rounded mb-2"},null,-1),t("div",{class:"h-10 bg-base-300 rounded mb-2"},null,-1),t("div",{class:"h-4 bg-base-300 rounded"},null,-1)]))),64))])])):r(D)?(d(),_("div",ro,[t("p",null,T(r(D)),1)])):(d(),_("div",lo,[t("div",co,[t("div",uo,T(y(r(h).condition)),1),t("div",null,[t("div",po,[t("span",mo,T(Math.round(r(h).temperature))+"°",1),t("span",fo,T(r(h).unit),1)]),t("div",ho,T(r(h).condition),1)])]),t("p",go,T(r(h).description),1),t("div",_o,[t("div",yo,[i[3]||(i[3]=t("div",{class:"text-gray-400"}," Humidity ",-1)),t("div",vo,T(r(h).humidity)+"% ",1)]),t("div",bo,[i[4]||(i[4]=t("div",{class:"text-gray-400"}," Wind ",-1)),t("div",wo,T(Math.round(r(h).wind))+" km/h ",1)]),t("div",To,[i[5]||(i[5]=t("div",{class:"text-gray-400"}," Feels Like ",-1)),t("div",xo,T(Math.round(r(h).feelsLike))+"° ",1)])]),r(f).length>0?(d(),_("div",Eo,[i[6]||(i[6]=t("h5",{class:"font-medium mb-3"}," 5-Day Forecast ",-1)),t("div",Ao,[(d(!0),_(oe,null,ae(r(f),(o,v)=>(d(),_("div",{key:v,class:"text-center p-2 bg-base-200 rounded min-w-[80px]"},[t("div",ko,T(o.date),1),t("div",So,T(y(o.condition)),1),t("div",Io,T(Math.round(o.high))+"° / "+T(Math.round(o.low))+"° ",1)]))),128))])])):pe("",!0),t("div",Co,[i[7]||(i[7]=t("h5",{class:"font-medium text-sm mb-2 flex items-center"},[t("span",{class:"i-lucide-lightbulb mr-2"}),F(" Weather Tips ")],-1)),t("p",Lo,T(r(g)),1)])]))]))}}),Ro=Tt(Do,[["__scopeId","data-v-1d47352b"]]),$o={class:"trip-checklist"},Oo={key:0,class:"animate-pulse space-y-1"},Mo={key:1,class:"p-2 text-error-content text-xs bg-error/20 rounded-lg"},No={key:2,class:"space-y-1"},Po={class:"flex items-center justify-between mb-2"},Uo={class:"text-xs text-gray-400"},Fo={class:"text-sm font-medium mb-1 flex items-center"},Ho=["innerHTML"],zo={class:"grid grid-cols-1 md:grid-cols-2 gap-1"},Bo=["id","onUpdate:modelValue"],Wo=["for"],jo={class:"mt-2"},Go={class:"flex justify-between mb-1"},qo={class:"text-xs"},Vo={class:"w-full bg-base-300 rounded-full h-1.5"},Yo={class:"mt-3"},Xo={class:"flex"},Ko=["disabled"],Qo=me({__name:"TripChecklist",props:{destination:{}},setup(O){const m=O,b=B(!0),D=B(null),h=B({}),f=B(""),g=B([]),n=B([{name:"Essentials",items:["Passport","Credit Cards","Cash/Currency","Travel Insurance","Phone & Charger"]},{name:"Clothing",items:["Weather-appropriate clothes","Comfortable walking shoes","Sleepwear","Swimwear"]},{name:"Toiletries",items:["Toothbrush & Toothpaste","Shampoo & Conditioner","Sunscreen","Medications"]},{name:"Tech",items:["Camera","Power Adapter","Portable Charger","Headphones"]}]),y=Q(()=>g.value.length===0?null:{name:"Custom Items",items:g.value});is(()=>{if(y.value)if(!n.value.some(o=>o.name==="Custom Items"))n.value.push(y.value);else{const o=n.value.findIndex(v=>v.name==="Custom Items");n.value[o]=y.value}});const x=Q(()=>n.value.reduce((i,o)=>i+o.items.length,0)),S=Q(()=>Object.values(h.value).filter(Boolean).length),P=Q(()=>x.value===0?0:Math.round(S.value/x.value*100)),ee=()=>{f.value.trim()&&(g.value.push(f.value.trim()),f.value="")},C=()=>{h.value={}},L=()=>{const i=window.open("","_blank");if(!i)return;let o=` 60 <html> 61 <head> 62 <title>Trip Checklist for ${m.destination}</title> 63 <style> 64 body { font-family: Arial, sans-serif; padding: 20px; } 65 h1 { margin-bottom: 20px; } 66 h2 { margin-top: 15px; margin-bottom: 10px; } 67 .item { margin-bottom: 8px; } 68 .checkbox { margin-right: 10px; } 69 </style> 70 </head> 71 <body> 72 <h1>Trip Checklist for ${m.destination}</h1> 73 `;n.value.forEach(v=>{o+=`<h2>${v.name}</h2>
73`,v.items.forEach(R=>{const te=h.value[`${v.name}-${R}`];o+=` 74 <div class="item"> 75 <input type="checkbox" class="checkbox" ${te?"checked":""}> 76 <span>${R}</span> 77 </div> 78 `})}),o+=` 79 </body> 80 </html> 81 `,i.document.open(),i.document.write(o),i.document.close(),i.print()},A=i=>({Essentials:"ð",Clothing:"ð",Toiletries:"ð§´",Tech:"ð±","Custom Items":"ð"})[i]||"ð";return Ze(async()=>{try{await new Promise(i=>setTimeout(i,1e3)),m.destination.toLowerCase().includes("beach")?n.value[1].items.push("Beach towel","Sandals","Sunglasses"):m.destination.toLowerCase().includes("mountain")&&n.value[1].items.push("Hiking boots","Rain jacket","Warm layers"),b.value=!1}catch{D.value="Failed to load checklist. Please try again.",b.value=!1}}),(i,o)=>(d(),_("div",$o,[r(b)?(d(),_("div",Oo,[(d(),_(oe,null,ae(5,v=>t("div",{key:v,class:"h-5 bg-base-300 rounded w-full"})),64))])):r(D)?(d(),_("div",Mo,[t("p",null,T(r(D)),1)])):(d(),_("div",No,[t("div",Po,[t("p",Uo," Items recommended for "+T(i.destination),1),t("button",{class:"btn btn-ghost btn-xs h-6 min-h-0",onClick:L},o[1]||(o[1]=[t("span",{class:"i-lucide-printer mr-1"},null,-1),F(" Print ")]))]),(d(!0),_(oe,null,ae(r(n),(v,R)=>(d(),_("div",{key:R,class:"mb-2"},[t("h4",Fo,[t("span",{class:"mr-1",innerHTML:A(v.name)},null,8,Ho),F(" "+T(v.name),1)]),t("div",zo,[(d(!0),_(oe,null,ae(v.items,(te,u)=>(d(),_("div",{key:u,class:"flex items-center p-1 rounded-lg hover:bg-base-200 transition-colors"},[Qe(t("input",{id:`item-${R}-${u}`,"onUpdate:modelValue":a=>r(h)[`${v.name}-${te}`]=a,type:"checkbox",class:"checkbox checkbox-xs checkbox-primary mr-2"},null,8,Bo),[[rs,r(h)[`${v.name}-${te}`]]]),t("label",{for:`item-${R}-${u}`,class:"flex-grow cursor-pointer text-sm"},T(te),9,Wo)]))),128))])]))),128)),t("div",jo,[t("div",Go,[t("span",qo,T(r(S))+" of "+T(r(x))+" packed",1),r(S)>0?(d(),_("button",{key:0,class:"btn btn-ghost btn-xs h-6 min-h-0",onClick:C}," Reset ")):pe("",!0)]),t("div",Vo,[t("div",{class:"bg-primary h-1.5 rounded-full",style:ls({width:`${r(P)}%`})},null,4)])]),t("div",Yo,[o[2]||(o[2]=t("h4",{class:"text-sm font-medium mb-1"}," Add Custom Item ",-1)),t("div",Xo,[Qe(t("input",{"onUpdate:modelValue":o[0]||(o[0]=v=>rn(f)?f.value=v:null),type:"text",placeholder:"Enter item...",class:"input input-bordered input-xs flex-grow mr-1 h-7",onKeyup:an(ee,["enter"])},null,544),[[on,r(f)]]),t("button",{class:"btn btn-primary btn-xs h-7 min-h-0",disabled:!r(f).trim(),onClick:ee}," Add ",8,Ko)])])]))]))}}),Zo=Tt(Qo,[["__scopeId","data-v-bbdd104a"]]);/*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */var vt,tn;function nn(){if(tn)return vt;tn=1;const{entries:O,setPrototypeOf:m,isFrozen:b,getPrototypeOf:D,getOwnPropertyDescriptor:h}=Object;let{freeze:f,seal:g,create:n}=Object,{apply:y,construct:x}=typeof Reflect<"u"&&Reflect;f||(f=function(c){return c}),g||(g=function(c){return c}),y||(y=function(c,I,k){return c.apply(I,k)}),x||(x=function(c,I){return new c(...I)});const S=M(Array.prototype.forEach),P=M(Array.prototype.lastIndexOf),ee=M(Array.prototype.pop),C=M(Array.prototype.push),L=M(Array.prototype.splice),A=M(String.prototype.toLowerCase),i=M(String.prototype.toString),o=M(String.prototype.match),v=M(String.prototype.replace),R=M(String.prototype.indexOf),te=M(String.prototype.trim),u=M(Object.prototype.hasOwnProperty),a=M(RegExp.prototype.test),U=Je(TypeError);function M(E){return function(c){c instanceof RegExp&&(c.lastIndex=0);for(var I=arguments.length,k=new Array(I>1?I-1:0),Y=1;Y<I;Y++)k[Y-1]=arguments[Y];return y(E,c,k)}}function Je(E){return function(){for(var c=arguments.length,I=new Array(c),k=0;k<c;k++)I[k]=arguments[k];return x(E,I)}}function w(E,c){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:A;m&&m(E,null);let k=c.length;for(;k--;){let Y=c[k];if(typeof Y=="string"){const le=I(Y);le!==Y&&(b(c)||(c[k]=le),Y=le)}E[Y]=!0}return E}function et(E){for(let c=0;c<E.length;c++)u(E,c)||(E[c]=null);return E}function se(E){const c=n(null);for(const[I,k]of O(E))u(E,I)&&(Array.isArray(k)?c[I]=et(k):k&&typeof k=="object"&&k.constructor===Object?c[I]=se(k):c[I]=k);return c}function fe(E,c){for(;E!==null;){const k=h(E,c);if(k){if(k.get)return M(k.get);if(typeof k.value=="function")return M(k.value)}E=D(E)}function I(){return null}return I}const re=f(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ae=f(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ke=f(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),tt=f(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Se=f(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),nt=f(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Pe=f(["#text"]),Ie=f(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","
81spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),V=f(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ue=f(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Fe=f(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),cn=g(/\{\{[\w\W]*|[\w\W]*\}\}/gm),dn=g(/<%[\w\W]*|[\w\W]*%>/gm),un=g(/\$\{[\w\W]*/gm),pn=g(/^data-[\-\w.\u00B7-\uFFFF]+$/),mn=g(/^aria-[\-\w]+$/),xt=g(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),fn=g(/^(?:\w+script|data):/i),hn=g(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Et=g(/^html$/i),gn=g(/^[a-z][.\w]*(-[.\w]+)+$/i);var At=Object.freeze({__proto__:null,ARIA_ATTR:mn,ATTR_WHITESPACE:hn,CUSTOM_ELEMENT:gn,DATA_ATTR:pn,DOCTYPE_NAME:Et,ERB_EXPR:dn,IS_ALLOWED_URI:xt,IS_SCRIPT_OR_DATA:fn,MUSTACHE_EXPR:cn,TMPLIT_EXPR:un});const Ce={element:1,text:3,progressingInstruction:7,comment:8,document:9},_n=function(){return typeof window>"u"?null:window},yn=function(c,I){if(typeof c!="object"||typeof c.createPolicy!="function")return null;let k=null;const Y="data-tt-policy-suffix";I&&I.hasAttribute(Y)&&(k=I.getAttribute(Y));const le="dompurify"+(k?"#"+k:"");try{return c.createPolicy(le,{createHTML(_e){return _e},createScriptURL(_e){return _e}})}catch{return console.warn("TrustedTypes policy "+le+" could not be created."),null}},kt=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function St(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_n();const c=p=>St(p);if(c.version="3.2.6",c.removed=[],!E||!E.document||E.document.nodeType!==Ce.document||!E.Element)return c.isSupported=!1,c;let{document:I}=E;const k=I,Y=k.currentScript,{DocumentFragment:le,HTMLTemplateElement:_e,Node:st,Element:It,NodeFilter:Le,NamedNodeMap:bn=E.NamedNodeMap||E.MozNamedAttrMap,HTMLFormElement:wn,DOMParser:Tn,trustedTypes:He}=E,De=It.prototype,xn=fe(De,"cloneNode"),En=fe(De,"remove"),An=fe(De,"nextSibling"),kn=fe(De,"childNodes"),ze=fe(De,"parentNode");if(typeof _e=="function"){const p=I.createElement("template");p.content&&p.content.ownerDocument&&(I=p.content.ownerDocument)}let Z,Re="";
81const{implementation:ot,createNodeIterator:Sn,createDocumentFragment:In,getElementsByTagName:Cn}=I,{importNode:Ln}=k;let J=kt();c.isSupported=typeof O=="function"&&typeof ze=="function"&&ot&&ot.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:at,ERB_EXPR:it,TMPLIT_EXPR:rt,DATA_ATTR:Dn,ARIA_ATTR:Rn,IS_SCRIPT_OR_DATA:$n,ATTR_WHITESPACE:Ct,CUSTOM_ELEMENT:On}=At;let{IS_ALLOWED_URI:Lt}=At,W=null;const Dt=w({},[...re,...Ae,...ke,...Se,...Pe]);let G=null;const Rt=w({},[...Ie,...V,...Ue,...Fe]);let H=Object.seal(n(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),$e=null,lt=null,$t=!0,ct=!0,Ot=!1,Mt=!0,ye=!1,Be=!0,he=!1,dt=!1,ut=!1,ve=!1,We=!1,je=!1,Nt=!0,Pt=!1;const Mn="user-content-";let pt=!0,Oe=!1,be={},we=null;const Ut=w({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Ft=null;const Ht=w({},["audio","video","img","source","image","track"]);let mt=null;const zt=w({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ge="http://www.w3.org/1998/Math/MathML",qe="http://www.w3.org/2000/svg",ce="http://www.w3.org/1999/xhtml";let Te=ce,ft=!1,ht=null;const Nn=w({},[Ge,qe,ce],i);let Ve=w({},["mi","mo","mn","ms","mtext"]),Ye=w({},["annotation-xml"]);const Pn=w({},["title","style","font","a","script"]);let Me=null;const Un=["application/xhtml+xml","text/html"],Fn="text/html";let j=null,xe=null;const Hn=I.createElement("form"),Bt=function(e){return e instanceof RegExp||e instanceof Function},gt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(xe&&xe===e)){if((!e||typeof e!="object")&&(e={}),e=se(e),Me=Un.indexOf(e.PARSER_MEDIA_TYPE)===-1?Fn:e.PARSER_MEDIA_TYPE,j=Me==="application/xhtml+xml"?i:A,W=u(e,"ALLOWED_TAGS")?w({},e.ALLOWED_TAGS,j):Dt,G=u(e,"ALLOWED_ATTR")?w({},e.ALLOWED_ATTR,j):Rt,ht=u(e,"ALLOWED_NAMESPACES")?w({},e.ALLOWED_NAMESPACES,i):Nn,mt=u(e,"ADD_URI_SAFE_ATTR")?w(se(zt),e.ADD_URI_SAFE_ATTR,j):zt,Ft=u(e,"ADD_DATA_URI_TAGS")?w(se(Ht),e.ADD_DATA_URI_TAGS,j):Ht,we=u(e,"FORBID_CONTENTS")?w({},e.FORBID_CONTENTS,j):Ut,$e=u(e,"FORBID_TAGS")?w({},e.FORBID_TAGS,j):se({}),lt=u(e,"FORBID_ATTR")?w({},e.FORBID_ATTR,j):se({}),be=u(e,"USE_PROFILES")?e.USE_PROFILES:!1,$t=e.ALLOW_ARIA_ATTR!==!1,ct=e.ALLOW_DATA_ATTR!==!1,Ot=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Mt=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=e.SAFE_FOR_TEMPLATES||!1,Be=e.SAFE_FOR_XML!==!1,he=e.WHOLE_DOCUMENT||!1,ve=e.RETURN_DOM||!1,We=e.RETURN_DOM_FRAGMENT||!1,je=e.RETURN_TRUSTED_TYPE||!1,ut=e.FORCE_BODY||!1,Nt=e.SANITIZE_DOM!==!1,Pt=e.SANITIZE_NAMED_PROPS||!1,pt=e.KEEP_CONTENT!==!1,Oe=e.IN_PLACE||!1,Lt=e.ALLOWED_URI_REGEXP||xt,Te=e.NAMESPACE||ce,Ve=e.MATHML_TEXT_INTEGRATION_POINTS||Ve,Ye=e.HTML_INTEGRATION_POINTS||Ye,H=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&Bt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(H.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&Bt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(H.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(H.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ye&&(ct=!1),We&&(ve=!0),be&&(W=w({},Pe),G=[],be.html===!0&&(w(W,re),w(G,Ie)),be.svg===!0&&(w(W,Ae),w(G,V),w(G,Fe)),be.svgFilters===!0&&(w(W,ke),w(G,V),w(G,Fe)),be.mathMl===!0&&(w(W,Se),w(G,Ue),w(G,Fe))),e.ADD_TAGS&&(W===Dt&&(W=se(W)),w(W,e.ADD_TAGS,j)),e.ADD_ATTR&&(G===Rt&&(G=se(G)),w(G,e.ADD_ATTR,j)),e.ADD_URI_SAFE_ATTR&&w(mt,e.ADD_URI_SAFE_ATTR,j),e.FORBID_CONTENTS&&(we===Ut&&(we=se(we)),w(we,e.FORBID_CONTENTS,j)),pt&&(W["#text"]=!0),he&&w(W,["html","head","body"]),W.table&&(w(W,["tbody"]),delete $e.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!="function")throw U('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw U('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Z=e.TRUSTED_TYPES_POLICY,Re=Z.createHTML("")}else Z===void 0&&(Z=yn(He,Y)),Z!==null&&typeof Re=="string"&&(Re=Z.createHTML(""));f&&f(e),xe=e}},Wt=w({},[...Ae,...ke,...tt]),jt=w({},[...Se,...nt]),zn=function(e){let s=ze(e);(!s||!s.tagName)&&(s={namespaceURI:Te,tagName:"template"});const l=A(e.tagName),$=A(s.tagName);return ht[e.namespaceURI]?e.namespaceURI===qe?s.namespaceURI===ce?l==="svg":s.namespaceURI===Ge?l==="svg"&&($==="annotation-xml"||Ve[$]):!!Wt[l]:e.namespaceURI===Ge?s.namespaceURI===ce?l==="math":s.namespaceURI===qe?l==="math"&&Ye[$]:!!jt[l]:e.namespaceURI===ce?s.namespaceURI===qe&&!Ye[$]||s.namespaceURI===Ge&&!Ve[$]?!1:!jt[l]&&(Pn[l]||!Wt[l]):!!(Me==="application/xhtml+xml"&&ht[e.namespaceURI]):!1},ie=function(e){C(c.removed,{element:e});try{ze(e).removeChild(e)}catch{En(e)}},Ee=function(e,s){try{C(c.removed,{attribute:s.getAttributeNode(e),from:s})}catch{C(c.removed,{attribute:null,from:s})}if(s.removeAttribute(e),e==="is")if(ve||We)try{ie(s)}catch{}else try{s.setAttribute(e,"")}catch{}},Gt=function(e){let s=null,l=null;if(ut)e="<remove></remove>"+e;else{const z=o(e,/^[\r\n\t ]+/);l=z&&z[0]}Me==="application/xhtml+xml"&&Te===ce&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const $=Z?Z.createHTML(e):e;if(Te===ce)try{s=new Tn().parseFromString($,Me)}catch{}if(!s||!s.documentElement){s=ot.createDocument(Te,"template",null);try{s.documentElement.innerHTML=ft?Re:$}catch{}}const X=s.body||s.documentElement;return e&&l&&X.insertBefore(I.createTextNode(l),X.childNodes[0]||null),Te===ce?Cn.call(s,he?"html":"body")[0]:he?s.documentElement:X},qt=function(e){return Sn.call(e.ownerDocument||e,e,Le.SHOW_ELEMENT|Le.SHOW_COMMENT|Le.SHOW_TEXT|Le.SHOW_PROCESSING_INSTRUCTION|Le.SHOW_CDATA_SECTION,null)},_t=function(e){return e instanceof wn&&(typeof e.nodeName!="string"||typeof e.textContent!="string"||typeof e.removeChild!="function"||!(e.attributes instanceof bn)||typeof e.removeAttribute!="function"||typeof e.setAttribute!="function"||typeof e.namespaceURI!="string"||typeof e.insertBefore!="function"||typeof e.hasChildNodes!="function")},Vt=function(e){return typeof st=="function"&&e instanceof st};function de(p,e,s){S(p,l=>{l.call(c,e,s,xe)})}const Yt=function(e){let s=null;if(de(J.beforeSanitizeElements,e,null),_t(e))return ie(e),!0;const l=j(e.nodeName);if(de(J.uponSanitizeElement,e,{tagName:l,allowedTags:W}),Be&&e.hasChildNodes()&&!Vt(e.firstElementChild)&&a(/<[/\w!]/g,e.innerHTML)&&a(/<[/\w!]/g,e.textContent)||e.nodeType===Ce.progressingInstruction||Be&&e.nodeType===Ce.comment&&a(/<[/\w]/g,e.data))return ie(e),!0;if(!W[l]||$e[l]){if(!$e[l]&&Kt(l)&&(H.tagNameCheck instanceof RegExp&&a(H.tagNameCheck,l)||H.tagNameCheck instanceof Function&&H.tagNameCheck(l)))return!1;if(pt&&!we[l]){const $=ze(e)||e.parentNode,X=kn(e)||e.childNodes;if(X&&$){const z=X.length;for(let ne=z-1;ne>=0;--ne){const ue=xn(X[ne],!0);ue.__removalCount=(e.__removalCount||0)+1,$.insertBefore(ue,An(e))}}}return ie(e),!0}return e instanceof It&&!zn(e)||(l==="noscript"||l==="noembed"||l==="noframes")&&a(/<\/no(script|embed|frames)/i,e.innerHTML)?(ie(e),!0):(ye&&e.nodeType===Ce.text&&(s=e.textContent,S([at,it,rt],$=>{s=v(s,$," ")}),e.textContent!==s&&(C(c.removed,{element:e.cloneNode()}),e.textContent=s)),de(J.afterSanitizeElements,e,null),!1)},Xt=function(e,s,l){if(Nt&&(s==="id"||s==="name")&&(l in I||l in Hn))return!1;if(!(ct&&!lt[s]&&a(Dn,s))){if(!($t&&a(Rn,s))){if(!G[s]||lt[s]){if
81(!(Kt(e)&&(H.tagNameCheck instanceof RegExp&&a(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&&a(H.attributeNameCheck,s)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(s))||s==="is"&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&a(H.tagNameCheck,l)||H.tagNameCheck instanceof Function&&H.tagNameCheck(l))))return!1}else if(!mt[s]){if(!a(Lt,v(l,Ct,""))){if(!((s==="src"||s==="xlink:href"||s==="href")&&e!=="script"&&R(l,"data:")===0&&Ft[e])){if(!(Ot&&!a($n,v(l,Ct,"")))){if(l)return!1}}}}}}return!0},Kt=function(e){return e!=="annotation-xml"&&o(e,On)},Qt=function(e){de(J.beforeSanitizeAttributes,e,null);const{attributes:s}=e;if(!s||_t(e))return;const l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:G,forceKeepAttr:void 0};let $=s.length;for(;$--;){const X=s[$],{name:z,namespaceURI:ne,value:ue}=X,Ne=j(z),yt=ue;let K=z==="value"?yt:te(yt);if(l.attrName=Ne,l.attrValue=K,l.keepAttr=!0,l.forceKeepAttr=void 0,de(J.uponSanitizeAttribute,e,l),K=l.attrValue,Pt&&(Ne==="id"||Ne==="name")&&(Ee(z,e),K=Mn+K),Be&&a(/((--!?|])>)|<\/(style|title)/i,K)){Ee(z,e);continue}if(l.forceKeepAttr)continue;if(!l.keepAttr){Ee(z,e);continue}if(!Mt&&a(/\/>/i,K)){Ee(z,e);continue}ye&&S([at,it,rt],Jt=>{K=v(K,Jt," ")});const Zt=j(e.nodeName);if(!Xt(Zt,Ne,K)){Ee(z,e);continue}if(Z&&typeof He=="object"&&typeof He.getAttributeType=="function"&&!ne)switch(He.getAttributeType(Zt,Ne)){case"TrustedHTML":{K=Z.createHTML(K);break}case"TrustedScriptURL":{K=Z.createScriptURL(K);break}}if(K!==yt)try{ne?e.setAttributeNS(ne,z,K):e.setAttribute(z,K),_t(e)?ie(e):ee(c.removed)}catch{Ee(z,e)}}de(J.afterSanitizeAttributes,e,null)},Bn=function p(e){let s=null;const l=qt(e);for(de(J.beforeSanitizeShadowDOM,e,null);s=l.nextNode();)de(J.uponSanitizeShadowNode,s,null),Yt(s),Qt(s),s.content instanceof le&&p(s.content);de(J.afterSanitizeShadowDOM,e,null)};return c.sanitize=function(p){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=null,l=null,$=null,X=null;if(ft=!p,ft&&(p="<!-->"),typeof p!="string"&&!Vt(p))if(typeof p.toString=="function"){if(p=p.toString(),typeof p!="string")throw U("dirty is not a string, aborting")}else throw U("toString is not a function");if(!c.isSupported)return p;if(dt||gt(e),c.removed=[],typeof p=="string"&&(Oe=!1),Oe){if(p.nodeName){const ue=j(p.nodeName);if(!W[ue]||$e[ue])throw U("root node is forbidden and cannot be sanitized in-place")}}else if(p instanceof st)s=Gt("<!---->"),l=s.ownerDocument.importNode(p,!0),l.nodeType===Ce.element&&l.nodeName==="BODY"||l.nodeName==="HTML"?s=l:s.appendChild(l);else{if(!ve&&!ye&&!he&&p.indexOf("<")===-1)return Z&&je?Z.createHTML(p):p;if(s=Gt(p),!s)return ve?null:je?Re:""}s&&ut&&ie(s.firstChild);const z=qt(Oe?p:s);for(;$=z.nextNode();)Yt($),Qt($),$.content instanceof le&&Bn($.content);if(Oe)return p;if(ve){if(We)for(X=In.call(s.ownerDocument);s.firstChild;)X.appendChild(s.firstChild);else X=s;return(G.shadowroot||G.shadowrootmode)&&(X=Ln.call(k,X,!0)),X}let ne=he?s.outerHTML:s.innerHTML;return he&&W["!doctype"]&&s.ownerDocument&&s.ownerDocument.doctype&&s.ownerDocument.doctype.name&&a(Et,s.ownerDocument.doctype.name)&&(ne="<!DOCTYPE "+s.ownerDocument.doctype.name+`> 82`+ne),ye&&S([at,it,rt],ue=>{ne=v(ne,ue," ")}),Z&&je?Z.createHTML(ne):ne},c.setConfig=function(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};gt(p),dt=!0},c.clearConfig=function(){xe=null,dt=!1},c.isValidAttribute=function(p,e,s){xe||gt({});const l=j(p),$=j(e);return Xt(l,$,s)},c.addHook=function(p,e){typeof e=="function"&&C(J[p],e)},c.removeHook=function(p,e){if(e!==void 0){const s=P(J[p],e);return s===-1?void 0:L(J[p],s,1)[0]}return ee(J[p])},c.removeHooks=function(p){J[p]=[]},c.removeAllHooks=function(){J=kt()},c}var vn=St();return vt=vn,vt}var bt,sn;function Jo(){return sn||(sn=1,bt=window.DOMPurify||(window.DOMPurify=nn().default||nn())),bt}var ea=Jo();const ta=qn(ea),na={class:"container mx-auto px-4 py-8 flex flex-col md:flex-row gap-8"},sa={class:"w-full md:w-2/3 prose"},oa={key:1,class:"flex justify-center items-center min-h-[50vh]"},aa={key:2,class:"alert alert-error shadow-lg my-8"},ia={class:"flex items-center"},ra={key:3,class:"space-y-8"},la={class:"relative rounded-xl overflow-hidden mb-8 shadow-xl"},ca=["src","alt"],da={class:"absolute bottom-0 left-0 p-6"},ua={class:"text-4xl font-bold text-white mb-2"},pa={class:"flex gap-4 mt-3"},ma={class:"bg-base-200 p-4 rounded-lg shadow-lg mb-8"},fa={class:"grid grid-cols-2 md:grid-cols-1 gap-2"},ha=["href"],ga={class:"mr-2"},_a={class:"card bg-base-100 shadow-xl"},ya={class:"card-body prose max-w-none"},va={class:"card bg-base-100 shadow-xl"},ba={class:"card-body"},wa=["innerHTML"],Ta={class:"card bg-base-100 shadow-xl overflow-hidden"},xa={class:"card bg-base-100 shadow-xl"},Ea={class:"card-body prose max-w-none"},Aa={class:"card bg-base-100 shadow-xl"},ka={class:"card-body prose max-w-none"},Sa={key:0,class:"card bg-base-100 shadow-xl"},Ia={class:"card-body"},Ca={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mt-4"},La={class:"flex items-center gap-3"},Da=["src","alt"],Ra={class:"font-semibold group-hover:text-primary transition-colors"},$a={class:"text-sm text-gray-400 line-clamp-2"},Oa={class:"mt-6 text-center"},Ma={class:"flex justify-between mt-8 mb-12"},Na={class:"w-full md:w-1/3"},Pa={class:"sticky top-24 space-y-6"},Ua={key:0,class:"card bg-base-100 shadow-xl"},Fa={class:"card-body"},Ha={class:"card-title text-xl text-gray-300 flex items-center gap-2"},za={key:1,class:"card bg-base-100 shadow-xl"},Ba={class:"card-body"},Wa={class:"card bg-base-100 shadow-xl overflow-hidden"},ja={class:"card-body p-4"},Ga={class:"text-sm text-gray-400 mb-4"},qa={class:"bg-base-200 p-4 rounded-lg"},Va={class:"flex"},Ya=me({__name:"[id]",async setup(O){let m,b;const h=Vn().params.id,f=B(""),g=[{href:"#intro",label:"Introduction",icon:"ð"},{href:"#itinerary",label:"Daily Itinerary",icon:"ðï¸"},{href:"#gallery",label:"Gallery",icon:"ð¼ï¸"},{href:"#getting",label:"Getting There",icon:"âï¸"},{href:"#hotels",label:"Hotels",icon:"ð¨"}],{data:n,error:y,pending:x}=([m,b]=wt(()=>en(`itinerary-${h}`,()=>$fetch(`https://api2.earthroulette.com/itinerary/${h}`),{server:!0,lazy:!1,default:()=>null})),m=await m,b(),m);if(y.value||!n.value){const u=y.value,U=((u==null?void 0:u.statusCode)||(u==null?void 0:u.status)||404)===404;throw Yn({statusCode:U?404:502,statusMessage:U?"Itinerary not found":"Unable to load itinerary",fatal:!0})}const S=h.split("").reduce((u,a)=>
82u+a.charCodeAt(0),0),{data:P}=([m,b]=wt(async()=>en(`related-itineraries-${h}`,async()=>{try{return(await $fetch("https://api2.earthroulette.com/itinerary",{params:{limit:8,page:S%50+1}})||[]).filter(U=>U.place_id!==h).slice(0,4)}catch(u){return console.error("Error fetching related itineraries:",u),[]}},{default:()=>[],lazy:!0})),m=await m,b(),m),ee=Q(()=>{if(!n.value)return"";const u=ln(n.value.itinerary),a=ta.sanitize(u,{ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","p","br","hr","strong","em","b","i","u","ul","ol","li","blockquote","a","img","code","pre","table","thead","tbody","tr","th","td","div","span"],ALLOWED_ATTR:["href","src","alt","title","class","id","target","rel"],ALLOW_DATA_ATTR:!1,KEEP_CONTENT:!0});return C(a).replace(/360x240/g,"674x446")});function C(u){return u.replace(/\?aid=awinLIVEPRODFEED_!!!id!!!&/g,"?").replace(/\?aid=awinLIVEPRODFEED_!!!id!!!/g,"").replace(/&aid=awinLIVEPRODFEED_!!!id!!!/g,"").replace(/!!!id!!!/g,"")}const L=()=>{var a;if(!f.value.trim())return;const u=`Tell me more about ${f.value} in ${(a=n.value)==null?void 0:a.name}`;Zn(`/chat/new?q=${encodeURIComponent(u)}`)},A=Q(()=>`https://cdn.earthroulette.com/ER/bg/${h}-bg.jpg?w=1200&q=80`),i=()=>{window.scrollTo({top:0,behavior:"smooth"})},o=Qn(),v=Q(()=>n.value?`${n.value.name} 7-Day Itinerary - Free AI Travel Planner | TravelBot`:"Loading Itinerary..."),R=Q(()=>{if(!n.value)return"Loading itinerary details...";const u=n.value.intro.substring(0,120).replace(/\s+\S*$/,"");return`Plan your ${n.value.name} trip with our free AI travel planner. Complete 7-day itinerary with hotels, activities & local tips. ${u}...`});Xn({title:v,description:R,robots:"index, follow, max-image-preview:large",ogTitle:v,ogDescription:R,ogImage:A,ogType:"article",articleAuthor:["TravelBot AI"],articleSection:"Travel Guides",twitterCard:"summary_large_image",twitterTitle:v,twitterDescription:R,keywords:()=>n.value?[`${n.value.name} itinerary`,`${n.value.name} travel guide`,`things to do in ${n.value.name}`,`${n.value.name} trip planner`,`${n.value.name} 7 day trip`,`visit ${n.value.name}`,`${n.value.name} vacation`,`${n.value.name} tourism`].join(", "):""}),Xe({link:[{rel:"canonical",href:Q(()=>`${o.public.baseUrl}/itinerary/${h}`)}]});const te=Q(()=>{var U;if(!n.value)return null;const u=`https://cdn.earthroulette.com/ER/bg/${h}-bg.jpg?w=1200&q=80`,a=`${o.public.baseUrl}/itinerary/${h}`;return[{"@context":"https://schema.org","@type":"Article",headline:`${n.value.name} 7-Day Itinerary`,description:n.value.intro,image:u,author:{"@type":"Organization",name:"TravelBot",url:o.public.baseUrl},publisher:{"@type":"Organization",name:"TravelBot",logo:{"@type":"ImageObject",url:"https://cdn.earthroulette.com/travelbot/logo.png"}},...n.value.created_at?{datePublished:n.value.created_at}:{},...n.value.updated_at||n.value.created_at?{dateModified:n.value.updated_at||n.value.created_at}:{},mainEntityOfPage:{"@type":"WebPage","@id":a},articleSection:"Travel Guides",wordCount:((U=n.value.itinerary)==null?void 0:U.length)||2e3},{"@context":"https://schema.org","@type":"TouristTrip",name:`${n.value.name} 7-Day Trip`,description:n.value.intro,image:u,url:a,touristType:"Leisure traveler",itinerary:{"@type":"ItemList",numberOfItems:7,itemListElement:[{"@type":"ListItem",position:1,name:"Day 1 - Arrival & Orientation"},{"@type":"ListItem",position:2,name:"Day 2 - Main Attractions"},{"@type":"ListItem",position:3,name:"Day 3 - Cultural Exploration"},{"@type":"ListItem",position:4,name:"Day 4 - Local Experiences"},{"@type":"ListItem",position:5,name:"Day 5 - Day Trip"},{"@type":"ListItem",position:6,name:"Day 6 - Hidden Gems"},{"@type":"ListItem",position:7,name:"Day 7 - Departure"}]}}]});return Xe({script:[{type:"application/ld+json",innerHTML:Q(()=>te.value?JSON.stringify(te.value):"")}]}),(u,a)=>{var Ie;const U=Wn,M=jn,Je=Gn,w=Kn,et=ms,se=fs,fe=xs,re=ds,Ae=Is,ke=Ks,tt=so,Se=Ro,nt=Zo,Pe=ps;return d(),_("div",null,[N(U),t("div",na,[t("div",sa,[r(n)?(d(),ge(M,{key:0,breadcrumbs:[{label:"Itineraries",href:"/itinerary"},{label:`${r(n).name} Itinerary`}]},null,8,["breadcrumbs"])):pe("",!0),r(x)&&!r(n)?(d(),_("div",oa,[N(Je,{size:"lg",text:"Loading itinerary..."})])):r(y)?(d(),_("div",aa,[t("div",ia,[a[1]||(a[1]=t("svg",{xmlns:"http://www.w3.org/2000/svg",class:"stroke-current flex-shrink-0 h-6 w-6",fill:"none",viewBox:"0 0 24 24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),t("span",null,T(r(y)),1)]),N(w,{to:"/itinerary",class:"btn btn-sm btn-outline mt-4"},{default:q(()=>a[2]||(a[2]=[F(" Back to Itineraries ")])),_:1})])):r(n)?(d(),_("div",ra,[t("div",la,[t("img",{src:`https://cdn.earthroulette.com/ER/bg/${r(h)}-bg.jpg?w=1200&q=80`,alt:`${r(n).name} landscape`,class:"w-full h-64 object-cover object-center",fetchpriority:"high"},null,8,ca),a[3]||(a[3]=t("div",{class:"absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"},null,-1)),t("div",da,[t("h1",ua,T(r(n).name)+" 7-day Itinerary ",1),t("div",pa,[N(et,{title:`${r(n).name} 7-day Itinerary`,text:`Check out this amazing 7-day itinerary for ${r(n).name}`},null,8,["title","text"]),N(se,{itinerary:r(n)},null,8,["itinerary"])])])]),t("div",ma,[a[4]||(a[4]=t("h3",{class:"text-lg font-semibold mb-2"}
82," Table of Contents ",-1)),t("ul",fa,[(d(),_(oe,null,ae(g,(V,Ue)=>t("li",{key:Ue},[t("a",{href:V.href,class:"flex items-center hover:text-primary-focus hover:underline transition-colors"},[t("span",ga,T(V.icon),1),F(" "+T(V.label),1)],8,ha)])),64))])]),t("div",_a,[t("div",ya,[a[5]||(a[5]=t("h2",{id:"intro",class:"card-title text-2xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-info"}),F(" Introduction ")],-1)),t("p",null,T(r(n).intro),1)])]),t("div",va,[t("div",ba,[a[6]||(a[6]=t("h2",{id:"itinerary",class:"card-title text-2xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-map"}),F(" Daily Itinerary ")],-1)),t("div",{class:"prose max-w-none itinerary-content",innerHTML:r(ee)},null,8,wa)])]),t("div",Ta,[a[7]||(a[7]=t("div",{class:"card-body pb-0"},[t("h2",{id:"gallery",class:"card-title text-2xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-image"}),F(" Gallery ")])],-1)),N(re,null,{default:q(()=>[N(fe,{"place-id":r(h),place:r(n).name},null,8,["place-id","place"])]),_:1})]),t("div",xa,[t("div",Ea,[a[8]||(a[8]=t("h2",{id:"getting",class:"card-title text-2xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-plane"}),F(" Getting There ")],-1)),t("p",null,T(r(n).getting),1),N(re,null,{default:q(()=>[N(Ae,{id:r(h),place:r(n).name},null,8,["id","place"])]),_:1})])]),t("div",Aa,[t("div",ka,[a[9]||(a[9]=t("h2",{id:"hotels",class:"card-title text-2xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-home"}),F(" Hotels ")],-1)),t("p",null,T(r(n).hotels),1)]),N(re,null,{default:q(()=>[N(ke,{"place-id":r(h),place:r(n).name},null,8,["place-id","place"])]),_:1})]),N(tt,{destination:r(n).name},null,8,["destination"]),r(P).length>0?(d(),_("div",Sa,[t("div",Ia,[a[11]||(a[11]=t("h2",{class:"card-title text-2xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-map-pin"}),F(" More Travel Inspiration ")],-1)),t("div",Ca,[(d(!0),_(oe,null,ae(r(P),V=>(d(),ge(w,{key:V.place_id,to:`/itinerary/${V.place_id}`,class:"group block p-4 border border-base-300 rounded-lg hover:border-primary transition-colors"},{default:q(()=>[t("div",La,[t("img",{src:`https://cdn.earthroulette.com/ER/bg/${V.place_id}-bg.jpg?w=100&q=80`,alt:V.name,class:"w-16 h-16 object-cover rounded-lg",loading:"lazy"},null,8,Da),t("div",null,[t("h3",Ra,T(V.name),1),t("p",$a,T(V.intro.substring(0,80))+"... ",1)])])]),_:2},1032,["to"]))),128))]),t("div",Oa,[N(w,{to:"/itinerary",class:"btn btn-outline"},{default:q(()=>a[10]||(a[10]=[F(" Explore All Destinations ")])),_:1})])])])):pe("",!0),t("div",Ma,[N(w,{to:"/itinerary",class:"btn btn-outline"},{default:q(()=>a[12]||(a[12]=[t("span",{class:"i-lucide-arrow-left mr-2"},null,-1),F(" Back to Itineraries ")])),_:1}),t("button",{class:"btn btn-primary",onClick:i},a[13]||(a[13]=[t("span",{class:"i-lucide-arrow-up mr-2"},null,-1),F(" Back to Top ")]))])])):pe("",!0)]),t("div",Na,[t("div",Pa,[r(n)?(d(),_("div",Ua,[t("div",Fa,[t("h3",Ha,[a[14]||(a[14]=t("span",{class:"i-lucide-cloud"},null,-1)),F(" Weather in "+T(r(n).name),1)]),a[16]||(a[16]=t("p",{class:"text-sm text-gray-400"}," Current season information and tips ",-1)),N(re,null,{fallback:q(()=>a[15]||(a[15]=[t("div",{class:"bg-base-200 p-4 rounded-lg mt-2 animate-pulse"},[t("div",{class:"h-6 bg-base-300 rounded w-3/4 mb-3"}),t("div",{class:"h-4 bg-base-300 rounded w-full mb-2"}),t("div",{class:"h-4 bg-base-300 rounded w-5/6"})],-1)])),default:q(()=>[N(Se,{destination:r(n).name},null,8,["destination"])]),_:1})])])):pe("",!0),r(n)?(d(),_("div",za,[t("div",Ba,[a[18]||(a[18]=t("h3",{class:"card-title text-xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-check-square"}),F(" Trip Checklist ")],-1)),N(re,null,{fallback:q(()=>a[17]||(a[17]=[t("div",{class:"bg-base-200 p-4 rounded-lg mt-2 animate-pulse"},[t("div",{class:"h-5 bg-base-300 rounded w-full mb-3"}),t("div",{class:"h-5 bg-base-300 rounded w-full mb-3"}),t("div",{class:"h-5 bg-base-300 rounded w-full mb-3"}),t("div",{class:"h-5 bg-base-300 rounded w-3/4"})],-1)])),default:q(()=>[N(nt,{destination:r(n).name},null,8,["destination"])]),_:1})])])):pe("",!0),t("div",Wa,[t("div",ja,[a[21]||(a[21]=t("h3",{class:"card-title text-xl text-gray-300 flex items-center gap-2"},[t("span",{class:"i-lucide-message-circle"}),F(" Travel Assistant ")],-1)),t("p",Ga," Have questions about "+T(((Ie=r(n))==null?void 0:Ie.name)||"this destination")+"? ",1),N(re,null,{default:q(()=>[t("div",qa,[a[20]||(a[20]=t("p",{class:"mb-3"}," Ask our AI assistant about your trip ",-1)),t("div",Va,[Qe(t("input",{"onUpdate:modelValue":a[0]||(a[0]=V=>rn(f)?f.value=V:null),type:"text",placeholder:"E.g., What should I pack?",class:"input input-bordered flex-grow mr-2",onKeyup:an(L,["enter"])},null,544),[[on,r(f)]]),t("button",{class:"btn btn-primary btn-sm",onClick:L},a[19]||(a[19]=[t("span",{class:"i-lucide-send mr-1"},null,-1),F(" Ask ")]))])])]),_:1})])])])])]),N(Pe)])}}}),oi=Tt(Ya,[["__scopeId","data-v-3c33708d"]]);export{oi 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.