PageSourceSearch

https://www.hipcamp.com/_next/static/chunks/7989.73428f5b6ce3b090.js

js hipcamp.com collected 2026-09-24 08:45:17 UTC 38,382 bytes, 2 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7989],{6681:(e,n,t)=>{"use strict";t.d(n,{p:()=>c});var a=t(37876),r=t(14232),i=t(35663),l=t(78446),o=t(88307),s=t(92998);let c=r.forwardRef(({src:e,alt:n,aspect:t="square",size:r="fill",loading:c,sizes:u,className:d,...m},p)=>(0,a.jsx)("div",{ref:p,className:(0,s.n)((0,l.$S)({aspect:t,size:r}),d),...m,children:c?(0,a.jsx)(o.E,{className:"absolute inset-0 h-full w-full","aria-hidden":!0}):e?(0,a.jsx)(i._,{src:e,alt:n,fill:!0,sizes:u??("thumb"===r?"72px":"(min-width: 768px) 28rem, 100vw"),quality:"auto",className:"object-cover"}):null}));c.displayName="PreviewCardMedia"},12602:(e,n,t)=>{"use strict";t.d(n,{N:()=>i});var a=t(37876);t(14232);let r={upcoming:{body:"fill-surface",innerCircle:{fill:"fill-primary",r:12},tent:"fill-surface"},past:{body:"fill-emphasis",innerCircle:{fill:"fill-raised/15",r:11},tent:"fill-surface"}};function i({"aria-label":e,className:n,variant:t}){let i=r["upcoming"===t?"upcoming":"past"];return(0,a.jsx)("div",{className:n,style:{width:34,height:39},children:(0,a.jsxs)("svg",{width:34,height:39,viewBox:"-2 -2 34 39",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-shadow-[0_2px_4px_rgba(0,0,0,0.25)]",...e?{role:"img","aria-label":e}:{"aria-hidden":!0},children:[(0,a.jsx)("path",{d:"M15 0C23.2843 0 30 6.71573 30 15C30 21.4941 25.8729 27.0235 20.0986 29.1104C20.0731 29.1379 20.0473 29.1656 20.0205 29.1924L17.1924 32.0215C16.0209 33.1927 14.1217 33.1925 12.9502 32.0215L10.1211 29.1924C10.1187 29.1899 10.1167 29.187 10.1143 29.1846C4.22897 27.1578 0 21.5735 0 15C0 6.71573 6.71573 0 15 0Z",className:i.body}),i.innerCircle&&(0,a.jsx)("circle",{cx:"15",cy:"15",r:i.innerCircle.r,className:i.innerCircle.fill}),(0,a.jsx)("g",{transform:"translate(15 15) scale(0.045) translate(-250 -250)",children:(0,a.jsx)("path",{d:"M175.851 138.01C193.943 110.705 212.54 83.7409 230.849 56.5875C237.963 46.0216 251.829 46.4003 260.207 58.2917C279.707 85.8995 298.738 113.848 317.913 141.721C336.691 169.026 355.397 196.331 374.066 223.711C394.325 253.44 414.511 283.206 434.661 313.048C450.803 336.945 466.872 360.879 482.725 384.927C484.423 387.502 488.395 393.637 492.909 400.606C500.998 413.065 492.259 429.766 477.742 429.615C438.814 429.236 377.352 428.857 351.93 429.804C342.577 430.145 337.233 426.774 332.358 418.708C308.271 378.83 283.535 339.331 258.871 299.831C253.093 290.591 246.196 290.742 240.057 300.437C222.868 327.477 205.932 354.706 189.104 381.973C180.509 395.872 172.565 410.149 163.79 423.934C162.057 426.623 157.976 429.463 154.943 429.463C112.44 429.918 69.9365 430.031 27.4695 429.993C7.7527 429.993 -2.32235 412.611 8.29438 395.985C31.6584 359.364 144.037 186.143 175.887 138.048L175.851 138.01ZM221.207 296.499C223.121 293.28 223.41 287.486 221.712 284.38C220.629 282.411 213.696 281.653 210.699 283.093C202.393 287.031 194.701 292.333 186.865 297.256C157.687 315.472 126.27 328.878 93.8783 340.24C82.2504 344.33 80.1199 347.397 86.8366 357.168C98.3922 374.02 111.212 390.229 125.115 405.188C134.901 415.754 140.137 414.769 148.081 402.916C161.334 383.147 211.493 313.01 221.207 296.461V296.499Z",className:i.tent,transform:"translate(85 60) scale(0.65)"})})]})})}i.displayName="PublicCampgroundPinMarker"},24251:(e,n,t)=>{"use strict";t.d(n,{J:()=>o});var a=t(37876),r=t(37094);t(14232);var i=t(36143),l=t(93387);function o({status:e,isPast:n,isCanceled:t,size:o="small",className:s}){let{t:c}=(0,r.Bd)(),{labelKey:u,variant:d}=(0,i.c)(e,n,t);return(0,a.jsx)(l.E,{variant:d,size:o,className:s,children:c(`camperTrips:status.${u}`)})}},35663:(e,n,t)=>{"use strict";t.d(n,{_:()=>o});var a=t(37876),r=t(54587),i=t.n(r);function l(e,{src:n,width:t}){let a=["f_auto","c_limit",`w_${t}`,`q_${e||"auto"}`],r=n.startsWith("images/")?n.slice(7):n;return`https://img.hipcamp.com/${n.startsWith("images/")?"images/":""}${a.join(",")}/${r}`}function o({quality:e,...n}){return(0,a.jsx)(i(),{loader:l.bind(void 0,e),...n})}t(14232)},36143:(e,n,t)=>{"use strict";t.d(n,{c:()=>i,r:()=>r});var a=t(66031);function r(e,n,t){switch(e){case a.NZ.Canceled:case a.NZ.CanceledRequest:return"cancelled";case a.NZ.DeclinedRequest:return"declined";case a.NZ.ExpiredRequest:return"expired";case a.NZ.PendingRequest:return"pending";case a.NZ.Confirmed:default:if(t)return"cancelled";return n?"past":"upcoming"}}function i(e,n,t){switch(r(e,n,t)){case"cancelled":return{labelKey:"cancelled",variant:"error",prefixKey:"cancelled"};case"declined":return{labelKey:"declined",variant:"error",prefixKey:"declined"};case"expired":return{labelKey:"expired",variant:"neutral",prefixKey:"expired"};
1case"pending":return{labelKey:"pending",variant:"warning",prefixKey:"pending"};case"past":return{labelKey:"past",variant:"neutral",prefixKey:"past"};default:return{labelKey:"confirmed",variant:"success",prefixKey:"upcoming"}}}},37962:(e,n,t)=>{"use strict";t.d(n,{c:()=>a});let a=t(14232).createContext({orientation:"vertical"})},42392:(e,n,t)=>{"use strict";t.d(n,{A:()=>r});var a=t(39732);let r=(e,n)=>{let{data:t,error:r,mutate:i}=(0,a.A)("query Booking($bookingId: ID!) {\n  me {\n    booking(bookingId: $bookingId) {\n      id\n      shortId\n      groupSize\n      canInviteGuests\n      remainingGuestInvites\n      remainingGuestSlots\n      numberOfAdults\n      numberOfChildren\n      numberOfPets\n      isChildPricingEnabled\n      hoursToCheckInTime\n      isChangeable\n      canEditDates\n      isCanceled\n      isPending\n      hasPendingModificationRequest\n      isPast\n      leaveDate\n      nightsCount\n      startDate\n      vehicleCount\n      createdAt\n      contactEmail\n      contactPhone\n      conversationId\n      hasConversationMessages\n      status\n      hostStatementUrl\n      camperDisplayName\n      checkInTimeFormatted\n      checkOutTimeFormatted\n      tripConfirmationUrl\n      camperReceiptUrl\n      camperTotalCharged {\n        format\n      }\n      isReturningCamper\n      isBedfulMigrated\n      isDirectBooking\n      hipbookCalendarUrl\n      reviewPeriodStatus\n      camperReview {\n        uuid\n        status\n        contributedTip {\n          uuid\n          title\n          description\n          formattedCreatedAt\n          recommend\n          photos {\n            uuid\n            filename\n            description\n            width\n            height\n          }\n        }\n      }\n      hostReviewStatus\n      groupDetails\n      shelterType\n      rvType {\n        slug\n      }\n      rvLength {\n        formatLong\n      }\n      maximumAllowedRefund {\n        format\n        minorAmount\n      }\n      pendingModificationRequest {\n        proposedStartDate\n        proposedLeaveDate\n        modificationType\n        bookingDetailLine\n      }\n      bookingModificationRequests(statuses: [PENDING]) {\n        id\n      }\n      retroactiveHostReceivable {\n        format\n      }\n      totalPriceOwnerDisplay {\n        format\n      }\n      booker {\n        id\n        firstName\n        lastInitial\n        slug\n        avatarUrl(variant: SMALL_SQUARE)\n      }\n      campground {\n        owner {\n          firstName\n        }\n        id\n        name\n        isPetAllowed\n        checkInProcess\n        campsitesConfiguration {\n          isDispersed\n        }\n        coordinate {\n          lat\n          lng\n        }\n        drivableCoordinate {\n          lat\n          lng\n        }\n        campgroundSetting {\n          directions\n          directionsHtml\n          accessCode\n          accessInstructions\n          parkingInstructions\n          minimumNights\n          maximumNights\n        }\n      }\n      campsite {\n        id\n        siteName\n        coordinate {\n          lat\n          lng\n        }\n      }\n      extras {\n        id\n        quantity\n        displayQuantity\n        extra {\n          title\n          unitName\n          unitNamePlural\n        }\n      }\n      extraAvailabilities {\n        id\n        price {\n          format\n        }\n        parkExtra {\n          slug\n          title\n          description\n          unitName\n          unitQuantityOffered\n          requiresModificationRequest\n          price {\n            format\n          }\n          photo {\n            filename\n          }\n        }\n      }\n      hasActiveWeatherGuarantee\n      baseCapacity\n      maxCapacity\n      park {\n        id\n        shortName\n        fullName\n        landUrl\n        address {\n          fullAddress\n        }\n        parkSetting {\n          directions\n          accessCode\n          accessInstructions\n        }\n        coverContributedPhoto {\n          id\n          filename\n        }\n      }\n      invites(statuses: [PENDING, ACCEPTED]) {\n        id\n        email\n        status\n        user {\n          id\n          firstNameLastInitial\n          avatarUrl(variant: SMALL_SQUARE)\n        }\n      }\n      bookingCheckout {\n        id\n        startDate\n        endDate\n        numberOfAdults\n        numberOfChildren\n        numberOfNights\n        numberOfPets\n        steps\n        externalInventory\n        earlyCancelAvailable\n        earlyCancelCutoffTime\n        isFreeCancellationEligible\n        freeCancellationEligibilityCutoffTime\n        calculatedPrice {\n          isPriceDiscount\n          effectivePricePerNight {\n            format\n            minorAmou
1nt\n            symbol\n          }\n          listPricePerNight {\n            format\n            minorAmount\n            symbol\n          }\n          cleaningFee {\n            format\n            minorAmount\n            symbol\n          }\n          fees {\n            fee {\n              name\n              nameKey\n            }\n            amount {\n              format\n              minorAmount\n              symbol\n            }\n          }\n          totalListNightsPrice {\n            format\n            minorAmount\n            symbol\n          }\n          totalNightsPrice {\n            format\n            minorAmount\n            symbol\n          }\n          totalNightsDiscount {\n            format\n            minorAmount\n            symbol\n          }\n          serviceFee {\n            format\n            minorAmount\n            symbol\n          }\n          additionalGuestsFee {\n            format\n            minorAmount\n            symbol\n          }\n        }\n        amountOfCreditApplicable {\n          minorAmount\n          format\n        }\n        bundledSubtotal {\n          minorAmount\n          format\n          symbol\n        }\n        bundledListSubtotal {\n          minorAmount\n          format\n          symbol\n        }\n        bundledTotalTax {\n          minorAmount\n          format\n          symbol\n        }\n        camperServiceFeeTotal {\n          minorAmount\n          format\n        }\n        camperServiceFee {\n          minorAmount\n          format\n        }\n        camperServiceFeeTax {\n          minorAmount\n          format\n        }\n        camperTotalCost {\n          minorAmount\n          format\n        }\n        campground {\n          id\n          bookability\n          inventorySource\n          siteType\n          campgroundSetting {\n            pricePerVehicle {\n              minorAmount\n              format\n            }\n          }\n          park {\n            fullName\n            landUrl\n            fireBanSetting {\n              enabled\n              endDate\n              allowedFireTypes\n              note\n            }\n          }\n        }\n        campsite {\n          id\n          isInstantBookable\n          name\n          coreAmenities: amenities(amenityType: CORE) {\n            name\n            description\n            icons\n            state\n            slug\n            subFeatures\n          }\n          otherAmenities: amenities(amenityType: OTHER) {\n            name\n            description\n            icons\n            state\n            slug\n            subFeatures\n          }\n          customRules {\n            id\n            position\n            text\n          }\n          campgroundSetting {\n            cancelPolicy {\n              name\n              slug\n              earlyCancelRefundPercent\n              description\n            }\n          }\n        }\n        discountAmount {\n          minorAmount\n          format\n        }\n        extraSelections {\n          id\n          quantity\n          displayQuantity\n          parkExtra {\n            id\n            title\n            chargeType\n          }\n          totalPrice {\n            minorAmount\n            format\n          }\n          isCompulsory\n        }\n        sensibleWeatherQuote {\n          id\n          plainLanguage\n          purchaseIntent\n          priceDisplayed {\n            minorAmount\n            format\n          }\n        }\n        summaryPhoto {\n          filename\n        }\n        transientOccupancyTax {\n          minorAmount\n          format\n        }\n        vehicleFee {\n          minorAmount\n          format\n        }\n        externalFee {\n          minorAmount\n          format\n        }\n        vehicles\n      }\n    }\n  }\n}\n",e,{customOptions:{skip:n?.skip,authenticationRequired:!0}});return{isLoading:!n?.skip&&!t&&!r,booking:t?.me?.booking??null,error:r,mutate:i}}},46424:(e,n,t)=>{"use strict";t.d(n,{A:()=>r});var a=t(14232);let r=({escapeCallback:e,skip:n=!1})=>{(0,a.useEffect)(()=>{let t=t=>{"Escape"!==t.key||n||e()};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}},[e,n])}},55098:(e,n,t)=>{"use strict";t.d(n,{w:()=>c});var a=t(37876),r=t(14232),i=t(37962),l=t(78446),o=t(88307),s=t(20575);
1let c=r.forwardRef((e,n)=>{let{title:t,subtitle:c,className:u,children:d,loading:m,...p}=e,{orientation:f}=r.useContext(i.c);return(0,a.jsxs)("span",{ref:n,className:(0,l.EU)({className:u}),...p,children:[(0,a.jsx)(s.E,{variant:"baseEmphasis",textColor:"content",className:(0,l.cf)({orientation:f}),as:"span",children:t}),m?"subtitle"in e?(0,a.jsxs)("span",{className:"relative",children:[(0,a.jsx)("span",{className:"invisible block",children:(0,a.jsx)(s.E,{variant:"small",textColor:"muted",className:(0,l.C3)({orientation:f}),as:"span",children:c??"\xa0"})}),(0,a.jsx)(o.E,{className:"absolute left-0 inset-y-[15%] w-3/4 rounded","aria-hidden":!0})]}):null:c&&(0,a.jsx)(s.E,{variant:"small",textColor:"muted",className:(0,l.C3)({orientation:f}),as:"span",children:c}),m?r.Children.count(d)>0?r.Children.map(d,(e,n)=>(0,a.jsxs)("span",{className:"relative",children:[(0,a.jsx)("span",{className:"invisible block",children:e}),(0,a.jsx)(o.E,{className:"absolute left-0 inset-y-[15%] w-3/4 rounded","aria-hidden":!0})]},n)):null:d]})});c.displayName="PreviewCardContent"},58648:(e,n,t)=>{"use strict";t.d(n,{A:()=>u});var a=t(37876),r=t(37094);t(14232);var i=t(5646),l=t(37792);let o=i.default.span.withConfig({componentId:"sc-d9e347e3-0"})(["position:absolute;left:0;right:0;bottom:0;padding:2px 0;text-align:center;font-size:10px;font-weight:600;color:white;background:rgba(38,38,38,0.7);opacity:0;transition:opacity 0.15s ease;@media (hover:none){opacity:1;}"]),s=i.default.button.withConfig({componentId:"sc-d9e347e3-1"})(["position:absolute;left:12px;bottom:",";z-index:4;width:",";height:",";padding:0;border:1px solid rgba(0,0,0,0.12);border-radius:12px;overflow:hidden;cursor:pointer;background-color:white;box-shadow:0 1px 2px rgba(0,0,0,0.1);transition:opacity 0.15s ease;&:hover{opacity:0.9;}&:focus-visible{outline:2px solid white;outline-offset:2px;}&:hover ",",&:focus-visible ","{opacity:1;}"],({$small:e})=>e?"calc(12px + env(safe-area-inset-bottom))":"12px",({$small:e})=>e?"56px":"64px",({$small:e})=>e?"56px":"64px",o,o),c=i.default.div.withConfig({componentId:"sc-d9e347e3-2"})(["position:absolute;inset:0;background-size:cover;background-position:center;"]),u=({useSatellite:e,onToggle:n,mapStyleIdentifier:t,previewLocation:i,smallLayout:u,style:d})=>{let{t:m}=(0,r.Bd)(),p=e?`${l.hs}/${t}`:l.DF,f=`https://api.mapbox.com/styles/v1/${p}/static/${i}/144x144@2x?access_token=${l.bG}&attribution=false&logo=false`,g=m(e?"landPage:siteMap.mapType.map":"landPage:siteMap.mapType.satellite"),h=m(e?"landPage:siteMap.mapType.switchToMap":"landPage:siteMap.mapType.switchToSatellite");return(0,a.jsxs)(s,{type:"button",onClick:n,"data-cy":"mapTypeSwitcher","aria-pressed":e,"aria-label":h,$small:u,style:d,children:[(0,a.jsx)(c,{style:{backgroundImage:`url("${f}")`}}),(0,a.jsx)(o,{"aria-hidden":"true",children:g})]})}},59352:()=>{},61964:(e,n,t)=>{"use strict";t.d(n,{Qy:()=>i,g2:()=>r,m8:()=>a});let a=180;function r({map:e,longitude:n,latitude:t,cardWidth:r=a,cardHeight:i=280,margin:l=20}){let o=e.getContainer(),s=e.project([n,t]),c=s.x-l>=r/2&&o.clientWidth-s.x-l>=r/2;return s.y-l>=i&&c?"top":o.clientHeight-s.y-l>=i&&c?"bottom":o.clientWidth-s.x-l>=r?"right":s.x-l>=r?"left":"top"}function i(e,{pinHeight:n=28,gapTB:t=24,gapLR:a=32}={}){let r=n/2+t,l=n/2+a;switch(e){case"top":return{bottom:r,left:"50%",transform:"translateX(-50%)"};case"bottom":return{top:r,left:"50%",transform:"translateX(-50%)"};case"left":return{right:l,top:"50%",transform:"translateY(-50%)"};case"right":return{left:l,top:"50%",transform:"translateY(-50%)"}}}},68047:(e,n,t)=>{"use strict";t.d(n,{N:()=>c});var a=t(37876),r=t(48230),i=t.n(r),l=t(14232),o=t(37962),s=t(78446);let c=l.forwardRef(({selected:e=!1,loading:n,variant:t="default",compact:r=!1,orientation:c="vertical",children:u,className:d,"aria-label":m,...p},f)=>{let g=l.useId(),h=l.useMemo(()=>({orientation:c}),[c]),b=(0,s.T6)(),x=m?void 0:g;return(0,a.jsx)(o.c.Provider,{value:h,children:(0,a.jsxs)("div",{ref:f,className:(0,s.B0)({variant:t,selected:e,loading:n,className:d}),"aria-busy":n||void 0,children:[(()=>{if("href"in p&&null!=p.href){let{href:e,...t}=p;return n?(0,a.jsx)("a",{...t,"aria-disabled":!0,tabIndex:-1,"aria-label":m,"aria-labelledby":x,className:b}):(0,a.jsx)(i(),{...t,href:e,"aria-label":m,"aria-labelledby":x,className:b})}let{disabled:t,...r}=p;return(0,a.jsx)("button",{...r,type:"button",disabled:t||n,"aria-pressed":e,"aria-label":m,"aria-labelledby":x,className:b})})(),(0,a.jsx)("div",{id:g,className:(0,s.H4)({orientation:c,compact:r}),children:u})]})})});c.displayName="PreviewCard"},78446:(e,n,t)=>{"use strict";t.d(n,{$S:()=>d,B0:()=>i,C3:()=>s,EU:()=>l,H4:()=>c,T6:()=>u,cf:()=>o});var a=t(86312),r=t(92998);let i=(0,a.tv)({base:"relative w-full rounded-2xl border-2 transition-all duration-200 ease-out shadow-sm active:scale-[0.98]",variants:{variant:{default:"",danger:""},selected:{true:"",false:""},loading:{true:"pointer-events-none"}},compoundVariants:[{variant:"default",selected:!0,class:"border-emphasis 
1shadow-md"},{variant:"default",selected:!1,class:"border-border hover:border-muted hover:shadow-md"},{variant:"danger",selected:!0,class:"border-error shadow-md"},{variant:"danger",selected:!1,class:"border-border hover:border-error/50 hover:shadow-md"}],defaultVariants:{variant:"default",selected:!1}},{twMergeConfig:r.w}),l=(0,a.tv)({base:"flex flex-col text-left gap-1 min-w-0 flex-1"},{twMergeConfig:r.w}),o=(0,a.tv)({variants:{orientation:{vertical:"break-words",horizontal:"truncate"}},defaultVariants:{orientation:"vertical"}},{twMergeConfig:r.w}),s=(0,a.tv)({variants:{orientation:{vertical:"line-clamp-2",horizontal:"line-clamp-1"}},defaultVariants:{orientation:"vertical"}},{twMergeConfig:r.w}),c=(0,a.tv)({base:"pointer-events-none relative flex",variants:{orientation:{vertical:"flex-col",horizontal:"flex-row"},compact:{true:"gap-2 p-2",false:""}},compoundVariants:[{orientation:"vertical",compact:!1,class:"gap-4 px-4 py-5"},{orientation:"horizontal",compact:!1,class:"gap-3 p-3"}],defaultVariants:{orientation:"vertical",compact:!1}},{twMergeConfig:r.w}),u=(0,a.tv)({base:"absolute inset-0 rounded-2xl cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-emphasis disabled:cursor-default"},{twMergeConfig:r.w}),d=(0,a.tv)({base:"relative rounded-xl overflow-hidden bg-raised",variants:{aspect:{square:"aspect-square",video:"aspect-video",portrait:"aspect-[3/4]"},size:{fill:"w-full",thumb:"w-[72px] shrink-0"}},defaultVariants:{aspect:"square",size:"fill"}},{twMergeConfig:r.w})},81490:(e,n,t)=>{"use strict";t.d(n,{D4:()=>i,UX:()=>r});let a=[181,91,-181,-91],r=e=>{let[n,t,r,i]=a,l=0;return e?.forEach(e=>{if(!e)return;l+=1;let{latitude:a,longitude:o}=e;n=Math.min(n,o),t=Math.min(t,a),r=Math.max(r,o),i=Math.max(i,a)}),{bounds:[n,t,r,i],canSetBounds:l>1}},i=(e,n)=>{if(e&&!n)return e;if(!e&&n)return n;if(!e&&!n)return null;let[t,a,r,i]=e,[l,o,s,c]=n;return[Math.min(t,l),Math.min(a,o),Math.max(r,s),Math.max(i,c)]}},87989:(e,n,t)=>{"use strict";t.r(n),t.d(n,{CamperMap:()=>J});var a=t(37876);t(59352);var r=t(89099),i=t(37094),l=t(14232),o=t(47030);let s=l.forwardRef((e,n)=>(0,a.jsxs)("svg",{ref:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round","aria-hidden":"true",...e,children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"6"}),(0,a.jsx)("circle",{cx:"12",cy:"12",r:"1.75",fill:"currentColor",stroke:"none"}),(0,a.jsx)("line",{x1:"12",y1:"1.5",x2:"12",y2:"4.5"}),(0,a.jsx)("line",{x1:"12",y1:"19.5",x2:"12",y2:"22.5"}),(0,a.jsx)("line",{x1:"1.5",y1:"12",x2:"4.5",y2:"12"}),(0,a.jsx)("line",{x1:"19.5",y1:"12",x2:"22.5",y2:"12"})]}));s.displayName="IconCrosshairs";var c=t(92998);function u({onClick:e,pending:n}){let{t}=(0,i.Bd)();return(0,a.jsx)("button",{type:"button",onClick:e,disabled:n,"aria-label":t("camperTrips:map.currentLocationButton"),className:(0,c.n)("absolute right-2.5 top-20 z-10 flex size-[29px] cursor-pointer items-center justify-center rounded","bg-white text-[#333] shadow-[0_0_0_2px_rgba(0,0,0,0.1)]","hover:bg-neutral-100","disabled:cursor-default","focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus"),children:(0,a.jsx)(s,{className:"size-[18px]"})})}let d={pastPin:1,upcomingPin:2,currentLocation:450,entrancePin:1e3,sitePin:1001,selectedPin:1100,previewCard:1200};function m({latitude:e,longitude:n,accuracy:t,zoom:r}){let{t:l}=(0,i.Bd)(),s=Math.min(Math.max(t/(156543.03*Math.cos(e*Math.PI/180)/Math.pow(2,r))*2,24),240);return(0,a.jsx)(o.pH,{latitude:e,longitude:n,anchor:"center",style:{zIndex:d.currentLocation,pointerEvents:"none"},children:(0,a.jsxs)("div",{className:"relative flex items-center justify-center pointer-events-none",style:{width:s,height:s},role:"img","aria-label":l("camperTrips:map.currentLocation"),children:[(0,a.jsx)("div",{className:"absolute rounded-full",style:{width:s,height:s,backgroundColor:"color-mix(in srgb, var(--location-blue) 15%, transparent)",border:"1px solid color-mix(in srgb, var(--location-blue) 25%, transparent)"}}),(0,a.jsx)("div",{className:"absolute size-5 rounded-full animate-location-pulse",style:{backgroundColor:"color-mix(in srgb, var(--location-blue) 30%, transparent)"}}),(0,a.jsx)("div",{className:"relative size-3.5 rounded-full border-2 border-white shadow-md",style:{backgroundColor:"var(--location-blue)"}})]})})}let p={latitude:20,longitude:0,zoom:1.5},f={US:{latitude:39.8283,longitude:-98.5795,zoom:3.5},CA:{latitude:56.1304,longitude:-106.3468,zoom:3},AU:{latitude:-25.2744,longitude:133.7751,zoom:3.5},NZ:{latitude:-41.2865,longitude:174.7762,zoom:5},GB:{latitude:54.3781,longitude:-3.436,zoom:5}};var g=t(78095),h=t(20575);function b({text:e}){return(0,a.jsxs)("div",{className:"absolute inset-0 z-0 flex items-center justify-center",children:[(0,a.jsx)(g.V,{}),(0,a.jsx)("span",{role:"status",className:"relative",children:(0,a.jsx)(h.E,{variant:"small",textColor:"muted",children:e})})]})}class x extends l.Component{static getDerivedStateFromError(){return{hasError:!0}}render(){return this.state.hasError?(0,a.jsx)(b,{text:this.props.fallbackText}):this.props.children}constructor(...e){super(...e),this.state={hasError:!1}}}function v({children:e}){let{t:n}=(0,i.Bd)();return(0,a.jsx)(x,{fallbackText:n("camperTrips:map.unavailable"),children:e})}
1function y(e,n=0){return e?{top:n,right:n,bottom:n,left:464+n}:{top:n,right:n,bottom:Math.round(.5*window.innerHeight)+n,left:n}}var C=t(84533),k=t(70391),w=t(68047),j=t(6681),N=t(53218),M=t(55098);function P({media:e,title:n,subtitle:t,overlay:r,onClick:i,onClose:o,loading:s,"aria-label":c}){let u=l.useCallback(e=>{e.stopPropagation(),o()},[o]);return(0,a.jsxs)(w.N,{onClick:i,loading:s,"aria-label":c??n,compact:!0,className:"bg-surface border",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(j.p,{src:e.src,alt:e.alt,loading:e.loading??s}),(0,a.jsx)(N.p,{onClick:u,className:"absolute top-2 right-2 pointer-events-auto"})]}),null!=r&&(0,a.jsx)("div",{children:r}),(0,a.jsx)(M.w,{title:n,subtitle:t,loading:s})]})}var A=t(24251),E=t(46424),I=t(39732);function T({bookingId:e,parkPlaceholder:n,onClose:t}){let{t:o}=(0,i.Bd)(),s=(0,r.useRouter)(),{trip:c,isLoading:u,error:d}=function(e){let{data:n,error:t}=(0,I.A)("query TripPreview($bookingId: ID!) {\n  me {\n    id\n    booking(bookingId: $bookingId) {\n      id\n      isPast\n      isCanceled\n      status\n      startDate\n      leaveDate\n      park {\n        id\n        fullName\n        coverContributedPhoto {\n          id\n          filename\n        }\n      }\n    }\n  }\n}\n",e?{bookingId:e}:void 0,{customOptions:{authenticationRequired:!0,skip:!e}});return{trip:n?.me?.booking??null,isLoading:!!e&&!n&&!t,error:t}}(e),m=c?.park?.fullName??n;(0,E.A)({escapeCallback:t});let p=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=p.current?.querySelector('button, [href], input, [tabindex]:not([tabindex="-1"])');e?.focus()},[]);let f=(0,l.useCallback)(()=>{s.push(`/trips/${e}`)},[e,s]),g=function(e,n,t){if(!e||!n)return"";let a=(0,C.A)(e),r=(0,C.A)(n),i=a.getFullYear()===r.getFullYear(),l=i?(0,k.A)(a,"MMM d"):(0,k.A)(a,"MMM d, yyyy"),o=t||!i?(0,k.A)(r,"MMM d, yyyy"):(0,k.A)(r,"MMM d");return`${l.replace(/ /g,"\xa0")} - ${o.replace(/ /g,"\xa0")}`}(c?.startDate,c?.leaveDate,c?.isPast);return(0,a.jsx)("div",{ref:p,role:"dialog","aria-label":o("camperTrips:map.previewAriaLabel",{parkName:m}),onClick:e=>e.stopPropagation(),children:d?(0,a.jsxs)("div",{className:"flex w-full items-start justify-between gap-2 rounded-xl bg-surface p-4 shadow-lg",children:[(0,a.jsx)(h.E,{variant:"small",textColor:"muted",children:o("camperTrips:loadError")}),(0,a.jsx)(N.p,{onClick:e=>{e.stopPropagation(),t()}})]}):(0,a.jsx)(P,{media:{src:c?.park?.coverContributedPhoto?.filename??null,alt:m,loading:u},title:m,subtitle:g||void 0,overlay:c?(0,a.jsx)(A.J,{status:c.status,isPast:c.isPast,isCanceled:c.isCanceled}):void 0,onClick:f,onClose:t,loading:u,"aria-label":m})})}var S=t(61964),R=t(36143),z=t(42392),D=t(10225),L=t(81490),F=t(15614),_=t(12602);function $({"aria-label":e,className:n}){return(0,a.jsx)("div",{className:n,style:{width:14,height:14},children:(0,a.jsx)("svg",{width:14,height:14,viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-shadow-[0_1px_3px_rgba(0,0,0,0.3)]",...e?{role:"img","aria-label":e}:{"aria-hidden":!0},children:(0,a.jsx)("circle",{cx:"7",cy:"7",r:"6",className:"fill-muted stroke-surface",strokeWidth:2})})})}function B({"aria-label":e,className:n}){return(0,a.jsx)("div",{className:n,style:{width:34,height:39},children:(0,a.jsxs)("svg",{width:34,height:39,viewBox:"-2 -2 34 39",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-shadow-[0_2px_4px_rgba(0,0,0,0.25)]",...e?{role:"img","aria-label":e}:{"aria-hidden":!0},children:[(0,a.jsx)("path",{d:"M15 0C23.2843 0 30 6.71573 30 15C30 21.4941 25.8729 27.0235 20.0986 29.1104C20.0731 29.1379 20.0473 29.1656 20.0205 29.1924L17.1924 32.0215C16.0209 33.1927 14.1217 33.1925 12.9502 32.0215L10.1211 29.1924C10.1187 29.1899 10.1167 29.187 10.1143 29.1846C4.22897 27.1578 0 21.5735 0 15C0 6.71573 6.71573 0 15 0Z",fill:"#FFFFFF"}),(0,a.jsx)("circle",{cx:"15",cy:"15",r:"12",fill:"#523B54"}),(0,a.jsx)("path",{d:"M11.5 18.5L18.5 11.5M18.5 11.5H13M18.5 11.5V17",stroke:"#FFFFFF",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})})}$.displayName="MapDotMarker",B.displayName="CamperEntrancePinMarker";let q={upcoming:"camperTrips:map.upcomingTrip",past:"camperTrips:map.pastTrip"};function Z(e,n,t){if(0===n.length)return;if(1===n.length)return void e.flyTo({center:[n[0].lng,n[0].lat],zoom:t.singleZoom,duration:600,padding:t.padding});let{bounds:a,canSetBounds:r}=(0,L.UX)(n.map(e=>({latitude:e.lat,longitude:e.lng})));r&&e.fitBounds(a,{padding:t.padding,duration:600,maxZoom:t.maxBoundsZoom})}function O({mapRef:e,labelsVisible:n}){let{t}=(0,i.Bd)(),s=(0,r.useRouter)(),c="string"==typeof s.query.bookingId?s.query.bookingId:null,u=null!=c,{coordinates:m}=function(){let{isAuthenticated:e}=(0,D.A)(),{data:n,error:t}=(0,I.A)("query MyTripsCoordinates {\n  me {\n    id\n    upcoming: bookings(status: UPCOMING, first: 250) {\
1n      edges {\n        node {\n          id\n          park {\n            id\n            fullName\n            coordinate {\n              lat\n              lng\n            }\n          }\n        }\n      }\n    }\n    past: bookings(status: PAST, first: 250) {\n      edges {\n        node {\n          id\n          park {\n            id\n            fullName\n            coordinate {\n              lat\n              lng\n            }\n          }\n        }\n      }\n    }\n  }\n}\n",void 0,{customOptions:{authenticationRequired:!0,skip:!e}});return{coordinates:(0,l.useMemo)(()=>{let e=new Map,t=(n,t)=>{if(n)for(let a of n){let n=a?.node;if(!n)continue;let r=n.park?.coordinate;if(!r||null==r.lat||null==r.lng)continue;let i=n.park.id,l=e.get(i);l?l.bookingIds.includes(n.id)||l.bookingIds.push(n.id):e.set(i,{parkId:i,bookingId:n.id,bookingIds:[n.id],lat:r.lat,lng:r.lng,name:n.park.fullName??"",variant:t})}};return t(n?.me?.upcoming?.edges,"upcoming"),t(n?.me?.past?.edges,"past"),Array.from(e.values())},[n]),isLoading:!n&&!t,error:t}}(),p=function(e){let{t:n}=(0,i.Bd)(),{booking:t}=(0,z.A)({bookingId:e??""},{skip:!e});return(0,l.useMemo)(()=>{if(!e||!t)return[];let a=[],r=(0,R.r)(t.status,t.isPast,t.isCanceled);if("upcoming"!==r&&"past"!==r){let e=t.campground?.coordinate;return e?.lat==null||e?.lng==null?[]:[{kind:"approximate",lat:e.lat,lng:e.lng,label:n("camperTrips:map.approximateArea")}]}let i=t.campsite?.coordinate,l=i?.lat!=null&&i?.lng!=null;l&&a.push({kind:"site",lat:i.lat,lng:i.lng,label:n("camperTrips:map.yourSite"),variant:r});let o=t.campground?.drivableCoordinate??t.campground?.coordinate;return o?.lat!=null&&o?.lng!=null&&(l&&o.lat===i.lat&&o.lng===i.lng||a.push({kind:"entrance",lat:o.lat,lng:o.lng,label:n("camperTrips:map.camperEntrance"),variant:r})),a},[t,e,n])}(c),{selectedId:f,cardPosition:g,selectByPin:h,deselect:b}=function(e){let{current:n}=(0,o.ko)(),[t,a]=(0,l.useState)(null),[r,i]=(0,l.useState)("top"),s=(0,l.useRef)(null),c=(0,l.useCallback)(({restoreFocus:e=!0}={})=>{a(null);let n=s.current;e&&n&&document.contains(n)&&n.focus(),s.current=null},[]);return(0,l.useEffect)(()=>{let t=(e.current??n)?.getMap();if(!t)return;let a=e=>{let n=e?.originalEvent?.target??null;c({restoreFocus:!n?.closest?.('[role="dialog"]')})};return t.on("click",a),()=>{t.off("click",a)}},[e,n,c]),{selectedId:t,cardPosition:r,selectByPin:(0,l.useCallback)((n,t,r,l)=>{s.current=l??null,a(n);let o=e.current;o&&(i((0,S.g2)({map:o,longitude:r,latitude:t})),o.getMap().flyTo({center:[r,t],duration:500}))},[e]),deselect:c}}(e),x=(0,F.d)("md"),v=p[0]?.kind==="approximate";(0,l.useEffect)(()=>{let n=e.current?.getMap();if(n&&v)return n.setMaxZoom(12.9),()=>{n.setMaxZoom(G)}},[v,e]);let C=f?m.find(e=>e.parkId===f)??null:null,k=(0,l.useRef)(null),w=(0,l.useRef)(null),[j,N]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(!u||!c){k.current=null,w.current=null,N(null);return}p.length>0&&N(c);let n=e.current?.getMap();if(!n)return;let t=()=>{if(0===p.length){if(k.current===c||w.current===c)return;let e=m.find(e=>e.bookingIds.includes(c));if(!e)return;k.current=c,b({restoreFocus:!1}),n.flyTo({center:[e.lng,e.lat],zoom:16,duration:600,padding:y(x,80)});return}w.current!==c&&(b({restoreFocus:!1}),w.current=c,Z(n,p,{singleZoom:v?11.5:16,maxBoundsZoom:17,padding:y(x,80)}))};return n.loaded()?void t():(n.once("idle",t),()=>{n.off("idle",t)})},[u,c,p,m,e,b,x]);let M=(0,l.useRef)(!1);return(0,l.useEffect)(()=>{if(u){M.current=!1;return}if(M.current||0===m.length)return;let n=e.current?.getMap();if(!n)return;let t=()=>{M.current=!0,Z(n,m,{singleZoom:12,maxBoundsZoom:12,padding:y(x,60)})};return n.loaded()?void t():(n.once("idle",t),()=>{n.off("idle",t)})},[u,m,e,x]),(0,a.jsxs)(a.Fragment,{children:[m.map(e=>{let n=e.parkId===f,r=null!=c&&(!e.bookingIds.includes(c)||p.length>0||j===c);return(0,a.jsx)(o.pH,{latitude:e.lat,longitude:e.lng,anchor:"bottom",onClick:n=>{n.originalEvent.stopPropagation(),u||h(e.parkId,e.lat,e.lng,n.originalEvent.target?.closest('[role="button"]'))},style:{cursor:u?"default":"pointer",zIndex:n?d.selectedPin:d[`${e.variant}Pin`]},children:(0,a.jsx)("div",{className:`relative rounded transition-opacity duration-300 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus ${r?"opacity-0":"opacity-100"} ${u?"pointer-events-none":""}`,tabIndex:u?-1:0,role:"button","aria-label":t("camperTrips:map.pinAriaLabel",{parkName:e.n
1ame}),onKeyDown:n=>{u||("Enter"===n.key||" "===n.key)&&(" "===n.key&&n.preventDefault(),h(e.parkId,e.lat,e.lng,n.currentTarget))},children:(0,a.jsx)("div",{className:`origin-bottom transition-transform duration-150 ${n?"scale-125 drop-shadow-[0_4px_10px_rgba(0,0,0,0.35)]":""}`,children:(0,a.jsx)(_.N,{variant:e.variant})})})},e.parkId)}),C&&!u&&(0,a.jsx)(o.pH,{latitude:C.lat,longitude:C.lng,anchor:"bottom",style:{zIndex:d.previewCard},children:(0,a.jsx)("div",{className:"absolute",style:{...function(e){switch(e){case"top":return{bottom:52.75,left:"50%",transform:"translateX(-50%)"};case"bottom":return{top:4,left:"50%",transform:"translateX(-50%)"};case"left":return{right:21,top:-24.375,transform:"translateY(-50%)"};case"right":return{left:21,top:-24.375,transform:"translateY(-50%)"}}}(g),width:S.m8},children:(0,a.jsx)(T,{bookingId:C.bookingId,parkPlaceholder:t(q[C.variant]),onClose:b})})},`preview-${C.parkId}`),u&&p.map(e=>{let t="approximate"===e.kind;return(0,a.jsx)(o.pH,{latitude:e.lat,longitude:e.lng,anchor:t?"center":"bottom",style:{zIndex:"entrance"===e.kind?d.entrancePin:d.sitePin},children:(0,a.jsxs)("div",{className:"relative flex flex-col items-center animate-in fade-in duration-300",children:[t?(0,a.jsx)($,{"aria-label":e.label}):"site"===e.kind?(0,a.jsx)(_.N,{"aria-label":e.label,variant:e.variant}):(0,a.jsx)(B,{"aria-label":e.label}),n&&!t&&(0,a.jsx)("span",{className:"absolute left-1/2 top-full mt-1 -translate-x-1/2 whitespace-nowrap rounded-full bg-surface px-2 py-0.5 text-small-emphasis text-content shadow-md",children:e.label})]})},`detail-${e.kind}`)})]})}var U=t(58648),K=t(28563),H=t(7349),V=t(37792),W=t(80105);let G=18,Q={left:476},X={top:12,bottom:"auto"};function Y(){var e;let{t:n}=(0,i.Bd)(),{theme:t}=(0,W.W4)(),s=(0,l.useRef)(null),{currentUser:c}=(0,D.A)(),d=(0,F.d)("md"),g="/trips"===(e=(0,r.useRouter)().pathname)||e.startsWith("/trips/")?"trips":null,[h]=(0,l.useState)(()=>{var e;return{...!(e=c?.country?.alpha2Code??c?.defaultCountryCode)?p:f[e.toUpperCase()]??p,padding:y(d)}}),[x,v]=(0,l.useState)(h.zoom),[C,k]=(0,l.useState)(!1),[w,j]=(0,l.useState)(),N=()=>{let e=s.current?.getMap()?.getStyle()?.layers?.find(e=>"symbol"===e.type);j(e?.id)},[M,P]=(0,l.useState)(),A=()=>{let e=s.current?.getMap()?.getBounds();if(!e)return;let n=e=>Math.min(Math.max(e,-180),180).toFixed(4),t=e=>Math.min(Math.max(e,-85),85).toFixed(4);P(`[${n(e.getWest())},${t(e.getSouth())},${n(e.getEast())},${t(e.getNorth())}]`)};(0,l.useEffect)(()=>{s.current?.getMap()?.loaded()&&(N(),A())},[]);let[E,I]=(0,l.useState)(()=>h.zoom>=12),T=(0,l.useRef)(h.zoom>=12),S=(0,l.useCallback)(e=>{let n=e.viewState.zoom>=12;n!==T.current&&(T.current=n,I(n))},[]),R=(0,l.useRef)(!1),[z,L]=(0,l.useState)(!1),_=(0,l.useRef)(d);(0,l.useEffect)(()=>{_.current!==d&&(_.current=d,s.current?.getMap().setPadding(y(d)))},[d]);let{position:$,status:B,requestLocation:q}=function(){let[e,n]=(0,l.useState)(null),[t,a]=(0,l.useState)("idle"),r=(0,l.useRef)(!1);return(0,l.useEffect)(()=>(r.current=!1,()=>{r.current=!0}),[]),{position:e,status:t,requestLocation:(0,l.useCallback)(()=>{"u"<typeof navigator||!navigator.geolocation?a("unsupported"):(a("pending"),navigator.geolocation.getCurrentPosition(e=>{r.current||(n({lat:e.coords.latitude,lng:e.coords.longitude,accuracy:e.coords.accuracy}),a("granted"))},e=>{r.current||(e.code===e.PERMISSION_DENIED&&n(null),a(e.code===e.PERMISSION_DENIED?"denied":"error"))},{enableHighAccuracy:!1,timeout:1e4,maximumAge:6e4}))},[])}}();return((0,l.useEffect)(()=>{$&&s.current?.flyTo({center:[$.lng,$.lat],zoom:14,duration:600})},[$]),z)?(0,a.jsx)(b,{text:n("camperTrips:map.unavailable")}):(0,a.jsxs)("div",{className:"absolute inset-0 z-0 [&_.mapboxgl-ctrl-top-left]:hidden [&_.mapboxgl-ctrl-logo]:hidden",children:[M&&(0,a.jsx)(U.A,{useSatellite:C,onToggle:()=>{let e=!C;k(e),K.zS.buttonClicked({label:"Map Type Switcher",screenName:(0,K.Ur)()??"Trips",properties:{map_type:e?"satellite":"map"}})},mapStyleIdentifier:H.u8[t].split("/").pop()??"",previewLocation:M,smallLayout:!d,style:d?Q:X}),(0,a.jsxs)(o.T5,{ref:s,mapboxAccessToken:V.bG,initialViewState:h,mapStyle:H.u8[t],maxZoom:G,reuseMaps:!0,dragRotate:!1,touchPitch:!1,attributionControl:!1,onLoad:()=>{R.current=!0,N(),A()},onStyleData:N,onError:()=>{R.current||s.current?.getMap()?.loaded()||L(!0)},onZoom:S,onZoomEnd:e=>v(e.viewState.zoom),children:[(0,a.jsx)(o.ov,{showCompass:!1,position:"top-right"}),(0,a.jsx)(o.z0,{compact:!0,position:"bottom-right"}),w&&(0,a.jsx)(o.kL,{id:"satellite-imagery",type:"raster",url:"mapbox://mapbox.satellite",children:(0,a.jsx)(o.Wd,{id:"satellite-imagery",type:"raster",beforeId:w,layout:{visibility:C?"visible":"none"}})}),$&&(0,a.jsx)(m,{latitude:$.lat,longitude:$.lng,accuracy:$.accuracy??100,zoom:x}),"trips"===g&&(0,a.jsx)(O,{mapRef:s,labelsVisible:E})]}),(0,a.jsx)(u,{onClick:q,pending:"pending"===B})]})}function J(){return(0,a.jsx)(v,{children:(0,a.jsx)(Y,{})})}
1J.displayName="CamperMap"}}]);
2//# sourceMappingURL=7989.73428f5b6ce3b090.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.