@qratilabs/qrati-connect 2.30.1 → 2.31.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.
Files changed (54) hide show
  1. package/element/{CrmNzHcR.js → 2RASYw2m.js} +3 -3
  2. package/element/{BMqLaOlf.js → 9E5bMl4h.js} +1 -1
  3. package/element/{bhQvNZ6X.js → B1PRJBoi.js} +2 -2
  4. package/element/B2ryYFFr.js +4 -0
  5. package/element/{R0EfjB8a.js → B4_a0yK9.js} +2 -2
  6. package/element/B5UCbssB2.js +36 -0
  7. package/element/{4cGOeNKJ.js → B6VNWZAH.js} +1 -1
  8. package/element/{rPRWiyD72.js → BHZLezAf2.js} +2 -2
  9. package/element/{4oHgfxjP.js → BHa93rAe.js} +1 -1
  10. package/element/{D29TjIxe2.js → BJPxuSLA2.js} +1 -1
  11. package/element/{Bo2w_JaR.js → BVxovwox.js} +1 -1
  12. package/element/{BwwxqSTC2.js → BYM2GyVF2.js} +1 -1
  13. package/element/Be3fjihP2.js +3 -0
  14. package/element/{CHZkFcYR.js → BhSnOrEj.js} +1 -1
  15. package/element/{CirXBSjF2.js → Bon1RRdW2.js} +21 -21
  16. package/element/{5bOrOtEp.js → BxQf2Aj9.js} +1 -1
  17. package/element/{DaRDxhWU.js → CHOgSp57.js} +3 -3
  18. package/element/CLnFGdWV.js +2 -0
  19. package/element/{BOx0cQps2.js → CQMPBmQq2.js} +1 -1
  20. package/element/{DFN3BTNf.js → CS8uERGc.js} +1 -1
  21. package/element/{HZ-pN9la.js → CXRH3zmy.js} +1 -1
  22. package/element/CdivXyOP.js +41 -0
  23. package/element/{D6aS4JIi.js → CuX3CHnz.js} +85 -85
  24. package/element/D6q-D1kv.js +5 -0
  25. package/element/{DKNkaohw.js → DIWjXG_0.js} +1 -1
  26. package/element/{BK-Qpeej2.js → DKxH7j1t2.js} +1 -1
  27. package/element/{CsXYImrD2.js → DLHvSz1a2.js} +1 -1
  28. package/element/{V_AyEifr2.js → DLlq90qS2.js} +1 -1
  29. package/element/DMTh6mDu.js +4 -0
  30. package/element/{DtE36mUY.js → DT0jsFeS.js} +1 -1
  31. package/element/D_uU1Yt72.js +16 -0
  32. package/element/DgRZv6hc2.js +14 -0
  33. package/element/{BrPNl7T5.js → Dng1_dLU.js} +1 -1
  34. package/element/{sqfBNWKt.js → DqAzUQcH.js} +1 -1
  35. package/element/{DDcMOfts.js → QxKjlE-j.js} +1 -1
  36. package/element/WYFR_OYu.js +4 -0
  37. package/element/{-yT__8Qm.js → cBUXG_uS.js} +1 -1
  38. package/element/{DkC6kDkj.js → fb68GFFw.js} +8 -8
  39. package/element/{CUXN8AXD2.js → mZxLLxIK2.js} +1 -1
  40. package/element/oZRYetXV.js +3 -0
  41. package/element/web.es.js +7 -7
  42. package/element/{BJc3_IFY.js → ydzHqf5r.js} +1 -1
  43. package/package.json +1 -1
  44. package/element/2UMuxiHx.js +0 -2
  45. package/element/Bm8666WE.js +0 -4
  46. package/element/BxAzHKo-2.js +0 -3
  47. package/element/C2ksbxMB2.js +0 -36
  48. package/element/C_Ur_JpP.js +0 -5
  49. package/element/CeXZmrQu.js +0 -4
  50. package/element/CgDpKQkL2.js +0 -16
  51. package/element/D1FCdk40.js +0 -3
  52. package/element/DYkEsdph.js +0 -4
  53. package/element/DuD5AV1D2.js +0 -13
  54. package/element/xvMv72y9.js +0 -41
@@ -1,3 +1,3 @@
1
- import{C as e,_ as r,f as t,h as n,p as s,t as a}from"./BXMw4kNf.js";import{a as o,d as i,n as c}from"./xvMv72y9.js";import{t as l}from"./BMqLaOlf.js";import{v as u}from"./Bb9ydqSB.js";import{t as m}from"./Bo2w_JaR.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"./DaRDxhWU.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("./ob_CTelx.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
- /* @__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
- /* @__PURE__ */a("div",{ref:h,class:"size-full"})]})};export{me as default};
1
+ import{C as e,_ as r,f as t,h as n,p as s,t as a}from"./BXMw4kNf.js";import{a as o,d as i,n as c}from"./CdivXyOP.js";import{t as l}from"./9E5bMl4h.js";import{v as u}from"./Bb9ydqSB.js";import{t as m}from"./BVxovwox.js";import{t as d}from"./BUDCYszs.js";import{a as f,i as p,n as h,r as g,t as b}from"./CHOgSp57.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 C=Object.hasOwn||((e,r)=>v.call(e,r));function M(e,r){return e===r||!e&&!r&&e!=e&&r!=r}var{getOwnPropertyDescriptor:j,keys:A}=Object;function L(e,r){return e.byteLength===r.byteLength&&F(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&&F(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(r.buffer,r.byteOffset,r.byteLength))}function I(e,r){return M(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=M;function T(e,r,t){const n=A(e);let s=n.length;if(A(r).length!==s)return!1;for(;s-- >0;)if(!D(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],!D(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 M(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 F(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 Z(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 D(e,r,t,n){return!("_owner"!==n&&"__o"!==n&&"__v"!==n||!e.$$typeof&&!r.$$typeof)||C(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},G=Object.prototype.toString;var V=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:d,areUrlsEqual:f,unknownTagComparators:p}){return function(h,g,b){if(h===g)return!0;if(null==h||null==g)return!1;const y=typeof h;if(y!==typeof g)return!1;if("object"!==y)return"number"===y?i(h,g,b):"function"===y&&a(h,g,b);const k=h.constructor;if(k!==g.constructor)return!1;if(k===Object)return c(h,g,b);if(Array.isArray(h))return r(h,g,b);if(k===Date)return n(h,g,b);if(k===RegExp)return u(h,g,b);if(k===Map)return o(h,g,b);if(k===Set)return m(h,g,b);const v=G.call(h);if("[object Date]"===v)return n(h,g,b);if("[object RegExp]"===v)return u(h,g,b);if("[object Map]"===v)return o(h,g,b);if("[object Set]"===v)return m(h,g,b);if("[object Object]"===v)return"function"!=typeof h.then&&"function"!=typeof g.then&&c(h,g,b);if("[object URL]"===v)return f(h,g,b);if("[object Error]"===v)return s(h,g,b);if("[object Arguments]"===v)return c(h,g,b);if(R[v])return d(h,g,b);if("[object ArrayBuffer]"===v)return e(h,g,b);if("[object DataView]"===v)return t(h,g,b);if("[object Boolean]"===v||"[object Number]"===v||"[object String]"===v)return l(h,g,b);if(p){let e=p[v];if(!e){const r=null!=(x=h)?x[Symbol.toStringTag]:void 0;r&&(e=p[r])}if(e)return e(h,g,b)}var x;return!1}}(function({circular:e,createCustomConfig:r,strict:t}){let n={areArrayBuffersEqual:L,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(F,U):F,areUrlsEqual:Z,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:()=>M}),K({strict:!0,createInternalComparator:()=>M}),K({circular:!0,createInternalComparator:()=>M}),K({circular:!0,createInternalComparator:()=>M,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 d(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(!V(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=!V(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=new l,ce=e=>{const r=document.createElement("div");r.style.cssText=`\n background:${g(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},le=(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=p(r)??"",e.style.cssText="width:24px;height:24px;border-radius:50%;object-fit:cover;transform:rotate(45deg);",t.appendChild(e)}return t},ue=({apiKey:l,mapId:d="DEMO_MAP_ID",onExplore:p,logoUrl:g})=>{const y=t(null),k=t(null),v=t(null),x=t(null),w=t(null),E=t([]),C=t([]),M=t(null),j=t(!1),A=t(!1),[L,q]=n(!1),[O,I]=n(!0),[S,_]=n(!1),{folderTree:z,activeFolderId:P,activeFolder:T,visibleEvents:U,setActiveFolderId:N,isLoadingEvents:$}=m(),{organization:B}=c(),F=o(B)["--primary"],Z=`${u}-${B?._id??"unknown"}`,D=t(Z);D.current=Z;const R=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})(Z),[Z]),G=t(/* @__PURE__ */new Map),V=t(/* @__PURE__ */new Map),K=t(null),W=t(null),J=t(p);J.current=p;const X=(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)},H=()=>{E.current.forEach(e=>{e.map=null}),E.current=[]},Q=()=>{M.current&&(M.current.clearMarkers(),M.current=null),C.current.forEach(e=>{e.map=null}),C.current=[]};return r(()=>{if(!y.current||k.current)return;let r=!1;return(async()=>{try{const{setOptions:t,importLibrary:n}=await import("./ob_CTelx.js");if(r)return;if(t({key:l,v:"weekly"}),await Promise.all([n("maps"),n("marker")]),r||!y.current)return;const s=window.google.maps;v.current=s;const a=R?.center?{lng:R.center[0],lat:R.center[1]}:{lat:20,lng:0},o=R?.zoom??3,i=new s.Map(y.current,{mapId:d,renderingType:"VECTOR",mapTypeId:"roadmap",center:a,zoom:o,mapTypeControl:!1,streetViewControl:!1});k.current=i,x.current=new s.InfoWindow({maxWidth:280}),x.current.addListener("closeclick",()=>{w.current&&(e(null,w.current),w.current=null)});const c=()=>{try{const e=i.getCenter();if(!e)return;sessionStorage.setItem(D.current,JSON.stringify({center:[e.lng(),e.lat()],zoom:i.getZoom()}))}catch{}};i.addListener("idle",c),I(!1),q(!0)}catch{r||_(!0)}finally{r||I(!1)}})(),()=>{r=!0,H(),Q(),x.current?.close(),w.current&&(e(null,w.current),w.current=null),k.current=null,v.current=null}},[l]),r(()=>{if(!L)return;const r=k.current,t=v.current;if(!r||!t)return;const n=null===P&&z.length>0,s=!n&&0===z.length&&null===P,o=n?"folders":s?"all-events":"folder-events";if(K.current!==o&&(H(),Q(),V.current.clear(),G.current.clear(),W.current=null,x.current?.close(),K.current=o),n){const e=[],n=r=>{for(const t of r)t.centroid?e.push(t):t.children.length>0&&n(t.children)};n(z);const s=new Set(e.map(e=>e.folder._id));for(const[r,t]of V.current)s.has(r)||(t.map=null,V.current.delete(r));E.current=Array.from(V.current.values());for(const a of e){const e=V.current.get(a.folder._id);if(e){e.position={lng:a.centroid[0],lat:a.centroid[1]};continue}const n=ce(a),s=new t.marker.AdvancedMarkerElement({map:r,position:{lng:a.centroid[0],lat:a.centroid[1]},content:n,gmpClickable:!0});s.addListener("click",()=>N(a.folder._id)),V.current.set(a.folder._id,s),E.current.push(s)}}else{if(0===U.length){for(const e of G.current.values())"all-events"===o?M.current?.removeMarker(e,!0):e.map=null;return G.current.clear(),void(C.current=[])}const n=s?F:T?.color||F,c=`${n}|${g??""}`,l=W.current!==c;W.current=c;const u=new Set(U.map(e=>String(e._id))),m=[];for(const[e,r]of G.current)u.has(e)||(m.push(r),G.current.delete(e));m.length>0&&M.current?.removeMarkers(m,!0);const d=[],p=new t.LatLngBounds;U.forEach(s=>{const o=String(s._id),c=s.location.y,u=s.location.x;p.extend({lat:c,lng:u});const m=G.current.get(o);if(m)return m.position={lat:c,lng:u},void(l&&(m.content=le(n,g)));const h=le(n,g),b=new t.marker.AdvancedMarkerElement({map:r,position:{lat:c,lng:u},content:h,gmpClickable:!0});b.addListener("click",()=>{w.current&&e(null,w.current);const t=document.createElement("div");((r,t)=>{e(/* @__PURE__ */a(i,{client:ie,children:/* @__PURE__ */a(f,{event:r,onExplore:e=>J.current?.(e)})}),t)})(s,t),x.current?.close(),x.current?.setContent(t),x.current?.open({anchor:b,map:r}),w.current=t}),G.current.set(o,b),d.push(b)}),C.current=Array.from(G.current.values()),l&&M.current&&(M.current.clearMarkers(),M.current=null),(d.length>0||m.length>0||l)&&(M.current?(d.length>0&&M.current.addMarkers(d,!0),M.current.render()):M.current=new ae({markers:C.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&&(A.current||(A.current=!0,R||p.isEmpty()||X(r,p,oe,8,t)))}},[P,z,U,L,g,N,T,R]),r(()=>{if(!L)return;const e=k.current,r=v.current;if(e&&r)if(j.current||!R){if(j.current=!0,P){const t=h(z,P);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()||X(e,n,oe,14,r)}else if(z.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(z),t.isEmpty()||X(e,t,oe,8,r)}}else j.current=!0},[P,z,L,R]),/* @__PURE__ */a("div",{class:"relative h-screen w-full sm:h-[calc(100vh-4rem)]",style:o(B),children:[
2
+ /* @__PURE__ */a(b,{positionClass:"absolute top-3 left-16 z-[1000]",folderTree:z,activeFolderId:P,setActiveFolderId:N}),$&&/* @__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…"})]})}),S&&!O&&/* @__PURE__ */a("div",{class:"absolute inset-0 z-20 flex items-center justify-center bg-white/90",children:/* @__PURE__ */a("div",{class:"max-w-sm px-6 text-center",children:[/* @__PURE__ */a("p",{class:"font-medium text-slate-800",children:"Google Maps could not be loaded."}),/* @__PURE__ */a("p",{class:"mt-1 text-sm text-slate-600",children:"Check the organization API key and allowed referrer domains."})]})}),
3
+ /* @__PURE__ */a("div",{ref:y,class:"size-full"})]})};export{ue as default};
@@ -1 +1 @@
1
- import{C as t,D as e,E as s,M as i,N as r,O as u,S as n,T as a,b as o,j as h,m as c,w as l,x as f,y}from"./xvMv72y9.js";import{t as d}from"./DKNkaohw.js";var m=class extends r{constructor(t={}){super(),this.config=t,this.#t=/* @__PURE__ */new Set,this.#e=/* @__PURE__ */new Map,this.#s=0}#t;#e;#s;build(t,e,s){const i=new d({client:t,mutationCache:this,mutationId:++this.#s,options:t.defaultMutationOptions(e),state:s});return this.add(i),i}add(t){this.#t.add(t);const e=p(t);if("string"==typeof e){const s=this.#e.get(e);s?s.push(t):this.#e.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#t.delete(t)){const e=p(t);if("string"==typeof e){const s=this.#e.get(e);if(s)if(s.length>1){const e=s.indexOf(t);-1!==e&&s.splice(e,1)}else s[0]===t&&this.#e.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){const e=p(t);if("string"==typeof e){const s=this.#e.get(e)?.find(t=>"pending"===t.state.status);return!s||s===t}return!0}runNext(t){const e=p(t);return"string"==typeof e?(this.#e.get(e)?.find(e=>e!==t&&e.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){o.batch(()=>{this.#t.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(t){const e={exact:!0,...t};return this.getAll().find(t=>l(e,t))}findAll(t={}){return this.getAll().filter(e=>l(t,e))}notify(t){o.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){const t=this.getAll().filter(t=>t.state.isPaused);return o.batch(()=>Promise.all(t.map(t=>t.continue().catch(s))))}};function p(t){return t.options.scope?.id}var q=class extends r{constructor(t={}){super(),this.config=t,this.#i=/* @__PURE__ */new Map}#i;build(e,s,i){const r=s.queryKey,u=s.queryHash??t(r,s);let n=this.get(u);return n||(n=new c({client:e,queryKey:r,queryHash:u,options:e.defaultQueryOptions(s),state:i,defaultOptions:e.getQueryDefaults(r)}),this.add(n)),n}add(t){this.#i.has(t.queryHash)||(this.#i.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#i.get(t.queryHash);e&&(t.destroy(),e===t&&this.#i.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){o.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#i.get(t)}getAll(){return[...this.#i.values()]}find(t){const e={exact:!0,...t};return this.getAll().find(t=>a(e,t))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter(e=>a(t,e)):e}notify(t){o.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){o.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){o.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},g=class{#r;#u;#n;#a;#o;#h;#c;#l;constructor(t={}){this.#r=t.queryCache||new q,this.#u=t.mutationCache||new m,this.#n=t.defaultOptions||{},this.#a=/* @__PURE__ */new Map,this.#o=/* @__PURE__ */new Map,this.#h=0}mount(){this.#h++,1===this.#h&&(this.#c=i.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#r.onFocus())}),this.#l=y.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#r.onOnline())}))}unmount(){this.#h--,0===this.#h&&(this.#c?.(),this.#c=void 0,this.#l?.(),this.#l=void 0)}isFetching(t){return this.#r.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#u.findAll({...t,status:"pending"}).length}getQueryData(t){const e=this.defaultQueryOptions({queryKey:t});return this.#r.get(e.queryHash)?.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),s=this.#r.build(this,e),i=s.state.data;return void 0===i?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(u(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(i))}getQueriesData(t){return this.#r.findAll(t).map(({queryKey:t,state:e})=>[t,e.data])}setQueryData(t,e,s){const i=this.defaultQueryOptions({queryKey:t}),r=this.#r.get(i.queryHash)?.state.data,u=f(e,r);if(void 0!==u)return this.#r.build(this,i).setData(u,{...s,manual:!0})}setQueriesData(t,e,s){return o.batch(()=>this.#r.findAll(t).map(({queryKey:t})=>[t,this.setQueryData(t,e,s)]))}getQueryState(t){const e=this.defaultQueryOptions({queryKey:t});return this.#r.get(e.queryHash)?.state}removeQueries(t){const e=this.#r;o.batch(()=>{e.findAll(t).forEach(t=>{e.remove(t)})})}resetQueries(t,e){const s=this.#r;return o.batch(()=>(s.findAll(t).forEach(t=>{t.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const i={revert:!0,...e},r=o.batch(()=>this.#r.findAll(t).map(t=>t.cancel(i)));return Promise.all(r).then(s).catch(s)}invalidateQueries(t,e={}){return o.batch(()=>(this.#r.findAll(t).forEach(t=>{t.invalidate()}),"none"===t?.refetchType?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){const i={...e,cancelRefetch:e.cancelRefetch??!0},r=o.batch(()=>this.#r.findAll(t).filter(t=>!t.isDisabled()&&!t.isStatic()).map(t=>{let e=t.fetch(void 0,i);return i.throwOnError||(e=e.catch(s)),"paused"===t.state.fetchStatus?Promise.resolve():e}));return Promise.all(r).then(s)}fetchQuery(t){const e=this.defaultQueryOptions(t);void 0===e.retry&&(e.retry=!1);const s=this.#r.build(this,e);return s.isStaleByTime(u(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(s).catch(s)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(s).catch(s)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return y.isOnline()?this.#u.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#r}getMutationCache(){return this.#u}getDefaultOptions(){return this.#n}setDefaultOptions(t){this.#n=t}setQueryDefaults(t,e){this.#a.set(n(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const s=[...this.#a.values()],i={};return s.forEach(s=>{e(t,s.queryKey)&&Object.assign(i,s.defaultOptions)}),i}setMutationDefaults(t,e){this.#o.set(n(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const s=[...this.#o.values()],i={};return s.forEach(s=>{e(t,s.mutationKey)&&Object.assign(i,s.defaultOptions)}),i}defaultQueryOptions(e){if(e._defaulted)return e;const s={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return s.queryHash||(s.queryHash=t(s.queryKey,s)),void 0===s.refetchOnReconnect&&(s.refetchOnReconnect="always"!==s.networkMode),void 0===s.throwOnError&&(s.throwOnError=!!s.suspense),!s.networkMode&&s.persister&&(s.networkMode="offlineFirst"),s.queryFn===h&&(s.enabled=!1),s}defaultMutationOptions(t){return t?._defaulted?t:{...this.#n.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#r.clear(),this.#u.clear()}};export{g as t};
1
+ import{C as t,D as e,E as s,M as i,N as r,O as u,S as n,T as a,b as o,j as h,m as c,w as l,x as f,y}from"./CdivXyOP.js";import{t as d}from"./DIWjXG_0.js";var m=class extends r{constructor(t={}){super(),this.config=t,this.#t=/* @__PURE__ */new Set,this.#e=/* @__PURE__ */new Map,this.#s=0}#t;#e;#s;build(t,e,s){const i=new d({client:t,mutationCache:this,mutationId:++this.#s,options:t.defaultMutationOptions(e),state:s});return this.add(i),i}add(t){this.#t.add(t);const e=p(t);if("string"==typeof e){const s=this.#e.get(e);s?s.push(t):this.#e.set(e,[t])}this.notify({type:"added",mutation:t})}remove(t){if(this.#t.delete(t)){const e=p(t);if("string"==typeof e){const s=this.#e.get(e);if(s)if(s.length>1){const e=s.indexOf(t);-1!==e&&s.splice(e,1)}else s[0]===t&&this.#e.delete(e)}}this.notify({type:"removed",mutation:t})}canRun(t){const e=p(t);if("string"==typeof e){const s=this.#e.get(e)?.find(t=>"pending"===t.state.status);return!s||s===t}return!0}runNext(t){const e=p(t);return"string"==typeof e?(this.#e.get(e)?.find(e=>e!==t&&e.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){o.batch(()=>{this.#t.forEach(t=>{this.notify({type:"removed",mutation:t})}),this.#t.clear(),this.#e.clear()})}getAll(){return Array.from(this.#t)}find(t){const e={exact:!0,...t};return this.getAll().find(t=>l(e,t))}findAll(t={}){return this.getAll().filter(e=>l(t,e))}notify(t){o.batch(()=>{this.listeners.forEach(e=>{e(t)})})}resumePausedMutations(){const t=this.getAll().filter(t=>t.state.isPaused);return o.batch(()=>Promise.all(t.map(t=>t.continue().catch(s))))}};function p(t){return t.options.scope?.id}var q=class extends r{constructor(t={}){super(),this.config=t,this.#i=/* @__PURE__ */new Map}#i;build(e,s,i){const r=s.queryKey,u=s.queryHash??t(r,s);let n=this.get(u);return n||(n=new c({client:e,queryKey:r,queryHash:u,options:e.defaultQueryOptions(s),state:i,defaultOptions:e.getQueryDefaults(r)}),this.add(n)),n}add(t){this.#i.has(t.queryHash)||(this.#i.set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const e=this.#i.get(t.queryHash);e&&(t.destroy(),e===t&&this.#i.delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){o.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return this.#i.get(t)}getAll(){return[...this.#i.values()]}find(t){const e={exact:!0,...t};return this.getAll().find(t=>a(e,t))}findAll(t={}){const e=this.getAll();return Object.keys(t).length>0?e.filter(e=>a(t,e)):e}notify(t){o.batch(()=>{this.listeners.forEach(e=>{e(t)})})}onFocus(){o.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){o.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},g=class{#r;#u;#n;#a;#o;#h;#c;#l;constructor(t={}){this.#r=t.queryCache||new q,this.#u=t.mutationCache||new m,this.#n=t.defaultOptions||{},this.#a=/* @__PURE__ */new Map,this.#o=/* @__PURE__ */new Map,this.#h=0}mount(){this.#h++,1===this.#h&&(this.#c=i.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#r.onFocus())}),this.#l=y.subscribe(async t=>{t&&(await this.resumePausedMutations(),this.#r.onOnline())}))}unmount(){this.#h--,0===this.#h&&(this.#c?.(),this.#c=void 0,this.#l?.(),this.#l=void 0)}isFetching(t){return this.#r.findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return this.#u.findAll({...t,status:"pending"}).length}getQueryData(t){const e=this.defaultQueryOptions({queryKey:t});return this.#r.get(e.queryHash)?.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),s=this.#r.build(this,e),i=s.state.data;return void 0===i?this.fetchQuery(t):(t.revalidateIfStale&&s.isStaleByTime(u(e.staleTime,s))&&this.prefetchQuery(e),Promise.resolve(i))}getQueriesData(t){return this.#r.findAll(t).map(({queryKey:t,state:e})=>[t,e.data])}setQueryData(t,e,s){const i=this.defaultQueryOptions({queryKey:t}),r=this.#r.get(i.queryHash)?.state.data,u=f(e,r);if(void 0!==u)return this.#r.build(this,i).setData(u,{...s,manual:!0})}setQueriesData(t,e,s){return o.batch(()=>this.#r.findAll(t).map(({queryKey:t})=>[t,this.setQueryData(t,e,s)]))}getQueryState(t){const e=this.defaultQueryOptions({queryKey:t});return this.#r.get(e.queryHash)?.state}removeQueries(t){const e=this.#r;o.batch(()=>{e.findAll(t).forEach(t=>{e.remove(t)})})}resetQueries(t,e){const s=this.#r;return o.batch(()=>(s.findAll(t).forEach(t=>{t.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const i={revert:!0,...e},r=o.batch(()=>this.#r.findAll(t).map(t=>t.cancel(i)));return Promise.all(r).then(s).catch(s)}invalidateQueries(t,e={}){return o.batch(()=>(this.#r.findAll(t).forEach(t=>{t.invalidate()}),"none"===t?.refetchType?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){const i={...e,cancelRefetch:e.cancelRefetch??!0},r=o.batch(()=>this.#r.findAll(t).filter(t=>!t.isDisabled()&&!t.isStatic()).map(t=>{let e=t.fetch(void 0,i);return i.throwOnError||(e=e.catch(s)),"paused"===t.state.fetchStatus?Promise.resolve():e}));return Promise.all(r).then(s)}fetchQuery(t){const e=this.defaultQueryOptions(t);void 0===e.retry&&(e.retry=!1);const s=this.#r.build(this,e);return s.isStaleByTime(u(e.staleTime,s))?s.fetch(e):Promise.resolve(s.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(s).catch(s)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(s).catch(s)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return y.isOnline()?this.#u.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#r}getMutationCache(){return this.#u}getDefaultOptions(){return this.#n}setDefaultOptions(t){this.#n=t}setQueryDefaults(t,e){this.#a.set(n(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const s=[...this.#a.values()],i={};return s.forEach(s=>{e(t,s.queryKey)&&Object.assign(i,s.defaultOptions)}),i}setMutationDefaults(t,e){this.#o.set(n(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const s=[...this.#o.values()],i={};return s.forEach(s=>{e(t,s.mutationKey)&&Object.assign(i,s.defaultOptions)}),i}defaultQueryOptions(e){if(e._defaulted)return e;const s={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return s.queryHash||(s.queryHash=t(s.queryKey,s)),void 0===s.refetchOnReconnect&&(s.refetchOnReconnect="always"!==s.networkMode),void 0===s.throwOnError&&(s.throwOnError=!!s.suspense),!s.networkMode&&s.persister&&(s.networkMode="offlineFirst"),s.queryFn===h&&(s.enabled=!1),s}defaultMutationOptions(t){return t?._defaulted?t:{...this.#n.mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){this.#r.clear(),this.#u.clear()}};export{g as t};
@@ -1,4 +1,4 @@
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"./BXMw4kNf.js";import{f as l,i as c,n as d}from"./xvMv72y9.js";import{n as u,r as m,t as p}from"./sqfBNWKt.js";import{t as h}from"./DFN3BTNf.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"./C_Ur_JpP.js";import{t as N}from"./-yT__8Qm.js";import{t as b}from"./Dl6jcv9I.js";import{t as T}from"./BJc3_IFY.js";import{t as C}from"./5bOrOtEp.js";import{t as D}from"./DtE36mUY.js";import{t as P}from"./2UMuxiHx.js";import{t as E}from"./BK-Qpeej2.js";import{a as j,i as I,n as S,o as A,r as _,t as z}from"./CUXN8AXD2.js";import{t as M}from"./DMnbtDXS2.js";import{a as U,i as q,n as k,r as O,t as $}from"./BrPNl7T5.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__ */
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"./BXMw4kNf.js";import{f as l,i as c,n as d}from"./CdivXyOP.js";import{n as u,r as m,t as p}from"./DqAzUQcH.js";import{t as h}from"./CS8uERGc.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"./D6q-D1kv.js";import{t as N}from"./cBUXG_uS.js";import{t as b}from"./Dl6jcv9I.js";import{t as T}from"./ydzHqf5r.js";import{t as C}from"./BxQf2Aj9.js";import{t as D}from"./DT0jsFeS.js";import{t as P}from"./CLnFGdWV.js";import{t as E}from"./DKxH7j1t2.js";import{a as j,i as I,n as S,o as A,r as _,t as z}from"./mZxLLxIK2.js";import{t as M}from"./DMnbtDXS2.js";import{a as U,i as q,n as k,r as O,t as $}from"./Dng1_dLU.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
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
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
4
  return o("div",{className:"group relative size-full overflow-hidden sm:rounded",children:/* @__PURE__ */o("div",{className:"relative size-full",children:[
@@ -6,7 +6,7 @@ return o("div",{className:"group relative size-full overflow-hidden sm:rounded",
6
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
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
8
  /* @__PURE__ */o(j,{children:/* @__PURE__ */o(A,{children:"Update caption"})}),
9
- /* @__PURE__ */o("div",{className:"px-4",children:/* @__PURE__ */o($,{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)})}),
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
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
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
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:[