1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4378],{94378:function(e,t,n){n.r(t),n.d(t,{CardComponent:function(){return T}});var a=n(85893),i=n(86010),l=n(25675),s=n.n(l),r=n(41664),o=n.n(r),d=n(15149),c=n(56695),x=n(55325),h=n(9121),m=n(11557),u=n(16950),g=n(98471),v=n(1604),f=n(60257);let p=v.z.enum(["voyage","article","offer","generic"]),y=v.z.enum(["sm","md","lg"]),j=(0,f.E)({voyageId:v.z.string().min(1)}),b=(0,f.E)({variant:p,heading:u.Qz,summary:v.z.string().trim().min(1).optional(),media:u.jo,primaryCta:u.rL,badges:v.z.array(u.yn).optional(),voyageRef:j.optional()});function N(e){if("voyage"!==e.content.variant)return[];let t=[];return e.voyageData||t.push("voyageData"),e.content.voyageRef||t.push("voyageRef"),t}u.rv.extend({__typename:v.z.literal("Card"),content:b,voyageData:(0,u.KH)(u.AI).optional(),size:y.optional()}).superRefine((e,t)=>{N(e).forEach(e=>{t.addIssue({code:v.z.ZodIssueCode.custom,path:"voyageRef"===e?["content","voyageRef"]:[e],message:"variant is 'voyage' but ".concat(e," is missing")})})});let w=e=>"".concat(Number((100*e).toFixed(4)),"%");function _(e){let{media:t}=e,n=t.focalPoint?"".concat(w(t.focalPoint.x)," ").concat(w(t.focalPoint.y)):void 0;return(0,a.jsx)("div",{className:"relative aspect-[3/2] w-full overflow-hidden bg-hxv-primary-sand-10",children:(0,a.jsx)(s(),{src:t.src,alt:t.alt,fill:!0,sizes:"(max-width: 768px) 100vw, 33vw",className:"object-cover",style:n?{objectPosition:n}:void 0,unoptimized:!0})})}function C(e){let{heading:t,id:n}=e,i=t.tag;return(0,a.jsx)(i,{id:n,className:"text-lg font-medium text-hxv-indigo-80",children:t.text})}function D(e){let{badges:t,idPrefix:n}=e;return(0,a.jsx)("ul",{className:"m-0 flex list-none flex-wrap gap-2 p-0",children:t.map((e,t)=>{var i;return(0,a.jsx)("li",{children:(0,a.jsx)(g.A,{__typename:"InlineLabel",id:"".concat(n,"-").concat(t),label:e})},"".concat(e.text,"-").concat(null!==(i=e.variant)&&void 0!==i?i:"info"))})})}function I(){return(0,a.jsxs)("div",{"aria-hidden":"true",className:"flex animate-pulse flex-col gap-2",children:[(0,a.jsx)("div",{className:"h-4 w-2/3 rounded bg-hxv-primary-sand-20"}
1),(0,a.jsx)("div",{className:"h-4 w-1/2 rounded bg-hxv-primary-sand-20"}),(0,a.jsx)("div",{className:"h-6 w-1/3 rounded bg-hxv-primary-sand-20"})]})}function z(e){let{voyage:t,locale:n,translate:i}=e;if(t.isSoldOut)return(0,a.jsx)(g.A,{__typename:"InlineLabel",id:"".concat(t.voyageId,"-sold-out"),label:{text:i(e=>e.soldOut),variant:"highlight"}});if(void 0===t.pricePerPerson)return null;let l=(0,m.Z)(t.pricePerPerson,t.currency,n);return(0,a.jsxs)("p",{className:"m-0 flex flex-wrap items-baseline gap-x-2",children:[(0,a.jsx)("span",{className:"text-sm text-hxv-indigo-60",children:i(e=>e.priceFrom)}),void 0!==t.strikeThroughPrice&&(0,a.jsx)("s",{className:"text-sm text-hxv-indigo-60",children:(0,m.Z)(t.strikeThroughPrice,t.currency,n)}),(0,a.jsx)("span",{className:"text-lg font-medium text-hxv-indigo-80",children:l}),(0,a.jsx)("span",{className:"text-sm text-hxv-indigo-60",children:i(e=>e.perPerson)})]})}function P(e){let{voyage:t,locale:n,translate:i}=e,l=t.nextDeparture;return(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("dl",{className:"m-0 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-sm",children:[(0,a.jsx)("dt",{className:"text-hxv-indigo-60",children:i(e=>e.ship)}),(0,a.jsx)("dd",{className:"m-0 text-hxv-indigo-80",children:t.ship}),(0,a.jsx)("dt",{className:"text-hxv-indigo-60",children:i(e=>e.duration)}),(0,a.jsxs)("dd",{className:"m-0 text-hxv-indigo-80",children:[t.durationDays," ",i(e=>e.days)]}),l&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("dt",{className:"text-hxv-indigo-60",children:i(e=>e.nextDeparture)}),(0,a.jsxs)("dd",{className:"m-0 text-hxv-indigo-80",children:[(0,a.jsx)("time",{dateTime:l.startDate,children:(0,h.Z)(new Date(l.startDate),n,!1)})," â ",(0,a.jsx)("time",{dateTime:l.endDate,children:(0,h.Z)(new Date(l.endDate),n,!1)})]})]})]}),t.flightsIncluded&&(0,a.jsx)("div",{children:(0,a.jsx)(g.A,{__typename:"InlineLabel",id:"".concat(t.voyageId,"-flights-included"),label:{text:i(e=>e.flightIncluded),variant:"info"}})}),(0,a.jsx)(z,{voyage:t,locale:n,translate:i})]})}let Z={primary:"bg-hxv-indigo-80 text-white",secondary:"border border-hxv-indigo-80 text-hxv-indigo-80",ghost:"text-hxv-indigo-80 underline"};function k(e){let{cta:t}=e;return(0,a.jsx)(o(),{href:t.href,target:t.openInNewTab?"_blank":void 0,rel:t.openInNewTab?"noopener noreferrer":void 0,className:(0,i.Z)("mt-auto inline-flex items-center self-start rounded-xl px-4 py-2 text-sm",Z[t.variant]),children:t.label})}function T(e){var t,n;let{id:i,content:l,voyageData:s}=e,r=(0,d.Z)(),o=(0,c.Z)(x.y,e=>e.common),{variant:h,heading:m,summary:g,media:v,primaryCta:f,badges:p}=l,y="".concat(i,"-heading");N({content:l,voyageData:s}).forEach(e=>{console.warn('[CardComponent] variant "voyage" is missing '.concat(e,' (id: "').concat(i,'")'))});let j=(0,u.du)(f.href);j||console.warn('[CardComponent] primaryCta.href failed the safe-scheme check, dropping the cta (id: "'.concat(i,'")'));let b=null!==(t=null==s?void 0:s.status)&&void 0!==t?t:"idle",w="idle"===b||"loading"===b,z="success"===b&&null!==(n=null==s?void 0:s.data)&&void 0!==n?n:null;return(0,a.jsxs)("article",{"aria-labelledby":y,className:"flex h-full w-full flex-col overflow-hidden rounded-xl bg-white",children:[(0,a.jsx)(_,{media:v}),(0,a.jsxs)("div",{className:"flex flex-1 flex-col gap-3 p-4",children:[p&&p.length>0&&(0,a.jsx)(D,{badges:p,idPrefix:"".concat(i,"-badge")}),(0,a.jsx)(C,{heading:m,id:y}),g&&(0,a.jsx)("p",{className:"m-0 text-sm text-hxv-indigo-60",children:g}),"voyage"===h&&(0,a.jsxs)("div",{"aria-busy":w,children:[w&&(0,a.jsx)(I,{}),z&&(0,a.jsx)(P,{voyage:z,locale:r,translate:o})]}),j&&(0,a.jsx)(k,{cta:f})]})]})}},9121:function(e,t){t.Z=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],l=!(arguments.length>5)||void 0===arguments[5]||arguments[5],s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],r=arguments.length>7&&void 0!==arguments[7]&&arguments[7],o=arguments.length>8&&void 0!==arguments[8]&&arguments[8];return e.toLocaleDateString(t||"en-gb",{weekday:o?"short":void 0,year:l?r?"2-digit":"numeric":void 0,month:i?s?"short":"long":void 0,day:a?"numeric":void 0,hour:n?"numeric":void 0,minute:n?"numeric":void 0,timeZone:"UTC"})}}}]);
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.