@qratilabs/qrati-connect 2.28.0 → 2.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/element/2ckymssm.js +17 -0
- package/element/{F4i1Y9K7.js → 7Qigk19C.js} +1 -1
- package/element/{DtcmI8yd2.js → B6oxk_Qj2.js} +1 -1
- package/element/{CbTft8Na.js → BDTXukZ_.js} +1 -1
- package/element/BGubuyYi.js +2 -0
- package/element/{BB90a5r62.js → BW-Phbmr2.js} +4 -4
- package/element/Bb9ydqSB.js +1 -0
- package/element/{B01ceTPt.js → Botz-oQY.js} +1 -1
- package/element/{7zeKIiiL.js → BqXNdaJq.js} +1 -1
- package/element/C-J1EE4W.js +7 -0
- package/element/{CgaiV8EU.js → C9l3wVoY.js} +4 -4
- package/element/{JFF45CMp.js → CJRbcuSg.js} +1 -1
- package/element/CWmyXqt5.js +7 -0
- package/element/{CrF08YS6.js → C_SEq15E.js} +1 -1
- package/element/C_ZPqbKe.js +1 -0
- package/element/{3uWxzKri.js → CaYxRUfL.js} +86 -87
- package/element/{BMibcq6T.js → Cens8AWt.js} +1 -1
- package/element/{5z04gCoQ2.js → CkExnaGY2.js} +2 -2
- package/element/{BeUiRRWZ2.js → Cn3UbUp82.js} +16 -16
- package/element/{Da7cHmvl.js → Cq_SerdP.js} +3 -3
- package/element/Cqkksoxi2.js +2 -0
- package/element/CxXoXd5a2.js +9 -0
- package/element/{D34k0bDj2.js → D20MYAFc2.js} +1 -1
- package/element/{CZK4LCzr2.js → DAiDmr0n2.js} +1 -1
- package/element/{C8ixb9k4.js → DDLSkbWV.js} +1 -1
- package/element/{CfTxXwtG2.js → DDxUnIxq2.js} +10 -10
- package/element/DLGISV0I2.js +5 -0
- package/element/DLZ2_ufP.js +8 -0
- package/element/{BhOaopIk2.js → DNBsQPFm2.js} +3 -3
- package/element/{DZwpw1jG.js → DOGRuglQ.js} +1 -1
- package/element/{KdgQ7jUn.js → DS4kxd-M.js} +1 -1
- package/element/{CKwlnGWW2.js → DZy5yLMr2.js} +1 -1
- package/element/DdObkiX2.js +1 -0
- package/element/{BHmNrbtm2.js → DeK1vU3V2.js} +1 -1
- package/element/Dj_EJxLA.js +5 -0
- package/element/Dm8Fvxp7.js +2 -0
- package/element/{BL2ZRdn9.js → DqjsH4hD.js} +1 -1
- package/element/{C6et9sp52.js → DuWwPOwC2.js} +1 -1
- package/element/{CxJgMv2R.js → DxyGHoKK.js} +1 -1
- package/element/{DBlhTxUx2.js → MiqVgN0c2.js} +4 -4
- package/element/{BIibcFd-.js → RMLGjMvY.js} +4 -5
- package/element/{CtApMHPf.js → RY2ymKgG.js} +1 -1
- package/element/{CMYKP_Yn.js → e3AdRaT8.js} +1 -1
- package/element/{tJ2MS5HS.js → f4E4mY0G.js} +41 -41
- package/element/web.es.js +41 -40
- package/package.json +1 -1
- package/element/2PuRbItp.js +0 -8
- package/element/B7YFs6p5.js +0 -1
- package/element/BcAwTWQC.js +0 -5
- package/element/C6ph3KPL.js +0 -5
- package/element/Cr4OmKxk2.js +0 -2
- package/element/DUEaNsCB.js +0 -1
- package/element/DUWOb-5c.js +0 -1
- package/element/DlNQukHq.js +0 -3
- package/element/DmVgPRH5.js +0 -14
- package/element/cePYhOkN2.js +0 -5
- package/element/hiapcVVA2.js +0 -5
- package/element/vA5CQmOb2.js +0 -9
- /package/element/{DGGc10Cy.js → DGGc10Cy2.js} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{_ as e,f as t,h as a,o as n,p as r,t as o,v as i,w as s}from"./DrrpB4Om.js";import{f as l,i as c,n as d}from"./f4E4mY0G.js";import{n as u,r as m,t as p}from"./DdObkiX2.js";import{t as h}from"./CJRbcuSg.js";import{t as g}from"./DmpmrPE5.js";import{S as f,i as v,s as y}from"./Bb9ydqSB.js";import{l as w,u as x}from"./Dj_EJxLA.js";import{t as N}from"./DOGRuglQ.js";import{t as b}from"./DPg_DKOi.js";import{t as T}from"./Botz-oQY.js";import{t as C}from"./DxyGHoKK.js";import{t as D}from"./C_SEq15E.js";import{t as P}from"./BGubuyYi.js";import{t as E}from"./CkExnaGY2.js";import{a as j,i as I,n as S,o as A,r as _,t as z}from"./Cqkksoxi2.js";import{t as M}from"./N4HKgEC52.js";import{a as U,i as q,n as k,r as O,t as $}from"./CWmyXqt5.js";var L=e=>e.meta.hasMore?e.meta.nextCursor??p(e):void 0,K=({content:e,onDeleted:t,onClose:a})=>{const n=function(){const e=l(),{user:t,props:a}=d(),n=a?.organizationId,r=t?.token,o=t?._id??t?.uid??null,i=[f.USER_UPLOADS,n??"",o];return h({mutationKey:["delete-upload",n??"",o],mutationFn:async({contentId:e})=>{const t=await g.post(v.DELETE_CONTENT,{json:{contentId:e},throwHttpErrors:!1,headers:{"x-org-id":n,...r?{Authorization:`Bearer ${r}`}:{}}}).json();if(t?.error)throw new Error(t.error);return{contentId:e}},onMutate:async({contentId:t})=>{await e.cancelQueries({queryKey:i,exact:!1});const a=e.getQueriesData({queryKey:i,exact:!1});return e.setQueriesData({queryKey:i,exact:!1},e=>e?.pages?{...e,pages:e.pages.map(e=>({...e,data:e.data.filter(e=>e._id!==t),meta:{...e.meta,totalCount:Math.max(0,(e.meta.totalCount??0)-1)}}))}:e),{previousData:a}},onError:(t,a,n)=>{n?.previousData?.forEach(([t,a])=>{e.setQueryData(t,a)})}})}(),r=e?.rateCount??0,i=r<=0,s=i?null:`This upload has ${r} rating${r>1?"s":""}. Uploads with at least 1 rating cannot be deleted.`,c=n.error instanceof Error?n.error.message:null;/* @__PURE__ */
|
|
2
|
+
return o(q,{open:Boolean(e),onOpenChange:e=>{e||n.isPending||a()},title:"Delete content?",description:c??s??"Are you sure you want to delete this content? This operation is permanent and cannot be undone.",cancelText:"Cancel",confirmText:i?"Delete":"Got it",confirmColor:i?"error":"primary",loading:n.isPending,onCancel:a,onConfirm:i?async()=>{if(e&&i)try{await n.mutateAsync({contentId:e._id,eventId:e.eventId}),t()}catch{}}:a})};function R({className:e}){/* @__PURE__ */
|
|
3
|
+
return o("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",className:e,"aria-hidden":"true",focusable:"false",children:/* @__PURE__ */o("path",{fill:"currentColor",d:"M7 21q-.825 0-1.412-.587T5 19V6q-.425 0-.712-.288T4 5t.288-.712T5 4h4q0-.425.288-.712T10 3h4q.425 0 .713.288T15 4h4q.425 0 .713.288T20 5t-.288.713T19 6v13q0 .825-.587 1.413T17 21zM17 6H7v13h10zm-7 11q.425 0 .713-.288T11 16V9q0-.425-.288-.712T10 8t-.712.288T9 9v7q0 .425.288.713T10 17m4 0q.425 0 .713-.288T15 16V9q0-.425-.288-.712T14 8t-.712.288T13 9v7q0 .425.288.713T14 17M7 6v13z"})})}var B={[y.APPROVED]:{color:"text-success",bgColor:"bg-success/20",icon:/* @__PURE__ */o(k,{className:"size-full"}),title:"Approved",description:"Your upload has been approved and is now visible to everyone viewing this event."},[y.IN_REVIEW]:{color:"text-warning",bgColor:"bg-warning/20",icon:/* @__PURE__ */o(U,{className:"size-full"}),title:"In Review",description:"Your upload is currently being reviewed. It will be visible once approved by the event admin."},[y.REJECTED]:{color:"text-destructive",bgColor:"bg-destructive/20",icon:/* @__PURE__ */o(M,{className:"size-full"}),title:"Rejected",description:"Your upload was not approved as it may not meet the content guidelines. Please upload appropriate content."}},Q=e=>{const t=new Date(e).getTime();if(Number.isNaN(t))return"";const a=Math.max(0,Math.floor((Date.now()-t)/1e3)),n=[[60,"second"],[60,"minute"],[24,"hour"],[30,"day"],[12,"month"],[Number.POSITIVE_INFINITY,"year"]];let r=a,o="second";for(const[i,s]of n){if(r<i){o=s;break}r=Math.floor(r/i),o=s}return"second"===o&&r<30?"just now":`${r} ${o}${1===r?"":"s"} ago`},V=n(({content:e,onDelete:t,onEditCaption:a,onStatusClick:n})=>{const r=e.status,i=B[r];/* @__PURE__ */
|
|
4
|
+
return o("div",{className:"group relative size-full overflow-hidden sm:rounded",children:/* @__PURE__ */o("div",{className:"relative size-full",children:[
|
|
5
|
+
/* @__PURE__ */o(D,{url:e.url||"",alt:e.caption||"",thumbnailUrl:e.thumbnailUrl||void 0,blurhash:e.blurhash||void 0,pswpData:{id:e._id,type:e.type,hash:e._id,width:e.dimension?.width,height:e.dimension?.height,thumbnailUrl:e.thumbnailUrl||void 0,caption:e.caption||""}}),
|
|
6
|
+
/* @__PURE__ */o("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 flex items-center justify-between bg-gradient-to-t from-black/50 to-transparent pl-3",children:[/* @__PURE__ */o(N,{variant:"caption",className:"text-xs text-white opacity-90 sm:text-sm",children:Q(e.createdAt)}),/* @__PURE__ */o("div",{className:"pointer-events-auto flex items-center",children:[/* @__PURE__ */o("button",{type:"button",className:"cursor-pointer p-2 text-white hover:opacity-80","aria-label":"Edit caption",onClick:t=>{t.stopPropagation(),t.preventDefault(),a(e._id)},children:/* @__PURE__ */o("svg",{viewBox:"0 0 24 24",className:"size-5","aria-hidden":"true",children:/* @__PURE__ */o("path",{fill:"currentColor",d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25ZM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83Z"})})}),/* @__PURE__ */o(O,{icon:/* @__PURE__ */o(R,{className:"size-5"}),color:"error",size:"sm","aria-label":"Delete upload",tooltip:"Delete",onClick:a=>{a.stopPropagation(),a.preventDefault(),t(e._id)}})]})]}),
|
|
7
|
+
/* @__PURE__ */o("button",{type:"button","aria-label":`Status: ${i?.title||"Unknown"}`,onClick:e=>{e.stopPropagation(),e.preventDefault(),n(r)},className:c("pointer-events-auto absolute top-1 right-1 cursor-pointer rounded-full p-1 transition-opacity hover:opacity-80",i?.bgColor||"bg-gray-500/20"),children:/* @__PURE__ */o("span",{className:c("block size-5",i?.color||"text-gray-500"),children:i?.icon||null})})]})})}),F=({content:t,onClose:n})=>{const[r,i]=a(""),s=function(){const e=l(),{user:t,props:a}=d(),n=a?.organizationId,r=t?.token,o=t?._id??t?.uid??null,i=[f.USER_UPLOADS,n??"",o];return h({mutationKey:["update-upload-caption",n??"",o],mutationFn:async({contentId:e,caption:t})=>{const a=await g.post(v.UPDATE_CONTENT_CAPTION,{json:{contentId:e,caption:t},throwHttpErrors:!1,headers:{"x-org-id":n,...r?{Authorization:`Bearer ${r}`}:{}}}).json();if(a.error)throw new Error(a.error);return{contentId:e,caption:t,content:a.data}},onMutate:async({contentId:t,caption:a})=>{await e.cancelQueries({queryKey:i,exact:!1});const n=e.getQueriesData({queryKey:i,exact:!1});return e.setQueriesData({queryKey:i,exact:!1},e=>e?.pages?{...e,pages:e.pages.map(e=>({...e,data:e.data.map(e=>e._id===t?{...e,caption:a,status:y.IN_REVIEW}:e)}))}:e),{previousData:n}},onError:(t,a,n)=>{n?.previousData?.forEach(([t,a])=>{e.setQueryData(t,a)})}})}();return e(()=>{i(t?.caption??"")},[t]),/* @__PURE__ */o(z,{open:Boolean(t),onOpenChange:e=>!e&&n(),children:/* @__PURE__ */o(S,{className:"w-full max-w-lg",children:[
|
|
8
|
+
/* @__PURE__ */o(j,{children:[/* @__PURE__ */o(A,{children:"Update caption"}),/* @__PURE__ */o(_,{children:"Edit or clear the caption for this upload."})]}),
|
|
9
|
+
/* @__PURE__ */o("div",{className:"px-4",children:/* @__PURE__ */o($,{label:"Caption",value:r,maxLength:1e3,rows:4,disabled:s.isPending,error:s.error instanceof Error?s.error.message:void 0,onInput:e=>i(e.currentTarget.value)})}),
|
|
10
|
+
/* @__PURE__ */o(I,{children:[/* @__PURE__ */o(E,{variant:"outlined",color:"foreground",disabled:s.isPending,onClick:n,children:"Cancel"}),/* @__PURE__ */o(E,{loading:s.isPending,onClick:async()=>{if(t)try{await s.mutateAsync({contentId:t._id,caption:r}),n()}catch{}},children:"Save"})]})]})})},Y=e=>new Date(e).toLocaleDateString("en-US",{month:"short",year:"numeric"}),G=e=>{if(0===e.length)return"";if(1===e.length)return Y(e[0].createdAt);const{minTime:t,maxTime:a}=e.reduce((e,t)=>{const a=new Date(t.createdAt).getTime();return{minTime:Math.min(e.minTime,a),maxTime:Math.max(e.maxTime,a)}},{minTime:1/0,maxTime:-1/0}),n=Y(new Date(t).toISOString()),r=Y(new Date(a).toISOString());return n===r?n:`${n} - ${r}`},H=()=>{const n=x(),l=w(),{user:p,loadingUser:h,portalContainer:y,organization:D}=d(),j=t(null),I=t(!1),M=t(null),U=t(null),[q,k]=a(null),[O,$]=a(null),[R,Q]=a(null),{contents:Y,loading:H,hasNextPage:W,fetchNextPage:Z,isFetchingNextPage:J}=function({sort:e="-createdAt",limit:t=20}={}){const{user:a,loadingUser:n,props:o,organization:i}=d(),s=o?.organizationId,l=a?.token,c=a?._id??a?.uid??null,{data:p,isLoading:h,isError:y,error:w,isFetchingNextPage:x,hasNextPage:N,fetchNextPage:b,refetch:T}=m({queryKey:[f.USER_UPLOADS,s??"",c,t,e],queryFn:async({pageParam:a=1})=>await g.get(v.MY_UPLOADS,{searchParams:"string"==typeof a?{after:a,limit:t,sort:e}:{page:a,limit:t,sort:e},headers:{"x-org-id":s,...l?{Authorization:`Bearer ${l}`}:{}}}).json(),initialPageParam:1,getPreviousPageParam:u,getNextPageParam:L,maxPages:25,staleTime:12e4,gcTime:3e5,enabled:!n&&!!a&&!0===i?.integrationSettings?.enableMyUploads});return{contents:r(()=>p?.pages?.flatMap(e=>e?.data??[])??[],[p]),loading:h,isError:y,error:w,isFetchingNextPage:x,hasNextPage:!!N,fetchNextPage:b,refetch:T,totalCount:p?.pages?.[0]?.meta?.totalCount??0}}({sort:"-createdAt",limit:20});e(()=>{h||p||n("/auth/login",{state:{referrer:l.pathname},replace:!0})},[h,p,n,l.pathname]),e(()=>{h||!D||D.integrationSettings?.enableMyUploads||n("/",{replace:!0})},[h,D,n]);const X=Y.length>0,ee=!H&&!X,te=r(()=>{if(!Y.length)return[];const e={};return Y.forEach(t=>{const a=t.eventId||"unknown";e[a]||(e[a]={eventId:a,eventName:t.event?.name||"Event",uploads:[]}),e[a].uploads.push(t)}),Object.values(e).sort((e,t)=>{const a=new Date(e.uploads[0]?.createdAt||0).getTime();return new Date(t.uploads[0]?.createdAt||0).getTime()-a})},[Y]);e(()=>()=>{j.current?.destroy?.(),j.current=null},[y]);const ae=i(async e=>{if(j.current||I.current)return;const t=M.current,a=e.target.closest("a");if(!t||!a||!t.contains(a))return;e.preventDefault(),I.current=!0;const n=Array.from(t.querySelectorAll("a")).indexOf(a);try{const[{default:e},{default:a},{default:r},{loadPhotoSwipe:o}]=await Promise.all([import("./web.es.js").then(e=>e.n),import("./Bo39kG4k2.js"),import("./DeK1vU3V2.js"),import("./web.es.js").then(e=>e.t)]),i=new e({gallery:t,children:"a",counter:!1,bgOpacity:1,wheelToZoom:!0,pinchToClose:!0,zoom:!1,pswpModule:o,appendToEl:y??document.body});j.current=i,new a(i),new r(i),i.init(),n>=0&&j.current?.loadAndOpen?.(n)}finally{I.current=!1}},[y]);e(()=>{const e=U.current;if(!e||!W)return;const t=new IntersectionObserver(e=>{e[0]?.isIntersecting&&W&&!J&&Z()},{rootMargin:"200px"});return t.observe(e),()=>t.disconnect()},[W,J,Z]);const ne=r(()=>Y.find(e=>e._id===q)??null,[q,Y]),re=r(()=>Y.find(e=>e._id===O)??null,[O,Y]),oe=R?B[R]:null;return D&&!D.integrationSettings?.enableMyUploads?null:/* @__PURE__ */o("div",{className:"bg-background min-h-screen w-full",children:[
|
|
11
|
+
/* @__PURE__ */o("div",{className:"relative flex items-center justify-center",children:[/* @__PURE__ */o(P,{}),/* @__PURE__ */o(N,{variant:"h4",align:"center",children:"My Uploads"})]}),
|
|
12
|
+
/* @__PURE__ */o("section",{className:"space-y-3",children:H?/* @__PURE__ */o("div",{className:"space-y-8 py-4",children:Array.from({length:2}).map((e,t)=>/* @__PURE__ */o("div",{className:"space-y-4",children:[/* @__PURE__ */o("div",{className:"flex items-center justify-between",children:[/* @__PURE__ */o(C,{className:"h-6 w-48"}),/* @__PURE__ */o(C,{className:"h-5 w-24"})]}),/* @__PURE__ */o("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4",children:Array.from({length:4}).map((e,t)=>/* @__PURE__ */o(C,{className:"h-52 w-full lg:h-64"},t))})]},t))}):ee?/* @__PURE__ */o(T,{className:"py-12",title:"No uploads yet",description:"Photos and videos you upload to events will appear here."}):/* @__PURE__ */o(s,{children:[
|
|
13
|
+
/* @__PURE__ */o("div",{ref:M,onClickCapture:ae,className:"space-y-8 py-4",children:te.map(e=>/* @__PURE__ */o("div",{className:"space-y-4",children:[/* @__PURE__ */o("div",{className:"flex items-center justify-between",children:[/* @__PURE__ */o(N,{variant:"h5",color:"muted",children:e.eventName}),/* @__PURE__ */o("span",{className:"text-muted-foreground text-sm font-light uppercase sm:text-base",children:G(e.uploads)})]}),/* @__PURE__ */o("div",{className:"grid grid-cols-2 gap-1 sm:grid-cols-3 lg:grid-cols-4",children:e.uploads.map(e=>/* @__PURE__ */o("div",{className:"h-52 lg:h-64",children:/* @__PURE__ */o(V,{content:e,onDelete:k,onEditCaption:$,onStatusClick:Q})},e._id))})]},e.eventId))}),
|
|
14
|
+
/* @__PURE__ */o("div",{ref:U,className:"h-px w-full"}),J&&/* @__PURE__ */o("div",{className:"my-6 w-full",children:/* @__PURE__ */o(b,{})})]})}),
|
|
15
|
+
/* @__PURE__ */o(K,{content:ne,onClose:()=>k(null),onDeleted:()=>k(null)}),
|
|
16
|
+
/* @__PURE__ */o(F,{content:re,onClose:()=>$(null)}),
|
|
17
|
+
/* @__PURE__ */o(z,{open:Boolean(R),onOpenChange:e=>!e&&Q(null),children:/* @__PURE__ */o(S,{className:"w-full max-w-lg",children:[/* @__PURE__ */o("div",{className:"flex flex-col gap-4 p-2 sm:flex-row sm:items-start sm:p-4",children:[/* @__PURE__ */o("div",{className:c("mx-auto flex size-12 shrink-0 items-center justify-center rounded-full sm:mx-0 sm:size-10",oe?.bgColor||"bg-gray-500/20"),children:/* @__PURE__ */o("span",{className:c("size-6",oe?.color||"text-gray-500"),children:oe?.icon||null})}),/* @__PURE__ */o("div",{className:"flex-1 space-y-2 text-center sm:text-left",children:[/* @__PURE__ */o(A,{children:oe?.title||"Unknown Status"}),/* @__PURE__ */o(_,{children:oe?.description||"Status information unavailable."})]})]}),/* @__PURE__ */o("div",{className:"flex justify-end p-4",children:/* @__PURE__ */o(E,{variant:"outlined",color:"foreground",onClick:()=>Q(null),children:"Got it"})})]})})]})};export{H as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r as e}from"./DdACKOZr.js";import{C as t,_ as o,f as l,h as r,p as a,t as n}from"./DrrpB4Om.js";import{a as i,l as c,n as f}from"./tJ2MS5HS.js";import{t as s}from"./DUEaNsCB.js";import{v as p}from"./DUWOb-5c.js";import{t as d}from"./B01ceTPt.js";import{t as u}from"./Rcen6i0h.js";import{t as m}from"./7zeKIiiL.js";import{a as g,i as b,n as h,r as x,t as v}from"./BIibcFd-.js";import{t as k}from"./CfMNBPpx.js";var y=[[90,-180],[-90,180]],w=[20,0],z="#fb8500",A={topLeft:[276,60],bottomRight:[60,60]},L=new s,E=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),C=({onExplore:s,logoUrl:C})=>{const R=l(null),T=l(null),M=l(null),O=l(null),I=l(null),S=l(null),W=l(null),j=l(!1),Z=l(!1),[q,D]=r(!0),[B,H]=r(!1),{folderTree:N,activeFolderId:U,activeFolder:F,visibleEvents:P,setActiveFolderId:Y,isLoadingEvents:J}=m(),{organization:G}=f(),Q=`${p}-${G?._id??"unknown"}`,K=l(Q);K.current=Q;const V=a(()=>(e=>{try{const t=sessionStorage.getItem(e);if(!t)return null;const o=JSON.parse(t);if("number"==typeof o?.center?.lat&&"number"==typeof o?.center?.lng&&"number"==typeof o?.zoom)return o}catch{}return null})(Q),[Q]),X=l(/* @__PURE__ */new Map),$=l(/* @__PURE__ */new Map),_=l(null),ee=l(null),te=l(s);return te.current=s,o(()=>{if(!R.current||T.current)return;k("leaflet",'.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}'),k("marker-cluster",".leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{text-align:center;border-radius:15px;width:30px;height:30px;margin-top:5px;margin-left:5px}.marker-cluster span{line-height:30px}");let t,o=!1;return(async()=>{try{const l=await import("./OnH8Izqn.js").then(t=>/* @__PURE__ */e(t.default,1));if(o)return;if("undefined"!=typeof window&&(window.L=l),await Promise.all([import("./C7zv6hcG.js").then(t=>/* @__PURE__ */e(t.default,1)),import("./rtH8O6Hc.js")]),o)return;const r=window.L??l;if(!R.current)return;const a=l.map(R.current,{center:V?.center?[V.center.lat??w[0],V.center.lng??w[1]]:w,zoom:V?.zoom??3,minZoom:3,zoomControl:!0,worldCopyJump:!1,maxBounds:l.latLngBounds(y),maxBoundsViscosity:1});l.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:"© OpenStreetMap contributors",maxZoom:19,noWrap:!0}).addTo(a);const n=l.layerGroup().addTo(a),i="function"==typeof r.heatLayer?r.heatLayer([],{radius:30,blur:30,maxZoom:10,minOpacity:.35}):null;i?.addTo(a);const c="function"==typeof r.markerClusterGroup?r.markerClusterGroup({chunkedLoading:!0,showCoverageOnHover:!1,spiderfyOnMaxZoom:!0,zoomToBoundsOnClick:!0,maxClusterRadius:48}):l.layerGroup();c.addTo(a);const f=()=>{W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{try{sessionStorage.setItem(K.current,JSON.stringify({center:a.getCenter(),zoom:a.getZoom()}))}catch{}},250)};let s;a.on("zoomend",f),a.on("moveend",f),T.current=a,M.current=r,O.current=n,S.current=i,I.current=c,"undefined"!=typeof ResizeObserver&&R.current&&(s=new ResizeObserver(()=>a.invalidateSize(!1)),s.observe(R.current)),requestAnimationFrame(()=>a.invalidateSize(!1)),H(!0),D(!1),t=()=>{s?.disconnect(),W.current&&clearTimeout(W.current),a.off("zoomend",f),a.off("moveend",f),a.remove(),M.current=null,T.current=null,O.current=null,S.current=null,I.current=null}}finally{o||D(!1)}})(),()=>{o=!0,t?.()}},[]),o(()=>{if(!B)return;const e=M.current;if(!e)return;const o=T.current,l=null===U&&N.length>0,r=l?"folders":"events";if(_.current!==r&&(O.current?.clearLayers(),I.current?.clearLayers(),$.current.clear(),X.current.clear(),ee.current=null,_.current=r),l){o&&S.current&&(S.current.setLatLngs?.([]),o.hasLayer(S.current)&&o.removeLayer(S.current));const t=[],l=e=>{for(const o of e)o.centroid?t.push(o):o.children.length>0&&l(o.children)};l(N);const r=new Set(t.map(e=>e.folder._id));for(const[e,o]of $.current)r.has(e)||(O.current?.removeLayer(o),$.current.delete(e));for(const o of t){const[t,l]=o.centroid,r=e.divIcon({className:"",html:`<div style="transform:translate(-50%,-50%);background:${x(o.color,z)};color:#fff;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,0.25);border:2px solid rgba(255,255,255,0.4);cursor:pointer;display:inline-flex;align-items:center;gap:6px;"><span>${E(o.folder.name)}</span><span style="background:rgba(0,0,0,0.18);border-radius:10px;padding:1px 5px;font-size:10px;">${o.eventCount}</span></div>`,iconSize:[0,0],iconAnchor:[0,0]}),a=$.current.get(o.folder._id);if(a){a.setIcon(r),a.setLatLng([l,t]);continue}const n=e.marker([l,t],{icon:r}).on("click",()=>Y(o.folder._id)).addTo(O.current);$.current.set(o.folder._id,n)}}else{if(0===P.length){for(const e of X.current.values())I.current?.removeLayer(e);return void X.current.clear()}const l=0===N.length&&null===U,r=x(F?.color,z);o&&S.current&&(l&&!o.hasLayer(S.current)?S.current.addTo(o):l||(S.current.setLatLngs?.([]),o.hasLayer(S.current)&&o.removeLayer(S.current)));const a=b(C),i=new Set(P.map(e=>String(e._id)));for(const[e,t]of X.current)i.has(e)||(I.current?.removeLayer(t),X.current.delete(e));const f=`${r}|${a??""}`,s=ee.current!==f;ee.current=f;const p=e.divIcon({className:"qrati-leaflet-marker-wrapper",html:`<div style="width:42px;height:42px;cursor:pointer;background:${r};border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid white;box-shadow:0 2px 8px rgba(0,0,0,0.3);display:flex;align-items:center;justify-content:center;overflow:hidden;">${a?`<img src="${E(a)}" style="width:28px;height:28px;border-radius:50%;object-fit:cover;transform:rotate(45deg);" />`:""}</div>`,iconSize:[42,42],iconAnchor:[21,42],popupAnchor:[0,-42]});if(P.forEach(o=>{const l=String(o._id),r=o.location.x,a=o.location.y,i=X.current.get(l);if(i)return s&&i.setIcon(p),void i.setLatLng([a,r]);const f=e.marker([a,r],{icon:p}),d=document.createElement("div");d.style.width="fit-content",f.on("popupopen",()=>{((e,o)=>{t(/* @__PURE__ */n(c,{client:L,children:/* @__PURE__ */n(g,{event:e,onExplore:e=>te.current(e)})}),o)})(o,d)}),f.on("popupclose",()=>{t(null,d)}),f.bindPopup(d,{closeButton:!0,maxWidth:256}),I.current?.addLayer(f),X.current.set(l,f)}),l&&S.current){const e=P.reduce((e,t)=>Math.max(e,t.views??0),1),t=P.map(e=>[e.location.y,e.location.x,e.views??1]);S.current.setOptions?.({radius:30,blur:30,maxZoom:10,minOpacity:.35,max:e}),S.current.setLatLngs?.(t)}if(l&&!Z.current&&o&&(Z.current=!0,!V)){const t=e.latLngBounds([]);P.forEach(e=>t.extend([e.location.y,e.location.x])),t.isValid()&&o.fitBounds(t,{paddingTopLeft:A.topLeft,paddingBottomRight:A.bottomRight,maxZoom:8})}}},[U,N,P,B,C,Y,F,V]),o(()=>{if(!B)return;const e=T.current,t=M.current;if(!e||!t)return;if(!j.current&&V)return void(j.current=!0);j.current=!0;const o={paddingTopLeft:A.topLeft,paddingBottomRight:A.bottomRight,duration:3,easeLinearity:1};if(U){const l=h(N,U);if(!l?.folder.boundary?.length)return;const r=t.latLngBounds([]);for(const e of l.folder.boundary)r.extend([e.y,e.x]);r.isValid()&&e.flyToBounds(r,{...o,maxZoom:14})}else{const l=t.latLngBounds([]),r=e=>{for(const t of e)t.centroid?l.extend([t.centroid[1],t.centroid[0]]):r(t.children)};r(N),l.isValid()&&e.flyToBounds(l,{...o,maxZoom:8})}},[U,N,B,V]),/* @__PURE__ */n("div",{class:"relative h-screen w-full sm:h-[calc(100vh-4rem)]",style:i(G),children:[
|
|
1
|
+
import{r as e}from"./DdACKOZr.js";import{C as t,_ as o,f as l,h as r,p as a,t as n}from"./DrrpB4Om.js";import{a as i,d as c,n as f}from"./f4E4mY0G.js";import{t as s}from"./C_ZPqbKe.js";import{v as p}from"./Bb9ydqSB.js";import{t as d}from"./Botz-oQY.js";import{t as u}from"./Rcen6i0h.js";import{t as m}from"./BqXNdaJq.js";import{a as g,i as b,n as h,r as x,t as v}from"./RMLGjMvY.js";import{t as k}from"./CfMNBPpx.js";var y=[[90,-180],[-90,180]],w=[20,0],z="#fb8500",A={topLeft:[276,60],bottomRight:[60,60]},L=new s,E=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),C=({onExplore:s,logoUrl:C})=>{const R=l(null),T=l(null),M=l(null),O=l(null),I=l(null),S=l(null),W=l(null),j=l(!1),Z=l(!1),[q,D]=r(!0),[B,H]=r(!1),{folderTree:N,activeFolderId:U,activeFolder:F,visibleEvents:P,setActiveFolderId:Y,isLoadingEvents:J}=m(),{organization:G}=f(),Q=`${p}-${G?._id??"unknown"}`,K=l(Q);K.current=Q;const V=a(()=>(e=>{try{const t=sessionStorage.getItem(e);if(!t)return null;const o=JSON.parse(t);if("number"==typeof o?.center?.lat&&"number"==typeof o?.center?.lng&&"number"==typeof o?.zoom)return o}catch{}return null})(Q),[Q]),X=l(/* @__PURE__ */new Map),$=l(/* @__PURE__ */new Map),_=l(null),ee=l(null),te=l(s);return te.current=s,o(()=>{if(!R.current||T.current)return;k("leaflet",'.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}'),k("marker-cluster",".leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{text-align:center;border-radius:15px;width:30px;height:30px;margin-top:5px;margin-left:5px}.marker-cluster span{line-height:30px}");let t,o=!1;return(async()=>{try{const l=await import("./OnH8Izqn.js").then(t=>/* @__PURE__ */e(t.default,1));if(o)return;if("undefined"!=typeof window&&(window.L=l),await Promise.all([import("./C7zv6hcG.js").then(t=>/* @__PURE__ */e(t.default,1)),import("./rtH8O6Hc.js")]),o)return;const r=window.L??l;if(!R.current)return;const a=l.map(R.current,{center:V?.center?[V.center.lat??w[0],V.center.lng??w[1]]:w,zoom:V?.zoom??3,minZoom:3,zoomControl:!0,worldCopyJump:!1,maxBounds:l.latLngBounds(y),maxBoundsViscosity:1});l.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:"© OpenStreetMap contributors",maxZoom:19,noWrap:!0}).addTo(a);const n=l.layerGroup().addTo(a),i="function"==typeof r.heatLayer?r.heatLayer([],{radius:30,blur:30,maxZoom:10,minOpacity:.35}):null;i?.addTo(a);const c="function"==typeof r.markerClusterGroup?r.markerClusterGroup({chunkedLoading:!0,showCoverageOnHover:!1,spiderfyOnMaxZoom:!0,zoomToBoundsOnClick:!0,maxClusterRadius:48}):l.layerGroup();c.addTo(a);const f=()=>{W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{try{sessionStorage.setItem(K.current,JSON.stringify({center:a.getCenter(),zoom:a.getZoom()}))}catch{}},250)};let s;a.on("zoomend",f),a.on("moveend",f),T.current=a,M.current=r,O.current=n,S.current=i,I.current=c,"undefined"!=typeof ResizeObserver&&R.current&&(s=new ResizeObserver(()=>a.invalidateSize(!1)),s.observe(R.current)),requestAnimationFrame(()=>a.invalidateSize(!1)),H(!0),D(!1),t=()=>{s?.disconnect(),W.current&&clearTimeout(W.current),a.off("zoomend",f),a.off("moveend",f),a.remove(),M.current=null,T.current=null,O.current=null,S.current=null,I.current=null}}finally{o||D(!1)}})(),()=>{o=!0,t?.()}},[]),o(()=>{if(!B)return;const e=M.current;if(!e)return;const o=T.current,l=null===U&&N.length>0,r=l?"folders":"events";if(_.current!==r&&(O.current?.clearLayers(),I.current?.clearLayers(),$.current.clear(),X.current.clear(),ee.current=null,_.current=r),l){o&&S.current&&(S.current.setLatLngs?.([]),o.hasLayer(S.current)&&o.removeLayer(S.current));const t=[],l=e=>{for(const o of e)o.centroid?t.push(o):o.children.length>0&&l(o.children)};l(N);const r=new Set(t.map(e=>e.folder._id));for(const[e,o]of $.current)r.has(e)||(O.current?.removeLayer(o),$.current.delete(e));for(const o of t){const[t,l]=o.centroid,r=e.divIcon({className:"",html:`<div style="transform:translate(-50%,-50%);background:${x(o.color,z)};color:#fff;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,0.25);border:2px solid rgba(255,255,255,0.4);cursor:pointer;display:inline-flex;align-items:center;gap:6px;"><span>${E(o.folder.name)}</span><span style="background:rgba(0,0,0,0.18);border-radius:10px;padding:1px 5px;font-size:10px;">${o.eventCount}</span></div>`,iconSize:[0,0],iconAnchor:[0,0]}),a=$.current.get(o.folder._id);if(a){a.setIcon(r),a.setLatLng([l,t]);continue}const n=e.marker([l,t],{icon:r}).on("click",()=>Y(o.folder._id)).addTo(O.current);$.current.set(o.folder._id,n)}}else{if(0===P.length){for(const e of X.current.values())I.current?.removeLayer(e);return void X.current.clear()}const l=0===N.length&&null===U,r=x(F?.color,z);o&&S.current&&(l&&!o.hasLayer(S.current)?S.current.addTo(o):l||(S.current.setLatLngs?.([]),o.hasLayer(S.current)&&o.removeLayer(S.current)));const a=b(C),i=new Set(P.map(e=>String(e._id)));for(const[e,t]of X.current)i.has(e)||(I.current?.removeLayer(t),X.current.delete(e));const f=`${r}|${a??""}`,s=ee.current!==f;ee.current=f;const p=e.divIcon({className:"qrati-leaflet-marker-wrapper",html:`<div style="width:42px;height:42px;cursor:pointer;background:${r};border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid white;box-shadow:0 2px 8px rgba(0,0,0,0.3);display:flex;align-items:center;justify-content:center;overflow:hidden;">${a?`<img src="${E(a)}" style="width:28px;height:28px;border-radius:50%;object-fit:cover;transform:rotate(45deg);" />`:""}</div>`,iconSize:[42,42],iconAnchor:[21,42],popupAnchor:[0,-42]});if(P.forEach(o=>{const l=String(o._id),r=o.location.x,a=o.location.y,i=X.current.get(l);if(i)return s&&i.setIcon(p),void i.setLatLng([a,r]);const f=e.marker([a,r],{icon:p}),d=document.createElement("div");d.style.width="fit-content",f.on("popupopen",()=>{((e,o)=>{t(/* @__PURE__ */n(c,{client:L,children:/* @__PURE__ */n(g,{event:e,onExplore:e=>te.current(e)})}),o)})(o,d)}),f.on("popupclose",()=>{t(null,d)}),f.bindPopup(d,{closeButton:!0,maxWidth:256}),I.current?.addLayer(f),X.current.set(l,f)}),l&&S.current){const e=P.reduce((e,t)=>Math.max(e,t.views??0),1),t=P.map(e=>[e.location.y,e.location.x,e.views??1]);S.current.setOptions?.({radius:30,blur:30,maxZoom:10,minOpacity:.35,max:e}),S.current.setLatLngs?.(t)}if(l&&!Z.current&&o&&(Z.current=!0,!V)){const t=e.latLngBounds([]);P.forEach(e=>t.extend([e.location.y,e.location.x])),t.isValid()&&o.fitBounds(t,{paddingTopLeft:A.topLeft,paddingBottomRight:A.bottomRight,maxZoom:8})}}},[U,N,P,B,C,Y,F,V]),o(()=>{if(!B)return;const e=T.current,t=M.current;if(!e||!t)return;if(!j.current&&V)return void(j.current=!0);j.current=!0;const o={paddingTopLeft:A.topLeft,paddingBottomRight:A.bottomRight,duration:3,easeLinearity:1};if(U){const l=h(N,U);if(!l?.folder.boundary?.length)return;const r=t.latLngBounds([]);for(const e of l.folder.boundary)r.extend([e.y,e.x]);r.isValid()&&e.flyToBounds(r,{...o,maxZoom:14})}else{const l=t.latLngBounds([]),r=e=>{for(const t of e)t.centroid?l.extend([t.centroid[1],t.centroid[0]]):r(t.children)};r(N),l.isValid()&&e.flyToBounds(l,{...o,maxZoom:8})}},[U,N,B,V]),/* @__PURE__ */n("div",{class:"relative h-screen w-full sm:h-[calc(100vh-4rem)]",style:i(G),children:[
|
|
2
2
|
/* @__PURE__ */n(v,{positionClass:"absolute top-3 left-16 z-[1000]",folderTree:N,activeFolderId:U,setActiveFolderId:Y}),J&&/* @__PURE__ */n("div",{class:"absolute inset-0 z-10 flex items-center justify-center bg-white/60",children:/* @__PURE__ */n("div",{class:"border-primary size-10 animate-spin rounded-full border-4 border-t-transparent"})}),q&&/* @__PURE__ */n("div",{class:"absolute inset-0 z-20 flex items-center justify-center bg-white/85",children:/* @__PURE__ */n("div",{class:"flex flex-col items-center gap-3",children:[/* @__PURE__ */n("div",{class:"border-primary size-10 animate-spin rounded-full border-4 border-t-transparent"}),/* @__PURE__ */n("p",{class:"text-sm font-medium text-slate-700",children:"Loading map…"})]})}),!J&&0===P.length&&(0===N.length||null!==U)&&/* @__PURE__ */n("div",{class:"absolute inset-0 z-30 flex items-center justify-center bg-white/90",children:/* @__PURE__ */n(d,{title:"No Events",description:"Check back later for our awesome events!",iconSvg:/* @__PURE__ */n(u,{})})}),
|
|
3
3
|
/* @__PURE__ */n("div",{ref:R,class:"h-full w-full rounded-xl border border-slate-200"})]})};export{C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{l as r,n as e}from"./f4E4mY0G.js";import{t as a}from"./DmpmrPE5.js";import{i as t}from"./Bb9ydqSB.js";var o=({eventSlug:o})=>{const{props:s}=e(),n=s?.organizationId,{isLoading:i,data:d,isError:g,error:m}=r({queryKey:[`event-data-${n??""}-${o??""}`],queryFn:async()=>{try{const r=await a.get(t.EVENT_DATA,{searchParams:o?{eventSlug:o}:void 0,headers:{"x-org-id":n}}).json();if(r.error)throw new Error(r.error);return r.data}catch(r){throw new Error(r instanceof Error?r.message:String(r)||"Failed to fetch event data")}},enabled:!!n&&!!o,staleTime:3e5,gcTime:6e5,refetchOnWindowFocus:"always"});return{loading:i,event:d?.event,ads:d?.ads,gamConfig:d?.gamConfig,parameters:d?.parameters,isError:g,error:m}};export{o as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{C as e,_ as r,f as t,h as n,p as s,t as a}from"./DrrpB4Om.js";import{a as o,l as i,n as c}from"./tJ2MS5HS.js";import{t as l}from"./DUEaNsCB.js";import{v as u}from"./DUWOb-5c.js";import{t as m}from"./7zeKIiiL.js";import{t as f}from"./BUDCYszs.js";import{a as p,i as d,n as g,r as h,t as b}from"./BIibcFd-.js";var{getOwnPropertyNames:y,getOwnPropertySymbols:k}=Object,{hasOwnProperty:v}=Object.prototype;function x(e,r){return function(t,n,s){return e(t,n,s)&&r(t,n,s)}}function w(e){return function(r,t,n){if(!r||!t||"object"!=typeof r||"object"!=typeof t)return e(r,t,n);const{cache:s}=n,a=s.get(r),o=s.get(t);if(a&&o)return a===t&&o===r;s.set(r,t),s.set(t,r);const i=e(r,t,n);return s.delete(r),s.delete(t),i}}function E(e){return y(e).concat(k(e))}var M=Object.hasOwn||((e,r)=>v.call(e,r));function C(e,r){return e===r||!e&&!r&&e!=e&&r!=r}var{getOwnPropertyDescriptor:j,keys:L}=Object;function A(e,r){return e.byteLength===r.byteLength&&D(new Uint8Array(e),new Uint8Array(r))}function q(e,r,t){let n=e.length;if(r.length!==n)return!1;for(;n-- >0;)if(!t.equals(e[n],r[n],n,n,e,r,t))return!1;return!0}function O(e,r){return e.byteLength===r.byteLength&&D(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}function I(e,r){return C(e.getTime(),r.getTime())}function S(e,r){return e.name===r.name&&e.message===r.message&&e.cause===r.cause&&e.stack===r.stack}function _(e,r){return e===r}function z(e,r,t){const n=e.size;if(n!==r.size)return!1;if(!n)return!0;const s=new Array(n),a=e.entries();let o,i,c=0;for(;(o=a.next())&&!o.done;){const n=r.entries();let a=!1,l=0;for(;(i=n.next())&&!i.done;){if(s[l]){l++;continue}const n=o.value,u=i.value;if(t.equals(n[0],u[0],c,l,e,r,t)&&t.equals(n[1],u[1],n[0],u[0],e,r,t)){a=s[l]=!0;break}l++}if(!a)return!1;c++}return!0}var P=C;function T(e,r,t){const n=L(e);let s=n.length;if(L(r).length!==s)return!1;for(;s-- >0;)if(!Z(e,r,t,n[s]))return!1;return!0}function U(e,r,t){const n=E(e);let s,a,o,i=n.length;if(E(r).length!==i)return!1;for(;i-- >0;){if(s=n[i],!Z(e,r,t,s))return!1;if(a=j(e,s),o=j(r,s),(a||o)&&(!a||!o||a.configurable!==o.configurable||a.enumerable!==o.enumerable||a.writable!==o.writable))return!1}return!0}function N(e,r){return C(e.valueOf(),r.valueOf())}function $(e,r){return e.source===r.source&&e.flags===r.flags}function B(e,r,t){const n=e.size;if(n!==r.size)return!1;if(!n)return!0;const s=new Array(n),a=e.values();let o,i;for(;(o=a.next())&&!o.done;){const n=r.values();let a=!1,c=0;for(;(i=n.next())&&!i.done;){if(!s[c]&&t.equals(o.value,i.value,o.value,i.value,e,r,t)){a=s[c]=!0;break}c++}if(!a)return!1}return!0}function D(e,r){let t=e.byteLength;if(r.byteLength!==t||e.byteOffset!==r.byteOffset)return!1;for(;t-- >0;)if(e[t]!==r[t])return!1;return!0}function F(e,r){return e.hostname===r.hostname&&e.pathname===r.pathname&&e.protocol===r.protocol&&e.port===r.port&&e.hash===r.hash&&e.username===r.username&&e.password===r.password}function Z(e,r,t,n){return!("_owner"!==n&&"__o"!==n&&"__v"!==n||!e.$$typeof&&!r.$$typeof)||M(r,n)&&t.equals(e[n],r[n],n,n,e,r,t)}var R={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},V=Object.prototype.toString;var G=K();function K(e={}){const{circular:r=!1,createInternalComparator:t,createState:n,strict:s=!1}=e,a=function({areArrayBuffersEqual:e,areArraysEqual:r,areDataViewsEqual:t,areDatesEqual:n,areErrorsEqual:s,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:i,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:m,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:d}){return function(g,h,b){if(g===h)return!0;if(null==g||null==h)return!1;const y=typeof g;if(y!==typeof h)return!1;if("object"!==y)return"number"===y?i(g,h,b):"function"===y&&a(g,h,b);const k=g.constructor;if(k!==h.constructor)return!1;if(k===Object)return c(g,h,b);if(Array.isArray(g))return r(g,h,b);if(k===Date)return n(g,h,b);if(k===RegExp)return u(g,h,b);if(k===Map)return o(g,h,b);if(k===Set)return m(g,h,b);const v=V.call(g);if("[object Date]"===v)return n(g,h,b);if("[object RegExp]"===v)return u(g,h,b);if("[object Map]"===v)return o(g,h,b);if("[object Set]"===v)return m(g,h,b);if("[object Object]"===v)return"function"!=typeof g.then&&"function"!=typeof h.then&&c(g,h,b);if("[object URL]"===v)return p(g,h,b);if("[object Error]"===v)return s(g,h,b);if("[object Arguments]"===v)return c(g,h,b);if(R[v])return f(g,h,b);if("[object ArrayBuffer]"===v)return e(g,h,b);if("[object DataView]"===v)return t(g,h,b);if("[object Boolean]"===v||"[object Number]"===v||"[object String]"===v)return l(g,h,b);if(d){let e=d[v];if(!e){const r=null!=(x=g)?x[Symbol.toStringTag]:void 0;r&&(e=d[r])}if(e)return e(g,h,b)}var x;return!1}}(function({circular:e,createCustomConfig:r,strict:t}){let n={areArrayBuffersEqual:A,areArraysEqual:t?U:q,areDataViewsEqual:O,areDatesEqual:I,areErrorsEqual:S,areFunctionsEqual:_,areMapsEqual:t?x(z,U):z,areNumbersEqual:P,areObjectsEqual:t?U:T,arePrimitiveWrappersEqual:N,areRegExpsEqual:$,areSetsEqual:t?x(B,U):B,areTypedArraysEqual:t?x(D,U):D,areUrlsEqual:F,unknownTagComparators:void 0};if(r&&(n=Object.assign({},n,r(n))),e){const e=w(n.areArraysEqual),r=w(n.areMapsEqual),t=w(n.areObjectsEqual),s=w(n.areSetsEqual);n=Object.assign({},n,{areArraysEqual:e,areMapsEqual:r,areObjectsEqual:t,areSetsEqual:s})}return n}(e));return function({circular:e,comparator:r,createState:t,equals:n,strict:s}){if(t)return function(a,o){const{cache:i=(e?/* @__PURE__ */new WeakMap:void 0),meta:c}=t();return r(a,o,{cache:i,equals:n,meta:c,strict:s})};if(e)return function(e,t){return r(e,t,{cache:/* @__PURE__ */new WeakMap,equals:n,meta:void 0,strict:s})};const a={cache:void 0,equals:n,meta:void 0,strict:s};return function(e,t){return r(e,t,a)}}({circular:r,comparator:a,createState:n,equals:t?t(a):(o=a,function(e,r,t,n,s,a,i){return o(e,r,i)}),strict:s});var o}K({strict:!0}),K({circular:!0}),K({circular:!0,strict:!0}),K({createInternalComparator:()=>C}),K({strict:!0,createInternalComparator:()=>C}),K({circular:!0,createInternalComparator:()=>C}),K({circular:!0,createInternalComparator:()=>C,strict:!0});var W=class{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,r){this.isAdvancedMarker(e)?e.map=r:e.setMap(r)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(Number.isFinite(e.position.lat)&&Number.isFinite(e.position.lng))return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}},J=class{constructor({markers:e,position:r}){this.markers=[],e&&(this.markers=e),r&&(r instanceof google.maps.LatLng?this._position=r:this._position=new google.maps.LatLng(r))}get bounds(){if(0===this.markers.length&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const r of this.markers)e.extend(W.getPosition(r));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>W.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(W.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}};function X(e,r="assertion failed"){if(null==e)throw Error(r)}var H,Q=class{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Y(e)}},Y=e=>e.map(e=>new J({position:W.getPosition(e),markers:[e]})),ee=class extends Q{constructor(e){var{maxZoom:r,radius:t=60}=e,n=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);s<n.length;s++)r.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(t[n[s]]=e[n[s]])}return t}(e,["maxZoom","radius"]);super({maxZoom:r}),this.markers=[],this.clusters=[],this.state={zoom:-1},this.superCluster=new f(Object.assign({maxZoom:this.maxZoom,radius:t},n))}calculate(e){let r=!1,t=e.map.getZoom();X(t),t=Math.round(t);const n={zoom:t};if(!G(e.markers,this.markers)){r=!0,this.markers=[...e.markers];const t=this.markers.map(e=>{const r=W.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[r.lng(),r.lat()]},properties:{marker:e}}});this.superCluster.load(t)}return r||(this.state.zoom<=this.maxZoom||n.zoom<=this.maxZoom)&&(r=!G(this.state,n)),this.state=n,0===e.markers.length?(this.clusters=[],{clusters:this.clusters,changed:r}):(r&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:r})}cluster({map:e}){const r=e.getZoom();return X(r),this.superCluster.getClusters([-180,-90,180,90],Math.round(r)).map(e=>this.transformCluster(e))}transformCluster({geometry:{coordinates:[e,r]},properties:t}){if(t.cluster)return new J({markers:this.superCluster.getLeaves(t.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:r,lng:e}});const n=t.marker;return new J({markers:[n],position:W.getPosition(n)})}},re=class{constructor(e,r){this.markers={sum:e.length};const t=r.map(e=>e.count),n=t.reduce((e,r)=>e+r,0);this.clusters={count:r.length,markers:{mean:n/r.length,sum:n,min:Math.min(...t),max:Math.max(...t)}}}},te=class{render({count:e,position:r},t,n){const s=`<svg fill="${e>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>\n</svg>`,a=`Cluster of ${e} markers`,o=Number(google.maps.Marker.MAX_ZINDEX)+e;if(W.isAdvancedMarkerAvailable(n)){const e=(new DOMParser).parseFromString(s,"image/svg+xml").documentElement;e.setAttribute("transform","translate(0 25)");const t={map:n,position:r,zIndex:o,title:a,content:e};return new google.maps.marker.AdvancedMarkerElement(t)}const i={position:r,zIndex:o,title:a,icon:{url:`data:image/svg+xml;base64,${btoa(s)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(i)}},ne=class e{constructor(){!function(e,r){for(let t in r.prototype)e.prototype[t]=r.prototype[t]}(e,google.maps.OverlayView)}};!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click",e.GMP_CLICK="gmp-click"}(H||(H={}));var se=(e,r,t)=>{r.bounds&&t.fitBounds(r.bounds)},ae=class extends ne{constructor({map:e,markers:r=[],algorithmOptions:t={},algorithm:n=new ee(t),renderer:s=new te,onClusterClick:a=se}){super(),this.map=null,this.idleListener=null,this.markers=[...r],this.clusters=[],this.algorithm=n,this.renderer=s,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,r){this.markers.includes(e)||(this.markers.push(e),r||this.render())}addMarkers(e,r){e.forEach(e=>{this.addMarker(e,!0)}),r||this.render()}removeMarker(e,r){const t=this.markers.indexOf(e);return-1!==t&&(W.setMap(e,null),this.markers.splice(t,1),r||this.render(),!0)}removeMarkers(e,r){let t=!1;return e.forEach(e=>{t=this.removeMarker(e,!0)||t}),t&&!r&&this.render(),t}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,H.CLUSTERING_BEGIN,this);const{clusters:r,changed:t}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(t||null==t){const e=/* @__PURE__ */new Set;for(const n of r)1==n.markers.length&&e.add(n.markers[0]);const t=[];for(const r of this.clusters)null!=r.marker&&(1==r.markers.length?e.has(r.marker)||W.setMap(r.marker,null):t.push(r.marker));this.clusters=r,this.renderClusters(),requestAnimationFrame(()=>t.forEach(e=>W.setMap(e,null)))}google.maps.event.trigger(this,H.CLUSTERING_END,this)}}onAdd(){const e=this.getMap();X(e),this.idleListener=e.addListener("idle",this.render.bind(this)),this.render()}onRemove(){this.idleListener&&google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>W.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new re(this.markers,this.clusters),r=this.getMap();this.clusters.forEach(t=>{if(1===t.markers.length)t.marker=t.markers[0];else if(t.marker=this.renderer.render(t,e,r),t.markers.forEach(e=>W.setMap(e,null)),this.onClusterClick){const e=W.isAdvancedMarker(t.marker)?H.GMP_CLICK:H.CLUSTER_CLICK;t.marker.addListener(e,e=>{google.maps.event.trigger(this,H.CLUSTER_CLICK,t),this.onClusterClick(e,t,r)})}W.setMap(t.marker,r)})}},oe={top:60,bottom:60,left:276,right:60},ie="#fb8500",ce=new l,le=e=>{const r=document.createElement("div");r.style.cssText=`\n background:${h(e.color,"#fb8500")};color:#fff;border-radius:20px;padding:5px 10px;\n font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;\n box-shadow:0 2px 8px rgba(0,0,0,0.25);border:2px solid rgba(255,255,255,0.4);\n display:inline-flex;align-items:center;gap:6px;\n `;const t=document.createElement("span");t.textContent=e.folder.name;const n=document.createElement("span");return n.style.cssText="background:rgba(0,0,0,0.18);border-radius:10px;padding:1px 5px;font-size:10px;",n.textContent=String(e.eventCount),r.appendChild(t),r.appendChild(n),r},ue=(e,r)=>{const t=document.createElement("div");if(t.style.cssText=`\n width:36px;height:36px;cursor:pointer;\n background:${e};border-radius:50% 50% 50% 0;transform:rotate(-45deg);\n border:2px solid white;box-shadow:0 2px 8px rgba(0,0,0,0.3);\n display:flex;align-items:center;justify-content:center;overflow:hidden;\n `,r){const e=document.createElement("img");e.src=d(r)??"",e.style.cssText="width:24px;height:24px;border-radius:50%;object-fit:cover;transform:rotate(45deg);",t.appendChild(e)}return t},me=({apiKey:l,onExplore:f,logoUrl:d})=>{const h=t(null),y=t(null),k=t(null),v=t(null),x=t(null),w=t([]),E=t([]),M=t(null),C=t(null),j=t(!1),L=t(!1),[A,q]=n(!1),[O,I]=n(!0),{folderTree:S,activeFolderId:_,activeFolder:z,visibleEvents:P,setActiveFolderId:T,isLoadingEvents:U}=m(),{organization:N}=c(),$=`${u}-${N?._id??"unknown"}`,B=t($);B.current=$;const D=s(()=>(e=>{try{const r=sessionStorage.getItem(e);if(!r)return null;const t=JSON.parse(r);if(Array.isArray(t?.center)&&"number"==typeof t.zoom)return t}catch{}return null})($),[$]),F=t(/* @__PURE__ */new Map),Z=t(/* @__PURE__ */new Map),R=t(null),V=t(null),G=t(f);G.current=f;const K=(e,r,t,n,s)=>{s.event.addListenerOnce(e,"bounds_changed",()=>{const r=e.getZoom();void 0!==r&&r>n&&e.setZoom(n)}),e.fitBounds(r,t)},W=()=>{w.current.forEach(e=>{e.map=null}),w.current=[]},J=()=>{M.current&&(M.current.clearMarkers(),M.current=null),E.current.forEach(e=>{e.map=null}),E.current=[]};return r(()=>{if(!h.current||y.current)return;let r=!1;return(async()=>{try{const{setOptions:t,importLibrary:n}=await import("./CL_evx_l.js");if(r)return;if(t({key:l,v:"weekly"}),await Promise.all([n("maps"),n("marker"),n("visualization")]),r||!h.current)return;const s=window.google.maps;k.current=s;const a=D?.center?{lng:D.center[0],lat:D.center[1]}:{lat:20,lng:0},o=D?.zoom??3,i=new s.Map(h.current,{mapId:"DEMO_MAP_ID",renderingType:"VECTOR",mapTypeId:"roadmap",center:a,zoom:o,mapTypeControl:!1,streetViewControl:!1});y.current=i,v.current=new s.InfoWindow({maxWidth:280}),v.current.addListener("closeclick",()=>{x.current&&(e(null,x.current),x.current=null)}),C.current=new s.visualization.HeatmapLayer({data:[],map:null,radius:30,opacity:.8});const c=()=>{try{const e=i.getCenter();if(!e)return;sessionStorage.setItem(B.current,JSON.stringify({center:[e.lng(),e.lat()],zoom:i.getZoom()}))}catch{}};i.addListener("idle",c),I(!1),q(!0)}finally{r||I(!1)}})(),()=>{r=!0,W(),J(),C.current&&(C.current.setMap(null),C.current=null),v.current?.close(),x.current&&(e(null,x.current),x.current=null),y.current=null,k.current=null}},[l]),r(()=>{if(!A)return;const r=y.current,t=k.current;if(!r||!t)return;const n=null===_&&S.length>0,s=!n&&0===S.length&&null===_,o=n?"folders":s?"all-events":"folder-events";if(R.current!==o&&(W(),J(),Z.current.clear(),F.current.clear(),V.current=null,v.current?.close(),R.current=o),n){C.current?.setMap(null);const e=[],n=r=>{for(const t of r)t.centroid?e.push(t):t.children.length>0&&n(t.children)};n(S);const s=new Set(e.map(e=>e.folder._id));for(const[r,t]of Z.current)s.has(r)||(t.map=null,Z.current.delete(r));w.current=Array.from(Z.current.values());for(const a of e){const e=Z.current.get(a.folder._id);if(e){e.position={lng:a.centroid[0],lat:a.centroid[1]};continue}const n=le(a),s=new t.marker.AdvancedMarkerElement({map:r,position:{lng:a.centroid[0],lat:a.centroid[1]},content:n,gmpClickable:!0});s.addListener("click",()=>T(a.folder._id)),Z.current.set(a.folder._id,s),w.current.push(s)}}else{if(0===P.length){for(const e of F.current.values())"all-events"===o?M.current?.removeMarker(e,!0):e.map=null;return F.current.clear(),void(E.current=[])}const n=s?ie:z?.color||ie,c=`${n}|${d??""}`,l=V.current!==c;V.current=c;const u=new Set(P.map(e=>String(e._id))),m=[];for(const[e,r]of F.current)u.has(e)||(m.push(r),F.current.delete(e));m.length>0&&M.current?.removeMarkers(m,!0);const f=[],g=[],h=new t.LatLngBounds;P.forEach(o=>{const c=String(o._id),u=o.location.y,m=o.location.x;h.extend({lat:u,lng:m}),s&&g.push({location:new t.LatLng(u,m),weight:(o.views||0)+1});const b=F.current.get(c);if(b)return b.position={lat:u,lng:m},void(l&&(b.content=ue(n,d)));const y=ue(n,d),k=new t.marker.AdvancedMarkerElement({map:r,position:{lat:u,lng:m},content:y,gmpClickable:!0});k.addListener("click",()=>{x.current&&e(null,x.current);const t=document.createElement("div");((r,t)=>{e(/* @__PURE__ */a(i,{client:ce,children:/* @__PURE__ */a(p,{event:r,onExplore:e=>G.current?.(e)})}),t)})(o,t),v.current?.close(),v.current?.setContent(t),v.current?.open({anchor:k,map:r}),x.current=t}),F.current.set(c,k),f.push(k)}),E.current=Array.from(F.current.values()),l&&M.current&&(M.current.clearMarkers(),M.current=null),(f.length>0||m.length>0||l)&&(M.current?(f.length>0&&M.current.addMarkers(f,!0),M.current.render()):M.current=new ae({markers:E.current,map:r,renderer:{render:e=>{const{count:r,position:s}=e,a=document.createElement("div"),o=r<10?28:r<30?34:40;return a.style.cssText=`\n width:${o}px;height:${o}px;border-radius:50%;cursor:pointer;\n background:${n};color:#fff;\n display:flex;align-items:center;justify-content:center;\n font-size:13px;font-weight:700;\n box-shadow:0 2px 8px rgba(0,0,0,0.3);\n border:2px solid rgba(255,255,255,0.6);\n `,a.textContent=String(r),new t.marker.AdvancedMarkerElement({position:s,content:a,gmpClickable:!0,zIndex:1e6+r})}}})),s?(C.current&&(C.current.setData(g),C.current.setMap(r)),L.current||(L.current=!0,D||h.isEmpty()||K(r,h,oe,8,t))):C.current?.setMap(null)}},[_,S,P,A,d,T,z,D]),r(()=>{if(!A)return;const e=y.current,r=k.current;if(e&&r)if(j.current||!D){if(j.current=!0,_){const t=g(S,_);if(!t?.folder.boundary?.length)return;const n=new r.LatLngBounds;for(const e of t.folder.boundary)n.extend({lat:e.y,lng:e.x});n.isEmpty()||K(e,n,oe,14,r)}else if(S.length>0){const t=new r.LatLngBounds,n=e=>{for(const r of e)r.centroid?t.extend({lng:r.centroid[0],lat:r.centroid[1]}):n(r.children)};n(S),t.isEmpty()||K(e,t,oe,8,r)}}else j.current=!0},[_,S,A,D]),/* @__PURE__ */a("div",{class:"relative h-screen w-full sm:h-[calc(100vh-4rem)]",style:o(N),children:[
|
|
1
|
+
import{C as e,_ as r,f as t,h as n,p as s,t as a}from"./DrrpB4Om.js";import{a as o,d as i,n as c}from"./f4E4mY0G.js";import{t as l}from"./C_ZPqbKe.js";import{v as u}from"./Bb9ydqSB.js";import{t as m}from"./BqXNdaJq.js";import{t as f}from"./BUDCYszs.js";import{a as p,i as d,n as g,r as h,t as b}from"./RMLGjMvY.js";var{getOwnPropertyNames:y,getOwnPropertySymbols:k}=Object,{hasOwnProperty:v}=Object.prototype;function x(e,r){return function(t,n,s){return e(t,n,s)&&r(t,n,s)}}function w(e){return function(r,t,n){if(!r||!t||"object"!=typeof r||"object"!=typeof t)return e(r,t,n);const{cache:s}=n,a=s.get(r),o=s.get(t);if(a&&o)return a===t&&o===r;s.set(r,t),s.set(t,r);const i=e(r,t,n);return s.delete(r),s.delete(t),i}}function E(e){return y(e).concat(k(e))}var M=Object.hasOwn||((e,r)=>v.call(e,r));function C(e,r){return e===r||!e&&!r&&e!=e&&r!=r}var{getOwnPropertyDescriptor:j,keys:L}=Object;function A(e,r){return e.byteLength===r.byteLength&&D(new Uint8Array(e),new Uint8Array(r))}function q(e,r,t){let n=e.length;if(r.length!==n)return!1;for(;n-- >0;)if(!t.equals(e[n],r[n],n,n,e,r,t))return!1;return!0}function O(e,r){return e.byteLength===r.byteLength&&D(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}function I(e,r){return C(e.getTime(),r.getTime())}function S(e,r){return e.name===r.name&&e.message===r.message&&e.cause===r.cause&&e.stack===r.stack}function _(e,r){return e===r}function z(e,r,t){const n=e.size;if(n!==r.size)return!1;if(!n)return!0;const s=new Array(n),a=e.entries();let o,i,c=0;for(;(o=a.next())&&!o.done;){const n=r.entries();let a=!1,l=0;for(;(i=n.next())&&!i.done;){if(s[l]){l++;continue}const n=o.value,u=i.value;if(t.equals(n[0],u[0],c,l,e,r,t)&&t.equals(n[1],u[1],n[0],u[0],e,r,t)){a=s[l]=!0;break}l++}if(!a)return!1;c++}return!0}var P=C;function T(e,r,t){const n=L(e);let s=n.length;if(L(r).length!==s)return!1;for(;s-- >0;)if(!Z(e,r,t,n[s]))return!1;return!0}function U(e,r,t){const n=E(e);let s,a,o,i=n.length;if(E(r).length!==i)return!1;for(;i-- >0;){if(s=n[i],!Z(e,r,t,s))return!1;if(a=j(e,s),o=j(r,s),(a||o)&&(!a||!o||a.configurable!==o.configurable||a.enumerable!==o.enumerable||a.writable!==o.writable))return!1}return!0}function N(e,r){return C(e.valueOf(),r.valueOf())}function $(e,r){return e.source===r.source&&e.flags===r.flags}function B(e,r,t){const n=e.size;if(n!==r.size)return!1;if(!n)return!0;const s=new Array(n),a=e.values();let o,i;for(;(o=a.next())&&!o.done;){const n=r.values();let a=!1,c=0;for(;(i=n.next())&&!i.done;){if(!s[c]&&t.equals(o.value,i.value,o.value,i.value,e,r,t)){a=s[c]=!0;break}c++}if(!a)return!1}return!0}function D(e,r){let t=e.byteLength;if(r.byteLength!==t||e.byteOffset!==r.byteOffset)return!1;for(;t-- >0;)if(e[t]!==r[t])return!1;return!0}function F(e,r){return e.hostname===r.hostname&&e.pathname===r.pathname&&e.protocol===r.protocol&&e.port===r.port&&e.hash===r.hash&&e.username===r.username&&e.password===r.password}function Z(e,r,t,n){return!("_owner"!==n&&"__o"!==n&&"__v"!==n||!e.$$typeof&&!r.$$typeof)||M(r,n)&&t.equals(e[n],r[n],n,n,e,r,t)}var R={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},V=Object.prototype.toString;var G=K();function K(e={}){const{circular:r=!1,createInternalComparator:t,createState:n,strict:s=!1}=e,a=function({areArrayBuffersEqual:e,areArraysEqual:r,areDataViewsEqual:t,areDatesEqual:n,areErrorsEqual:s,areFunctionsEqual:a,areMapsEqual:o,areNumbersEqual:i,areObjectsEqual:c,arePrimitiveWrappersEqual:l,areRegExpsEqual:u,areSetsEqual:m,areTypedArraysEqual:f,areUrlsEqual:p,unknownTagComparators:d}){return function(g,h,b){if(g===h)return!0;if(null==g||null==h)return!1;const y=typeof g;if(y!==typeof h)return!1;if("object"!==y)return"number"===y?i(g,h,b):"function"===y&&a(g,h,b);const k=g.constructor;if(k!==h.constructor)return!1;if(k===Object)return c(g,h,b);if(Array.isArray(g))return r(g,h,b);if(k===Date)return n(g,h,b);if(k===RegExp)return u(g,h,b);if(k===Map)return o(g,h,b);if(k===Set)return m(g,h,b);const v=V.call(g);if("[object Date]"===v)return n(g,h,b);if("[object RegExp]"===v)return u(g,h,b);if("[object Map]"===v)return o(g,h,b);if("[object Set]"===v)return m(g,h,b);if("[object Object]"===v)return"function"!=typeof g.then&&"function"!=typeof h.then&&c(g,h,b);if("[object URL]"===v)return p(g,h,b);if("[object Error]"===v)return s(g,h,b);if("[object Arguments]"===v)return c(g,h,b);if(R[v])return f(g,h,b);if("[object ArrayBuffer]"===v)return e(g,h,b);if("[object DataView]"===v)return t(g,h,b);if("[object Boolean]"===v||"[object Number]"===v||"[object String]"===v)return l(g,h,b);if(d){let e=d[v];if(!e){const r=null!=(x=g)?x[Symbol.toStringTag]:void 0;r&&(e=d[r])}if(e)return e(g,h,b)}var x;return!1}}(function({circular:e,createCustomConfig:r,strict:t}){let n={areArrayBuffersEqual:A,areArraysEqual:t?U:q,areDataViewsEqual:O,areDatesEqual:I,areErrorsEqual:S,areFunctionsEqual:_,areMapsEqual:t?x(z,U):z,areNumbersEqual:P,areObjectsEqual:t?U:T,arePrimitiveWrappersEqual:N,areRegExpsEqual:$,areSetsEqual:t?x(B,U):B,areTypedArraysEqual:t?x(D,U):D,areUrlsEqual:F,unknownTagComparators:void 0};if(r&&(n=Object.assign({},n,r(n))),e){const e=w(n.areArraysEqual),r=w(n.areMapsEqual),t=w(n.areObjectsEqual),s=w(n.areSetsEqual);n=Object.assign({},n,{areArraysEqual:e,areMapsEqual:r,areObjectsEqual:t,areSetsEqual:s})}return n}(e));return function({circular:e,comparator:r,createState:t,equals:n,strict:s}){if(t)return function(a,o){const{cache:i=(e?/* @__PURE__ */new WeakMap:void 0),meta:c}=t();return r(a,o,{cache:i,equals:n,meta:c,strict:s})};if(e)return function(e,t){return r(e,t,{cache:/* @__PURE__ */new WeakMap,equals:n,meta:void 0,strict:s})};const a={cache:void 0,equals:n,meta:void 0,strict:s};return function(e,t){return r(e,t,a)}}({circular:r,comparator:a,createState:n,equals:t?t(a):(o=a,function(e,r,t,n,s,a,i){return o(e,r,i)}),strict:s});var o}K({strict:!0}),K({circular:!0}),K({circular:!0,strict:!0}),K({createInternalComparator:()=>C}),K({strict:!0,createInternalComparator:()=>C}),K({circular:!0,createInternalComparator:()=>C}),K({circular:!0,createInternalComparator:()=>C,strict:!0});var W=class{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,r){this.isAdvancedMarker(e)?e.map=r:e.setMap(r)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(Number.isFinite(e.position.lat)&&Number.isFinite(e.position.lng))return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}},J=class{constructor({markers:e,position:r}){this.markers=[],e&&(this.markers=e),r&&(r instanceof google.maps.LatLng?this._position=r:this._position=new google.maps.LatLng(r))}get bounds(){if(0===this.markers.length&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const r of this.markers)e.extend(W.getPosition(r));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>W.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(W.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}};function X(e,r="assertion failed"){if(null==e)throw Error(r)}var H,Q=class{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Y(e)}},Y=e=>e.map(e=>new J({position:W.getPosition(e),markers:[e]})),ee=class extends Q{constructor(e){var{maxZoom:r,radius:t=60}=e,n=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(n=Object.getOwnPropertySymbols(e);s<n.length;s++)r.indexOf(n[s])<0&&Object.prototype.propertyIsEnumerable.call(e,n[s])&&(t[n[s]]=e[n[s]])}return t}(e,["maxZoom","radius"]);super({maxZoom:r}),this.markers=[],this.clusters=[],this.state={zoom:-1},this.superCluster=new f(Object.assign({maxZoom:this.maxZoom,radius:t},n))}calculate(e){let r=!1,t=e.map.getZoom();X(t),t=Math.round(t);const n={zoom:t};if(!G(e.markers,this.markers)){r=!0,this.markers=[...e.markers];const t=this.markers.map(e=>{const r=W.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[r.lng(),r.lat()]},properties:{marker:e}}});this.superCluster.load(t)}return r||(this.state.zoom<=this.maxZoom||n.zoom<=this.maxZoom)&&(r=!G(this.state,n)),this.state=n,0===e.markers.length?(this.clusters=[],{clusters:this.clusters,changed:r}):(r&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:r})}cluster({map:e}){const r=e.getZoom();return X(r),this.superCluster.getClusters([-180,-90,180,90],Math.round(r)).map(e=>this.transformCluster(e))}transformCluster({geometry:{coordinates:[e,r]},properties:t}){if(t.cluster)return new J({markers:this.superCluster.getLeaves(t.cluster_id,1/0).map(e=>e.properties.marker),position:{lat:r,lng:e}});const n=t.marker;return new J({markers:[n],position:W.getPosition(n)})}},re=class{constructor(e,r){this.markers={sum:e.length};const t=r.map(e=>e.count),n=t.reduce((e,r)=>e+r,0);this.clusters={count:r.length,markers:{mean:n/r.length,sum:n,min:Math.min(...t),max:Math.max(...t)}}}},te=class{render({count:e,position:r},t,n){const s=`<svg fill="${e>Math.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>\n</svg>`,a=`Cluster of ${e} markers`,o=Number(google.maps.Marker.MAX_ZINDEX)+e;if(W.isAdvancedMarkerAvailable(n)){const e=(new DOMParser).parseFromString(s,"image/svg+xml").documentElement;e.setAttribute("transform","translate(0 25)");const t={map:n,position:r,zIndex:o,title:a,content:e};return new google.maps.marker.AdvancedMarkerElement(t)}const i={position:r,zIndex:o,title:a,icon:{url:`data:image/svg+xml;base64,${btoa(s)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(i)}},ne=class e{constructor(){!function(e,r){for(let t in r.prototype)e.prototype[t]=r.prototype[t]}(e,google.maps.OverlayView)}};!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click",e.GMP_CLICK="gmp-click"}(H||(H={}));var se=(e,r,t)=>{r.bounds&&t.fitBounds(r.bounds)},ae=class extends ne{constructor({map:e,markers:r=[],algorithmOptions:t={},algorithm:n=new ee(t),renderer:s=new te,onClusterClick:a=se}){super(),this.map=null,this.idleListener=null,this.markers=[...r],this.clusters=[],this.algorithm=n,this.renderer=s,this.onClusterClick=a,e&&this.setMap(e)}addMarker(e,r){this.markers.includes(e)||(this.markers.push(e),r||this.render())}addMarkers(e,r){e.forEach(e=>{this.addMarker(e,!0)}),r||this.render()}removeMarker(e,r){const t=this.markers.indexOf(e);return-1!==t&&(W.setMap(e,null),this.markers.splice(t,1),r||this.render(),!0)}removeMarkers(e,r){let t=!1;return e.forEach(e=>{t=this.removeMarker(e,!0)||t}),t&&!r&&this.render(),t}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,H.CLUSTERING_BEGIN,this);const{clusters:r,changed:t}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(t||null==t){const e=/* @__PURE__ */new Set;for(const n of r)1==n.markers.length&&e.add(n.markers[0]);const t=[];for(const r of this.clusters)null!=r.marker&&(1==r.markers.length?e.has(r.marker)||W.setMap(r.marker,null):t.push(r.marker));this.clusters=r,this.renderClusters(),requestAnimationFrame(()=>t.forEach(e=>W.setMap(e,null)))}google.maps.event.trigger(this,H.CLUSTERING_END,this)}}onAdd(){const e=this.getMap();X(e),this.idleListener=e.addListener("idle",this.render.bind(this)),this.render()}onRemove(){this.idleListener&&google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>W.setMap(e,null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){const e=new re(this.markers,this.clusters),r=this.getMap();this.clusters.forEach(t=>{if(1===t.markers.length)t.marker=t.markers[0];else if(t.marker=this.renderer.render(t,e,r),t.markers.forEach(e=>W.setMap(e,null)),this.onClusterClick){const e=W.isAdvancedMarker(t.marker)?H.GMP_CLICK:H.CLUSTER_CLICK;t.marker.addListener(e,e=>{google.maps.event.trigger(this,H.CLUSTER_CLICK,t),this.onClusterClick(e,t,r)})}W.setMap(t.marker,r)})}},oe={top:60,bottom:60,left:276,right:60},ie="#fb8500",ce=new l,le=e=>{const r=document.createElement("div");r.style.cssText=`\n background:${h(e.color,"#fb8500")};color:#fff;border-radius:20px;padding:5px 10px;\n font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;\n box-shadow:0 2px 8px rgba(0,0,0,0.25);border:2px solid rgba(255,255,255,0.4);\n display:inline-flex;align-items:center;gap:6px;\n `;const t=document.createElement("span");t.textContent=e.folder.name;const n=document.createElement("span");return n.style.cssText="background:rgba(0,0,0,0.18);border-radius:10px;padding:1px 5px;font-size:10px;",n.textContent=String(e.eventCount),r.appendChild(t),r.appendChild(n),r},ue=(e,r)=>{const t=document.createElement("div");if(t.style.cssText=`\n width:36px;height:36px;cursor:pointer;\n background:${e};border-radius:50% 50% 50% 0;transform:rotate(-45deg);\n border:2px solid white;box-shadow:0 2px 8px rgba(0,0,0,0.3);\n display:flex;align-items:center;justify-content:center;overflow:hidden;\n `,r){const e=document.createElement("img");e.src=d(r)??"",e.style.cssText="width:24px;height:24px;border-radius:50%;object-fit:cover;transform:rotate(45deg);",t.appendChild(e)}return t},me=({apiKey:l,onExplore:f,logoUrl:d})=>{const h=t(null),y=t(null),k=t(null),v=t(null),x=t(null),w=t([]),E=t([]),M=t(null),C=t(null),j=t(!1),L=t(!1),[A,q]=n(!1),[O,I]=n(!0),{folderTree:S,activeFolderId:_,activeFolder:z,visibleEvents:P,setActiveFolderId:T,isLoadingEvents:U}=m(),{organization:N}=c(),$=`${u}-${N?._id??"unknown"}`,B=t($);B.current=$;const D=s(()=>(e=>{try{const r=sessionStorage.getItem(e);if(!r)return null;const t=JSON.parse(r);if(Array.isArray(t?.center)&&"number"==typeof t.zoom)return t}catch{}return null})($),[$]),F=t(/* @__PURE__ */new Map),Z=t(/* @__PURE__ */new Map),R=t(null),V=t(null),G=t(f);G.current=f;const K=(e,r,t,n,s)=>{s.event.addListenerOnce(e,"bounds_changed",()=>{const r=e.getZoom();void 0!==r&&r>n&&e.setZoom(n)}),e.fitBounds(r,t)},W=()=>{w.current.forEach(e=>{e.map=null}),w.current=[]},J=()=>{M.current&&(M.current.clearMarkers(),M.current=null),E.current.forEach(e=>{e.map=null}),E.current=[]};return r(()=>{if(!h.current||y.current)return;let r=!1;return(async()=>{try{const{setOptions:t,importLibrary:n}=await import("./CL_evx_l.js");if(r)return;if(t({key:l,v:"weekly"}),await Promise.all([n("maps"),n("marker"),n("visualization")]),r||!h.current)return;const s=window.google.maps;k.current=s;const a=D?.center?{lng:D.center[0],lat:D.center[1]}:{lat:20,lng:0},o=D?.zoom??3,i=new s.Map(h.current,{mapId:"DEMO_MAP_ID",renderingType:"VECTOR",mapTypeId:"roadmap",center:a,zoom:o,mapTypeControl:!1,streetViewControl:!1});y.current=i,v.current=new s.InfoWindow({maxWidth:280}),v.current.addListener("closeclick",()=>{x.current&&(e(null,x.current),x.current=null)}),C.current=new s.visualization.HeatmapLayer({data:[],map:null,radius:30,opacity:.8});const c=()=>{try{const e=i.getCenter();if(!e)return;sessionStorage.setItem(B.current,JSON.stringify({center:[e.lng(),e.lat()],zoom:i.getZoom()}))}catch{}};i.addListener("idle",c),I(!1),q(!0)}finally{r||I(!1)}})(),()=>{r=!0,W(),J(),C.current&&(C.current.setMap(null),C.current=null),v.current?.close(),x.current&&(e(null,x.current),x.current=null),y.current=null,k.current=null}},[l]),r(()=>{if(!A)return;const r=y.current,t=k.current;if(!r||!t)return;const n=null===_&&S.length>0,s=!n&&0===S.length&&null===_,o=n?"folders":s?"all-events":"folder-events";if(R.current!==o&&(W(),J(),Z.current.clear(),F.current.clear(),V.current=null,v.current?.close(),R.current=o),n){C.current?.setMap(null);const e=[],n=r=>{for(const t of r)t.centroid?e.push(t):t.children.length>0&&n(t.children)};n(S);const s=new Set(e.map(e=>e.folder._id));for(const[r,t]of Z.current)s.has(r)||(t.map=null,Z.current.delete(r));w.current=Array.from(Z.current.values());for(const a of e){const e=Z.current.get(a.folder._id);if(e){e.position={lng:a.centroid[0],lat:a.centroid[1]};continue}const n=le(a),s=new t.marker.AdvancedMarkerElement({map:r,position:{lng:a.centroid[0],lat:a.centroid[1]},content:n,gmpClickable:!0});s.addListener("click",()=>T(a.folder._id)),Z.current.set(a.folder._id,s),w.current.push(s)}}else{if(0===P.length){for(const e of F.current.values())"all-events"===o?M.current?.removeMarker(e,!0):e.map=null;return F.current.clear(),void(E.current=[])}const n=s?ie:z?.color||ie,c=`${n}|${d??""}`,l=V.current!==c;V.current=c;const u=new Set(P.map(e=>String(e._id))),m=[];for(const[e,r]of F.current)u.has(e)||(m.push(r),F.current.delete(e));m.length>0&&M.current?.removeMarkers(m,!0);const f=[],g=[],h=new t.LatLngBounds;P.forEach(o=>{const c=String(o._id),u=o.location.y,m=o.location.x;h.extend({lat:u,lng:m}),s&&g.push({location:new t.LatLng(u,m),weight:(o.views||0)+1});const b=F.current.get(c);if(b)return b.position={lat:u,lng:m},void(l&&(b.content=ue(n,d)));const y=ue(n,d),k=new t.marker.AdvancedMarkerElement({map:r,position:{lat:u,lng:m},content:y,gmpClickable:!0});k.addListener("click",()=>{x.current&&e(null,x.current);const t=document.createElement("div");((r,t)=>{e(/* @__PURE__ */a(i,{client:ce,children:/* @__PURE__ */a(p,{event:r,onExplore:e=>G.current?.(e)})}),t)})(o,t),v.current?.close(),v.current?.setContent(t),v.current?.open({anchor:k,map:r}),x.current=t}),F.current.set(c,k),f.push(k)}),E.current=Array.from(F.current.values()),l&&M.current&&(M.current.clearMarkers(),M.current=null),(f.length>0||m.length>0||l)&&(M.current?(f.length>0&&M.current.addMarkers(f,!0),M.current.render()):M.current=new ae({markers:E.current,map:r,renderer:{render:e=>{const{count:r,position:s}=e,a=document.createElement("div"),o=r<10?28:r<30?34:40;return a.style.cssText=`\n width:${o}px;height:${o}px;border-radius:50%;cursor:pointer;\n background:${n};color:#fff;\n display:flex;align-items:center;justify-content:center;\n font-size:13px;font-weight:700;\n box-shadow:0 2px 8px rgba(0,0,0,0.3);\n border:2px solid rgba(255,255,255,0.6);\n `,a.textContent=String(r),new t.marker.AdvancedMarkerElement({position:s,content:a,gmpClickable:!0,zIndex:1e6+r})}}})),s?(C.current&&(C.current.setData(g),C.current.setMap(r)),L.current||(L.current=!0,D||h.isEmpty()||K(r,h,oe,8,t))):C.current?.setMap(null)}},[_,S,P,A,d,T,z,D]),r(()=>{if(!A)return;const e=y.current,r=k.current;if(e&&r)if(j.current||!D){if(j.current=!0,_){const t=g(S,_);if(!t?.folder.boundary?.length)return;const n=new r.LatLngBounds;for(const e of t.folder.boundary)n.extend({lat:e.y,lng:e.x});n.isEmpty()||K(e,n,oe,14,r)}else if(S.length>0){const t=new r.LatLngBounds,n=e=>{for(const r of e)r.centroid?t.extend({lng:r.centroid[0],lat:r.centroid[1]}):n(r.children)};n(S),t.isEmpty()||K(e,t,oe,8,r)}}else j.current=!0},[_,S,A,D]),/* @__PURE__ */a("div",{class:"relative h-screen w-full sm:h-[calc(100vh-4rem)]",style:o(N),children:[
|
|
2
2
|
/* @__PURE__ */a(b,{positionClass:"absolute top-3 left-16 z-[1000]",folderTree:S,activeFolderId:_,setActiveFolderId:T}),U&&/* @__PURE__ */a("div",{class:"absolute inset-0 z-10 flex items-center justify-center bg-white/60",children:/* @__PURE__ */a("div",{class:"border-primary size-10 animate-spin rounded-full border-4 border-t-transparent"})}),O&&/* @__PURE__ */a("div",{class:"absolute inset-0 z-20 flex items-center justify-center bg-white/85",children:/* @__PURE__ */a("div",{class:"flex flex-col items-center gap-3",children:[/* @__PURE__ */a("div",{class:"border-primary size-10 animate-spin rounded-full border-4 border-t-transparent"}),/* @__PURE__ */a("p",{class:"text-sm font-medium text-slate-700",children:"Loading map…"})]})}),
|
|
3
3
|
/* @__PURE__ */a("div",{ref:h,class:"size-full"})]})};export{me as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t}from"./DrrpB4Om.js";import{x as a}from"./Bb9ydqSB.js";import{c as o,u as s}from"./Dj_EJxLA.js";import{t as r}from"./Dm8Fvxp7.js";var e=({to:e})=>{const i=s(),n=o();/* @__PURE__ */
|
|
2
|
+
return t("button",{type:"button",onClick:()=>{e?i(e,{state:{internalNavigation:!0}}):n?i(-1):i(a.PUBLIC_EVENTS,{state:{internalNavigation:!0}})},className:"text-foreground absolute top-0 left-0",children:/* @__PURE__ */t(r,{className:"size-6"})})};export{e as t};
|