PageSourceSearch

https://aadvantagedining.com/assets/index-C35OZ6iP.js

js aadvantagedining.com collected 2026-09-28 10:37:34 UTC 87,498 bytes, 7 lines download raw bytes

1import{g as T,G as Oe,V as z,S as U,by as q,r as d,_ as En,b1 as J,o as k,K as x,a2 as zt,j as f,H as we,al as Cn,b3 as it,cK as Sn,ax as Xe,cL as xn,b5 as Mn,b4 as R,h as ht,B as H,Y as _e,cM as On,cN as wn,s as Y,W as G,bD as Ln,cO as Vt,n as P,b8 as De,cP as _n,cQ as An,M as Ge,ca as In,T as ft,d as Ke,cR as Me,$ as Ht,cS as Pn,z as jn,D as Rn,E as kn,F as Tn,cT as Dn,cU as Fn,cV as Nn,cW as Bn,aD as qn,bk as A,bb as $e,cX as Un,cY as Ae,cZ as Gt,Z as Je,ap as $t,br as Wt,bs as gt,a as zn,b as Vn,c_ as Hn,I as Gn,m as $n,bv as Wn,c$ as Zn,N as Kn,aT as Jn,aS as Yn,p as Xn,d0 as yt,d1 as Et,d2 as Qn,a$ as eo,b0 as to,d3 as no,d4 as oo}from"./index-ZSf9gZ5T.js";import{b as ro,e as so,u as Qe,k as ao}from"./index-Bn9jR54v.js";import{g as io}from"./getFormErrorRequiredField-8dBlrZkQ.js";import{I as lo}from"./IconFilter-CCoZDMFN.js";import{G as co,a as uo,b as ho}from"./index-CjmAiJOw.js";import{P as fo}from"./index-Blnz6RqX.js";import{M as go}from"./index-t-_o7__v.js";import{V as po}from"./VisuallyHiddenTitle-ChYtIzCm.js";import"./getFormErrorMaxLength-4DT-AsjC.js";const mo=T.div.withConfig({componentId:"sc-1it7tow-0"})(['align-items:end;gap:10px 5px;display:grid;grid-template-columns:50px 1fr 50px;grid-template-areas:"a b b" "c c d";label[for="location"]{margin-left:-55px;}&& [data-testid="location__label"],&& [data-testid="restaurantOrCuisine__label"]{text-transform:',';}[data-testid="location"]{grid-area:b;}[data-testid="restaurantOrCuisine"]{grid-area:c;}[type="button"]{grid-area:a;}[type="submit"]{grid-area:d;}& > ',"{border-radius:",";height:",";margin-top:",";padding:",";}"],e=>e.theme.searchForm?.labelTextTransform??e.theme.inputLabel.textTransform,Oe,e=>e.theme.inputText.borderRadius,e=>e.theme.inputText.height,e=>`calc(${e.theme.bodyText.sizes[z.Md].lineHeight} + 5px)`,U.xs),bo=T(q).withConfig({componentId:"sc-1it7tow-1"})(["&::-webkit-search-cancel-button{cursor:pointer;}"]),vo=({onSubmit:e,updateRequest:t})=>{const n=d.useContext(En),o=d.useContext(J),s=k(x.PageSearchCurrentLocationButtonLabel),r=k(x.PageSearchLocationInputLabel),a=k(x.MemberFormZipcodeLabel),c=k(x.PageSearchRestaurantInputLabel),i=k(x.PageSearchSubmitLabel),{register:u,handleSubmit:l,reset:p,formState:{errors:h},setValue:g}=zt({defaultValues:{location:o.locationPrediction?.displayString||o.request?.location||"",restaurantOrCuisine:o.request?.restaurantOrCuisine},mode:"onBlur"});d.useEffect(()=>{p({location:o.locationPrediction?.displayString||o.request?.location||"",restaurantOrCuisine:o.request?.restaurantOrCuisine})},[o.request]);const b=m=>m.target.select(),v=d.useCallback(m=>{o.locationPrediction?.place.geometry.coordinates.reverse().join(",")!==m.location&&o.setLocationPrediction(void 0),t({...m,pageNo:void 0}),e&&e()},[e,t]);return f.jsxs(mo,{as:"form",onSubmit:l(v),role:"search",children:[f.jsx(Oe,{"aria-label":s,buttonVariant:we.Primary,"data-testid":"SearchForm__location",type:"button",onClick:()=>{o.setLocationPrediction(void 0),t({location:it,pageNo:void 0}),g("location",it)},children:f.jsx(Cn,{})}),f.jsx(bo,{error:h.location?.message,onFocus:b,"aria-required":!0,hasAsterisk:!1,label:r,placeholder:Xe(n,x.PageSearchLocationInputPlaceholder),type:"search",...u(Sn.location,{required:io(n,r),validate:{api:m=>{if(/\d/.test(m)){if(!/^[0-9-]+$/.test(m))return Xe(n,x.PageSearchLocationInputPatternError);if(!/\b\d{5}\b/.test(m)||!/^[0-9]+$/.test(m))return ro(n,5,a,"digits")}return!0}}})}),f.jsx(q,{label:c,placeholder:Xe(n,x.PageSearchRestaurantInputPlaceholder),type:"text",...u(xn.restaurantOrCuisine)}),f.jsx(Oe,{"aria-label":i,buttonVariant:we.Primary,"data-testid":"SearchForm__submit",type:"submit",children:f.jsx(Mn,{})})]})},yo=30,Ct=[1,5,10,20,30];var le=(e=>(e.Recommended="recommended",e.Distance="nearby",e.Rating="highestRated",e.Reviews="mostReviewed",e))(le||{});const Eo=T.div.withConfig({componentId:"sc-19fwk1y-0"})(["@media print{display:none;}"]),Co=T.div.withConfig({componentId:"sc-19fwk1y-1"})(["display:none;@media print{display:unset;span{font-weight:normal;}}"]),So=T(ht).withConfig({componentId:"sc-19fwk1y-2"})(["@media (min-width:","){display:none;}"],e=>e.theme.breakpoints.tablet),xo=T.span.withConfig({componentId:"sc-19fwk1y-3"})(["border-left:2px solid ",";padding-left:",";margin-left:",";"],e=>e.theme.border.DIVIDER_H_COLOR,U.xxs,U.xxs),Mo=T.div.withConfig({componentId:"sc-19fwk1y-4"})(["display:flex;justify-content:space-between;"]),Oo=T.span.withConfig({componentId:"sc-19fwk1y-5"})(["display:flex;flex-wrap:wrap;gap:",";"],U.xs),wo=so(new Date,{year:"numeric",month:"2-digit",day:"2-digit"},"en-GB").split("/").reverse().join("-"),Fe={[R.acclaimed]:!1,[R.localGem]:!1,[R.benefitsFor]:!1,[R.isNew]:!1,[R.priceRange]:[],[R.mealsServed]:[],[R.sortBy]:"recommended",[R.reservations]:!1},Lo=T.div.withConfig({componentId:"sc-19fwk1y-6"})(["display:grid;gap:calc("," / 2);text-align:left;"],U.md),_o=T.div.withConfig({componentId:"sc-19fwk1y-7"})([""]),xe=T.div.withConfig({componentId:"sc-19fwk1y-8"})(["border-top:",";padding-top:calc("," / 2);"],e=>e.theme.border.DIVIDER_H,U.md),Ao=T(xe).withConfig({componentId:"sc-19fwk1y-9"})(["align-items:center;display:flex;justify-content:flex-end;","{margin-left:",";@media (min-width:","){margin-left:",";}}"],Oe,U.xs,e=>e.theme.breakpoints.desktop,U.md),Io=T(H).withConfig({componentId:"sc-19fwk1y-10"})(["margin-bottom:",";"],U.xxs),Po=T(On).withConfig({componentId:"sc-3zylz4-0"})(["width:","ch;padding:0;border:none;background-position:calc(100% - 0.5em) center;background-size:0.6em;font-weight:inherit;font-size:inherit;cursor:pointer;"],e=>e.$textLength),Ne=(e,t,n)=>`${e} ${e===1?t:n}
1`,jo=({value:e,onChange:t})=>{const{partner:n}=d.useContext(_e),o=k(x.SearchRadiusSelectAriaLabel),s=k(x.SearchRadiusDistanceSingular),r=k(x.SearchRadiusDistancePlural),a=Ct.includes(e);if(!n.radiusAdjustmentEnabled)return Ne(e,s,r);const c=l=>{const p=parseInt(l.target.value);t(p)},u=Ne(e,s,r).length;return f.jsxs(Po,{value:a?e:"",onChange:c,"aria-label":o,"data-testid":"SearchRadiusSelect",$textLength:u,children:[!a&&f.jsx("option",{value:"",disabled:!0,children:Ne(e,s,r)}),Ct.map(l=>f.jsx("option",{value:l,children:Ne(l,s,r)},l))]})},Ro=({updateRequest:e})=>{const t=d.useContext(J),{partner:n}=d.useContext(_e),o=k(x.SearchCriteriaSearchingPrefix),s=k(x.SearchCriteriaPrintSearchingInPrefix),r=k(x.SearchCriteriaPrintForPrefix),a=k(x.SearchCriteriaResultsSingular),c=k(x.SearchCriteriaResultsPlural),i=k(x.SearchCriteriaResultsSummary),u=k(x.SearchCriteriaMapViewLabel),l=d.useMemo(()=>{if(!t.response?.currentPage)return"";const b=t.response?.totalResultSize??0;return b===1?a:c.replace("RESULT_COUNT",String(b))},[t.response?.currentPage,t.response?.totalResultSize,a,c]),p=d.useCallback(b=>{e({radius:String(b)})},[e]),h=d.useMemo(()=>{if(t.request?.location===wn)return u;const b=t.response?.filters?.location?.radius??t.response?.radius??(t.request?.radius?parseInt(t.request.radius):yo);return f.jsx(jo,{value:b,onChange:p})},[t.request?.location,t.request?.radius,t.response?.radius,t.response?.filters?.location?.radius,p,u]),g=d.useMemo(()=>i.split(/(RESULTS_MESSAGE|DISTANCE_MESSAGE)/).map((v,m)=>v==="RESULTS_MESSAGE"?f.jsx("strong",{children:l},`results-${m}`):v==="DISTANCE_MESSAGE"?f.jsx("strong",{children:h},`distance-${m}`):v),[l,h,i]);return f.jsxs(Y,{children:[f.jsxs(Eo,{children:[f.jsx(H,{as:"h1",bodyTextVariant:z.XL,weight:G.B,"data-testid":"SearchCriteria__criteria",children:f.jsxs(Ln,{children:[f.jsx("span",{children:o}),t.request?.location,!!t.request?.restaurantOrCuisine&&f.jsxs(f.Fragment,{children:[f.jsx("span",{children:"/"}),f.jsx(xo,{children:`"${t.request?.restaurantOrCuisine}"`})]})]})}),f.jsx(Y,{paddingBottom:"xs",children:f.jsx(vo,{updateRequest:e})}),t.response?.currentPage!==void 0&&t.response?.totalPages!==void 0&&(t.response?.totalResultSize>0||n.radiusAdjustmentEnabled)?f.jsxs(Mo,{children:[f.jsx(H,{as:"h2",bodyTextVariant:z.Md,id:"SearchCriteria__location_count",weight:G.A,"data-testid":"SearchCriteria__location-count",tabIndex:0,children:g}),f.jsx(So,{onClick:b=>{b.preventDefault(),t.toggleMode()},"data-testid":"search_mobile_map__link",children:Vt.MOBILE_LIST})]}):null]}),f.jsx(Co,{children:f.jsxs(H,{bodyTextVariant:z.XL,weight:G.B,children:[f.jsx("span",{children:s}),t.request?.location,!!t.request?.restaurantOrCuisine&&f.jsxs("div",{children:[f.jsx("span",{children:r}),`"${t.request?.restaurantOrCuisine}"`]})]})})]})},ko=({isDisabled:e,onToggle:t,updateRequest:n})=>{const{partner:o}=d.useContext(_e),s=d.useContext(J),r=P(x.SearchFiltersButtonClosedLabel),a=P(x.SearchFiltersSuggestedOptionReservationsLabel),c=P(x.SearchFiltersSuggestedOptionAcclaimedLabel),i=P(x.SearchFiltersSuggestedOptionLocalGemLabel),u=d.useMemo(()=>{let p=0;for(const[h,g]of Object.entries(s.filters))g&&g!=="false"&&Object.keys(R).filter(b=>b!==R.sortBy).includes(h)&&(p+=g?.split(",").length||0);return p},[s.filters]),l=(p,h)=>{n({[p]:h,pageNo:void 0})};return f.jsxs(Oo,{children:[f.jsxs(De,{"aria-controls":"SearchFilterMenu__menu","data-testid":"SearchFilterMenu__toggle",disabled:e&&u===0,notificationBadgeText:u,isNotificationVisible:!!u,onClick:()=>{t()},children:[f.jsx(lo,{}),r]}),o.openTableReservationsEnabled?f.jsx(De,{"data-testid":"SearchFilterReservations__toggle",disabled:e&&u===0,isActive:s.filters.reservations?.valueOf()==="true",onClick:()=>{l(R.reservations,s.filters.reservations?.valueOf()==="true"?void 0:"true")},children:a}):null,o.acclaimedEnabled?f.jsx(De,{"data-testid":"SearchFilterAcclaimed__toggle",disabled:e&&u===0,isActive:s.filters.acclaimed?.valueOf()==="true",onClick:()=>{l(R.acclaimed,s.filters.acclaimed?.valueOf()==="true"?void 0:"true")},children:c}):null,o.localGemsEnabled?f.jsx(De,{"data-testid":"SearchFilterLocalGem__toggle",disabled:e&&u===0,isActive:s.filters.localGem?.valueOf()==="true",onClick:()=>{l(R.localGem,s.filters.localGem?.valueOf()==="true"?void 0:"true")},children:i}):null]})},et=T.fieldset.withConfig({componentId:"sc-ycctwz-0"})(["border:none;display:flex;gap:",";flex-wrap:wrap;padding:",";"],U.xs,U.xxs),To=({isDisabled:e=!1,request:t,fieldProps:n})=>{const o=k(x.SearchSortByLabel),s=k(x.SearchSortByOptionRecommended),r=k(x.SearchSortByOptionDistance),a=k(x.SearchSortByOptionRating),c=k(x.SearchSortByOptionReviews),i={[le.Recommended]:s,[le.Distance]:r,[le.Rating]:a,[le.Reviews]:c};return f.jsx(q,{disabled:e,hideLabel:!0,label:o,type:"select",defaultValue:t?.sortBy,...n,children:Object.entries(le).map(([,u])=>f.jsx("option",{value:u,children:i[u]},u))})},Be=({titleKey:e})=>{const t=P(e);return f.jsx(Io,{as:"h3",bodyTextVariant:z.Md,weight:G.B,children:t})},Do=({onToggle:e,updateRequest:t})=>{const{partner:n}=d.useContext(_e),o=d.useContext(J),s=P(x.SearchFiltersTitle),r=P(x.SearchFiltersPriceOption1Label),a=P(x.SearchFiltersPriceOption2Label),c=P(x.SearchFiltersPriceOption3Label),i=P(x.SearchFiltersPriceOption4Label),u=P(x.SearchFiltersSuggestedOptionAcclaimedLabel),l=P(x.SearchFiltersSuggestedOptionLocalGemLabel),p=P(x.SearchFiltersSuggestedOptionNewLabel),h=P(x.SearchFiltersSuggestedOptionBenefitsLabel),g=P(x.SearchFiltersSuggestedOptionReservationsLabel),b=P(x.SearchFiltersMealOptionBreakfastLabel),v=P(x.SearchFiltersMealOptionLunchLabel),m=P(x.SearchFiltersMealOptionLateNightLabel),y=P(x.SearchFiltersMealOptionBrunchLabel),C=P(x.SearchFiltersMealOptionDinnerLabel),S=P(x.SearchFiltersClearActionLabel),w=P(x.SearchFiltersSaveActionLabel),O=k(x.SearchFiltersModalAriaLabel),E=d.useMemo(()=>Object.fromEntries(Object.entries(o.filters).map(([W,K])=>{switch(W){case R.mealsServed:case R.priceRange:return typeof K=="string"?[W,K.split(",")]:[W,[]];case R.sortBy:return[W,K||le.Recommended];default:return[W,K||!1]}}
1)),[o.filters]),{control:M,handleSubmit:L,register:_,reset:I}=zt({defaultValues:E}),D=d.createRef(),N=_n({control:M}),{isDirty:be}=An({control:M}),ve=d.useMemo(()=>{let W=0;for(const K of Object.keys(E))if(K in Fe){const Q=E[K],re=Fe[K];Q!==re&&(Array.isArray(Q)?W+=Q.length:W++)}return W},[E]),[ue,de]=d.useState(!1);d.useEffect(()=>{D?.current&&(D.current.disabled=Ge.isEqual(N,E))},[N]);const bt=_(R.acclaimed),vt=_(R.localGem),Ye=_(R.priceRange),Pe=_(R.priceRange),je=_(R.priceRange),Re=_(R.priceRange),ke=_(R.benefitsFor),Te=_(R.isNew),X=_(R.reservations),fn=_(R.mealsServed),gn=_(R.mealsServed),pn=_(R.mealsServed),mn=_(R.mealsServed),bn=_(R.mealsServed),vn=_(R.sortBy),yn=d.useCallback(W=>{const K=Object.fromEntries(Object.entries(W).map(([Q,re])=>Ge.isEqual(Fe[Q],re)?[Q,void 0]:Array.isArray(re)?[Q,re.length?re.join(","):void 0]:[Q,re||void 0]));t({...K,pageNo:void 0}),e(),de(!1),document.getElementById("SearchCriteria__location_count")?.focus()},[t,e]);return f.jsx(In,{handleClose:e,"aria-label":O,children:f.jsx("form",{onSubmit:L(yn),children:f.jsxs(Lo,{"aria-labelledby":"SearchFilterModal__toggle","data-testid":"SearchFilterModal__menu",hidden:!ue,id:"SearchFilterModal__menu",role:"region",children:[f.jsx(_o,{as:"section",children:f.jsx(H,{as:"h2",bodyTextVariant:z.XL,weight:G.B,children:s})}),f.jsxs(xe,{children:[f.jsx(Be,{titleKey:x.SearchFiltersSort}),f.jsx(To,{fieldProps:vn,...o})]}),f.jsxs(xe,{children:[f.jsx(Be,{titleKey:x.SearchFiltersPriceSectionTitle}),f.jsxs(et,{children:[f.jsx(q,{...Ye,label:r,type:"checkbox",value:"1"}),f.jsx(q,{...Pe,label:a,type:"checkbox",value:"2"}),f.jsx(q,{...je,label:c,type:"checkbox",value:"3"}),f.jsx(q,{...Re,label:i,type:"checkbox",value:"4"})]})]}),f.jsxs(xe,{children:[f.jsx(Be,{titleKey:x.SearchFiltersSuggestedSectionTitle}),f.jsxs(et,{children:[n.acclaimedEnabled?f.jsx(q,{...bt,label:u,type:"checkbox",value:"true"}):null,n.localGemsEnabled?f.jsx(q,{...vt,label:l,type:"checkbox",value:"true"}):null,f.jsx(q,{...Te,label:p,type:"checkbox",value:"true"}),f.jsx(q,{...ke,label:h,type:"checkbox",value:wo}),n.openTableReservationsEnabled?f.jsx(q,{...X,label:g,type:"checkbox",value:"true"}):null]})]}),f.jsxs(xe,{children:[f.jsx(Be,{titleKey:x.SearchFiltersMealSectionTitle}),f.jsxs(et,{children:[f.jsx(q,{...fn,label:b,type:"checkbox",value:"breakfast"}),f.jsx(q,{...pn,label:v,type:"checkbox",value:"lunch"}),f.jsx(q,{...bn,label:m,type:"checkbox",value:"late_night_dinner"}),f.jsx(q,{...gn,label:y,type:"checkbox",value:"brunch"}),f.jsx(q,{...mn,label:C,type:"checkbox",value:"dinner"})]})]}),f.jsxs(Ao,{children:[ve>0||be?f.jsx(ht,{as:"button","data-testid":"SearchFilterModal__clear",onClick:()=>{I(Fe)},type:"button",children:S}):null,f.jsx(Oe,{buttonVariant:we.Primary,"data-testid":"SearchFilterModal__submit",ref:D,type:"submit",children:w})]})]})})})},Fo=T.div.withConfig({componentId:"sc-14jqui-0"})(["position:relative;display:grid;height:100%;grid-template-columns:1fr;grid-template-rows:min-content;overflow:hidden;@media (min-width:","){grid-template-columns:400px auto;overflow:auto;}@media print{display:block;height:unset;}"],e=>e.theme.breakpoints.tablet),No=()=>{const e=P(x.PageSearchLocationBlockedTitle),t=P(x.PageSearchLocationBlockedTagline),n=P(x.PageSearchLocationBlockedTagline2);return f.jsxs(d.Fragment,{children:[f.jsx(Y,{paddingBottom:"sm",children:f.jsx(ft,{titleVariant:Ke.Lg,children:e})}),f.jsxs(H,{bodyTextVariant:z.XL,"data-testid":"search__location_blocked",weight:G.A,children:[f.jsx("p",{children:t}),f.jsx("br",{}),f.jsx("p",{children:n})]})]})},Bo=()=>{const e=P(x.PageSearchErrorTitle),t=P(x.PageSearchErrorTagline);return f.jsxs(d.Fragment,{children:[f.jsx(Y,{paddingBottom:"sm",children:f.jsx(ft,{as:"h2",titleVariant:Ke.Lg,children:e})}),f.jsx(H,{as:"p",bodyTextVariant:z.XL,"data-testid":"search__error",weight:G.A,children:t})]})},qo=()=>{const{partner:e}=d.useContext(_e),t=P(x.PageSearchNoResultsTitle),n=P(x.PageSearchNoResultsTagline),o=P(x.PageSearchNoResultsOption1),s=P(x.PageSearchNoResultsOption2),r=P(x.PageSearchNoResultsOption3),a=P(x.PageSearchNoResultsOption4),c=P(x.PageSearchNoResultsDisclaimer);return f.jsxs(d.Fragment,{children:[f.jsx(Y,{paddingBottom:"sm",children:f.jsx(ft,{as:"h2",titleVariant:Ke.Lg,children:t})}),f.jsxs(H,{bodyTextVariant:z.XL,"data-testid":"search__no_results_found",weight:G.A,children:[f.jsx("p",{children:n}),f.jsxs("ul",{children:[f.jsx("li",{children:o}),f.jsx("li",{children:s}),f.jsx("li",{children:r}),e.radiusAdjustmentEnabled&&f.jsx("li",{children:a})]}),f.jsx("p",{children:c})]})]})},Uo=({error:e})=>{switch(e){case Me.API:return f.jsx(Bo,{});case Me.GEO:return f.jsx(No,{});default:return f.jsx(qo,{})}},zo=T.div.withConfig({componentId:"sc-1ghjyac-0"})([""]),Vo=({error:e,isLoading:t,updateRequest:n})=>{const o=k(x.PageSearchResultsInfoLabel),s=k(x.PageSearchResultsLabel),r=d.useContext(J),a=!t&&r.response?.merchants.length===0,{member:c,known:i}=d.useContext(Ht),u=l=>{n({pageNo:l.toString()}),document.getElementById("SearchCriteria__location_count")?.focus()};return f.jsx(zo,{id:Pn,role:"region","aria-label":o,"data-testid":"SearchResultsList__wrapper",children:a||e?f.jsx(Uo,{error:e}):!r.response||t?f.jsx(jn,{message:"Do not refresh, loading search results.",size:Tn.xxl,margin:kn.xxl,border:Rn.xxl}):r.response?f.jsxs(f.Fragment,{children:[f.jsx(Dn,{"data-testid":"SearchResultsList__list","aria-label":s,children:r.results?.map((l,p)=>f.jsxs(f.Fragment,{children:[f.jsx("li",{children:f.jsx(Fn,{merchant:l,showTags:!0,showReservationBonus:!0,member:{member:c,known:i}})},l.id),p===Nn&&f.jsx("li",{children:f.jsx(co,{id:ho.SEARCH,mode:uo.MOBILE})})]}))}),f.jsx(Bn,{className:qn()?"isApp":"",children:f.jsx(fo,{currentPage:r.response.currentPage,pageCount:r.response.totalPages,onPageChange:u,paginationForLabel:"search results"})})]}):null})},Ho="1.9.0";function $(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(n[o[s]]=e[o[s]]);return n}function St(e,t,n,o){function s(r){return r instanceof n?r:new n(function(a){a(r)})}
1return new(n||(n=Promise))(function(r,a){function c(l){try{u(o.next(l))}catch(p){a(p)}}function i(l){try{u(o.throw(l))}catch(p){a(p)}}function u(l){l.done?r(l.value):s(l.value).then(c,i)}u((o=o.apply(e,[])).next())})}const Go=e=>`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`,$o=e=>`The google.maps.importLibrary() function is already defined, and @googlemaps/js-api-loader will use the existing function instead of overwriting it. The options passed to setOptions (${JSON.stringify(e)}) will be ignored.`,Wo=(e,t)=>`Failed to create Trusted Types policy "${e}": ${t instanceof Error?t.message:String(t)}.
2
3If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${e} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`,Zt=()=>{},Zo=()=>{},xt="@googlemaps/js-api-loader",Mt={createScriptURL:e=>e};let se;function Ko(){if(se)return se;const e=globalThis.trustedTypes;if(!e)return se=Mt,se;try{se=e.createPolicy(xt,{createScriptURL:t=>t})}catch(t){Zt(Wo(xt,t)),se=Mt}return se}function Jo(e,t){e.src=Ko().createScriptURL(t)}const Yo=e=>{var t,n,o,s="The Google Maps JavaScript API",r="google",a="importLibrary",c="__ib__",i=document,u=window,l=u[r]||(u[r]={}),p=l.maps||(l.maps={}),h=new Set,g=new URLSearchParams,b=()=>t||(t=new Promise(async(v,m)=>{await(n=i.createElement("script")),g.set("libraries",[...h]+"");for(o in e)g.set(o.replace(/[A-Z]/g,y=>"_"+y[0].toLowerCase()),e[o]);g.set("callback",r+".maps."+c),Jo(n,"https://maps.googleapis.com/maps/api/js?"+g),p[c]=v,n.onerror=()=>t=m(Error(s+" could not load.")),n.nonce=i.querySelector("script[nonce]")?.nonce||"",i.head.append(n)}));p[a]?console.warn(s+" only loads once. Ignoring:",e):p[a]=(v,...m)=>h.add(v)&&b().then(()=>p[a](v,...m))};let Ot=!1;function wt(e){if(Ot){Zt(Go(e));return}e.apiKey&&(e.key||(e.key=e.apiKey)),Qo(e),Ot=!0}async function Xo(e){if(!window?.google?.maps?.importLibrary)throw new Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}function Qo(e){const t=!!window.google?.maps?.importLibrary;t&&Zo($o(e)),t||Yo(e)}const V={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED",FAILED:"FAILED",AUTH_FAILURE:"AUTH_FAILURE"},er="GMP_visgl_rgmlibrary_v1_default",tr=[`gmp_visgl_reactgooglemaps_v${Ho}`],ge=A.createContext(null);let ne=V.NOT_LOADED,ye;const lt=new Set;function qe(e){e!==ne&&(ne=e,lt.forEach(t=>t(ne)))}function nr(){const[e,t]=d.useState({});return{mapInstances:e,addMapInstance:(r,a="default")=>{t(c=>Object.assign(Object.assign({},c),{[a]:r}))},removeMapInstance:(r="default")=>{t(a=>{var c=r;a[c];var i=$(a,[typeof c=="symbol"?c:c+""]);return i})},clearMapInstances:()=>{t({})}}}function or(){const[e,t]=d.useState({});return{map3dInstances:e,addMap3DInstance:(r,a="default")=>{t(c=>Object.assign(Object.assign({},c),{[a]:r}))},removeMap3DInstance:(r="default")=>{t(a=>{var c=r;a[c];var i=$(a,[typeof c=="symbol"?c:c+""]);return i})},clearMap3DInstances:()=>{t({})}}}function rr(e){const{onLoad:t,onError:n,apiKey:o,version:s,libraries:r=[],region:a,language:c,authReferrerPolicy:i,channel:u,solutionChannel:l,fetchAppCheckToken:p}=e,[h,g]=d.useState(ne),[b,v]=d.useReducer((C,S)=>C[S.name]?C:Object.assign(Object.assign({},C),{[S.name]:S.value}),{}),m=d.useMemo(()=>{const C={apiKey:o,version:s,libraries:r.join(","),region:a,language:c,authReferrerPolicy:i,channel:u,solutionChannel:l};return JSON.stringify(C)},[o,s,r,a,c,i,u,l]),y=d.useCallback(C=>St(this,void 0,void 0,function*(){if(b[C])return b[C];const S=yield Xo(C);return v({name:C,value:S}),S}),[b]);return d.useEffect(()=>(lt.add(g),g(ne),()=>{lt.delete(g)}),[]),d.useEffect(()=>{St(this,void 0,void 0,function*(){var C,S;try{ye&&ye!==m&&console.warn("The Google Maps JavaScript API has already been loaded with different parameters. The new parameters will be ignored. If you need to use different parameters, please refresh the page.");const w=["core","maps",...r],O=Object.fromEntries(Object.entries({key:o,v:s,libraries:r,region:a,language:c,authReferrerPolicy:i}).filter(([,E])=>E!==void 0));if(u!==void 0&&u>=0&&u<=999&&(O.channel=String(u)),l===void 0?O.solutionChannel=er:l!==""&&(O.solutionChannel=l),!((S=(C=window.google)===null||C===void 0?void 0:C.maps)===null||S===void 0)&&S.importLibrary){const E=!ye;E&&(ye=m,wt(O)),yield Promise.all(w.map(M=>y(M))),E&&qe(V.LOADED),t&&t();return}if(ne===V.LOADING||ne===V.LOADED){ne===V.LOADED&&t&&t();return}ye=m,qe(V.LOADING),wt(O),yield Promise.all(w.map(E=>y(E))),qe(V.LOADED),t&&t()}catch(w){qe(V.FAILED),n?n(w):console.error("The Google Maps JavaScript API failed to load.",w)}})},[m,t,n,y,r]),d.useEffect(()=>{if(h!==V.LOADED)return;const C=google.maps.Settings.getInstance();p&&(C.fetchAppCheckToken=p)},[h,p]),{status:h,loadedLibraries:b,importLibrary:y}}function sr(e){return d.useMemo(()=>e.disableUsageAttribution?null:tr,[e.disableUsageAttribution])}const ar=e=>{const{children:t}=e,n=$(e,["children"]),{mapInstances:o,addMapInstance:s,removeMapInstance:r,clearMapInstances:a}=nr(),{map3dInstances:c,addMap3DInstance:i,removeMap3DInstance:u,clearMap3DInstances:l}=or(),{status:p,loadedLibraries:h,importLibrary:g}=rr(n),b=sr(n),v=d.useMemo(()=>({mapInstances:o,addMapInstance:s,removeMapInstance:r,clearMapInstances:a,map3dInstances:c,addMap3DInstance:i,removeMap3DInstance:u,clearMap3DInstances:l,status:p,loadedLibraries:h,importLibrary:g,internalUsageAttributionIds:b}),[o,s,r,a,c,i,u,l,p,h,g,b]);return A.createElement(ge.Provider,{value:v},t)};function ir(e,t){for(const n of dr){const o=t[n],s=Kt[n];d.useEffect(()=>{if(!e||!o)return;const r=google.maps.event.addListener(e,s,a=>{o(lr(s,e,a))});return()=>r.remove()},[e,s,o])}}function lr(e,t,n){var o;
3const s={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(cr.includes(e)){const r=s,a=t.getCenter(),c=t.getZoom(),i=t.getHeading()||0,u=t.getTilt()||0,l=t.getBounds();return(!a||!l||!Number.isFinite(c))&&console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),r.detail={center:a?.toJSON()||{lat:0,lng:0},zoom:c||0,heading:i,tilt:u,bounds:l?.toJSON()||{north:90,east:180,south:-90,west:-180}},r}else if(ur.includes(e)){if(!n)throw new Error("[createEvent] mouse events must provide a srcEvent");const r=s;return r.domEvent=n.domEvent,r.stoppable=!0,r.stop=()=>n.stop(),r.detail={latLng:((o=n.latLng)===null||o===void 0?void 0:o.toJSON())||null,placeId:n.placeId},r}return s}const Kt={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},cr=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],ur=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],dr=Object.keys(Kt);function pe(e,t){const n=d.useRef(e);return t(e,n.current)||(n.current=e),n.current}function hr(e,t,n){d.useEffect(e,[pe(t,n)])}const{getOwnPropertyNames:fr,getOwnPropertySymbols:gr}=Object,{hasOwnProperty:pr}=Object.prototype;function tt(e,t){return function(o,s,r){return e(o,s,r)&&t(o,s,r)}}function Ue(e){return function(n,o,s){if(!n||!o||typeof n!="object"||typeof o!="object")return e(n,o,s);const{cache:r}=s,a=r.get(n),c=r.get(o);if(a&&c)return a===o&&c===n;r.set(n,o),r.set(o,n);const i=e(n,o,s);return r.delete(n),r.delete(o),i}}function Lt(e){return fr(e).concat(gr(e))}const mr=Object.hasOwn||((e,t)=>pr.call(e,t)),br="__v",vr="__o",yr="_owner",{getOwnPropertyDescriptor:_t,keys:At}=Object,ce=Object.is||function(t,n){return t===n?t!==0||1/t===1/n:t!==t&&n!==n};function Er(e,t){return e===t}function Cr(e,t){return e.byteLength===t.byteLength&&We(new Uint8Array(e),new Uint8Array(t))}function Sr(e,t,n){let o=e.length;if(t.length!==o)return!1;for(;o-- >0;)if(!n.equals(e[o],t[o],o,o,e,t,n))return!1;return!0}function xr(e,t){return e.byteLength===t.byteLength&&We(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function Mr(e,t){return ce(e.getTime(),t.getTime())}function Or(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function It(e,t,n){const o=e.size;if(o!==t.size)return!1;if(!o)return!0;const s=new Array(o),r=e.entries();let a,c,i=0;for(;(a=r.next())&&!a.done;){const u=t.entries();let l=!1,p=0;for(;(c=u.next())&&!c.done;){if(s[p]){p++;continue}const h=a.value,g=c.value;if(n.equals(h[0],g[0],i,p,e,t,n)&&n.equals(h[1],g[1],h[0],g[0],e,t,n)){l=s[p]=!0;break}p++}if(!l)return!1;i++}return!0}function wr(e,t,n){const o=At(e);let s=o.length;if(At(t).length!==s)return!1;for(;s-- >0;)if(!Jt(e,t,n,o[s]))return!1;return!0}function Ee(e,t,n){const o=Lt(e);let s=o.length;if(Lt(t).length!==s)return!1;let r,a,c;for(;s-- >0;)if(r=o[s],!Jt(e,t,n,r)||(a=_t(e,r),c=_t(t,r),(a||c)&&(!a||!c||a.configurable!==c.configurable||a.enumerable!==c.enumerable||a.writable!==c.writable)))return!1;return!0}function Lr(e,t){return ce(e.valueOf(),t.valueOf())}function _r(e,t){return e.source===t.source&&e.flags===t.flags}function Pt(e,t,n){const o=e.size;if(o!==t.size)return!1;if(!o)return!0;const s=new Array(o),r=e.values();let a,c;for(;(a=r.next())&&!a.done;){const i=t.values();let u=!1,l=0;for(;(c=i.next())&&!c.done;){if(!s[l]&&n.equals(a.value,c.value,a.value,c.value,e,t,n)){u=s[l]=!0;break}l++}if(!u)return!1}return!0}function We(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function Ar(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Jt(e,t,n,o){return(o===yr||o===vr||o===br)&&(e.$$typeof||t.$$typeof)?!0:mr(t,o)&&n.equals(e[o],t[o],o,o,e,t,n)}const Ir=Object.prototype.toString;function Pr(e){const t=Tr(e),{areArraysEqual:n,areDatesEqual:o,areFunctionsEqual:s,areMapsEqual:r,areNumbersEqual:a,areObjectsEqual:c,areRegExpsEqual:i,areSetsEqual:u,getUnsupportedCustomComparator:l}=e;return function(h,g,b){if(h===g)return!0;
3if(h==null||g==null)return!1;const v=typeof h;if(v!==typeof g)return!1;if(v!=="object")return v==="number"||v==="bigint"?a(h,g,b):v==="function"?s(h,g,b):!1;const m=h.constructor;if(m!==g.constructor)return!1;if(m===Object)return c(h,g,b);if(m===Array)return n(h,g,b);if(m===Date)return o(h,g,b);if(m===RegExp)return i(h,g,b);if(m===Map)return r(h,g,b);if(m===Set)return u(h,g,b);if(m===Promise)return!1;if(Array.isArray(h))return n(h,g,b);const y=Ir.call(h),C=t[y];if(C)return C(h,g,b);const S=l&&l(h,g,b,y);return S?S(h,g,b):!1}}function jr({circular:e,createCustomConfig:t,strict:n}){let o={areArrayBuffersEqual:Cr,areArraysEqual:n?Ee:Sr,areDataViewsEqual:xr,areDatesEqual:Mr,areErrorsEqual:Or,areFunctionsEqual:Er,areMapsEqual:n?tt(It,Ee):It,areNumbersEqual:ce,areObjectsEqual:n?Ee:wr,arePrimitiveWrappersEqual:Lr,areRegExpsEqual:_r,areSetsEqual:n?tt(Pt,Ee):Pt,areTypedArraysEqual:n?tt(We,Ee):We,areUrlsEqual:Ar,getUnsupportedCustomComparator:void 0};if(t&&(o=Object.assign({},o,t(o))),e){const s=Ue(o.areArraysEqual),r=Ue(o.areMapsEqual),a=Ue(o.areObjectsEqual),c=Ue(o.areSetsEqual);o=Object.assign({},o,{areArraysEqual:s,areMapsEqual:r,areObjectsEqual:a,areSetsEqual:c})}return o}function Rr(e){return function(t,n,o,s,r,a,c){return e(t,n,c)}}function kr({circular:e,comparator:t,createState:n,equals:o,strict:s}){if(n)return function(c,i){const{cache:u=e?new WeakMap:void 0,meta:l}=n();return t(c,i,{cache:u,equals:o,meta:l,strict:s})};if(e)return function(c,i){return t(c,i,{cache:new WeakMap,equals:o,meta:void 0,strict:s})};const r={cache:void 0,equals:o,meta:void 0,strict:s};return function(c,i){return t(c,i,r)}}function Tr({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:o,areErrorsEqual:s,areFunctionsEqual:r,areMapsEqual:a,areNumbersEqual:c,areObjectsEqual:i,arePrimitiveWrappersEqual:u,areRegExpsEqual:l,areSetsEqual:p,areTypedArraysEqual:h,areUrlsEqual:g}){return{"[object Arguments]":i,"[object Array]":t,"[object ArrayBuffer]":e,"[object AsyncGeneratorFunction]":r,"[object BigInt]":c,"[object BigInt64Array]":h,"[object BigUint64Array]":h,"[object Boolean]":u,"[object DataView]":n,"[object Date]":o,"[object Error]":s,"[object Float16Array]":h,"[object Float32Array]":h,"[object Float64Array]":h,"[object Function]":r,"[object GeneratorFunction]":r,"[object Int8Array]":h,"[object Int16Array]":h,"[object Int32Array]":h,"[object Map]":a,"[object Number]":u,"[object Object]":(b,v,m)=>typeof b.then!="function"&&typeof v.then!="function"&&i(b,v,m),"[object RegExp]":l,"[object Set]":p,"[object String]":u,"[object URL]":g,"[object Uint8Array]":h,"[object Uint8ClampedArray]":h,"[object Uint16Array]":h,"[object Uint32Array]":h}}const me=oe();oe({strict:!0});oe({circular:!0});oe({circular:!0,strict:!0});oe({createInternalComparator:()=>ce});oe({strict:!0,createInternalComparator:()=>ce});oe({circular:!0,createInternalComparator:()=>ce});oe({circular:!0,createInternalComparator:()=>ce,strict:!0});function oe(e={}){const{circular:t=!1,createInternalComparator:n,createState:o,strict:s=!1}=e,r=jr(e),a=Pr(r),c=n?n(a):Rr(a);return kr({circular:t,comparator:a,createState:o,equals:c,strict:s})}function Yt(e,t){hr(e,t,me)}const Dr=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","headingInteractionEnabled","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","tiltInteractionEnabled","zoomControl","zoomControlOptions"]);function Fr(e,t){const n={},o=Object.keys(t);for(const s of o)Dr.has(s)&&(n[s]=t[s]);Yt(()=>{e&&e.setOptions(n)},[n])}function Xt(){var e;return((e=d.useContext(ge))===null||e===void 0?void 0:e.status)||V.NOT_LOADED}function Nr(e,t){const{viewport:n,viewState:o}=t,s=!!n;return d.useLayoutEffect(()=>{if(!e||!o)return;const{latitude:r,longitude:a,bearing:c,pitch:i,zoom:u}=o;e.moveCamera({center:{lat:r,lng:a},heading:c,tilt:i,zoom:u+1})},[e,o]),s}function Br(e){return!e||typeof e!="object"||!("lat"in e&&"lng"in e)?!1:Number.isFinite(e.lat)&&Number.isFinite(e.lng)}function Qt(e,t){if(!e||!t)return!1;const n=Ze(e),o=Ze(t);return!(n.lat!==o.lat||n.lng!==o.lng)}function Ze(e){return Br(e)?e:e.toJSON()}function jt(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;
3const t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function qr(e,t){if(!e||!t)return!1;const n=jt(e),o=jt(t);return n.north===o.north&&n.south===o.south&&n.east===o.east&&n.west===o.west}function en(e,t){if(!e||!t)return e===t;const n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let o=0;o<e.length;o++)if(!Qt(e[o],n[o]))return!1;return!0}function Ur(e,t){if(!e||!t)return e===t;const n="getArray"in t?t.getArray().map(o=>o.getArray()):t;if(e.length!==n.length)return!1;for(let o=0;o<e.length;o++)if(!en(e[o],n[o]))return!1;return!0}function zr(e,t,n){const o=n.center?Ze(n.center):null;let s=null,r=null;o&&Number.isFinite(o.lat)&&Number.isFinite(o.lng)&&(s=o.lat,r=o.lng);const a=Number.isFinite(n.zoom)?n.zoom:null,c=Number.isFinite(n.heading)?n.heading:null,i=Number.isFinite(n.tilt)?n.tilt:null;d.useLayoutEffect(()=>{if(!e)return;const u={};let l=!1;s!==null&&r!==null&&(t.current.center.lat!==s||t.current.center.lng!==r)&&(u.center={lat:s,lng:r},l=!0),a!==null&&t.current.zoom!==a&&(u.zoom=a,l=!0),c!==null&&t.current.heading!==c&&(u.heading=c,l=!0),i!==null&&t.current.tilt!==i&&(u.tilt=i,l=!0),l&&e.moveCamera(u)})}const Vr=()=>{const e={position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:999,display:"flex",flexFlow:"column nowrap",textAlign:"center",justifyContent:"center",fontSize:".8rem",color:"rgba(0,0,0,0.6)",background:"#dddddd",padding:"1rem 1.5rem"};return A.createElement("div",{style:e},A.createElement("h2",null,"Error: AuthFailure"),A.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",A.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."))};function ct(){const[e,t]=d.useState(null),n=d.useCallback(o=>t(o),[t]);return[e,n]}function tn(){return Xt()===V.LOADED}function nn(){const[,e]=d.useReducer(t=>t+1,0);return e}function Hr(e,t){const n=e.getCenter(),o=e.getZoom(),s=e.getHeading()||0,r=e.getTilt()||0,a=e.getBounds();(!n||!a||!Number.isFinite(o))&&console.warn("[useTrackedCameraState] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),Object.assign(t.current,{center:n?.toJSON()||{lat:0,lng:0},zoom:o||0,heading:s,tilt:r})}function Gr(e){const t=nn(),n=d.useRef({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});return d.useEffect(()=>{if(!e)return;const o=google.maps.event.addListener(e,"bounds_changed",()=>{Hr(e,n),t()});return()=>o.remove()},[e,t]),n}class He{static has(t){return this.entries[t]&&this.entries[t].length>0}static pop(t){return this.entries[t]&&this.entries[t].pop()||null}static push(t,n){this.entries[t]||(this.entries[t]=[]),this.entries[t].push(n)}}He.entries={};function $r(e,t){const n=tn(),[o,s]=d.useState(null),[r,a]=ct(),c=Gr(o),{id:i,defaultBounds:u,defaultCenter:l,defaultZoom:p,defaultHeading:h,defaultTilt:g,reuseMaps:b,renderingType:v,colorScheme:m}=e,y=$(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),C=e.zoom!==void 0||e.defaultZoom!==void 0,S=e.center!==void 0||e.defaultCenter!==void 0;!u&&(!C||!S)&&console.warn("<Map> component is missing configuration. You have to provide zoom and center (via the `zoom`/`defaultZoom` and `center`/`defaultCenter` props) or specify the region to show using `defaultBounds`. See https://visgl.github.io/react-google-maps/docs/api-reference/components/map#required"),!y.center&&l&&(y.center=l),!y.zoom&&Number.isFinite(p)&&(y.zoom=p),!y.heading&&Number.isFinite(h)&&(y.heading=h),!y.tilt&&Number.isFinite(g)&&(y.tilt=g);const w=y.internalUsageAttributionIds;w==null?y.internalUsageAttributionIds=t.internalUsageAttributionIds:y.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...w];for(const E of Object.keys(y))y[E]===void 0&&delete y[E];const O=d.useRef(void 0);return d.useEffect(()=>{if(!r||!n)return;const{addMapInstance:E,removeMapInstance:M}=t,{mapId:L}=e,_=`${L||"default"}:${v||"default"}:${m||"LIGHT"}`;let I,D;const N=b&&He.has(_)?He.pop(_):null,be=N?.getDiv(),ve=N&&be instanceof Node?N:null;if(ve?(D=ve,I=be,r.appendChild(I),D.setOptions(y),setTimeout(()=>D.moveCamera({}),0)):(N&&google.maps.event.clearInstanceListeners(N),I=document.createElement("div"),I.style.height="100%",r.appendChild(I),D=new google.maps.Map(I,Object.assign(Object.assign(Object.assign({},y),v?{renderingType:v}:{}),m?{colorScheme:m}:{}))),s(D),E(D,i),u){const{padding:ue}=u,de=$(u,["padding"]);D.fitBounds(de,ue)}else(!C||!S)&&D.fitBounds({east:180,west:-180,south:-90,north:90});if(O.current){const{mapId:ue,cameraState:de}=O.current;ue!==L&&D.moveCamera(de)}return()=>{O.current={mapId:L,cameraState:c.current},I.remove(),b?He.push(_,D):google.maps.event.clearInstanceListeners(D),s(null),M(i)}},[r,n,i,e.mapId,e.renderingType,e.colorScheme]),[o,a,c]}const on=A.createContext(null),rn=e=>{const{children:t,id:n,className:o,style:s}=e,r=d.useContext(ge),a=Xt();if(!r)throw new Error("<Map> can only be used inside an <ApiProvider> component.");const[c,i,u]=$r(e,r);zr(c,u,e),ir(c,e),Fr(c,e);const l=Nr(c,e),p=!!e.controlled;d.useEffect(()=>{if(c)return l&&c.setOptions({disableDefaultUI:!0}),(l||p)&&c.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{c.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[c,l,p,e.gestureHandling,e.keyboardShortcuts]);const h=e.center?Ze(e.center):null;let g=null,b=null;h&&Number.isFinite(h.lat)&&Number.isFinite(h.lng)&&(g=h.lat,b=h.lng);const v=d.useMemo(()=>{var C,S,w;return{center:{lat:g??0,lng:b??0},zoom:(C=e.zoom)!==null&&C!==void 0?C:0,heading:(S=e.heading)!==null&&S!==void 0?S:0,tilt:(w=e.tilt)!==null&&w!==void 0?w:0}},[g,b,e.zoom,e.heading,e.tilt]);d.useLayoutEffect(()=>{if(!c||!p)return;c.moveCamera(v);const C=c.addListener("bounds_changed",()=>{c.moveCamera(v)});return()=>C.remove()},[c,p,v]);const m=d.useMemo(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:l?-1:0},s),[s,l]),y=d.useMemo(()=>({map:c}),[c]);return a===V.AUTH_FAILURE?A.createElement("div",{style:Object.assign({position:"relative"},o?{}:m),className:o},A.createElement(Vr,null)):A.createElement("div",Object.assign({ref:i,"data-testid":"map",style:o?void 0:m,className:o},n?{id:n}:{}),c?A.createElement(on.Provider,{value:y},t):null)};rn.deckGLViewProps=!0;const Rt=new Set;function Wr(...e){const t=JSON.stringify(e);Rt.has(t)||(Rt.add(t),console.error(...e))}const Z=(e=null)=>{const t=d.useContext(ge),{map:n}=d.useContext(on)||{};if(t===null)return Wr("useMap(): failed to retrieve APIProviderContext. Make sure that the <APIProvider> component exists and that the component you are calling `useMap()` from is a sibling of the <APIProvider>."),null;const{mapInstances:o}=t;return e!==null?o[e]||null:n||o.default||null};function Ie(e){var t;const n=tn(),o=d.useContext(ge);return d.useEffect(()=>{!n||!o||o.importLibrary(e)},[n,o,e]),(t=o?.loadedLibraries[e])!==null&&t!==void 0?t:null}const sn=Object.assign({},Un),nt=sn.useInsertionEffect,Zr=nt&&nt!==sn.useLayoutEffect?nt:e=>{e()};function Kr(){throw new Error("useEffectEvent: invalid call during rendering.")}function Jr(e){const t=d.useRef(Kr);return Zr(()=>{t.current=e},[e]),((...n)=>t.current(...n))}const an=Jr,Yr=()=>{};function j(e,t,n){const o=an(n??Yr),s=!!n;d.useEffect(()=>{if(!e||!t||!s)return;const r=google.maps.event.addListener(e,t,o);return()=>r.remove()},[e,t,s])}function B(e,t,n){d.useEffect(()=>{e&&(e[t]=n)},[e,t,n])}const Xr=()=>{};function fe(e,t,n){const o=an(n??Xr),s=!!n;d.useEffect(()=>{if(!e||!t||!s)return;const r=o;return e.addEventListener(t,r),()=>e.removeEventListener(t,r)},[e,t,s])}class Qr{constructor(){this.renderedStyles=new Set,this.styleElement=null}getStyleElement(){return this.styleElement||(this.styleElement=document.createElement("style"),this.styleElement.setAttribute("data-rgm-anchor-styles",""),document.head.appendChild(this.styleElement)),this.styleElement}addAdvancedMarkerPointerEventsOverwrite(){if(this.renderedStyles.has("marker-pointer-events"))return;const t=this.getStyleElement();t.textContent+=`
4      gmp-advanced-marker[data-origin='rgm'] {
5        pointer-events: none !important;
6      }
7    `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}}const es=new Qr;function ts(e,t){var n;if(!(!((n=google==null?void 0:google.maps)===null||n===void 0)&&n.version))return;const o=google.maps.version.split("."),s=parseInt(o[0],10),r=parseInt(o[1],10);return s>e||s===e&&r>=t}const ns=A.createContext(null),os={BOTTOM:["50%","100%"]},pt=d.forwardRef((e,t)=>
7{const{children:n,style:o,className:s,anchorPoint:r}=e,[a,c]=is(e),i=d.useMemo(()=>a?{marker:a}:null,[a]);return d.useImperativeHandle(t,()=>a,[a]),c?A.createElement(ns.Provider,{value:i},$e.createPortal(A.createElement(as,{anchorPoint:r,styles:o,className:s},n),c)):null});pt.displayName="AdvancedMarker";function rs(){const[e,t]=d.useState(null);return[d.useCallback(o=>{t(o)},[]),e]}function ss(e){return e.content!==void 0}function ut(e){return e.nodeType===Node.ELEMENT_NODE}const as=({children:e,styles:t,className:n})=>A.createElement("div",{className:n,style:t},e);function is(e){const[t,n]=d.useState(null),[o,s]=d.useState(null),r=Z(),a=Ie("marker"),{children:c,onClick:i,onKeyDown:u,onKeyUp:l,className:p,onMouseEnter:h,onMouseLeave:g,onDrag:b,onDragStart:v,onDragEnd:m,collisionBehavior:y,clickable:C,draggable:S,position:w,title:O,zIndex:E,anchorPoint:M,anchorLeft:L,anchorTop:_}=e,I=d.Children.count(c);return d.useEffect(()=>{if(!r||!a)return;const D=new a.AdvancedMarkerElement;D.map=r,n(D);let N=null;return I>0&&(N=document.createElement("div"),D.content=N,s(N)),()=>{D.map=null,N?.remove(),n(null),s(null)}},[r,a,I]),d.useEffect(()=>{!t?.content||!ut(t.content)||I>0||(t.content.className=p??"")},[t,p,I]),ls(t,M,L,_,I>0),B(t,"position",w),B(t,"title",O??""),B(t,"zIndex",E),B(t,"collisionBehavior",y),d.useEffect(()=>{t&&(S!==void 0?t.gmpDraggable=S:b||v||m?t.gmpDraggable=!0:t.gmpDraggable=!1)},[t,S,b,m,v]),d.useEffect(()=>{if(!t)return;const D=C!==void 0?C:!!i||!!u||!!l||!!h||!!g;t.gmpClickable=D,t?.content&&ut(t.content)&&(t.content.style.pointerEvents=D?"all":"none",t.content.style.cursor=D&&i?"pointer":"")},[t,C,i,u,l,h,g]),j(t,"drag",b),j(t,"dragstart",v),j(t,"dragend",m),fe(t,"gmp-click",i),fe(t,"keydown",u),fe(t,"keyup",l),fe(t,"mouseenter",h),fe(t,"mouseleave",g),[t,o]}function ls(e,t,n,o,s){d.useEffect(()=>{if(!e||!s)return;const r=ts(3,62),a=e.content;if(!(!a||!ut(a))){if(n!==void 0||o!==void 0){r||console.warn(`AdvancedMarker: The anchorLeft and anchorTop props are only supported in Google Maps API version 3.62 and above. The current version is ${google.maps.version}.`),e.anchorLeft=n,e.anchorTop=o,t!==void 0&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(t!==void 0){const[c,i]=t??os.BOTTOM,u=`calc(-1 * ${c})`,l=`calc(-1 * ${i})`;r?(e.anchorLeft=u,e.anchorTop=l,a.style.transform=""):(a.style.transform=`translate(50%, 100%) translate(${u}, ${l})`,e.dataset.origin="rgm",es.addAdvancedMarkerPointerEventsOverwrite())}}},[e,t,n,o,s])}function cs(e){var t,n,o;const{onClick:s,onDrag:r,onDragStart:a,onDragEnd:c,onMouseOver:i,onMouseOut:u,onRadiusChanged:l,onCenterChanged:p,center:h,defaultCenter:g,radius:b,defaultRadius:v}=e,m=$(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[y,C]=d.useState(null),S=Z(),w=pe(Object.assign(Object.assign({},m),{clickable:(t=m.clickable)!==null&&t!==void 0?t:!!s,draggable:(n=m.draggable)!==null&&n!==void 0?n:!!(r||a||c||p),editable:(o=m.editable)!==null&&o!==void 0?o:!!l}),me);return d.useEffect(()=>{if(!S){S===void 0&&console.error("<Circle> has to be inside a Map component.");return}const O=new google.maps.Circle(Object.assign(Object.assign({},w),{center:h??g,radius:b??v}));return O.setMap(S),C(O),()=>{O.setMap(null),C(null)}},[S]),j(y,"click",s),j(y,"drag",r),j(y,"dragstart",a),j(y,"dragend",c),j(y,"mouseover",i),j(y,"mouseout",u),j(y,"radius_changed",l?()=>{const O=y?.getRadius();O!==void 0&&l(O)}:null),j(y,"center_changed",p?()=>{p(y?.getCenter())}:null),d.useEffect(()=>{y&&y.setOptions(w)},[y,w]),d.useEffect(()=>{!y||!h||Qt(h,y.getCenter())||y.setCenter(h)},[y,h]),d.useEffect(()=>{!y||b===void 0||b!==y.getRadius()&&y.setRadius(b)},[y,b]),y}const us=d.forwardRef((e,t)=>{const n=cs(e);return d.useImperativeHandle(t,()=>n,[n]),A.createElement(A.Fragment,null)});us.displayName="Circle";
7function ln(e,t,n){if(t!=null&&typeof t!="object")throw new Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");const o=e.style;if(n==null){if(t==null)return;for(const s in t)t.hasOwnProperty(s)&&kt(o,s,t[s]);return}for(const s in n)n.hasOwnProperty(s)&&(t==null||!t.hasOwnProperty(s))&&(s.indexOf("--")===0?o.setProperty(s,""):s==="float"?o.cssFloat="":o[s]="");if(t!=null)for(const s in t){const r=t[s];t.hasOwnProperty(s)&&n[s]!==r&&kt(o,s,r)}}function kt(e,t,n){const o=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?o?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":o?e.setProperty(t,n):typeof n=="number"&&n!==0&&!hs(t)?e[t]=n+"px":t==="float"?e.cssFloat=n:e[t]=(""+n).trim()}const ds=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]);function hs(e){return ds.has(e)}const fs=e=>{const{children:t,headerContent:n,style:o,className:s,pixelOffset:r,anchor:a,shouldFocus:c,onClose:i,onCloseClick:u}=e,l=$(e,["children","headerContent","style","className","pixelOffset","anchor","shouldFocus","onClose","onCloseClick"]),p=Ie("maps"),[h,g]=d.useState(null),b=d.useRef(null),v=d.useRef(null),m=pe(l,me);d.useEffect(()=>{if(!p)return;b.current=document.createElement("div"),v.current=document.createElement("div");const S=Object.assign({},m);r&&(S.pixelOffset=new google.maps.Size(r[0],r[1])),n&&(S.headerContent=typeof n=="string"?n:v.current);const w=new google.maps.InfoWindow(S);return w.setContent(b.current),g(w),()=>{var O,E;w.setContent(null),(O=b.current)===null||O===void 0||O.remove(),(E=v.current)===null||E===void 0||E.remove(),b.current=null,v.current=null,g(null)}},[p]);const y=d.useRef(null);d.useLayoutEffect(()=>{!h||!b.current||(ln(b.current,o||null,y.current),y.current=o||null,s!==b.current.className&&(b.current.className=s||""))},[h,s,o]),d.useEffect(()=>{if(!h)return;const S=Object.assign({},m);r?S.pixelOffset=new google.maps.Size(r[0],r[1]):S.pixelOffset=null,n?S.headerContent=typeof n=="string"?n:v.current:S.headerContent=null,h.setOptions(S)},[m,r,n]),j(h,"close",i),j(h,"closeclick",u);const C=Z();return d.useEffect(()=>{var S;if(!C||!h||a===null)return;const w=!!a,O={map:C};if(a&&(O.anchor=a,ss(a)&&a.content instanceof Element)){const E=a?.getBoundingClientRect();if(E&&a.dataset.origin==="rgm"){const M=(S=a.content.firstElementChild)===null||S===void 0?void 0:S.firstElementChild,L=M?.getBoundingClientRect(),_=L.x-E.x+(L.width-E.width)/2,I=L.y-E.y,D=Object.assign({},m);D.pixelOffset=new google.maps.Size(r?r[0]+_:_,r?r[1]+I:I),h.setOptions(D)}}return c!==void 0&&(O.shouldFocus=c),h.open(O),()=>{w&&h.set("anchor",null),h.close()}},[h,a,C,c,m,r]),A.createElement(A.Fragment,null,b.current&&$e.createPortal(t,b.current),v.current!==null&&$e.createPortal(n,v.current))};function Tt(e){const t=e.getPaths(),n=[];for(let o=0;o<t.getLength();o++)n.push(t.getAt(o).getArray());return n}function gs(e){var t,n,o;const{onClick:s,onDrag:r,onDragStart:a,onDragEnd:c,onMouseOver:i,onMouseOut:u,onPathsChanged:l,polygon:p,encodedPaths:h,paths:g,defaultPaths:b}=e,v=$(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[m,y]=d.useState(null),C=Z(),S=Ie("geometry"),w=d.useRef(!1),O=pe(Object.assign(Object.assign({},v),{clickable:(t=v.clickable)!==null&&t!==void 0?t:!!s,draggable:(n=v.draggable)!==null&&n!==void 0?n:!!(r||a||c||l),editable:(o=v.editable)!==null&&o!==void 0?o:!!l}),me);return d.useEffect(()=>{if(!C){C===void 0&&console.error("<Polygon> has to be inside a Map component.");return}let E;if(p){E=p;const M=g??b;M&&Array.isArray(M)&&E.setPaths(M),E.setOptions(O)}else{const M=g??b,L=Object.assign({},O);M&&Array.isArray(M)&&(L.paths=M),E=new google.maps.Polygon(L)}return E.setMap(C),y(E),()=>{E.setMap(null),y(null)}},[C,p]),j(m,"click",s),j(m,"drag",r),j(m,"dragstart",a),j(m,"mouseover",i),j(m,"mouseout",u),j(m,"dragend",E=>{c?.(E),l&&m&&!w.current&&l(Tt(m))}),d.useEffect(()=>{if(!m||!l)return;const E=[],M=m.getPaths();if(typeof M.getLength!="function"||typeof M.getAt!="function")return;const L=()=>{w.current||l(Tt(m))},_=I=>{E.push(google.maps.event.addListener(I,"insert_at",L)),E.push(google.maps.event.addListener(I,"remove_at",L)),E.push(google.maps.event.addListener(I,"set_at",L))};for(let I=0;I<M.getLength();I++)_(M.getAt(I));return E.push(google.maps.event.addListener(M,"insert_at",I=>{_(M.getAt(I)),L()})),E.push(google.maps.event.addListener(M,"set_at",I=>{_(M.getAt(I)),L()})),E.push(google.maps.event.addListener(M,"remove_at",L)),()=>
7{E.forEach(I=>I.remove())}},[m,l,g,h,O.editable,O.draggable]),d.useEffect(()=>{m&&m.setOptions(O)},[m,O]),d.useEffect(()=>{if(!m||!g||!Array.isArray(g))return;const E=g[0],M=Array.isArray(E)?g:[g],L=m.getPaths();Ur(M,L)||(w.current=!0,m.setPaths(g),w.current=!1)},[m,g]),d.useEffect(()=>{if(!m||!h||!S)return;w.current=!0;const E=h.map(M=>S.encoding.decodePath(M));m.setPaths(E),w.current=!1},[m,h,S]),m}const ps=d.forwardRef((e,t)=>{const n=gs(e);return d.useImperativeHandle(t,()=>n,[n]),A.createElement(A.Fragment,null)});ps.displayName="Polygon";function ms(e){var t,n,o;const{onClick:s,onDrag:r,onDragStart:a,onDragEnd:c,onMouseOver:i,onMouseOut:u,onPathChanged:l,polyline:p,encodedPath:h,path:g,defaultPath:b}=e,v=$(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[m,y]=d.useState(null),C=Z(),S=Ie("geometry"),w=d.useRef(!1),O=pe(Object.assign(Object.assign({},v),{clickable:(t=v.clickable)!==null&&t!==void 0?t:!!s,draggable:(n=v.draggable)!==null&&n!==void 0?n:!!(r||a||c||l),editable:(o=v.editable)!==null&&o!==void 0?o:!!l}),me);return d.useEffect(()=>{if(!C){C===void 0&&console.error("<Polyline> has to be inside a Map component.");return}let E;if(p){E=p;const M=g??b;M&&Array.isArray(M)&&E.setPath(M),E.setOptions(O)}else{const M=g??b,L=Object.assign({},O);M&&Array.isArray(M)&&(L.path=M),E=new google.maps.Polyline(L)}return E.setMap(C),y(E),()=>{E.setMap(null),y(null)}},[C,p]),j(m,"click",s),j(m,"drag",r),j(m,"dragstart",a),j(m,"mouseover",i),j(m,"mouseout",u),j(m,"dragend",E=>{c?.(E),l&&m&&!w.current&&l(m.getPath().getArray())}),d.useEffect(()=>{if(!m||!l)return;const E=m.getPath();if(!E)return;const M=()=>{w.current||l(E.getArray())},L=[google.maps.event.addListener(E,"insert_at",M),google.maps.event.addListener(E,"remove_at",M),google.maps.event.addListener(E,"set_at",M)];return()=>{L.forEach(_=>_.remove())}},[m,l,g,h,O.editable,O.draggable]),d.useEffect(()=>{m&&m.setOptions(O)},[m,O]),d.useEffect(()=>{if(!m||!g)return;const E=m.getPath();en(g,E)||(w.current=!0,m.setPath(g),w.current=!1)},[m,g]),d.useEffect(()=>{if(!m||!h||!S)return;w.current=!0;const E=S.encoding.decodePath(h);m.setPath(E),w.current=!1},[m,h,S]),m}const bs=d.forwardRef((e,t)=>{const n=ms(e);return d.useImperativeHandle(t,()=>n,[n]),A.createElement(A.Fragment,null)});bs.displayName="Polyline";const vs={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},ys=["center","range","heading","tilt","roll"];function Es(e,t,n){const o=e[n];if(o!=null)if(n==="center"){const s=o;t.current.center=s.toJSON?s.toJSON():s}else t.current[n]=o}function Cs(e){const t=nn(),n=d.useRef(Object.assign({},vs));return d.useEffect(()=>{if(!e)return;const o=[];for(const s of ys){const r=`gmp-${s}change`,a=()=>{Es(e,n,s),t()};e.addEventListener(r,a),o.push(()=>e.removeEventListener(r,a))}return()=>{for(const s of o)s()}},[e,t]),n}function Ss(e){const t=Ie("maps3d"),[n,o]=d.useState(!1),[,s]=ct(),[r,a]=ct(),c=Cs(r);return d.useEffect(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{o(!0)})},[]),d.useEffect(()=>{if(!r)return;const{center:u,heading:l,tilt:p,range:h,roll:g,defaultCenter:b,defaultHeading:v,defaultTilt:m,defaultRange:y,defaultRoll:C,id:S,style:w,className:O,children:E,onCenterChanged:M,onHeadingChanged:L,onTiltChanged:_,onRangeChanged:I,onRollChanged:D,onCameraChanged:N,onClick:be,onSteadyChange:ve,onAnimationEnd:ue,onError:de,mode:bt,gestureHandling:vt}=e,Ye=$(e,["center","heading","tilt","range","roll","defaultCenter","defaultHeading","defaultTilt","defaultRange","defaultRoll","
7id","style","className","children","onCenterChanged","onHeadingChanged","onTiltChanged","onRangeChanged","onRollChanged","onCameraChanged","onClick","onSteadyChange","onAnimationEnd","onError","mode","gestureHandling"]),Pe=u??b,je=l??v,Re=p??m,ke=h??y,Te=g??C,X=Object.assign({},Ye);Pe&&(X.center=Pe),je!==void 0&&(X.heading=je),Re!==void 0&&(X.tilt=Re),ke!==void 0&&(X.range=ke),Te!==void 0&&(X.roll=Te),Object.assign(r,X)},[r]),[r,s,a,c,!!t&&n]}function xs(e){return e?"toJSON"in e&&typeof e.toJSON=="function"?e.toJSON():e:null}function Ms(e,t,n){var o,s,r,a,c,i,u;const l=xs(n.center),p=(o=l?.lat)!==null&&o!==void 0?o:null,h=(s=l?.lng)!==null&&s!==void 0?s:null,g=(r=l?.altitude)!==null&&r!==void 0?r:null,b=(a=n.range)!==null&&a!==void 0?a:null,v=(c=n.heading)!==null&&c!==void 0?c:null,m=(i=n.tilt)!==null&&i!==void 0?i:null,y=(u=n.roll)!==null&&u!==void 0?u:null;d.useLayoutEffect(()=>{var C;if(!e)return;const S=t.current;p!==null&&h!==null&&(S.center.lat!==p||S.center.lng!==h||g!==null&&S.center.altitude!==g)&&(e.center={lat:p,lng:h,altitude:(C=g??S.center.altitude)!==null&&C!==void 0?C:0}),b!==null&&S.range!==b&&(e.range=b),v!==null&&S.heading!==v&&(e.heading=v),m!==null&&S.tilt!==m&&(e.tilt=m),y!==null&&S.roll!==y&&(e.roll=y)})}const Dt=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function he(e,t){const n=e.center;let o;return n&&"toJSON"in n&&typeof n.toJSON=="function"?o=n.toJSON():n?o=n:o={lat:0,lng:0,altitude:0},{type:t,map3d:e,detail:{center:o,range:e.range||0,heading:e.heading||0,tilt:e.tilt||0,roll:e.roll||0}}}function Os(e,t){const n=t;return{type:"gmp-click",map3d:e,detail:{position:t.position||null,placeId:n.placeId}}}function ws(e,t){return{type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}}}function Ls(e,t){const{onCenterChanged:n,onHeadingChanged:o,onTiltChanged:s,onRangeChanged:r,onRollChanged:a,onCameraChanged:c,onClick:i,onSteadyChange:u,onAnimationEnd:l,onError:p}=t;ae(e,"gmp-centerchange",n,he),ae(e,"gmp-headingchange",o,he),ae(e,"gmp-tiltchange",s,he),ae(e,"gmp-rangechange",r,he),ae(e,"gmp-rollchange",a,he),d.useEffect(()=>{if(!e||!c)return;const h=()=>{c(he(e,"camerachange"))};for(const g of Dt)e.addEventListener(g,h);return()=>{for(const g of Dt)e.removeEventListener(g,h)}},[e,c]),d.useEffect(()=>{if(!e||!i)return;const h=g=>{i(Os(e,g))};return e.addEventListener("gmp-click",h),()=>e.removeEventListener("gmp-click",h)},[e,i]),d.useEffect(()=>{if(!e||!u)return;const h=g=>{u(ws(e,g))};return e.addEventListener("gmp-steadychange",h),()=>e.removeEventListener("gmp-steadychange",h)},[e,u]),ae(e,"gmp-animationend",l,(h,g)=>({type:g,map3d:h})),ae(e,"gmp-error",p,(h,g)=>({type:g,map3d:h}))}function ae(e,t,n,o){d.useEffect(()=>{if(!e||!n)return;const s=()=>{n(o(e,t))};return e.addEventListener(t,s),()=>e.removeEventListener(t,s)},[e,t,n,o])}const _s=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]);function As(e,t){const n=d.useMemo(()=>{const o={},s=Object.keys(t);for(const r of s){if(!_s.has(r))continue;const a=t[r];a!==void 0&&(o[r]=a)}return o},[t]);Yt(()=>{e&&Object.assign(e,n)},[e,n])}const Is=A.createContext(null),Ps={width:"100%",height:"100%",position:"relative"},js=d.forwardRef((e,t)=>{const{children:n,id:o,className:s,style:r}=e,a=d.useContext(ge);if(!a)throw new Error("<Map3D> can only be used inside an <APIProvider> component.");const{addMap3DInstance:c,removeMap3DInstance:i}=a,[u,l,p,h,g]=Ss(e);Ms(u,h,e),Ls(u,e),As(u,e),d.useEffect(()=>{if(!u)return;const m=o??"default";return c(u,m),()=>{i(m)}},[u,o]),d.useImperativeHandle(t,()=>({map3d:u,flyCameraAround:m=>{u?.flyCameraAround(m)},flyCameraTo:m=>{u?.flyCameraTo(m)},stopCameraAnimation:()=>{u?.stopCameraAnimation()}}),[u]);const b=d.useMemo(()=>Object.assign(Object.assign({},Ps),r),[r]),v=d.useMemo(()=>({map3d:u}),[u]);return g?A.createElement("div",Object.assign({ref:l,"data-testid":"map-3d",style:s?void 0:b,className:s},o?{id:o}:{}),A.createElement("gmp-map-3d",{ref:p,style:{width:"100%",height:"100%"}},u&&A.createElement(Is.Provider,{value:v},n))):A.createElement("div",Object.assign({ref:l,"data-testid":"map-3d",style:s?void 0:b,className:s},o?{id:o}:{}))});js.displayName="Map3D";const Rs=d.createContext(null),ks=d.forwardRef(function(t,n){const{children:o,onClick:s,position:r,altitudeMode:a,collisionBehavior:c,drawsWhenOccluded:i,extruded:u,label:l,sizePreserved:p,zIndex:h,title:g}
7=t,b=!!s,[v,m]=d.useState(null),[y,C]=d.useState(!1),S=d.useMemo(()=>{const E=document.createElement("div");return E.style.display="none",document.body.appendChild(E),E},[]);d.useEffect(()=>()=>S.remove(),[S]);const w=d.useCallback(E=>{m(E),typeof n=="function"?n(E):n&&(n.current=E)},[n]);fe(v,"gmp-click",s),d.useLayoutEffect(()=>{if(y||!v||!S)return;for(;v.firstChild;)v.removeChild(v.firstChild);const E=Array.from(S.childNodes);for(const M of E){if(M.nodeType!==Node.ELEMENT_NODE)continue;const L=M,_=L.tagName.toLowerCase();if(_==="img"||_==="svg"){const I=document.createElement("template");I.content.appendChild(L.cloneNode(!0)),v.appendChild(I)}else v.appendChild(L.cloneNode(!0))}},[v,S,o,y]);const O=d.useMemo(()=>({marker:v,setContentHandledExternally:C}),[v]);return B(v,"position",r),B(v,"altitudeMode",a),B(v,"collisionBehavior",c),B(v,"drawsWhenOccluded",i),B(v,"extruded",u),B(v,"label",l),B(v,"sizePreserved",p),B(v,"zIndex",h),B(v,"title",g??""),A.createElement(Rs.Provider,{value:O},b?A.createElement("gmp-marker-3d-interactive",{ref:w}):A.createElement("gmp-marker-3d",{ref:w}),$e.createPortal(o,S))});ks.displayName="Marker3D";const Ts=d.forwardRef(function(t,n){var o;const{children:s,headerContent:r,style:a,className:c,open:i=!0,position:u,anchor:l,anchorId:p,altitudeMode:h,lightDismissDisabled:g,autoPanDisabled:b,onClose:v}=t,[m,y]=d.useState(null),C=d.useRef(null);d.useImperativeHandle(n,()=>m,[m]),Ds(m,i,v),B(m,"open",i??!1),B(m,"altitudeMode",h),B(m,"lightDismissDisabled",g),B(m,"autoPanDisabled",b);const S=(o=l??p)!==null&&o!==void 0?o:u;return B(m,"positionAnchor",S),d.useLayoutEffect(()=>{m&&(ln(m,a||null,C.current),C.current=a||null)},[m,a]),A.createElement("gmp-popover",{ref:y,className:c},r&&A.createElement("div",{slot:"header"},r),s)});Ts.displayName="Popover";function Ds(e,t,n){const o=d.useRef(void 0),s=d.useRef(t);d.useEffect(()=>{s.current=t},[t]),d.useEffect(()=>{if(!e||!n)return;const r=new MutationObserver(a=>{for(const c of a)if(c.type==="attributes"&&c.attributeName==="open"){const i=e.hasAttribute("open");o.current===!0&&!i&&s.current!==!1&&n(),o.current=i}});return r.observe(e,{attributes:!0,attributeFilter:["open"]}),o.current=e.hasAttribute("open"),()=>{r.disconnect()}},[e,n])}function Fs(e){const[t,n]=d.useState(null),o=Z(),{onClick:s,onDrag:r,onDragStart:a,onDragEnd:c,onMouseOver:i,onMouseOut:u}=e,l=$(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:p,draggable:h}=l;return d.useEffect(()=>{if(!o){o===void 0&&console.error("<Marker> has to be inside a Map component.");return}const g=new google.maps.Marker(l);return g.setMap(o),n(g),()=>{g.setMap(null),n(null)}},[o]),d.useEffect(()=>{if(!t)return;const g=t,b=google.maps.event;return s&&b.addListener(g,"click",s),r&&b.addListener(g,"drag",r),a&&b.addListener(g,"dragstart",a),c&&b.addListener(g,"dragend",c),i&&b.addListener(g,"mouseover",i),u&&b.addListener(g,"mouseout",u),t.setDraggable(!!h),()=>{b.clearInstanceListeners(g)}},[t,h,s,r,a,c,i,u]),d.useEffect(()=>{t&&l&&t.setOptions(l)},[t,l]),d.useEffect(()=>{h||!p||!t||t.setPosition(p)},[h,p,t]),t}const Ns=d.forwardRef((e,t)=>{const n=Fs(e);return d.useImperativeHandle(t,()=>n,[n]),A.createElement(A.Fragment,null)});Ns.displayName="Marker";function Bs(e){var t,n,o;const{onClick:s,onDrag:r,onDragStart:a,onDragEnd:c,onMouseOver:i,onMouseOut:u,onBoundsChanged:l,bounds:p,defaultBounds:h}=e,g=$(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[b,v]=d.useState(null),m=Z(),y=pe(Object.assign(Object.assign({},g),{clickable:(t=g.clickable)!==null&&t!==void 0?t:!!s,draggable:(n=g.draggable)!==null&&n!==void 0?n:!!(r||a||c||l),editable:(o=g.editable)!==null&&o!==void 0?o:!!l}),me);return d.useEffect(()=>{if(!m){m===void 0&&console.error("<Rectangle> has to be inside a Map component.");return}const C=new google.maps.Rectangle(Object.assign(Object.assign({},y),{bounds:p??h}));return C.setMap(m),v(C),()=>{C.setMap(null),v(null)}},[m]),j(b,"click",s),j(b,"drag",r),j(b,"dragstart",a),j(b,"dragend",c),j(b,"mouseover",i),j(b,"mouseout",u),j(b,"bounds_changed",l?()=>{l(b?.getBounds())}:null),d.useEffect(()=>{b&&b.setOptions(y)},[b,y]),d.useEffect(()=>{!b||!p||qr(p,b.getBounds())||b.setBounds(p)},[b,p]),b}const qs=d.forwardRef((e,t)=>
7{const n=Bs(e);return d.useImperativeHandle(t,()=>n,[n]),A.createElement(A.Fragment,null)});qs.displayName="Rectangle";const Us="AIzaSyCcZIJ5QbpuU0WCvA-2qqntgtO3cPQko8c",zs="AIzaSyDrhYVOByzd8ee0Dy2acDLsTpsJGVrXmXM",cn=10,Vs=window._RN_?._ENV_==="production"?Us:zs,Hs=T.div.withConfig({componentId:"sc-5st2ae-0"})(["display:none;&[data-searchmode=","]{display:block;height:100%;}@media (min-width:","){display:block;height:100%;}"],Ae.MOBILE_MAP,e=>e.theme.breakpoints.largeMobile),Gs={extent:256,radius:80,maxZoom:15,minPoints:4},ot={top:150,bottom:50,left:50,right:50},$s=T.div.withConfig({componentId:"sc-5st2ae-1"})(["position:relative;"]),Ws=T(H).withConfig({componentId:"sc-5st2ae-2"})(["position:absolute;top:",";left:50%;translate:-50% -50%;"],e=>`calc(50% - ${e.theme.googleMap.clusterCountOffsetTop||"0px"})`);T.div.withConfig({componentId:"sc-5st2ae-3"})([""]);const Zs=T.span.withConfig({componentId:"sc-5st2ae-4"})([""]),Ks=T.div.withConfig({componentId:"sc-5st2ae-5"})(["margin:1px;"]),Js=T(H).withConfig({componentId:"sc-5st2ae-6"})(["margin-right:",";"],U.sm),Ys=T(Gt).withConfig({componentId:"sc-5st2ae-7"})(["position:absolute;top:15px;left:15px;z-index:",";transition:opacity 80ms linear;background:",";&.hidden{opacity:0;pointer-events:none;}"],({theme:e})=>e.zIndexes.map,({theme:e})=>e.googleMap?.searchButtonBackground),Xs=T(Gt).withConfig({componentId:"sc-5st2ae-8"})(["display:none;position:absolute;top:15px;right:15px;white-space:nowrap;pointer-events:none;&[data-searchmode=","]{pointer-events:initial;display:initial;}"],Ae.MOBILE_MAP),Le="drop-shadow(0 2px 2px rgba(0, 0, 0, 0.5))",Qs=()=>f.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 36 36",fillRule:"nonzero",style:{filter:Le},children:f.jsx("circle",{fill:"#4285f4",stroke:"#ffffff",strokeWidth:"3",cx:"18",cy:"18",r:"16"})}),ea=()=>{const e=d.useContext(Je),{coords:t}=$t();return t&&e?.googleMap?f.jsx(pt,{position:{lat:t.latitude,lng:t.longitude},anchorTop:"-50%",children:f.jsx(Qs,{})}):null},ta=()=>f.jsx("svg",{"aria-hidden":"true","data-testid":"icon_redo",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:f.jsx("path",{fill:"currentColor",d:"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"})}),na=({updateRequest:e})=>{const t=Z(),n=d.useContext(J),o=P(x.PageSearchMapSearchThisAreaButtonLabel),s=k(x.MapControlsRedoSearchAriaLabel),[r,a]=d.useState(!1);d.useEffect(()=>{let i,u;return setTimeout(()=>{i=t?.addListener("dragend",()=>{a(!0)}),u=t?.addListener("zoom_changed",()=>{a(!0)})},1e3),()=>{i?.remove(),u?.remove()}},[]);const c=d.useCallback(i=>{a(!1),i.currentTarget.blur();const u=t?.getBounds()?.toJSON(),l=u?[u?.north,u?.west,u?.south,u?.east].join(","):void 0;l&&Wt(gt.RN_CURRENT_MAP_VIEW_COORDINATES,l),e({location:l,pageNo:void 0})},[t,n]);return f.jsxs(f.Fragment,{children:[f.jsxs(Ys,{"aria-label":s,buttonVariant:we.Secondary,"data-testid":"redo_map_search__button",onClick:c,className:r?"visible":"hidden",children:[o,f.jsx(ta,{})]}),f.jsx(Xs,{buttonVariant:we.Primary,onClick:n.toggleMode,"data-testid":"search_mobile_map__link","data-searchmode":n.mode,children:Vt.MOBILE_MAP})]})},Ft=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],rt=1,Ce=8,F=new Uint32Array(96);class mt{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");const[n,o]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");const s=o>>4;if(s!==rt)throw new Error(`Got v${s} data when expected v${rt}.`);const r=Ft[o&15];if(!r)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(t,2,1),[c]=new Uint32Array(t,4,1);return new mt(c,a,r,void 0,t)}constructor(t,n=64,o=Float64Array,s=ArrayBuffer,r){if(isNaN(t)||t<0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=o,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const a=Ft.indexOf(this.ArrayType),c=t*2*this.ArrayType.BYTES_PER_ELEMENT,i=t*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-i%8)%8;if(a<0)throw new Error(`Unexpected typed array class: ${o}.`);if(r)this.data=r,this.ids=new this.IndexArrayType(r,Ce,t),this.coords=new o(r,Ce+i+u,t*2),this._pos=t*2,this._finished=!0;else{const l=this.data=new s(Ce+c+i+u);this.ids=new this.IndexArrayType(l,Ce,t),this.coords=new o(l,Ce+i+u,t*2),this._pos=0,this._finished=!1,new Uint8Array(l,0,2).set([219,(rt<<4)+a]),new Uint16Array(l,2,1)[0]=n,new Uint32Array(l,4,1)[0]=t}}add(t,n){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=t,this.coords[this._pos++]=n,o}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return dt(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}
7range(t,n,o,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:a,nodeSize:c}=this;F[0]=0,F[1]=r.length-1,F[2]=0;let i=3;const u=[];for(;i>0;){const l=F[--i],p=F[--i],h=F[--i];if(p-h<=c){for(let m=h;m<=p;m++){const y=a[2*m],C=a[2*m+1];y>=t&&y<=o&&C>=n&&C<=s&&u.push(r[m])}continue}const g=h+p>>1,b=a[2*g],v=a[2*g+1];b>=t&&b<=o&&v>=n&&v<=s&&u.push(r[g]),(l===0?t<=b:n<=v)&&(F[i++]=h,F[i++]=g-1,F[i++]=1-l),(l===0?o>=b:s>=v)&&(F[i++]=g+1,F[i++]=p,F[i++]=1-l)}return u}within(t,n,o){const s=[];return this.withinInto(t,n,o,s),s}withinInto(t,n,o,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:a,nodeSize:c}=this;F[0]=0,F[1]=r.length-1,F[2]=0;let i=3,u=0;const l=o*o;for(;i>0;){const p=F[--i],h=F[--i],g=F[--i];if(h-g<=c){for(let y=g;y<=h;y++)Nt(a[2*y],a[2*y+1],t,n)<=l&&(s[u++]=r[y]);continue}const b=g+h>>1,v=a[2*b],m=a[2*b+1];Nt(v,m,t,n)<=l&&(s[u++]=r[b]),(p===0?t-o<=v:n-o<=m)&&(F[i++]=g,F[i++]=b-1,F[i++]=1-p),(p===0?t+o>=v:n+o>=m)&&(F[i++]=b+1,F[i++]=h,F[i++]=1-p)}return u}}function dt(e,t,n,o,s,r){if(s-o<=n)return;const a=o+s>>1;un(e,t,a,o,s,r),dt(e,t,n,o,a-1,1-r),dt(e,t,n,a+1,s,1-r)}function un(e,t,n,o,s,r){for(;s>o;){if(s-o>600){const u=s-o+1,l=n-o+1,p=Math.log(u),h=.5*Math.exp(2*p/3),g=.5*Math.sqrt(p*h*(u-h)/u)*(l-u/2<0?-1:1),b=Math.max(o,Math.floor(n-l*h/u+g)),v=Math.min(s,Math.floor(n+(u-l)*h/u+g));un(e,t,n,b,v,r)}const a=t[2*n+r];let c=o,i=s;for(Se(e,t,o,n),t[2*s+r]>a&&Se(e,t,o,s);c<i;){for(Se(e,t,c,i),c++,i--;t[2*c+r]<a;)c++;for(;t[2*i+r]>a;)i--}t[2*o+r]===a?Se(e,t,o,i):(i++,Se(e,t,i,s)),i<=n&&(o=i+1),n<=i&&(s=i-1)}}function Se(e,t,n,o){st(e,n,o),st(t,2*n,2*o),st(t,2*n+1,2*o+1)}function st(e,t,n){const o=e[t];e[t]=e[n],e[n]=o}function Nt(e,t,n,o){const s=e-n,r=t-o;return s*s+r*r}const oa={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},Bt=Math.fround||(e=>(t=>(e[0]=+t,e[0])))(new Float32Array(1)),ie=2,te=3,at=4,ee=5,dn=6;class ra{constructor(t){this.options=Object.assign(Object.create(oa),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:n,minZoom:o,maxZoom:s}=this.options;n&&console.time("total time");const r=`prepare ${t.length} points`;n&&console.time(r),this.points=t;const a=[];for(let i=0;i<t.length;i++){const u=t[i];if(!u.geometry)continue;const[l,p]=u.geometry.coordinates,h=Bt(ze(l)),g=Bt(Ve(p));a.push(h,g,1/0,i,-1,1),this.options.reduce&&a.push(0)}let c=this.trees[s+1]=this._createTree(a);n&&console.timeEnd(r);for(let i=s;i>=o;i--){const u=+Date.now();c=this.trees[i]=this._createTree(this._cluster(c,i)),n&&console.log("z%d: %d clusters in %dms",i,c.numItems,+Date.now()-u)}return n&&console.timeEnd("total time"),this}getClusters(t,n){let o=((t[0]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,t[1]));let r=t[2]===180?180:((t[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)o=-180,r=180;else if(o>r){const p=this.getClusters([o,s,180,a],n),h=this.getClusters([-180,s,r,a],n);return p.concat(h)}const c=this.trees[this._limitZoom(n)],i=c.range(ze(o),Ve(a),ze(r),Ve(s)),u=c.data,l=[];for(const p of i){const h=this.stride*p;l.push(u[h+ee]>1?qt(u,h,this.clusterProps):this.points[u[h+te]])}return l}getChildren(t){const n=this._getOriginId(t),o=this._getOriginZoom(t),s="No cluster with the specified id.",r=this.trees[o];if(!r)throw new Error(s);const a=r.data;if(n*this.stride>=a.length)throw new Error(s);const c=this.options.radius/(this.options.extent*Math.pow(2,o-1)),i=a[n*this.stride],u=a[n*this.stride+1],l=r.within(i,u,c),p=[];for(const h of l){const g=h*this.stride;a[g+at]===t&&p.push(a[g+ee]>1?qt(a,g,this.clusterProps):this.points[a[g+te]])}if(p.length===0)throw new Error(s);return p}getLeaves(t,n,o){n=n||10,o=o||0;const s=[];return this._appendLeaves(s,t,n,o,0),s}getTile(t,n,o){const s=this.trees[this._limitZoom(t)],r=Math.pow(2,t),{extent:a,radius:c}=this.options,i=c/a,u=(o-i)/r,l=(o+1+i)/r,p={features:[]};return this._addTileFeatures(s.range((n-i)/r,u,(n+1+i)/r,l),s.data,n,o,r,p),n===0&&this._addTileFeatures(s.range(1-i/r,u,1,l),s.data,r,o,r,p),n===r-1&&this._addTileFeatures(s.range(0,u,i/r,l),s.data,-1,o,r,p),p.features.length?p:null}getClusterExpansionZoom(t){let n=this._getOriginZoom(t)-1;for(;n<=this.options.maxZoom;){const o=this.getChildren(t);if(n++,o.length!==1)break;t=o[0].properties.cluster_id}return n}_appendLeaves(t,n,o,s,r){const a=this.getChildren(n);for(const c of a){const i=c.properties;if(i&&i.cluster?r+i.point_count<=s?r+=i.point_count:r=this._appendLeaves(t,i.cluster_id,o,s,r):r<s?r++:t.push(c),t.length===o)break}return r}_createTree(t){const n=new mt(t.length/this.stride|0,this.options.nodeSize,Float32Array);for(let o=0;o<t.length;o+=this.stride)n.add(t[o],t[o+1]);return n.finish(),n.data=t,n}_addTileFeatures(t,n,o,s,r,a){for(const c of t){const i=c*this.stride,u=n[i+ee]>1;let l,p,h;
7if(u)l=hn(n,i,this.clusterProps),p=n[i],h=n[i+1];else{const v=this.points[n[i+te]];l=v.properties;const[m,y]=v.geometry.coordinates;p=ze(m),h=Ve(y)}const g={type:1,geometry:[[Math.round(this.options.extent*(p*r-o)),Math.round(this.options.extent*(h*r-s))]],tags:l};let b;u||this.options.generateId?b=n[i+te]:b=this.points[n[i+te]].id,b!==void 0&&(g.id=b),a.features.push(g)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,n){const{radius:o,extent:s,reduce:r,minPoints:a}=this.options,c=o/(s*Math.pow(2,n)),i=t.data,u=[],l=this.stride;for(let p=0;p<i.length;p+=l){if(i[p+ie]<=n)continue;i[p+ie]=n;const h=i[p],g=i[p+1],b=t.within(i[p],i[p+1],c),v=i[p+ee];let m=v;for(const y of b){const C=y*l;i[C+ie]>n&&(m+=i[C+ee])}if(m>v&&m>=a){let y=h*v,C=g*v,S,w=-1;const O=((p/l|0)<<5)+(n+1)+this.points.length;for(const E of b){const M=E*l;if(i[M+ie]<=n)continue;i[M+ie]=n;const L=i[M+ee];y+=i[M]*L,C+=i[M+1]*L,i[M+at]=O,r&&(S||(S=this._map(i,p,!0),w=this.clusterProps.length,this.clusterProps.push(S)),r(S,this._map(i,M)))}i[p+at]=O,u.push(y/m,C/m,1/0,O,-1,m),r&&u.push(w)}else{for(let y=0;y<l;y++)u.push(i[p+y]);if(m>1)for(const y of b){const C=y*l;if(!(i[C+ie]<=n)){i[C+ie]=n;for(let S=0;S<l;S++)u.push(i[C+S])}}}}return u}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,n,o){if(t[n+ee]>1){const a=this.clusterProps[t[n+dn]];return o?Object.assign({},a):a}const s=this.points[t[n+te]].properties,r=this.options.map(s);return o&&r===s?Object.assign({},r):r}}function qt(e,t,n){return{type:"Feature",id:e[t+te],properties:hn(e,t,n),geometry:{type:"Point",coordinates:[sa(e[t]),aa(e[t+1])]}}}function hn(e,t,n){const o=e[t+ee],s=o>=1e4?`${Math.round(o/1e3)}k`:o>=1e3?`${Math.round(o/100)/10}k`:o,r=e[t+dn],a=r===-1?{}:Object.assign({},n[r]);return Object.assign(a,{cluster:!0,cluster_id:e[t+te],point_count:o,point_count_abbreviated:s})}function ze(e){return e/360+.5}function Ve(e){const t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function sa(e){return(e-.5)*360}function aa(e){const t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function ia({padding:e=0}={}){const t=Z(),[n,o]=d.useState([-180,-90,180,90]),[s,r]=d.useState(0);return d.useEffect(()=>{if(!t)return;const a=t.addListener("idle",()=>{const c=t.getBounds(),i=t.getZoom(),u=t.getProjection();if(!c||!i||!u)return;
7const l=c.getSouthWest(),p=c.getNorthEast(),h=la(i)*e,g=Math.min(90,p.lat()+h),b=Math.max(-90,l.lat()-h),v=l.lng()-h,m=p.lng()+h;o([v,b,m,g]),r(i)});return()=>a.remove()},[t,e]),{bbox:n,zoom:s}}function la(e){return 360/(Math.pow(2,e)*256)}function ca(e,t){const n=d.useMemo(()=>e.map(h=>({type:"Feature",properties:{merchant:h},geometry:{type:"Point",coordinates:[h.location.longitude,h.location.latitude]}})),[e]),o=d.useMemo(()=>new ra(t),[t]),[s,r]=d.useReducer(h=>h+1,0);d.useEffect(()=>{o.load(n),r()},[o,n]);const{bbox:a,zoom:c}=ia({padding:100}),i=d.useMemo(()=>!o||s===0?[]:o.getClusters(a,c),[s,o,a,c]),u=d.useCallback(h=>o.getChildren(h),[o]),l=d.useCallback(h=>o.getLeaves(h,1/0),[o]),p=d.useCallback(h=>o.getClusterExpansionZoom(h),[o]);return{clusters:i,getChildren:u,getLeaves:l,getClusterExpansionZoom:p}}const ua=e=>({lat:e.location.latitude,lng:e.location.longitude}),da=e=>e?.map(t=>ua(t)),Ut=e=>{const t=da(e),n=t.map(C=>C.lat),o=t.map(C=>C.lng),s=Math.max(...n),r=Math.min(...n),a=Math.abs(s-r),c=Math.max(...o),i=Math.min(...o),u=Math.abs(c-i),l=.0025,p=a<l?s+(l-a)/2:s,h=a<l?r-(l-a)/2:r,g=u<l?c+(l-u)/2:c,b=u<l?i-(l-u)/2:i,v=new google.maps.LatLng({lat:h,lng:b}),m=new google.maps.LatLng({lat:p,lng:g});return new google.maps.LatLngBounds(v,m)},ha=()=>{const e=d.useContext(Je),t=15;return f.jsx("svg",{style:{filter:Le},width:"24",height:"32",viewBox:"0 0 30 40",xmlns:"http://www.w3.org/2000/svg",children:f.jsxs("g",{fillRule:"nonzero",fill:"none",children:[f.jsx("path",{d:"M16.542 39.193C27.893 22.737 30 21.048 30 15c0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 6.048 2.107 7.737 13.458 24.193a1.876 1.876 0 0 0 3.084 0z",fill:e?.googleMap.color||"#000"}),f.jsx("circle",{fill:"#ffffff",cx:t,cy:t,r:7})]})})},fa=()=>{const e=d.useContext(Je),t=35/2;return f.jsx("svg",{width:"30",height:"32",viewBox:"0 0 35 40",xmlns:"http://www.w3.org/2000/svg",style:{filter:Le},children:f.jsxs("g",{fill:"none",children:[f.jsx("path",{d:"M17.249 0C7.723 0 0 7.723 0 17.249c0 7.284 4.517 13.508 10.9 16.037l6.43 6.522 6.483-6.607c6.27-2.583 10.684-8.751 10.684-15.952C34.497 7.723 26.775 0 17.249 0zm0 31.535c-8.013 0-14.508-6.495-14.508-14.507C2.741 9.015 9.236 2.52 17.25 2.52c8.012 0 14.508 6.495 14.508 14.508 0 8.011-6.496 14.507-14.508 14.507z",fill:e?.googleMap.color||"#000"}),f.jsx("circle",{fill:"#FFF",fillRule:"evenodd",cx:t,cy:t,r:14})]})})},ga=({merchant:e,position:t,size:n,sizeAsText:o,onMarkerClick:s,clusterId:r})=>{const a=d.useContext(Je),[c]=rs(),i=d.useCallback(()=>s&&s(e,r),[s,e,r]);return f.jsx(pt,{ref:c,position:t,zIndex:n,onClick:i,className:"marker cluster",children:n>1?f.jsxs($s,{children:[a?.googleMap.iconCluster?f.jsx("img",{style:{filter:Le},src:a?.googleMap.iconCluster}):f.jsx(fa,{}),f.jsx(Ws,{bodyTextVariant:z.Md,weight:G.A,children:n>99?"99":o})]}):a?.googleMap.iconMerchant?f.jsx("img",{style:{filter:Le},src:a?.googleMap.iconMerchant}):f.jsx(ha,{})})},pa=T(Vn).withConfig({componentId:"sc-1w0sxdz-0"})(["color:",";font-family:",";font-weight:",";text-decoration:",";text-transform:",";&:hover,&:focus,&.","{color:",";font-weight:",";text-decoration:",";}"],e=>e.theme.linkMerchant.color,e=>e.theme.linkMerchant.fontFamily,e=>e.theme.linkMerchant.fontWeight,e=>e.theme.linkMerchant.textDecoration,e=>e.theme.linkMerchant.textTransform,zn,e=>e.theme.linkMerchant.hover.color,e=>e.theme.linkMerchant.hover.fontWeight,e=>e.theme.linkMerchant.hover.textDecoration),ma=({merchant:e,onClose:t})=>{const n=Z(),o=k(x.PartnerDefaultCasing),s=k(x.MerchantCTAGetDirections),r=k(x.MerchantCTAGetDirectionsLabel,{replacements:{MERCHANT_NAME:e.name}}),a=k(x.MerchantAddressAriaLabel,{replacements:{MERCHANT_NAME:e.name}}),{id:c,name:i}=e,u=Qe.useMerchantRating(e.details?.rating),l=Qe.useAddress({address:{...e.location.address,city:e.location.neighborhood,state:void 0,zip:void 0}}),p=Qe.useAddress({address:{...e.location.address,city:e.location.address.city||e.location.neighborhood,state:e.location.address.state||void 0,zip:e.location.address.zip||void 0}}),h=`${i},${p?.line1},${p?.line3}`,g=`https://www.google.com/maps/dir/?api=1&destination=${encodeURIComponent(h)}`,b=d.useMemo(()=>
7{if(e)return Hn({highlight:e.details?.highlight,acclaimedLevel:e.acclaimedLevel,designation:e.designation})},[e]),v=d.useCallback(()=>{if(!e)return;const m=ao({id:e.id,origin:e.origin}),y=n?.getBounds()?.toJSON(),C=y?[y?.north,y?.west,y?.south,y?.east].join(","):void 0;C&&Wt(gt.RN_CURRENT_MAP_VIEW_COORDINATES,C),m()},[e]);return f.jsx(fs,{onClose:t,position:{lat:e.location.latitude,lng:e.location.longitude},className:"merchant-marker-popup",pixelOffset:[0,-25],shouldFocus:!0,zIndex:3,headerContent:f.jsxs(Zs,{children:[b&&f.jsx(Y,{paddingBottom:"xxs",children:f.jsx(Js,{bodyTextVariant:z.Sm,weight:G.B,children:b})}),f.jsx(Y,{children:f.jsx(H,{as:"h3",bodyTextVariant:z.Md,"data-testid":"map_card_popover__name",weight:G.B,children:f.jsx(pa,{"data-testid":"map_card_popover__name_button",onClick:v,to:`${$n.MERCHANT_DETAIL}/${e.id}`,children:e.name})})})]}),children:f.jsx(Ks,{"data-testid":"map_card_popover__wrapper",children:f.jsxs(H,{bodyTextVariant:z.Sm,weight:G.A,children:[u?.stars?f.jsx(Y,{paddingBottom:"xxs",children:f.jsx(go,{id:c,name:i,...u.stars})}):null,(l?.line1||l?.line2||l?.line3)&&f.jsxs("div",{"data-testid":"map_card_popover__address",role:"group","aria-label":a,children:[f.jsx("div",{children:l.line1}),f.jsx("div",{children:l.line2}),f.jsx("div",{children:l.line3})]}),f.jsx(Y,{paddingTop:"sm",children:f.jsx(ht,{"aria-label":r,"data-testid":"map_card_popover__directions",href:g,onClick:m=>m.stopPropagation,target:"_blank",children:Gn(s,o)})})]})})})},ba=({merchants:e})=>{const t=Z(),n=d.useContext(J),{clusters:o,getLeaves:s}=ca(e,Gs),[r,a]=d.useState();d.useEffect(()=>{if(t)if(e?.length)t.fitBounds(Ut(e),ot);else{const i=Wn(gt.RN_CURRENT_MAP_VIEW_COORDINATES)?.split(",")?.map(u=>parseFloat(u));if(i?.length===4){const u=new google.maps.LatLng({lat:i[0],lng:i[1]}),l=new google.maps.LatLng({lat:i[2],lng:i[3]}),p=new google.maps.LatLngBounds(u,l);t.fitBounds(p,ot)}else{const u=new google.maps.LatLng({lat:n.response?.searchOriginCoordinates.latitude||0,lng:n.response?.searchOriginCoordinates.longitude||0});t.panTo(u),t.setZoom(cn)}}},[t,e]);const c=d.useCallback((i,u)=>{if(u){const l=s(u);t?.fitBounds(Ut(l.map(p=>p.properties?.merchant)),ot)}else a(i)},[s,t]);return t?f.jsxs(f.Fragment,{children:[o.map(i=>{const[u,l]=i.geometry.coordinates,p=i.properties;return f.jsx(ga,{merchant:p?.merchant,clusterId:p.cluster_id,position:{lat:l,lng:u},size:p.point_count,sizeAsText:String(p.point_count_abbreviated),onMarkerClick:c},`cluster-${p?.merchant?.id||p.cluster_id}`)}),r?f.jsx(ma,{merchant:r,onClose:()=>a(void 0)}):null]}):null},va=({updateRequest:e})=>{const t=d.useContext(J);return f.jsx(ar,{apiKey:Vs,children:f.jsx(Hs,{"data-testid":"map-wrapper","data-searchmode":t.mode,children:f.jsxs(rn,{"data-testid":"map",mapId:"9122a476479f7fdfdae1cf00",disableDefaultUI:!0,disableDoubleClickZoom:!0,gestureHandling:t.mode===Ae.MOBILE_MAP?"greedy":"cooperative",defaultZoom:cn,defaultCenter:{lat:0,lng:0},minZoom:8,fullscreenControl:!1,streetViewControl:!1,clickableIcons:!1,children:[f.jsx(na,{updateRequest:e}),f.jsx(ea,{}),t?.results?f.jsx(ba,{merchants:t.results}):null]})})})},ya=T.div.attrs(()=>({"data-testid":"search_map_loading"})).withConfig({componentId:"sc-19n7i7m-0"})(["position:absolute;top:0;left:0;right:0;bottom:0;background-color:#efefef;"]),Ea=T.div.withConfig({componentId:"sc-1xu7n5p-0"})(["position:relative;&[data-searchmode=","]{position:absolute;top:0;left:0;bottom:0;width:100%;}@media (min-width:","){position:absolute;top:0;left:0;bottom:0;width:100%;left:400px;right:0;width:unset;}"],Ae.MOBILE_MAP,e=>e.theme.breakpoints.tablet),Ca=({updateRequest:e,isLoading:t})=>{const n=d.useContext(J),[o,s]=d.useState(!0);d.useEffect(()=>{t||s(!1)},[t]);const r=a=>{s(!0),e&&e(a)};return f.jsxs(Ea,{id:Zn,role:"region","data-searchmode":n.mode,"data-testid":"SearchMap__wrapper",children:[f.jsx(po,{titleVariant:Ke.Sm,as:"h2",children:"Search Results Map"}),n.results&&!(t||o)?f.jsx(va,{updateRequest:r}):f.jsx(ya,{})]})},Sa=T.div.withConfig({componentId:"sc-kw8ll6-0"})(["position:relative;overflow:auto;display:flex;flex-direction:column;gap:",";padding:",";&[data-focus-on-hidden]{pointer-events:unset !important;}@media (min-width:","){border-right:",";position:absolute;top:0;bottom:0;width:400px;}@media (max-width:","){&[data-searchmode=","]{overflow:hidden;display:none;}}"],U.sm,U.sm,e=>e.theme.breakpoints.tablet,e=>e.theme.border.DIVIDER_V,e=>e.theme.breakpoints.tablet,Ae.MOBILE_MAP),ja=()=>{Kn("Search");const e=k(x.PageSearchDetailsLabel),t=k(x.PageSearchResultsControl
7sLabel),n=d.useContext(J),o=Jn(),s=Yn(),{known:r,member:a,memberIsLoading:c}=d.useContext(Ht),[i,u]=d.useState(),l=a?.campaignCode||r?.campaignCode||"",p=d.useRef(""),h=$t({enableHighAccuracy:!1,maximumAge:36e5,timeout:5e3}),g=d.useMemo(()=>{if(h.coords?.latitude&&h.coords?.longitude)return[h.coords.latitude,h.coords.longitude]},[h.coords]),[b,v]=d.useState(!1),[m,y]=d.useState(!1),[C,S]=d.useState(!1),w=()=>{S(!C)},O=Xn({mutationFn:oo,mutationKey:["search"],onMutate:()=>{v(!0)},onError:()=>{u(Me.API)},onSuccess:M=>{i!==Me.GEO&&u(void 0),i===Me.GEO&&Et(`location=${n.request?.location}`)||(n.setResponse(M),n.setResults(M.merchants))},onSettled:()=>{v(!1),y(!1)},retry:!1}),E=d.useCallback(M=>{const L={...yt,...n.request},_={...L,...M};Ge.isEqual(L,_)||(n.setRequest(_),y(!0))},[n.request,n.setRequest]);return d.useEffect(()=>{const M=setTimeout(()=>{if(n.request&&m){O.mutate({...n.request,location:Et(`location=${n.request.location}`)&&g?g.join(","):n.request.location});const L=Qn({request:n.request}).toString();o(`/search${L?`?${L}`:""}`,{replace:!0})}},200);return()=>{clearTimeout(M)}},[n.request,m]),d.useEffect(()=>{const M=setTimeout(()=>{if(n.results?.length){const L=n.results.map(_=>_.id).sort().join(",");if(L===p.current)return;p.current=L,eo(n.results.map(_=>({eventName:to.search,memberId:a?.publicId||r?.publicId,merchantId:parseInt(_.id),url:window.location.href})))}},150);return()=>clearTimeout(M)},[n.results]),d.useEffect(()=>{const M=new URLSearchParams(s.search),L={...yt,...no(M),campaignCode:l};(!n.response||!Ge.isEqual(L,n.request))&&g&&(L.location===""&&(L.location=it),E(L))},[s.search,g,l,c]),f.jsxs(f.Fragment,{children:[C?f.jsx(Do,{updateRequest:E,onToggle:w}):null,f.jsxs(Fo,{"aria-label":e,role:"region",children:[f.jsxs(Sa,{id:"search__results","data-searchmode":n.mode,children:[f.jsx(Ro,{updateRequest:E}),f.jsx("div",{"aria-label":t,role:"region",children:f.jsx(ko,{isDisabled:!n.results,onToggle:w,updateRequest:E})}),f.jsx(Vo,{error:i,isLoading:b,updateRequest:E})]}),f.jsx(Ca,{error:i,isLoading:b,updateRequest:E})]})]})};export{ja as default};

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.