PageSourceSearch

https://www.clubmed.co.uk/_cdn/12.82.2/b2c/_next/static/chunks/12116-e7f744330abd5d45.js

js clubmed.co.uk collected 2026-09-24 21:48:48 UTC 17,122 bytes, 701 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[12116],{71092:function(e,t,i){i.d(t,{O:function(){return l}}),i(52983);var a=i(58562),n=i(42715),r=i(32187),s=i(20006),o=i(97458);let l=({className:e})=>(0,o.jsxs)("span",{className:(0,r.d)("text-initial inline-flex shrink-0 items-center gap-5 text-12 font-bold leading-1 text-ultramarine",e),children:[(0,o.jsx)("span",{className:"inline-flex aspect-square size-[1.65em] items-center justify-center rounded-full bg-ultramarine leading-0 text-white sm:size-[2em]",children:(0,o.jsx)(s.J,{name:a.UZ.DIAMOND,width:"0.85em"})}),(0,n.t)("common.product.exclusiveCollectionTag")]})},10751:function(e,t,i){i.d(t,{Y:function(){return C}});var a=i(765),n=i(32187),r=i(80477);i(52983);var s=i(4156),o=i.n(s),l=i(44874),d=i(58562),c=i(40021),u=i(61105),m=i(86639),p=i(84585),y=i(20006),b=i(71092);let g={headerLite:{thRoot:"flex gap-10 items-center",thInner:"flex flex-col md:flex-1 gap-5 items-start text-14 text-16 text-black",thName:"flex font-brand gap-5 items-center leading-tight text-16 text-black truncate",thCountry:"leading-tight order-first text-10 text-sienna truncate",thBack:"",thBadge:"hidden"},cart:{thRoot:"flex gap-10 items-center",thInner:"flex flex-col md:flex-1 gap-5 items-start text-14 text-16 text-black",thName:"flex font-brand gap-5 items-center leading-tight text-16 text-black truncate",thCountry:"font-bold leading-tight order-first text-10 text-sienna truncate",thECBadge:"hidden",thBack:"hidden",thBadge:"hidden"},teaser:{thInner:"flex flex-col items-start text-black",thCountry:"font-sans font-semibold text-sienna text-14",thName:"flex-wrap font-sans font-semibold inline-flex gap-5 items-center order-last text-20",thECBadge:"md:mx-5",thBack:"hidden",thBadge:"bg-turquoise font-bold leading-1 px-10 py-5 rounded-pill shrink-0 text-10 text-center text-white whitespace-nowrap"}};var f=i(97458);function h(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,a)}return i}function v(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?h(Object(i),!0).forEach(function(t){(0,a.Z)(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):h(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}let x=(e,t,i,a)=>{if(!i?.href)return;let n=new(o())(i.href);e&&Object.keys(e).length>1&&t&&n.addQuery({locale:t});let r=a[m.yg];r&&n.addQuery({[m.yg]:r});let s=a[m.yB];s&&n.addQuery({[m.yB]:s});let d=a[m.py];return d&&n.addQuery({[m.py]:d}),n.toString()?l.url.normalizeUrl(n.toString()):void 0},C=({className:e,onClick:t,product:i,hasBackIcon:a,queryParamsToIgnore:s,theme:o="teaser"})=>{let l=(0,c.bp)(),{locale:m,availableLocales:h}=l,C=(0,u.R)(l)("isGsa"),{query:I}=(0,r.useRouter)(),{thBack:k,thBadge:D,thCountry:$,thECBadge:O,thInner:P,thName:N,thRoot:E}=g[o],R=(0,n.d)(E,e),S=C?{}:{className:R,"data-testid":"ProductBlockHeader-link",onClick:t,queryParamsToIgnore:s,tagname:"div",url:x(h,m,i,I)},T=C?({children:e})=>(0,f.jsx)("div",{className:R,children:e}):p.Z;return(0,f.jsxs)(T,v(v({},S),{},{children:[a&&(0,f.jsx)(y.J,{className:k,name:d.UZ.ARROW_LEFT}),(0,f.jsxs)("span",{className:P,children:[(0,f.jsxs)("span",{className:N,"data-testid":"ProductBlockHeader-name",children:[(0,f.jsx)("span",{children:i.name}),i.isExplicitEC&&(0,f.jsx)(b.O,{className:O}),i.seasonTrad&&(0,f.jsx)("span",{className:D,children:i.seasonTrad})]}),(0,f.jsx)("span",{className:$,"data-testid":"ProductBlockHeader-country",children:i?.destination?.country})]})]}))}},61389:function(e,t,i){i.d(t,{hD:function(){return p},ho:function(){return m},iD:function(){return d},mC:function(){return u},pl:function(){return c}});var a=i(44521),n=i(95204),r=i(16538),s=i(89040);let o=e=>{let t=(0,a.getBookingPrecision)(e.locale);return`
2  fragment booking on CustomerBookingWithoutStaysType {
3    attendees {
4      birthday
5      customerId
6      firstName:firstname
7      id
8      lastName:lastname
9      mainContact
10      unicodeFirstname
11      unicodeLastname
12    }
13    categories {
14      isOption
15      isOptionRenewed
16      isExpiredOption
17      isFromRenewal
18      isStandard
19      isTravelPlan
20      isTravelPlanPrebooking
21      isTravelPlanStandard
22    }
23    creationDate
24    dates {
25      duration
26      endDate
27      startDate
28    }
29    id
30    isMultiSaleContracts
31    isMultiStays
32    membership {
33      expirationDate
34      isExpired
35      points
36      type
37    }
38    optionDurability {
39      expirationDateTime
40      isReliable
41    }
42    packages {
43      attendeeIds
44      packageId
45      upsellPrice {
46        currency
47        formattedValue(precision: ${t})
48        value
49        }
50    }
51    payment {
52      due {
53        deadlineDate
54        formattedValue
55        schedules {
56          deadlineDate
57          formattedValue
58          value
59        }
60        value
61      }
62      isEnabled
63      paid {
64        formattedValue
65        value
66      }
67      status {
68        isInCredit
69        isPaid
70        isPending
71        isUnPaid
72      }
73      total {
74        formattedValue
75        value
76      }
77    }
78    status {
79      name
80      isArchived
81      isCanceled
82      isExpiredOption
83      isOption
84      isPendingPayment
85      isPartiallyValidated
86      isSearch
87      isValidated
88    }
89    totalPrice {
90      formattedValue
91      value
92      details {
93        cancellationInsurance {
94          formattedValue(precision: ${t})
95          value
96        }
97        discount {
98          formattedValue(precision: ${t})
99          value
100        }
101        donation {
102          formattedValue(precision: ${t})
103          value
104        }
105        fees {
106          formattedValue(precision: ${t})
107          value
108        }
109        onDemand {
110          formattedValue(precision: ${t})
111          id
112          label
113          value
114        }
115        package {
116          formattedValue(precision: ${t})
117          value
118        }
119        total {
120          formattedValue(precision: ${t})
121          value
122        }
123      }
124    }
125    vendor {
126      isSoldByClubmed
127      isSoldByPartners
128      name
129      phoneNumber
130      type
131    }
132  }`},l=()=>`
133  fragment product on Resort {
134    associatedResort {
135      id
136      productTypeId
137    }
138    activities {
139      description
140      id
141      included
142      logo
143      name
144    }
145    activityThematics {
146      id
147      title
148      description
149      images
150      activityCount {
151        included
152        onDemand
153      }
154      activities {
155        ageInMonths {
156          max
157          min
158        }
159        description
160        durationDescription
161        id
162        isIncluded
163        label
164        practiceLevelDescription
165      }
166    }
167    activityCategories {
168      leisure {
169        id
170        label
171        subCategories {
172          activities {
173            ageInMonths {
174              max
175              min
176            }
177            description
178            durationDescription
179            id
180            isIncluded
181            label
182            practiceLevelDescription
183          }
184          id
185          imageUrl
186          keywords
187          label
188        }
189      }
190      wellness {
191        id
192        label
193        subCategories {
194          activities {
195            ageInMonths {
196              max
197              min
198            }
199            description
200            durationDescription
201            id
202            isIncluded
203            label
204            practiceLevelDescription
205          }
206          id
207          imageUrl
208          keywords
209          label
210        }
211      }
212    }
213    thematicActivityTree {
214      ...thematics
215      activities {
216        ...activity
217      }
218    }
219    activityTree {
220      ...activityCategory
221      activities {
222        ...activity
223      }
224      categories {
225        ...activityCategory
226        activities {
227          ...activity
228        }
229        categories {
230          ...activityCategory
231          activities {
232            ...activity
233          }
234        }
235      }
236    }
237    arrivalCity
238    badgeIcon
239    category
240    childcareDetails {
241      description
242      id
243      included
244      logo
245      name
246    }
247    childrenActivities: productActivities(idFilter: "_CHILD_") {
248      ageInMonths {
249        max
250        min
251      }
252      description
253      equipments {
254        id
255        label
256      }
257      id
258      isIncluded
259      label
260      subtitle
261    }
262    color
263    comfort
264    comfortLabel
265    coordinates {
266      latitude
267      longitude
268    }
269    departureCity
270    destination {
271      country
272    }
273    duration
274    esfResortId
275    facilities(types: ["CHILDREN"], withEquipments: true) {
276      equipments {
277        id
278        label
279      }
280      label
281      subtitle
282    }
283    factSheetUrl
284    hasECSpace
285    hasMobileApp
286    href
287    icon
288    id
289    image
290    images
291    isCruise
292    isExclusiveCollection
293    isExplicitEC
294    isJoyview
295    isSummer
296    isTour
297    name
298    practicalInformation {
299      address {
300        additionalInformation1
301        additionalInformation2
302        addOn
303        city
304        country
305        stateOrDistrict
306        streetName
307        streetNumber
308        town
309        zipCode
310      }
311      checkInformations {
312        furtherInformation
313      }
314      excludedInPackage
315      healthFormalities
316      includedInPackage
317      passportAndVisas
318      phone
319    }
320    price {
321      termsAndConditions {
322        departureCity {
323          name
324        }
325      }
326    }
327    rentalsTree {
328      ...rentals
329    }
330    seasonName
331    transfers {
332      access {
333        id
334        label
335        type
336      }
337      duration
338      id
339      label
340      means {
341        id
342        label
343      }
344    }
345    travelSherpaInbound
346    travelSherpaOutbound
347    type
348  }`,d=()=>`
349  fragment transportsDetails on TransportDetailType {
350    durationInMin
351    stayId
352    transferIncluded
353    travelSections {
354      attendees {
355        id
356        pnr
357        reservation_number
358        status
359        ticket_number
360      }
361      arrival {
362        airportLabel
363        cityId
364        date
365        id
366        label
367        terminalCode
368        time
369      }
370      connectionDurationInMin
371      departure {
372        airportLabel
373        cityId
374        date
375        id
376        label
377        terminalCode
378        time
379      }
380      durationInMin
381      isClubmedTransport
382      stopDurationInMin
383      technicalStops
384      transport {
385        baggage {
386          quantity
387          weight
388          unit
389        }
390        class
391        companyExploiter {
392          id
393          label
394          logo
395        }
396        companyOperator {
397          id
398          label
399          logo
400          url
401        }
402        reference
403        travelNumber
404        type
405        carbonEmission
406        averageCarbonEmission
407      }
408    }
409  }`,c=(e,t,i)=>`query {
410    customerBooking(id: "${e}") {
411      id
412      stays(ids: ["${t}"]) {
413        accommodations {
414          ...accommodations
415        }
416        accommodationsCount
417        booking {
418          ...booking
419        }
420        dates {
421          duration
422          endDate
423          isCurrent
424          isPast
425          isToCome
426          startDate
427        }
428        features {
429          easyArrival {
430            status {
431              isAvailable
432              isDone
433            }
434            url
435          }
436          easyCheckInOut {
437            easyCheckIn {
438              isActivated
439              status {
440                isAvailable
441                isUneditable
442              }
443            }
444            easyCheckOut {
445              isActivated
446              status {
447                isAvailable
448                isUneditable
449              }
450            }
451          }
452          easyTransfer {
453            serviceStatus {
454              isValidated
455              isUpsellAvailable
456            }
457          }
458          feedback {
459            status {
460              isAvailable
461            }
462            url
463          }
464        }
465        id
466        participants {
467          adultsCount
468          attendees {
469            birthday
470            firstname
471            id
472            isAdult
473            isKid
474            lastname
475            unicodeFirstname
476            unicodeLastname
477          }
478          childrenCount
479          totalCount
480        }
481        product {
482          ...product
483        }
484        staff {
485          categories {
486            code
487            label
488          }
489          codes
490          description
491          firstName
492          job
493          label
494          picture
495        }
496        stayIndex
497        transfers {
498          id
499          inBound {
500            from {
501              id
502              label
503            }
504            to {
505              id
506              label
507            }
508            startDate
509            endDate
510          }
511          outBound {
512            from {
513              id
514              label
515            }
516            to {
517              id
518              label
519            }
520            startDate
521            endDate
522          }
523          status
524        }
525        transport {
526          fromCity
527          fromCityCode
528          inbounds {
529            ...transportsDetails
530          }
531          outbounds {
532            ...transportsDetails
533          }
534          toCity
535          toCityCode
536          type
537          types
538        }
539        upsells(types: [CHILDCARE, EXCURSION, INSURANCE, LAND_SPORT, RENTAL, TRANSFER, WATER_SPORT, WINTER_SPORT, WELLNESS, PARKING, CONCIERGERIE]) {
540          activities {
541            ${s._V}
542            productInfo {
543              description
544              id
545              isIncluded
546              label
547              parentActivityCategoriesId
548            }
549          }
550          rentals {
551            ${s._V}
552            productInfo {
553              id
554              label
555              ageInMonths {
556                min
557                max
558              }
559              useCase {
560                id
561                label
562              }
563              shortDescription
564              typeId: type
565              typeLabel
566              description: longDescription
567              sizes {
568                min
569                max
570                unit
571              }
572              practiceLevels {
573                id
574                label
575              }
576            }
577          }
578          ${s.Y$}
579          ${(0,s.Qi)(i)}
580          ${r.qZ}
581          ${(0,s.DT)(i)}
582          ${(0,s.P_)(i)}
583        }
584      }
585    }
586  }
587  ${o(i)}
588  ${l()}
589  ${(0,r.Qb)()}
590  ${d()}
591  ${(0,r.Io)(i)}
592  ${n.bC}
593  ${n.et}
594  ${n.LY}
595  ${n.IW}`,u=({productId:e,bookingId:t,customerId:i,attendeeIds:a,currentCategoryId:n,associatedResortProductTypeId:r,associatedResortId:s,nightsNumber:o})=>`query {
596  upgradeRoom (productId:"${e}" bookingId:"${t}" customerId:"${i}" attendeeIds: ["${a.join('","')}"] currentCategoryId: "${n}" associatedResortProductTypeId: "${r}" associatedResortId:"${s}" nightsNumber: ${o}) {
597    preview {
598      imageUrls
599      lowestPrice
600      lowestPriceByNight
601      isUpgradableOnline
602      upgradeAvailable
603      isVillaOnly
604    }
605    search {
606      area {
607        max
608        min
609        unit
610      }
611      bathroomEquipments {
612        id
613        label
614        ranking
615      }
616      category
617      categoryId
618      comfortId
619      comfortType
620      description
621      differentialPrice {
622        amount
623        currency
624      }
625      differentialPriceByNight {
626        amount
627        currency
628      }
629      isUpgradableOnline
630      equipments {
631        id
632        label
633        ranking
634      }
635      exclusiveCollection
636      floorPlans
637      hasArrangement
638      hasDistribution
639      hasSharedRoom
640      id
641      isVilla
642      label
643      maxCapacity
644      media {
645        photos {
646          url
647        }
648      }
649      minCapacity
650      outsideFacilities {
651        id
652        label
653      }
654      ranking
655      roomType
656      selection {
657        attendees {
658          birthdate
659          id
660          type
661        }
662        id
663        occupancy
664        quantity
665      }
666      services {
667        id
668        label
669        ranking
670      }
671      stock
672      strengths {
673        id
674        label
675      }
676      surface
677      view {
678        id
679        label
680      }
681    }
682  }
683}`,m=(e,t)=>{let i=t.map(e=>`"${e}"`).join(",");return`query {
684    streetViews(productId: "${e}", accommodationCategoryIds:[${i}]) {
685      accommodationCategoryId
686      streetView {
687        latitude
688        longitude
689        heading
690        pitch
691        fov
692        url
693      }
694    }
695  }`},p=({customerId:e,bookingId:t,selection:i,amount:a,currency:n})=>`mutation {
696    upgradeRoomSelection(bookingId: "${t}", customerId: "${e}", id: "${i?.id}", attendees: ${JSON.stringify(i?.attendees||"").replace(/"([^"]+)":/g,"$1:")}, quantity: ${i?.occupancy}, occupancy: ${i?.occupancy}, amount: ${a}, currency: "${n}"
697    ) {
698      data
699    }
700  }`},32241:function(e,t,i){i.d(t,{q:function(){return n}});var a=i(52983);let n=()=>{let{0:e,1:t}=(0,a.useState)(!1);return{isOpen:e,onClose:(0,a.useCallback)(()=>t(!1),[]),onOpen:(0,a.useCallback)(()=>t(!0),[])}}}}]);
701//# sourceMappingURL=12116-e7f744330abd5d45.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.