PageSourceSearch

https://www.aurinkomatkat.fi/v7-assets/HotelCardTags-D1Dm7tIY.js

js aurinkomatkat.fi collected 2026-10-02 12:09:47 UTC 45,606 bytes, 2 lines download raw bytes

1import{j as s}from"./jsx-runtime-u17CrQMm.js";import{I as mt,s as ft,e as ht,f as Ve,T as V,h as pt,u as _t,i as gt,j as $e,k as vt,p as pe,l as yt,m as Dt,P as _e,R as ge,n as xt,o as St,q as bt,r as Ct,t as At,v as Tt,w as jt,x as Rt,y as Ft,z as ve,G as Et,A as Lt,B as ye,D as De,E as ie,F as Ue,H as It,J as ze,K as We,L as Pt,M as wt,N as Mt,O as ce,Q as Nt,U as kt,V as Ot,W as Bt,X as Ht,Y as Vt,Z as J,_ as $t,$ as Ut,a0 as Ge,a1 as xe,a2 as Se,a3 as Ke,a4 as zt,a5 as ue,a6 as Wt,a7 as Gt}from"./useBackNavigation-CzgSd-qB.js";import{b as Kt}from"./InputStateContainer-DL8dBE2A.js";import{u as q,S as z,a as qt,b as qe,D as Ye,A as Yt,I as Xt,c as Zt,g as Jt,P as se,i as be,d as Ce,e as Qt,f as ea,M as ta,h as aa}from"./CardButton-Blka_QZJ.js";import{c as O}from"./clsx-B-dksMZM.js";import{r as g}from"./index-pqHMnE8_.js";import{C as Xe}from"./Checkbox-fde55xXv.js";import{g as B,L as ra,r as sa}from"./LinkButton-CTuYtjHG.js";import{u as na,c as ia,A as oa}from"./components-CGEnrr8f.js";import{b as la,u as Ze}from"./NotificationTitle-DizRlyDE.js";import{D as ca,a as ua}from"./NotificationBannerSection-D34E9KgJ.js";import{g as da}from"./filterUtils-LKpoGasO.js";import{a as ma}from"./typeUtils-CIYdOskB.js";import{B as Ae,f as fa,D as ha,a as pa,b as _a,u as Je,e as ga}from"./useGTMDataLayer-CI1nTD0j.js";import{c as Te,g as je,d as va,i as ya}from"./dateUtils-hoMfGBC-.js";import{f as oe,M as Da,A as xa,D as Re,e as Fe,h as Qe,i as Sa,c as ba,d as Ca}from"./searchStorage-CQyx0C8L.js";import{B as te}from"./Button-Blxx4S1B.js";import{d as Y}from"./index-CZwCpACh.js";import{a as de,b as Aa,i as Ta,H as et,D as ja}from"./SkeletonBlock-BEWGiT8m.js";import{R as Ra}from"./index-xMFAE1VO.js";import{T as Fa}from"./TextInput-DdIHN4dt.js";import{c as Ea}from"./InterfaceInfoWarningOutline-DNoZRtfK.js";import{I as La}from"./IconButton-DafokFAu.js";import{H as ae}from"./Heading-Bh7m8jgq.js";import{T as k,a as me}from"./Text-CPoPSGb0.js";import{D as Q}from"./DropDownMenuRow-D-w4SjGd.js";import{C as Ia}from"./metaTags-Coly3ytP.js";import{B as Pa}from"./BasicLayoutSection-D2uq6h8Q.js";import{C as wa}from"./Card-B79l7y6J.js";import{d as Ma,R as Na,s as ka}from"./RawRichText-DrMm-BM-.js";const Oa="_searchForm_a16wy_1",Ba="_searchFormCompact_a16wy_8",Ha="_form_a16wy_15",Va="_formSmall_a16wy_22",$a="_mobileErrors_a16wy_28",ee={searchForm:Oa,searchFormCompact:Ba,form:Ha,formSmall:Va,mobileErrors:$a},Ua=()=>{const{errorMessages:e}=q(),t=Object.keys(e);return t.length?s.jsx("div",{className:ee.mobileErrors,children:t.map(n=>s.jsx(Kt,{id:`${n}`,errorText:e[n],"aria-live":"polite"},n))}):null},Qs=({isCompact:e,searchAction:t,buttonGroupClick:n,dataAttributes:a,children:r})=>{const o=O(ee.searchForm,{[ee.searchFormCompact]:e}),u=O(ee.form,{[ee.formSmall]:e});return s.jsxs("div",{className:o,...a,children:[s.jsx(mt,{className:u,onClick:n,isCompact:e,children:r}),s.jsx(Ua,{}),t]})},en=({onChange:e})=>{const t=B("SearchForm"),{flexDates:n,setFlexDates:a}=q(),r=g.useCallback(o=>{var u;a((u=o.target)==null?void 0:u.checked),e==null||e()},[e,a]);return s.jsx("div",{className:ft.flexDateContainer,children:s.jsx(Xe,{name:"flex",value:"1",checked:n,onChange:r,label:t("flexDates")})})},za=(e,t,n)=>{const a=Array.isArray(t)?t:[t];if(n){const r=new Set(e.map(o=>o.value));return[...e,...a.filter(o=>!r.has(o.value))]}return e.some(r=>a.some(o=>o.value===r.value))?e.filter(r=>!a.some(o=>o.value===r.value)):[...e,...a]},Wa=e=>(t,n)=>{e(a=>za(a,t,n))},fe=e=>{const t=e.find(r=>r.value===z);if(t)return[t];const n=new Set(e.map(r=>r.value)),a=new Set(e.map(r=>r.children.every(u=>n.has(u))?r.children:[]).flat());return e.filter(r=>!a.has(r.value))},Ga={"–":"-"};function Ka(e){return e.split("").map(t=>Ga[t]||t).join("")}const G=(e="")=>Ka(e.normalize("NFD").replace(/[^a-z0-9\s-–]/gi,"").replace(/[\u0300-\u036f]/g,"")),Ee=(e,t)=>{const[n,a]=g.useState(""),r=g.useDeferredValue(n||(t==null?void 0:t.externalFilter)||""),{additionalFilterRuleFunction:o}=t||{},u=l=>{a(l.target.value)},f=g.useMemo(()=>{const l=G(r).toLowerCase().trim();return r&&!l?[]:e.filter(h=>{const v=G(h.label).toLowerCase(),j=h.helperText?G(h.helperText).toLowerCase():"",b=h.searchableText?G(h.searchableText).toLowerCase():"";return v.includes(l)||j.includes(l)||b.includes(l)||o&&o(h,l)})},[r,e,o]),i=g.useCallback(l=>{if(!l||!r)return l;const h=G(l),v=G(r).trim();if(!h||!v)return l;const j=new RegExp(v,"gi"),b=Array.from(h.matchAll(j));if(b.length===0)return l;const x=[];let F=0;return b.forEach(C=>{const d=C.index,p=d+v.length;let y=0,_=0,D=0;for(let A=0;A<l.length;A++){const T=G(l[A]).length;D===d&&(_=A),D+=T,D===p&&(y=A+1)}x.push(l.slice(F,_)),x.push(s.jsx("mark",{children:l.slice(_,y)},_)),F=y}),x.push(l.slice(F)),x},[r]),c=g.useCallback(()=>a(""),[a]),m=f.length===0&&r.length>0;return{filter:n,handleFilterChange:u,clearFilter:c,filteredItems:f,highlightMatch:i,noResults:m}},Le="input, button",qa=e=>{const[t,n]=g.useState(0),[a,r]=g.useState(e);a!==e&&(r(e),n(0));const o=g.useCallback(i=>{var h;const c=Array.from(i.currentTarget.querySelectorAll(Le));if(!c.length)return;const m=c.indexOf(document.activeElement);let l;switch(i.key){case"ArrowDown":l=m<0?0:(m+1)%c.length;break;case"ArrowUp":l=m<0?c.length-1:(m-1+c.length)%c.length;break;case"Home":l=0;break;case"End":l=c.length-1;break;default:return}i.preventDefault(),(h=c[l])==null||h.focus()},[]),u=g.useCallback(i=>{const m=Array.from(i.currentTarget.querySelectorAll(Le)).indexOf(i.target);m>=0&&n(m)},[]),f=g.useCallback(i=>({tabIndex:i===t?0:-1}),[t]);return{handleKeyDown:o,handleFocus:u,getListItemProps:f}},Ya=(e,t)=>{const n=Y.useTranslations("SearchForm"),[a,r]=g.useState(null),o=g.useRef(null);return g.useEffect(()=>(o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{r(n("resultCount",{count:e.length}))},e.length===0?0:t),()=>{o.current&&clearTimeout(o.current)}),[e,n,t]),{resultCountMessage:a}},Xa="_listContainer_ul8ss_56",Za="_list_ul8ss_56",Ja="_listItem_ul8ss_66",Qa="_listHeader_ul8ss_71",er="_subItem_ul8ss_75",tr="_inputRow_ul8ss_79",ar="_selectedValues_ul8ss_86",rr="_selectedValuesCompact_ul8ss_89",sr="_heading_ul8ss_97",nr="_tags_ul8ss_104",ir="_tagsCompact_ul8ss_116",or="_listSelectedTag_ul8ss_121",lr="_tagWrapperVisible_ul8ss_126",cr="_tagWrapperNotVisible_ul8ss_129",ur="_overflowTagButton_ul8ss_136",dr="_overflowTagButtonHidden_ul8ss_145",mr="_listNoFilteredResults_ul8ss_152",fr="_noResultsIcon_ul8ss_161",I={listContainer:Xa,list:Za,listItem:Ja,listHeader:Qa,subItem:er,inputRow:tr,selectedValues:ar,selectedValuesCompact:rr,heading:sr,tags:nr,tagsCompact:ir,listSelectedTag:or,tagWrapperVisible:lr,tagWrapperNotVisible:cr,overflowTagButton:ur,overflowTagButtonHidden:dr,listNoFilteredResults:mr,noResultsIcon:fr},hr=({children:e,...t})=>s.jsx("ul",{className:I.list,...t,children:e}),pr=({className:e,children:t})=>{const n=O(I.listContainer,e);return s.jsx("div",{className:n,children:t})},_r=({filter:e,onFilterChange:t,label:n,focusOnMount:a,clearFilter:r,...o})=>{const u=B("SearchFilters"),f=g.useRef(null);return g.useEffect(()=>{a&&f.current&&f.current.focus()},[]),s.jsx(Fa,{ref:f,name:"filter",label:n,leftChild:s.jsx(de,{}
1),value:e,onChange:t,autoComplete:"off",rightChild:!!e&&s.jsx(La,{onClick:r,size:"small","aria-label":u("clear"),children:s.jsx(Ea,{})}),...o})},gr=({title:e,description:t})=>s.jsxs(Q,{className:I.listNoFilteredResults,role:"alert",children:[s.jsx(ht,{className:I.noResultsIcon}),s.jsxs("div",{children:[s.jsx(ae,{variant:"mediumBold",children:e}),s.jsx(k,{variant:"tinyRegular",children:t})]})]}),Ie=({size:e="large",children:t})=>{const n=e==="medium"?"mediumBold":"largeSemibold",a=e==="medium"?"h4":"h3";return s.jsx("li",{children:s.jsx(Q,{children:s.jsx(ae,{className:I.listHeader,variant:n,as:a,children:t})})})},vr=({children:e,items:t,isCompact:n,wrapperClassName:a})=>{const r=O(I.selectedValues,{[I.selectedValuesCompact]:n},a);return s.jsx(Aa,{isOpen:t&&t.length>0,children:s.jsx("div",{className:r,children:e})})},yr=({children:e,clearAllFunction:t,className:n,isCompact:a})=>{const r=B("ListComponent");return a?null:s.jsxs("div",{className:O(I.heading,n),children:[e,t&&s.jsxs(te,{onClick:t,variant:"supplementary",size:"small",children:[s.jsx(Ve,{})," ",r("clear")]})]})},Dr=({isHidden:e=!1,children:t})=>{const n=O({[I.tagWrapperVisible]:!e,[I.tagWrapperNotVisible]:e});return s.jsx("span",{className:n,children:t})},Pe=15,xr=({items:e,isCompact:t,toggleItem:n,filterFunction:a,maxRows:r,tagListClassName:o})=>{const u=B("ListComponent"),f=a?a(e):e,i=g.useRef(null),[c,m]=g.useState(0),[l,h]=g.useState(-1),[v,j]=g.useState(null),b=g.useMemo(()=>f.map(d=>d.value).join("|"),[f]),x=g.useCallback(()=>{const d=i.current;if(!d)return;if(!f.length){m(0),h(-1);return}const p=Array.from(d.querySelectorAll('[data-list-tag="true"]'));if(p.length===0){m(0),h(-1);return}const y=v!==b,_=r??2,D=[],A=[];for(const R of p){const w=R.offsetTop;let L=D.findIndex(P=>Math.abs(P-w)<=Pe);L===-1&&(D.push(w),L=D.length-1),A.push(L)}if(D.length<=_){m(R=>R!==0?0:R),h(R=>R!==-1?-1:R);return}let T=0,E=-1;for(let R=0;R<A.length;R++)A[R]>=_&&(T++,E===-1&&(E=R));if(T===c&&E===l){const R=d.querySelector("[data-overflow-tag]");if(R&&T>0&&E!==-1){const w=R.offsetTop;D.findIndex(P=>Math.abs(P-w)<=Pe)>=_&&E>0&&(E--,T++)}}y||(T=Math.max(T,c),E!==-1&&l!==-1&&(E=Math.min(E,l))),m(R=>R!==T?T:R),h(R=>R!==E?E:R),j(b)},[f.length,l,b,r,v,c]);g.useLayoutEffect(()=>{x()},[x]),g.useEffect(()=>{const d=i.current;if(!d||typeof ResizeObserver>"u")return;let p=null;const y=new ResizeObserver(()=>{p&&cancelAnimationFrame(p),p=requestAnimationFrame(()=>{x()})});return y.observe(d),()=>{p&&cancelAnimationFrame(p),y.disconnect()}},[x]);const F=O(I.overflowTagButton,{[I.overflowTagButtonHidden]:c<=0}),C=O(I.tags,{[I.tagsCompact]:t},o);return!e||e.length===0?null:s.jsxs("div",{className:C,ref:i,style:{"--max-rows":r},children:[f.map((d,p)=>s.jsx(Dr,{isHidden:l!==-1&&p>=l,children:s.jsx("span",{"data-list-tag":"true",children:s.jsx(V,{className:I.listSelectedTag,onClick:()=>n(d),type:"selection",size:"default",ariaLabel:`${u("remove")} ${d.label}`,children:d.label})})},d.value)),s.jsx(V,{type:"selection",className:F,dataAttributes:{"data-overflow-tag":!0},children:u("others",{others:c})})]})},le=({item:e,label:t,name:n,helperText:a,isSubItem:r,onChange:o,selected:u,...f})=>{const i=O(I.listItem,{[I.subItem]:r}),c=m=>{o(e,m)};return s.jsx("li",{children:s.jsx(Q,{className:i,children:s.jsx(Xe,{helpTextClassName:I.helperText,inputRowClassName:I.inputRow,name:n,value:e.value,label:t||e.label,hideHelperIcon:!0,checked:u,helperText:a,onChange:c,...f})})})},Sr=(e,t)=>g.useMemo(()=>e.filter(n=>t.arrivalLocations.includes(n.value)||n.value===z),[e,t]),tt=e=>{const t=g.useMemo(()=>new Set(e.map(a=>a.value)),[e]),n=g.useMemo(()=>t.has(z),[t]);return{selectedCodes:t,isAllResortsSelected:n}},br=(e,t,n)=>{const{selectedCodes:a,isAllResortsSelected:r}=tt(t),o=g.useMemo(()=>pt(n),[n]),u=g.useCallback(c=>{const m=c.map(l=>a.has(l)?o.get(l):null).filter(Boolean);e(m)},[e,a,o]),f=g.useCallback(c=>{if(r&&c.value===z)e(t);else if(c.parentIds.some(l=>a.has(l)&&l!==z)){u([...c.parentIds,c.value]);const l=c.parent?o.get(c.parent):null;if(l){const h=l.children.filter(v=>v!==c.value).map(v=>o.get(v)).filter(Boolean);h.length>0&&e(h,!0)}}else r&&u([z]),e(c)},[e,u,r,t,a,o]),i=g.useCallback((c,m)=>{if(!c)return;u(c.parentIds);const l=[],h=j=>{var b;l.push(j),(b=j.children)==null||b.forEach(x=>{const F=o.get(x);F&&h(F)})};h(c);const v=Array.from(new Set(l));e(v,m==null?void 0:m.target.checked)},[e,o,u]);return{handleChange:f,handleSelectSubTree:i,selectedCodes:a,isAllResortsSelected:r}},Cr="_texts_1u2q1_56",Ar="_helperText_1u2q1_67",we={texts:Cr,helperText:Ar}
1,Tr=({arrival:e,tabIndex:t})=>{const{isDynamic:n,onCrossLinkSearch:a}=q(),{setOpenModalId:r}=qt();if(!a)return null;const o=()=>{const u=n?qe:Ye;r(""),a(u,[e])};return s.jsx("li",{children:s.jsx(Q,{children:s.jsxs(ra,{className:we.texts,onClick:o,tabIndex:t,children:[s.jsx(k,{as:"div",variant:"mediumBold",children:e.label}),s.jsx(k,{as:"div",variant:"tinyRegular",className:we.helperText,children:e.helperText})]})})})},jr=({arrivals:e,getListItemProps:t,startIndex:n,isDynamic:a})=>{const r=B("SearchForm");return e!=null&&e.length?s.jsxs(s.Fragment,{children:[s.jsx("li",{children:s.jsx(Q,{children:s.jsx(ae,{as:"h4",variant:"largeSemibold",children:r(a?"availableAsPackage":"availableAsDynamic",{length:e.length})})})}),e.map((o,u)=>s.jsx(Tr,{arrival:o,...t(n+u)},o.value))]}):null},Rr="_destinationListContainer_u6oq5_1",Fr="_divider_u6oq5_10",Me={destinationListContainer:Rr,divider:Fr},Er=3,Lr=2*1e3,Ir=({arrivalLocations:e,alternateArrivalLocations:t=[],departureLocation:n,selectedItems:a,isDynamic:r,onChange:o,prevSearchesElement:u})=>{const f=B("SearchForm"),{breakpoint:i}=_t(fa,Ae),c=Sr(e,n),{selectedCodes:m}=tt(a),{handleChange:l,handleSelectSubTree:h}=br(o,a,c),v=g.useCallback(S=>{const M=c.find($=>$.value===S.value);M&&(M.children.length?h(M):l(M))},[l,h,c]),j=g.useCallback(()=>{o(a)},[a,o]),b=S=>S.level===0,{filter:x,handleFilterChange:F,filteredItems:C,highlightMatch:d,clearFilter:p}=Ee(c,{additionalFilterRuleFunction:b}),{resultCountMessage:y}=Ya(C,Lr),_=g.useMemo(()=>t.filter(S=>S.level>0),[t]),{filteredItems:D}=Ee(_,{externalFilter:x}),A=!!(D!=null&&D.length&&x&&x.length>=Er),T=g.useMemo(()=>x?C.filter(S=>S.level!==0||C.some(M=>M.parentIds.includes(S.value))&&S.value!==z):C,[x,C]),E=!T.length&&!D.length,N=g.useMemo(()=>new Set(T.map(S=>S.value)),[T]),{handleKeyDown:R,handleFocus:w,getListItemProps:L}=qa(x),P="arr-list",Z=S=>{if(S.key==="ArrowDown"&&!E){S.preventDefault();const M=document.querySelector(`#${P} input, #${P} button`);M&&M.focus()}};let W=-1;const H=()=>(W++,W),X=!!x,re=!X&&!!u;return s.jsxs(pr,{className:Me.destinationListContainer,children:[s.jsx(Ra,{children:s.jsx("span",{id:"accessible-input-label",children:f("resultsUpdatedOnWrite")})}),s.jsx(_r,{label:f("countryRegionOrCity"),filter:x,onFilterChange:F,onKeyDown:Z,focusOnMount:i!==Ae&&!Ta(),clearFilter:p,"aria-describedby":"accessible-input-label"}),re&&u,s.jsxs(vr,{items:a,isCompact:X,children:[s.jsx(yr,{isCompact:!!x,clearAllFunction:j,children:s.jsx(ae,{as:"h3",variant:"largeSemibold",children:f("searching")})}),s.jsx(xr,{items:a,filterFunction:fe,toggleItem:v,isCompact:!!x,maxRows:2}),s.jsx(et,{size:"tiny",className:Me.divider})]}),s.jsx(Yt,{message:y,autoClear:!0}),s.jsxs(hr,{id:P,onKeyDown:R,onFocus:w,"aria-label":f("countryRegionOrCity"),"aria-orientation":"vertical",role:"toolbar",children:[T.map((S,M)=>{var he;if(S.level===0){const lt=S.children.length>1,ct=x?S.label.toLowerCase().includes(G(x).toLowerCase().trim()):!0,ut=(lt||!r)&&ct;return S.value===z?s.jsx(le,{label:f("selectAllResorts"),item:S,name:"arr",onChange:h,selected:m.has(S.value),...L(H())},S.value):s.jsxs(g.Fragment,{children:[s.jsx(Ie,{children:d(S.label)}),ut&&s.jsx(le,{label:s.jsxs(s.Fragment,{children:[f("selectAllFromCountry")," ",d(S.label)]}),item:S,name:"arr",onChange:h,selected:S.children.every(dt=>m.has(dt))||m.has(S.value),...L(H())})]},S.value)}const $=S.isMultiCentre&&!((he=T[M-1])!=null&&he.isMultiCentre)?s.jsx(Ie,{size:"medium",children:f("multiCentres")}):null,U=S.level>1&&N.has(S.parent||"");return s.jsxs(s.Fragment,{children:[$,s.jsx(le,{name:"arr",item:S,label:d(S.label),isSubItem:U,helperText:d(S.helperText),selected:m.has(S.value)||m.has(S.parent||""),onChange:S.children.length?h:l,...L(H())},S.value)]})}),A&&s.jsx(jr,{arrivals:D,startIndex:H(),getListItemProps:L,isDynamic:r}),E&&s.jsx("li",{children:s.jsx(gr,{title:f("noResults"),description:f("searchByCountryCityOrRegion")})})]})]})},Pr=({isOpen:e,toggleDialog:t,onCloseAutoFocus:n,arrivalLocations:a,alternateArrivalLocations:r,arrivals:o,onChange:u,departureLocation:f,isDynamic:i,dialogFooterContent:c,prevSearchesElement:m})=>{const l=B("SearchForm");return s.jsxs(ja,{className:gt.destinationDialog,open:e,onOpenChange:t,onCloseAutoFocus:n,children:[s.jsx(ha,{title:l("destination")}),s.jsx(pa,{children:s.jsx(Ir,{arrivalLocations:a,alternateArrivalLocations:r,selectedItems:o,onChange:u,departureLocation:f,isDynamic:i,prevSearchesElement:m})}),s.jsx(_a,{isRightAligned:!0,children:c})]})}
1,at="arr",Ne=2,tn=({arrivalLocations:e,alternateArrivalLocations:t,nextModalId:n,isLastFieldInGroup:a,dialogFooterContent:r,onDialogToggle:o,prevSearchesElement:u})=>{const f=B("SearchForm"),{arrivals:i,setArrivals:c,departureLocation:m,errorMessages:l,isDynamic:h,dialogCloseCallback:v}=q(),{inputRef:j,isDialogOpen:b,toggleDialog:x,handleCloseAutoFocus:F}=$e({modalId:at,nextModalId:n,onDialogToggle:o}),C=Wa(c),d=g.useMemo(()=>fe(i),[i]),p=()=>d.length>2?`${d.slice(0,Ne).map(_=>_.label).join(", ")} ${f("andOthers",{others:d.length-Ne})}`:d.map(y=>y.label).join(", ");return s.jsxs(s.Fragment,{children:[s.jsx(Pr,{isOpen:b,toggleDialog:y=>{y||v==null||v(),x(y)},onChange:C,departureLocation:m,onCloseAutoFocus:F,isDynamic:h,arrivalLocations:e,alternateArrivalLocations:t,arrivals:i,dialogFooterContent:r,prevSearchesElement:u}),s.jsx(Xt,{id:Zt,className:vt.searchFormInputButton,ref:j,"aria-haspopup":"dialog","aria-expanded":b,icon:s.jsx(de,{}),label:f("destination"),errorText:l.destination,displayValue:p(),onClick:()=>x(!0),isInGroup:!0,isLastFieldInGroup:a})]})};function rt(){var c;const[e,t]=la(),n=na(),a=ia(),r=g.useMemo(()=>pe(e),[e]),o=g.useMemo(()=>{var m;if((m=n.location)!=null&&m.search){const l=new URLSearchParams(n.location.search);return pe(l)}return r},[(c=n.location)==null?void 0:c.search,r]),u=g.useMemo(()=>{const l=!n.location||n.location.pathname===a.pathname&&n.location.search===a.search?"idle":n.state;return{state:l,params:l!=="idle"?o.params:void 0,validation:l!=="idle"?o.validation:void 0}},[n.location,n.state,a.pathname,a.search,o.params,o.validation]),f=g.useCallback(m=>{const l={...o.params,...m};if(yt(o.params,l))return;const h=Dt(l),v=new URLSearchParams(e);new Set(_e).forEach(b=>v.delete(b)),h.forEach((b,x)=>{v.append(x,b)}),v.delete(ge),t(v,{preventScrollReset:!0,flushSync:!0})},[o.params,e,t]),i=g.useCallback(()=>{const m=new URLSearchParams(e);new Set(_e).forEach(h=>m.delete(h)),m.delete(ge),t(m,{preventScrollReset:!0})},[e,t]);return{params:r.params,validation:r.validation,isReady:r.isValid,navigation:u,updateParams:f,reset:i}}const an=({departureLocation:e,arrivals:t,duration:n,departureDate:a,dateRange:r,group:o,searchType:u,flexDates:f})=>{const i=new URLSearchParams,c=st(u);if(e&&i.set("dep",e.value),t.length?fe(t).forEach(h=>{i.append("arr",h.value)}):c||i.append("arr",z),c||(n&&i.set("dur",String(n.value)),a&&i.set("dd",a.toString()),f&&i.set("flex",f.toString())),c&&(r!=null&&r.from&&i.set("dd",r.from.toString()),r!=null&&r.from&&(r!=null&&r.to))){const l=r.from.until(r.to).days;i.set("dur",String(l))}return o&&i.set("g",o),i.set("t",u),`${c?ca:ua}?${i.toString()}`},st=e=>e===Ye,rn=e=>e===qe,wr=e=>{var a,r,o,u;const t=(r=(a=e==null?void 0:e.outbound)==null?void 0:a.mainRoute)==null?void 0:r.flightCode,n=(u=(o=e==null?void 0:e.inbound)==null?void 0:o.mainRoute)==null?void 0:u.flightCode;return[t,n].filter(Boolean).join("_")},Mr=e=>{var t,n,a,r;return[(n=(t=e==null?void 0:e.outbound)==null?void 0:t.mainRoute)==null?void 0:n.cabinClassCode,(r=(a=e==null?void 0:e.inbound)==null?void 0:a.mainRoute)==null?void 0:r.cabinClassCode].filter(Boolean).join("_")},sn=({event:e,params:t,totalResults:n,itemId:a})=>{const r={segment_est:St(t.g),search_totalhits:n,destination_count:t.arr.length===1&&t.arr[0]==="ALL"?"All":t.arr.length,hotel_roomcount:xt(t.g).length},{total:o}=bt([Ct(t.g)]),u=At(t.g),f=e.cardData.map(({result:i,index:c})=>{var p,y,_,D,A,T,E,N,R,w,L,P,Z,W,H,X,re,S,M;const m=((y=(p=i.routing.outbound)==null?void 0:p.mainRoute)==null?void 0:y.departureLocal)??((D=(_=i.routing.inbound)==null?void 0:_.mainRoute)==null?void 0:D.departureLocal),l=Tt(m),h=jt(m),v=Rt(t.t,i.type==="MULTICENTRE"),j=(A=i.price.durations)==null?void 0:A.reduce(($,U)=>$+U,0),b=wr(i.routing),x=Ft((N=(E=(T=i.routing)==null?void 0:T.outbound)==null?void 0:E.mainRoute)==null?void 0:N.departureLocal,(L=(w=(R=i.routing)==null?void 0:R.inbound)==null?void 0:w.mainRoute)==null?void 0:L.departureLocal),F=Mr(i.routing),C={index:c+1,affiliation:Lt,item_id:a,item_brand:Et,item_category:v,item_category2:h,item_category3:i.destinationInfo.country.name,item_category4:l,quantity:o,price:i.price.lowestAdultPrice,item_list_id:1,item_list_name:"search result page",trip_value:i.price.totalPrice,trip_value_orig:i.price.originalPrice??i.price.totalPrice,trip_duration:j,trip_flights:b,trip_datehour:x,flight_cabin:F,pass_combination:u},d=((Z=(P=i.routing.outbound)==null?void 0:P.feederRoute)==null?void 0:Z.departureStation)??((H=(W=i.routing.outbound)==null?void 0:W.mainRoute)==null?void 0:H.departureStation);if(i.type==="ACCOM"){const $=ve(i.destinationInfo.country.name,i.accom.resortAtcomCode,m,d,(re=(X=i.routing.outbound)==null?void 0:X.mainRoute)==null?void 0:re.arrivalStation);return{...C,item_name:$,item_category5:i.accom.name,item_variant:i.accom.atcomCode,hotel_rating:De(i.accom.rating),hotel_rating_user:ye(i.accom.customerReviewAverage)}}else if(i.type==="MULTICENTRE"){const $=ve(i.destinationInfo.country.name,i.multicentreAtcomCode,m,d,(M=(S=i.routing.outbound)==null?void 0:S.mainRoute)==null?void 0:M.arrivalStation);return{...C,item_name:$,item_category5:i.accoms.map(U=>U.name).join(" — "),item_variant:i.multicentreCode,hotel_rating:i.accoms.map(U=>De(U.rating)),hotel_rating_user:i.accoms.map(({customerReviewAverage:U})=>ye(U))}}else return ma(i)});if(f.length!==0)return{event:"view_item_list",ecommerce:{...r,items:f}}},Nr={favorites:{A4440:"filter_fav_all-inclusive",A440:"filter_fav_pool",A420:"filter_fav_beach",A410:"filter_fav_centrum",star5:"filter_fav_star5",star4:"filter_fav_star4",star3:"filter_fav_star3",star2:"filter_fav_star2",rtgExcellent:"filter_fav_rating_customer_excellent",rtgVeryGood:"filter_fav_rating_customer_very-good",rtgGood:"filter_fav_rating_customer_good",rtgNew:"filter_fav_rating_customer_new",maxprice:"filter_fav_price",discount:"filter_fav_price_offers",ai:"filter_fav_board_all-inclusive",fb:"filter_fav_board_full-board",hb:"filter_fav_board_half-board",bf:"filter_fav_board_breakfast",bo:"filter_fav_board_nothing"},accommodation_and_room:{A420:"filter_acc_location_beach",A410:"filter_acc_location_centrum",A4440:"filter_acc_serv_all-inclusive",A6000:"filter_acc_serv_wifi",A8600:"filter_acc_serv_restaurant",serviceSafe:"filter_acc_serv_safe",serviceParking:"filter_acc_serv_parking",serviceRoomService:"filter_acc_serv_roomservice",A4432:"filter_acc_theme_adult-only",A8750:"filter_acc_theme_family",A4434:"filter_acc_theme_accessible",A7800:"filter_acc_theme_desingboutique",A6005:"filter_acc_theme_local",A6004:"filter_acc_theme_sport",ENV_CERT:"filter_acc_theme_env-cert",ac:"filter_acc_amen_ac",jaak:"filter_acc_amen_fridge",pariv:"filter_acc_amen_doublebed",er
1iv:"filter_acc_amen_singlebed",keittio:"filter_acc_amen_kitchenette",klevy:"filter_acc_amen_hotplates",kahvi:"filter_acc_amen_coffeemaker",keitin:"filter_acc_amen_kettle",mbar:"filter_acc_amen_minibar",mikro:"filter_acc_amen_micro",lamm:"filter_acc_amen_heating",tv:"filter_acc_amen_tv",kuiv:"filter_acc_amen_hairdryer",accomTypeAPT:"filter_acc_type_apartment",accomTypeHTL:"filter_acc_type_hotel",accomTypeHAP:"filter_acc_type_holiday-apartment",accomTypeBGL:"filter_acc_type_bungalow",accomTypeVIL:"filter_acc_type_villa",accomServiceReceptionOpen24h:"filter_acc_serv_24h",mas:"filter_acc_serv_massage",sln:"filter_acc_serv_beautysalon"},pools:{A440:"filter_pool",poolOut:"filter_pool_outdoor",poolIn:"filter_pool_indoor",poolHeat:"filter_pool_heated",A9700:"filter_pool_withrooms",A4150:"filter_pool_children",poolKidsHeat:"filter_pool_children_heated"},destinations:{multicentre:"filter_dest_multicentre"},flights:{CCB:"filter_flights_class_business",odtmorn:"filter_flights_deptime_05-10",odtday:"filter_flights_deptime_11-17",odteve:"filter_flights_deptime_18-21",odtnite:"filter_flights_deptime_22-04",idtmorn:"filter_flights_rettime_05-10",idtday:"filter_flights_rettime_11-17",idteve:"filter_flights_rettime_18-21",idtnite:"filter_flights_rettime_22-04"},child_services:{A8800:"filter_child_acc_club",lkentta:"filter_child_acc_playground",lhuone:"filter_child_acc_playroom",A4150:"filter_child_acc_pool_children",poolKidsHeat:"filter_child_acc_pool_children_heated",vsanky:"filter_child_acc_babycot",lakt:"filter_child_acc_activities",ltuoli:"filter_child_acc_restaurantchairs"},sport_wellness:{gym:"filter_wellness_acc_gym",tns:"filter_wellness_acc_tennis",A450:"filter_wellness_acc_spa",mas:"filter_wellness_acc_massage",sln:"filter_wellness_acc_beauty",A4130:"filter_wellness_dest_hiking",A4200:"filter_wellness_dest_golf",A4120:"filter_wellness_dest_dive",A4315:"filter_wellness_dest_yoga"}},ke=(e,t)=>{const n=Nr[t];if(!n||!Object.keys(n).includes(e))return;const a=n[e];if(a)return{event:"search_filter",type:a}},ne=e=>({event:"search_filter",type:`filter_clear_${e}`}),nn=e=>({event:"search_map",type:e}),kr={"rec-asc":"sort_recom","rec-desc":"sort_recom","price-asc":"sort_price","price-desc":"sort_price","user-asc":"sort_rating_customer","user-desc":"sort_rating_customer","rating-asc":"sort_star_rating","rating-desc":"sort_star_rating","dest-asc":"sort_destination_name","dest-desc":"sort_destination_name"},Or=e=>({event:"search_sort",type:kr[e]}),on=e=>({event:"search_form",type:e}),ln=e=>({event:"search_filter",type:e}),nt=()=>{var C;const{params:e,updateParams:t,navigation:n}=rt(),{pushToDataLayer:a}=Je(),r=((C=n.params)==null?void 0:C.f)??e.f,o=g.useRef(r);o.current=r;const u=(d,p,y)=>{const _=r==null?void 0:r[d];if(!y){if(_&&_.type==="location"){const D=_.values.filter(A=>A!==p);if(D.length===0){const A={...r};delete A[d],t({f:A})}else t({f:{...r,[d]:{type:"location",values:D}}})}return}_&&_.type==="location"?_.values.includes(p)||t({f:{...r,[d]:{type:"location",values:[..._.values,p]}}}):t({f:{...r,[d]:{type:"location",values:[p]}}})},f=(d,p,y)=>{if(y){const _={...o.current};_[d]={type:"checkbox",value:!0},o.current=_,t({f:_});const D=ke(d,p);D&&a(D)}else{const _={...o.current};delete _[d],o.current=_,t({f:_})}},i=(d,p,y)=>{const _=y?parseInt(y,10):void 0;if(_!==void 0&&isNaN(_))return;if(_===void 0){const T={...r};delete T[d],t({f:T});return}const D=d===se.CONNECTION_TIME_MAX?_*60:_;t({f:{...r,[d]:{type:"slider",value:D}}});const A=ke(d,p);A&&a(A)},c=(d,p)=>{if(p===void 0){const y={...r};return delete y[d],{f:y}}return{f:{...r,[d]:{type:"text",value:p}}}},m=(d,p)=>{t(c(d,p))},l=(d,p)=>{if(!be(d))return;if(p!==void 0&&Ce(d)){const D=r==null?void 0:r[d];if(D&&D.type==="location"){const A=D.values.filter(T=>T!==p);if(A.length===0){const T={...r};delete T[d],t({f:T});const E=ne("single");a(E)}else{t({f:{...r,[d]:{type:"location",values:A}}});const T=ne("single");a(T)}}return}const y={...r};delete y[d],t({f:y});const _=ne("single");a(_)},h=d=>{const p=r==null?void 0:r[d];if(!(!p||p.type!=="slider"))return d===se.CONNECTION_TIME_MAX?Math.round(p.value/60):p.value},v=()=>{const p={...o.current}
1[se.SELECTED_DAY],y=p?{[se.SELECTED_DAY]:p}:{};t({f:y});const _=ne("all");a(_)},j=r||{},b=new Set(Object.keys(Object.fromEntries(Object.entries(j).filter(([d,p])=>p.type==="checkbox"&&Jt(p)===!0)))),x=d=>r===void 0?[]:Object.keys(r).filter(be).flatMap(p=>{const y=p,_=r[y];if(!_)return[];if(_.type==="location")return _.values.map(D=>({value:`${p}:${D}`,label:d(y,D)}));if(_.type==="checkbox")return[{value:p,label:d(y,_.value)}];if(_.type==="slider"){const D=h(y);return[{value:`${p}:${D}`,label:d(y,D??_.value)}]}return[]});return{filters:r,checkboxValuesByName:b,getUpdatedTextFilters:c,handleCheckboxFilterChange:f,handleSliderFilterChange:i,handleLocationFilterChange:u,handleTextFilterChange:m,handleRemoveFilter:l,handleClearAllFilters:v,getActiveFilters:x,getActiveFilterList:()=>{const d=B("SearchFilters");return x((p,y)=>{if(Ce(p))return"";const _=da(p);return d(_,{filterValue:y})})},getSliderDisplayValue:h}},cn=e=>{const t=B("SearchForm"),{pushToDataLayer:n}=Je(),{params:a,updateParams:r}=rt(),o=[{label:t("sort.recommended"),value:"rec-desc"},{label:t("sort.cheapest"),value:"price-asc"},{label:t("sort.customerReview"),value:"user-desc"},{label:t("sort.rating"),value:"rating-desc"},{label:t("sort.destinationName"),value:"dest-asc"}],u=[{label:t("sort.recommended"),value:"rec-desc"},{label:t("sort.cheapest"),value:"price-asc"},{label:t("sort.rating"),value:"rating-desc"}],[f,i]=g.useState(a.order||"rec-desc"),c=l=>{i(l),r({order:l});const h=Or(l);n(h)},m=st(e)?u:o;return{sortingValue:f,sortingOptions:m,handleSortingChange:c}},Br=(e,t,n)=>{const{arrivals:a,departureLocation:r,durationValue:o,group:u,searchType:f,filters:i}=n,c=new URLSearchParams;return c.set("startDate",e.toString()),c.set("endDate",t.toString()),f&&c.set("t",f),r&&c.set("dep",r.value),o&&c.set("dur",o),u&&c.set("g",u),a!=null&&a.length&&oe(a).sort().forEach(l=>{c.append("arr",l.value)}),i&&ie(i).sort().forEach(m=>{c.append("f",m)}),c},Hr=e=>{var m,l,h,v,j,b,x,F,C;const t=e.arrivals?oe(e.arrivals):[],n=[`g:${e.group}`,`dep:${(m=e.departureLocation)==null?void 0:m.value}`,`arr:${t.map(d=>d.value).sort().join(",")}`,`dur:${e.durationValue}`,`t:${e.searchType}`,`f:${(l=ie(e.filters??{}).sort())==null?void 0:l.join(",")}`].join("&"),a=Ze({key:n}),r=e.searchType,o=Ue(a),u=(h=a.data)==null?void 0:h.fetchedDateRange,f=g.useMemo(()=>{var d,p,y;if((d=a.data)!=null&&d.fetchedDateRange)return{startDate:(p=a.data)==null?void 0:p.fetchedDateRange.startDate,endDate:(y=a.data)==null?void 0:y.fetchedDateRange.endDate}},[(v=a.data)==null?void 0:v.fetchedDateRange]),i=g.useCallback(d=>{var W;const p=It(d);if(!p||!Qt(e.group))return;const y=r===Re;let _,D;try{_=Temporal.PlainDate.from(p.startDate,{overflow:"reject"}),D=Temporal.PlainDate.from(p.endDate,{overflow:"reject"})}catch{return}const A=e.durationValue||null;if(y&&A&&parseInt(A)>Da||y&&t.length===0||Te(f,{startDate:_,endDate:D})||Te(o,{startDate:_,endDate:D})||!ze(e.searchType)||!We((W=e.departureLocation)==null?void 0:W.value)||r===xa&&(!e.durationValue||!Pt(e.durationValue))||wt(e.group).filter(H=>H.children.some(X=>isNaN(parseInt(X)))).length>0)return;const{startDate:E,endDate:N}=Mt({startDate:_,endDate:D}),R=Temporal.Now.plainDateISO(),w=Temporal.PlainDate.compare(E,R)<0?R:E,{startDate:L,endDate:P}=je(je({startDate:w,endDate:N},f),o),Z=Br(L,P,e);a.submit(Z,{method:"get",action:r===Re?"/v7-api/searchDynamicDepartureAvailability":"/v7-api/searchAmmpAvailability"})},[n,u,o,a]);let c=[];return o&&(u?c=va(o,f):c=[o]),{availability:(j=a.data)==null?void 0:j.availability,fetchedDates:(b=a.data)==null?void 0:b.fetchedDateRange,firstAvailableDate:(x=a.data)==null?void 0:x.firstAvailableDate,alternativeDurations:(F=a.data)==null?void 0:F.alternativeDurations,error:(C=a.data)==null?void 0:C.error,state:a.state,inFlightDateRange:o,loadingDateRanges:c,fetchAvailability:i}},Oe=7,it=({children:e,departureLocation:t,group:n,arrivals:a,searchType:r,filters:o,durationValue:u,initialLoadingDate:f})=>{const{availability:i,fetchedDates:c,state:m,loadingDateRanges:l,inFlightDateRange:h,fetchAvailability:v,firstAvailableDate:j,alternativeDurations:b,error:x}=Hr({departureLocation:t,group:n,arrivals:a,searchType:r,filters:o,durationValue:u}),F=g.useMemo(()=>
1{if(!f)return{};const _=f.subtract({days:Oe}),D=f.add({days:Oe});return ce(_,D,!0)},[f]),C=g.useMemo(()=>l.reduce((_,D)=>{const A=ce(D.startDate,D.endDate,!0);return{..._,...A}},{}),[l]),d=!!c,p=g.useMemo(()=>{const _=d?i||{}:F;return m!=="idle"?{...C,..._}:_},[m,C,d,i,F]),y=g.useMemo(()=>({availability:p,fetchAvailability:v,fetchedDates:c,inFlightDates:h,firstAvailableDate:j,alternativeDurations:b,error:x,hasFetchedData:d}),[p,v,c,h,j,b,x,d]);return s.jsx(ea.Provider,{value:y,children:e})},un=({children:e})=>{const{departureLocation:t,group:n,duration:a,arrivals:r,searchType:o}=q(),{filters:u}=nt();return s.jsx(it,{departureLocation:t,group:n,arrivals:r,searchType:o,filters:u,durationValue:a==null?void 0:a.value,children:e})},Vr=(e,t,n)=>{const{arrivals:a,departureLocation:r,group:o,searchType:u,filters:f}=e,i=new URLSearchParams;return u&&i.set("t",u),r&&i.set("dep",r.value),o&&i.set("g",o),a!=null&&a.length&&oe(a).sort().forEach(m=>{i.append("arr",m.value)}),f&&ie(f).sort().forEach(c=>{i.append("f",c)}),i.set("dd",t.toString()),i.set("startDate",t.toString()),i.set("endDate",t.add({days:n}).toString()),i},$r=e=>{if(!e)return;const t=Object.keys(e).filter(a=>e[a]);if(t.length===0)return;const n=t.sort();try{return{startDate:Temporal.PlainDate.from(n[0]),endDate:Temporal.PlainDate.from(n[n.length-1])}}catch{return}},Ur=e=>{var l,h,v,j,b,x,F;const t=e.arrivals?oe(e.arrivals):[],n=e.maxDurationDays??ta,a=[`g:${e.group}`,`dep:${(l=e.departureLocation)==null?void 0:l.value}`,`arr:${t.map(C=>C.value).sort().join(",")}`,`t:${e.searchType}`,`f:${(h=ie(e.filters??{}).sort())==null?void 0:h.join(",")}`].join("&"),r=Ze({key:a}),{departureDate:o,maxAvailableDurationDays:u}=r.data??{},f=g.useMemo(()=>C=>{var p;if(t.length===0||!ze(e.searchType)||!We((p=e.departureLocation)==null?void 0:p.value)||!Nt(e.group)||o===C.toString())return;const d=Vr(e,C,n);r.submit(d,{method:"get",action:"/v7-api/searchDynamicDurationAvailability"})},[t,e.departureLocation,e.group,e.searchType,e.filters,o]),i=Ue(r),c=i?[i]:[],m=g.useMemo(()=>{var C;return $r((C=r.data)==null?void 0:C.availability)},[(v=r.data)==null?void 0:v.availability]);return{availability:(j=r.data)==null?void 0:j.availability,fetchedDates:(b=r.data)==null?void 0:b.fetchedDateRange,state:r.state,error:(x=r.data)==null?void 0:x.error,loadingDateRanges:c,inFlightDateRange:i,fetchDurationAvailability:f,maxAvailableDurationDays:u,fetchedDepartureDate:(F=r.data)==null?void 0:F.departureDate,durationAvailabilityDateRange:m}},zr=({children:e,departureLocation:t,group:n,arrivals:a,searchType:r,filters:o})=>{const{availability:u,fetchedDates:f,state:i,loadingDateRanges:c,inFlightDateRange:m,fetchDurationAvailability:l,fetchedDepartureDate:h,maxAvailableDurationDays:v,durationAvailabilityDateRange:j}=Ur({departureLocation:t,group:n,arrivals:a,searchType:r,filters:o}),b=c.reduce((C,d)=>{const p=ce(d.startDate,d.endDate,!0);return{...C,...p}},{}),x=i!=="idle"?b:u,F=g.useCallback(C=>{try{const d=Temporal.PlainDate.from(C.departureDate,{overflow:"reject"});l(d)}catch{}},[l]);return s.jsx(aa,{durationAvailability:x,fetchAvailabilityFunction:F,fetchedDurationDates:f,inFlightDurationDates:m,fetchedDepartureDate:h,maxDurationDays:v,durationAvailabilityDateRange:j,children:e})},Wr=e=>{if(!e)return;const{from:t,to:n}=e;if(!(!t||!n))return t.until(n).days.toString()},dn=({children:e})=>{const{departureLocation:t,group:n,arrivals:a,searchType:r,dateRange:o}=q(),{filters:u}=nt(),f=Wr(o);return s.jsx(it,{departureLocation:t,group:n,arrivals:a,searchType:r,filters:u,durationValue:f,children:s.jsx(zr,{departureLocation:t,group:n,arrivals:a,searchType:r,filters:u,children:e})})},Gr="_searchButton_1r48s_2",Kr={searchButton:Gr},mn=({className:e,onClick:t,href:n,size:a="large",children:r})=>{const o=B("SearchForm"),{isSearchValid:u,setShowErrors:f}=q(),i=m=>{if(!u){f(!0);return}t&&t(m)},c=O(Kr.searchButton,e);return s.jsx(te,{className:c,isFullWidth:!0,size:a,href:u?n:void 0,onClick:i,as:n?"a":void 0,children:r??o("searchTrip")})},qr="_heading_19lg4_1",Yr="_previousSearches_19lg4_8",Xr="_icon_19lg4_13",Zr="_button_19lg4_19",Jr="_texts_19lg4_26",Qr="_title_19lg4_32",es="_helperText_19lg4_39",ts="_divider_19lg4_43",K={heading:qr,previousSearches:Yr,icon:Xr,button:Zr,texts:Jr,title:Qr,helperText:es,divider:ts},as=({search:e,searchGeography:t,restoreSearch:n})=>{var c;const a=Y.useTranslations("SearchForm"),{durations:r,departureLocations:o}=t,u=g.useMemo(()=>{var b;const{duration:m="",departureLocation:l=Fe,flexDates:h}=e,v=(b=r[l])==null?void 0:b.find(x=>x.value===m);if(!v)return null;const j=h?s.jsxs(s.Fragment,{children:[" ",s.jsx(V,{type:"dark",size:"small",children:a("flexDateTag")})," "]}):", ";return s.jsxs(s.Fragment,{children:[v.label,j]})},[e,r,a]),f=g.useMemo(()=>{var l;const m=e.departureDate||((l=e.dateRange)==null?void 0:l.from);if(!m)return"";
1try{return`${Temporal.PlainDate.from(m).toLocaleString(sa,kt)}, `}catch{return""}},[e.departureDate,(c=e.dateRange)==null?void 0:c.from]),i=g.useMemo(()=>{const{departureLocation:m}=e;if(!m||m===Fe)return"";const l=o.find(h=>h.value===m);return l?`, ${l.labelInflected}`:""},[e,o]);return s.jsx("li",{children:s.jsx(Q,{children:s.jsxs("button",{className:K.button,onClick:()=>n(e),children:[s.jsx(de,{className:K.icon}),s.jsxs("div",{className:K.texts,children:[s.jsx(k,{variant:"mediumBold",className:K.title,children:e.arrivalNames.join(", ")}),s.jsxs(k,{variant:"tinyRegular",className:K.helperText,as:"div",children:[f,u,Ot(e.group||Qe),i]})]})]})})})},rs=(e=[],t)=>e.map(n=>{var a;return(a=t.find(r=>r.value===n))==null?void 0:a.label}).filter(n=>n!==void 0),ss=(e,t,n)=>{try{return e.map(a=>{var u;const r=a.departureDate||((u=a.dateRange)==null?void 0:u.from);if(!r)return null;try{const f=Temporal.PlainDate.from(r);if(ya(f,Ia))return null}catch{return null}const o=rs(a.arrivals,n);return o.length===0?null:{...a,arrivalNames:o}}).filter(a=>a!==null)}catch{return[]}},fn=({isDynamic:e,searchGeography:t,initialSearches:n})=>{const a=Y.useTranslations("SearchForm"),r=e?ba:Ca,{setArrivals:o,setDepartureDate:u,setDateRange:f,setDepartureLocation:i,setFlexDates:c,setDuration:m,setGroup:l}=q(),{toggleDialog:h}=$e({modalId:at}),{arrivalLocations:v,durations:j,departureLocations:b}=t,[x,F]=g.useState(()=>ss(n,r,v));if(x.length===0)return null;const C=p=>{var w;const{arrivals:y,departureDate:_,dateRange:D,duration:A,group:T,flexDates:E,departureLocation:N}=p,R=y?v.filter(L=>y.includes(L.value)):[];if(o(R),_)try{u(Temporal.PlainDate.from(_))}catch{}if(D)try{f({from:Temporal.PlainDate.from(D.from),to:Temporal.PlainDate.from(D.to)})}catch{}if(A&&N){const L=(w=j==null?void 0:j[N])==null?void 0:w.find(P=>P.value===A);L&&m(L)}if(N){const L=b.find(P=>P.value===N);L&&i(L)}l(T||Qe),c(!!E),h(!1)},d=()=>{Sa(r),F([])};return s.jsxs("div",{children:[s.jsxs(ae,{as:"h3",variant:"largeSemibold",className:K.heading,children:[a("previousSearches"),s.jsxs(te,{onClick:d,variant:"supplementary",size:"small",children:[s.jsx(Ve,{})," ",a("clear")]})]}),s.jsx("ul",{className:K.previousSearches,children:x.map((p,y)=>{var T,E;const _=p.departureDate||((T=p.dateRange)==null?void 0:T.from)||"no-date",A=`${((E=p.arrivals)==null?void 0:E.join("-"))||"no-arrivals"}-${_}-${y}`;return s.jsx(as,{search:p,searchGeography:t,restoreSearch:C},A)})}),s.jsx(et,{size:"tiny",className:K.divider})]})},hn=({children:e,dataAttributes:t,fullWidth:n})=>s.jsx(Pa,{alignContent:"center",fullWidth:!0,dataAttributes:t,children:n?e:s.jsx(Bt,{children:e})}),ns=["a","strong"],is={ancestors:{},attributes:{a:["href","target"]},protocols:{href:["http","https","mailto"]},required:{},strip:ka,tagNames:[...ns]},os={inlineProps:{a:{},strong:{}}},ls=({content:e,customConfig:t={inlineProps:{}}})=>{const n=Ma(os,t);return s.jsx(Na,{content:e,hastSchema:is,inlineProps:n.inlineProps})},cs=({description:e,textPrice:t,variant:n})=>{const a=e,r=n==="extraLarge"?Vt.priceOfferStrong:void 0,o=t===void 0?void 0:s.jsx(Ht,{price:t,variant:"offer",size:"small",className:r});return s.jsxs(s.Fragment,{children:[a&&s.jsx(ls,{content:a}),a&&o?" ":"",o]})},us=({tag:e})=>e?s.jsx(V,{type:e.style,size:"default",children:e.text}):null,ds=({className:e,tag:t,images:n,hideFromAssistedTech:a,isLazyLoading:r})=>{const o=O(e,J.imageContainer);return s.jsxs("div",{className:o,children:[!!t&&s.jsx("div",{className:J.imageTagContainer,children:t}),s.jsx("div",{className:J.splitImageContainer,children:n.map(({src:u,alt:f},i)=>s.jsx("div",{className:J.imageFrame,"aria-hidden":a?"true":"false",children:s.jsx(ga,{imageSource:u,alt:a?"":f,imgClassName:J.splitImage,isLazyLoading:r})},`${u.s}_${i}`))})]})},ms=({children:e})=>s.jsx("div",{className:J.actionContainer,children:e}),fs=({offerPriceData:e,fallbackButton:t})=>{const n=Y.useTranslations("ImageCard");return e?s.jsx(g.Suspense,{fallback:s.jsx(Ut,{}),children:s.jsx(oa,{resolve:e.data,children:a=>a&&a.price>0?s.jsxs(ms,{children:[s.jsx($t,{price:a.price,pricePerAdult:a.pricePerAdult,duration:a.duration,originalTotalPrice:a.originalTotalPrice,isPricePerAdultShown:!0,priceType:"starting"}),s.jsx(te,{as:"a",variant:"primary",size:"medium",href:a.url,children:a.title??n("bookAction")})]}):t})}):null},ot=({url:e,text:t})=>!e||!t?null:s.jsx(te,{as:"a",variant:"secondary",size:"medium",href:e,children:t}
1),hs=e=>{switch(e){case"SMALL":return"small";case"SMALL_WIDE":return"smallWide";case"MEDIUM":return"medium";case"LARGE":return"large";case"LARGE_TEXT":return"largeText";default:me(e)}},ps=e=>{switch(e){case"MEDIUM":case"LARGE":return"default";case"SMALL_WIDE":case"SMALL":case"LARGE_TEXT":return"column";default:me(e)}},Be=(e,t)=>!e||!t?null:s.jsx(ot,{url:e,text:t}),pn=({id:e,title:t,titleTag:n,cards:a,cardVariant:r,titleSize:o})=>{const u=hs(r),f=ps(r);return s.jsx(Ge,{variant:f,title:t?s.jsx(Ke,{id:e,title:t,size:o,titleTag:n}):void 0,children:a.map((i,c)=>{var m,l,h,v;return u==="largeText"?s.jsx(xe,{size:"largeText",image:{src:{s:i.image.fullSizeUrl},alt:""},title:i.title,description:i.description?s.jsx(Se,{content:i.description}):void 0,imageAlign:c%2===0?"left":"right",ctaElement:i.offerPriceData?s.jsx(fs,{offerPriceData:i.offerPriceData,fallbackButton:s.jsx(ot,{url:(m=i.action)==null?void 0:m.url,text:i.buttonText})}):Be((l=i.action)==null?void 0:l.url,i.buttonText)},`${i.id}-${c}`):s.jsx(xe,{size:u,image:{src:{s:i.image.fullSizeUrl},alt:""},title:i.title,description:i.description?s.jsx(Se,{content:i.description}):void 0,href:(h=i.action)==null?void 0:h.url,ctaElement:Be((v=i.action)==null?void 0:v.url,i.buttonText)},`${i.id}-${c}`)})})},_s="_sectionCard_dnfq0_1",gs={sectionCard:_s},He=e=>{switch(e){case"EXTRA_LARGE":return"extraLarge";case"MEDIUM":return"medium";case"SMALL":return"small";case"TINY":return"small";default:me(e)}},_n=({id:e,title:t,sectionStyle:n,cardVariant:a,cards:r,titleSize:o,titleTag:u})=>{const f=s.jsx(Ge,{variant:a==="SMALL"?"compact":"default",title:t?s.jsx(Ke,{id:e,title:t,size:o,titleTag:u}):void 0,children:r.map((i,c)=>s.jsx(zt,{id:i.id,variant:He(a),image:{s:i.image.fullSizeUrl,m:i.image.fullSizeUrl},priceRedirects:[],promoCardData:{price:i.price,actionButtonText:i.buttonText,href:i.action.url,content:s.jsx(cs,{description:i.description,textPrice:i.textPrice,variant:He(a)}),title:i.title},tag:s.jsx(us,{tag:i.tag}),decoration:i.decoration==="FOOTPRINT"?"footprint":void 0},`${i.id}-${c}`))});return n==="WRAPPED_IN_CARD"?s.jsx(wa,{className:gs.sectionCard,children:f}):f},gn=e=>e.productCardType==="MULTICENTRE",vn=e=>e.productCardType==="MULTICENTREGROUP",yn=e=>e.productCardType==="RESORT",Dn=e=>e.productCardType==="HOTEL";var vs=(e=>(e.GenericError="GenericError",e.SearchUnavailable="SearchUnavailable",e))(vs||{});const xn=({leftImage:e,rightImage:t,tag:n,isLazyLoading:a})=>s.jsx(ds,{className:ue.hotelCardImage,images:[e,t],tag:n,hideFromAssistedTech:!0,isLazyLoading:a}),ys=({discount:e,childDiscount:t,discountText:n,className:a})=>{const r=Y.useTranslations("HotelCardTags");return!e&&!t&&!n?null:n?s.jsx(V,{type:"campaign",className:a,children:s.jsx(k,{variant:"tinyBold",as:"span",children:n})}):e?s.jsx(V,{type:"campaign",className:a,children:s.jsx(k,{variant:"tinyBold",as:"span",children:r("discount")})}):t&&s.jsx(V,{type:"campaign",className:a,children:s.jsx(k,{variant:"tinyBold",as:"span",children:r("childDiscount")})})},Ds=({recommended:e,className:t})=>{const n=Y.useTranslations("HotelCardTags");return e?s.jsx(V,{type:"recommendation",className:t,children:s.jsx(k,{variant:"tinyBold",as:"span",children:n("recommended")})}):null},xs=({multiCentre:e,className:t})=>{const n=Y.useTranslations("HotelCardTags");return e?s.jsx(V,{type:"dark",className:t,children:s.jsx(k,{variant:"tinyBold",as:"span",children:n("multicentre")})}):null},Ss=({environmentalCertification:e,className:t})=>{const n=Y.useTranslations("HotelCardTags");return e?s.jsx(V,{type:"sustainability",className:t,children:s.jsx(k,{variant:"tinyBold",as:"span",children:n("environmentalCertification")})}):null},Sn=({rating:e,isNew:t,isMultiCentre:n,discount:a,childDiscount:r,discountText:o,recommended:u,environmentalCertification:f})=>{const l=[{priority:1,displayOrder:3,isVisible:e!==void 0||t,render:h=>s.jsx(Gt,{rating:e,isNew:t,className:h},"ratings")},{priority:2,displayOrder:1,isVisible:a||r,render:h=>s.jsx(ys,{discount:a,childDiscount:r,discountText:o,className:h},"discount")},{priority:3,displayOrder:2,isVisible:u,render:h=>s.jsx(Ds,{recommended:u,className:h},"recommended")},{priority:3,displayOrder:2,isVisible:n,render:h=>s.jsx(xs,{multiCentre:n,className:h},"multicentre")},{priority:4,displayOrder:4,isVisible:f,render:h=>s.jsx(Ss,{environmentalCertification:f,className:h},"environmentalCertification")}].filter(h=>h.isVisible).sort((h,v)=>h.priority-v.priority).slice(0,3).sort((h,v)=>h.displayOrder-v.displayOrder);return l.length===0?null:s.jsx(Wt,{className:ue.hotelCardTags,children:l.map((h,v)=>h.render(v===l.length-1?ue.truncatableTag:void 0))})};export{sn as A,on as B,Ua as C,at as D,cn as E,vs as F,xn as H,ds as I,hn as L,xs as M,_n as P,us as R,Qs as S,tn as a,dn as b,un as c,en as d,mn as e,an as f,fn as g,cs as h,gn as i,Sn as j,vn as k,yn as l,ys as m,Dn as n,pn as o,rt as p,ln as q,nn as r,it as s,st as t,tt as u,I as v,vr as w,yr as x,nt as y,rn as z};
2//# sourceMappingURL=https://fores-source-maps-dev.s3.eu-north-1.amazonaws.com/v7-source-maps/v7-assets/HotelCardTags-D1Dm7tIY.js.map

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.