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.