@deck.gl/widgets 9.2.0-beta.4 → 9.2.1

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 (56) hide show
  1. package/dist/compass-widget.js +1 -1
  2. package/dist/compass-widget.js.map +1 -1
  3. package/dist/context-menu-widget.js +1 -1
  4. package/dist/context-menu-widget.js.map +1 -1
  5. package/dist/dist.dev.js +34 -51
  6. package/dist/fps-widget.js +1 -1
  7. package/dist/fps-widget.js.map +1 -1
  8. package/dist/fullscreen-widget.js +1 -1
  9. package/dist/fullscreen-widget.js.map +1 -1
  10. package/dist/geocoder-widget.js +1 -1
  11. package/dist/geocoder-widget.js.map +1 -1
  12. package/dist/gimbal-widget.js +1 -1
  13. package/dist/gimbal-widget.js.map +1 -1
  14. package/dist/index.cjs +17 -17
  15. package/dist/index.cjs.map +2 -2
  16. package/dist/info-widget.js +1 -1
  17. package/dist/info-widget.js.map +1 -1
  18. package/dist/loading-widget.js +1 -1
  19. package/dist/loading-widget.js.map +1 -1
  20. package/dist/reset-view-widget.js +1 -1
  21. package/dist/reset-view-widget.js.map +1 -1
  22. package/dist/scale-widget.js +1 -1
  23. package/dist/scale-widget.js.map +1 -1
  24. package/dist/screenshot-widget.js +1 -1
  25. package/dist/screenshot-widget.js.map +1 -1
  26. package/dist/splitter-widget.js +1 -1
  27. package/dist/splitter-widget.js.map +1 -1
  28. package/dist/stats-widget.js +1 -1
  29. package/dist/stats-widget.js.map +1 -1
  30. package/dist/theme-widget.js +1 -1
  31. package/dist/theme-widget.js.map +1 -1
  32. package/dist/timeline-widget.js +1 -1
  33. package/dist/timeline-widget.js.map +1 -1
  34. package/dist/view-selector-widget.js +1 -1
  35. package/dist/view-selector-widget.js.map +1 -1
  36. package/dist/zoom-widget.js +1 -1
  37. package/dist/zoom-widget.js.map +1 -1
  38. package/dist.min.js +2 -2
  39. package/package.json +2 -2
  40. package/src/compass-widget.tsx +1 -1
  41. package/src/context-menu-widget.tsx +1 -1
  42. package/src/fps-widget.tsx +1 -1
  43. package/src/fullscreen-widget.tsx +1 -1
  44. package/src/geocoder-widget.tsx +1 -1
  45. package/src/gimbal-widget.tsx +1 -1
  46. package/src/info-widget.tsx +1 -1
  47. package/src/loading-widget.tsx +1 -1
  48. package/src/reset-view-widget.tsx +1 -1
  49. package/src/scale-widget.tsx +1 -1
  50. package/src/screenshot-widget.tsx +1 -1
  51. package/src/splitter-widget.tsx +1 -1
  52. package/src/stats-widget.tsx +1 -1
  53. package/src/theme-widget.tsx +1 -1
  54. package/src/timeline-widget.tsx +1 -1
  55. package/src/view-selector-widget.tsx +1 -1
  56. package/src/zoom-widget.tsx +1 -1
package/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var ho=Object.create;var _e=Object.defineProperty;var go=Object.getOwnPropertyDescriptor;var fo=Object.getOwnPropertyNames;var _o=Object.getPrototypeOf,vo=Object.prototype.hasOwnProperty;var Ct=(t,o)=>()=>(o||t((o={exports:{}}).exports,o),o.exports),wo=(t,o)=>{for(var e in o)_e(t,e,{get:o[e],enumerable:!0})},fe=(t,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of fo(o))!vo.call(t,r)&&r!==e&&_e(t,r,{get:()=>o[r],enumerable:!(i=go(o,r))||i.enumerable});return t},H=(t,o,e)=>(fe(t,o,"default"),e&&fe(e,o,"default")),y=(t,o,e)=>(e=t!=null?ho(_o(t)):{},fe(o||!t||!t.__esModule?_e(e,"default",{value:t,enumerable:!0}):e,t)),bo=t=>fe(_e({},"__esModule",{value:!0}),t);var P=Ct((Qo,Lt)=>{Lt.exports=globalThis.deck});var po=Ct((Ar,lo)=>{lo.exports=globalThis.luma});var me={};wo(me,{CompassWidget:()=>Y,DarkGlassTheme:()=>Ne,DarkTheme:()=>ao,FullscreenWidget:()=>te,GimbalWidget:()=>K,LightGlassTheme:()=>Ve,LightTheme:()=>so,ResetViewWidget:()=>J,ScreenshotWidget:()=>le,ZoomWidget:()=>X,_ButtonGroup:()=>B,_ContextMenuWidget:()=>se,_CoordinatesGeocoder:()=>z,_CurrentLocationGeocoder:()=>Le,_DropdownMenu:()=>We,_FpsWidget:()=>ce,_GeocoderWidget:()=>ee,_GoogleGeocoder:()=>Me,_GroupedIconButton:()=>O,_IconButton:()=>W,_IconMenu:()=>Re,_InfoWidget:()=>ne,_LoadingWidget:()=>pe,_MapboxGeocoder:()=>Te,_OpenCageGeocoder:()=>Ce,_ScaleWidget:()=>j,_SimpleMenu:()=>He,_SplitterWidget:()=>ie,_StatsWidget:()=>ue,_ThemeWidget:()=>de,_TimelineWidget:()=>ae,_ViewSelectorWidget:()=>re});var L={},Et=y(P(),1);H(L,y(P(),1));if(!Et.Layer)throw new Error("@deck.gl/core is not found");H(me,L);var F=y(P(),1);var Pe,b,Gt,yo,G,Rt,Dt,De,$e,Oe,Fe,Po,q={},Ot=[],xo=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Ue=Array.isArray;function V(t,o){for(var e in o)t[e]=o[e];return t}function Ft(t){var o=t.parentNode;o&&o.removeChild(t)}function ko(t,o,e){var i,r,n,d={};for(n in o)n=="key"?i=o[n]:n=="ref"?r=o[n]:d[n]=o[n];if(arguments.length>2&&(d.children=arguments.length>3?Pe.call(arguments,2):e),typeof t=="function"&&t.defaultProps!=null)for(n in t.defaultProps)d[n]===void 0&&(d[n]=t.defaultProps[n]);return we(t,d,i,r,null)}function we(t,o,e,i,r){var n={type:t,props:o,key:e,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:r??++Gt,__i:-1,__u:0};return r==null&&b.vnode!=null&&b.vnode(n),n}function U(t){return t.children}function be(t,o){this.props=t,this.context=o}function D(t,o){if(o==null)return t.__?D(t.__,t.__i+1):null;for(var e;o<t.__k.length;o++)if((e=t.__k[o])!=null&&e.__e!=null)return e.__e;return typeof t.type=="function"?D(t):null}function At(t){var o,e;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,o=0;o<t.__k.length;o++)if((e=t.__k[o])!=null&&e.__e!=null){t.__e=t.__c.base=e.__e;break}return At(t)}}function Ht(t){(!t.__d&&(t.__d=!0)&&G.push(t)&&!ye.__r++||Rt!==b.debounceRendering)&&((Rt=b.debounceRendering)||Dt)(ye)}function ye(){var t,o,e,i,r,n,d,a;for(G.sort(De);t=G.shift();)t.__d&&(o=G.length,i=void 0,n=(r=(e=t).__v).__e,d=[],a=[],e.__P&&((i=V({},r)).__v=r.__v+1,b.vnode&&b.vnode(i),Be(e.__P,i,r,e.__n,e.__P.namespaceURI,32&r.__u?[n]:null,d,n??D(r),!!(32&r.__u),a),i.__v=r.__v,i.__.__k[i.__i]=i,Bt(d,i,a),i.__e!=n&&At(i)),G.length>o&&G.sort(De));ye.__r=0}function $t(t,o,e,i,r,n,d,a,c,p,u){var s,h,m,_,I,g=i&&i.__k||Ot,v=o.length;for(e.__d=c,Io(e,o,g),c=e.__d,s=0;s<v;s++)(m=e.__k[s])!=null&&typeof m!="boolean"&&typeof m!="function"&&(h=m.__i===-1?q:g[m.__i]||q,m.__i=s,Be(t,m,h,r,n,d,a,c,p,u),_=m.__e,m.ref&&h.ref!=m.ref&&(h.ref&&ze(h.ref,null,m),u.push(m.ref,m.__c||_,m)),I==null&&_!=null&&(I=_),65536&m.__u||h.__k===m.__k?c=Ut(m,c,t):typeof m.type=="function"&&m.__d!==void 0?c=m.__d:_&&(c=_.nextSibling),m.__d=void 0,m.__u&=-196609);e.__d=c,e.__e=I}function Io(t,o,e){var i,r,n,d,a,c=o.length,p=e.length,u=p,s=0;for(t.__k=[],i=0;i<c;i++)d=i+s,(r=t.__k[i]=(r=o[i])==null||typeof r=="boolean"||typeof r=="function"?null:typeof r=="string"||typeof r=="number"||typeof r=="bigint"||r.constructor==String?we(null,r,null,null,null):Ue(r)?we(U,{children:r},null,null,null):r.constructor===void 0&&r.__b>0?we(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):r)!=null?(r.__=t,r.__b=t.__b+1,a=Wo(r,e,d,u),r.__i=a,n=null,a!==-1&&(u--,(n=e[a])&&(n.__u|=131072)),n==null||n.__v===null?(a==-1&&s--,typeof r.type!="function"&&(r.__u|=65536)):a!==d&&(a==d-1?s--:a==d+1?s++:a>d?u>c-d?s+=a-d:s--:a<d&&(a==d-s?s-=a-d:s++),a!==i+s&&(r.__u|=65536))):(n=e[d])&&n.key==null&&n.__e&&!(131072&n.__u)&&(n.__e==t.__d&&(t.__d=D(n)),Ae(n,n,!1),e[d]=null,u--);if(u)for(i=0;i<p;i++)(n=e[i])!=null&&!(131072&n.__u)&&(n.__e==t.__d&&(t.__d=D(n)),Ae(n,n))}function Ut(t,o,e){var i,r;if(typeof t.type=="function"){for(i=t.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=t,o=Ut(i[r],o,e));return o}t.__e!=o&&(o&&t.type&&!e.contains(o)&&(o=D(t)),e.insertBefore(t.__e,o||null),o=t.__e);do o=o&&o.nextSibling;while(o!=null&&o.nodeType===8);return o}function Wo(t,o,e,i){var r=t.key,n=t.type,d=e-1,a=e+1,c=o[e];if(c===null||c&&r==c.key&&n===c.type&&!(131072&c.__u))return e;if(i>(c!=null&&!(131072&c.__u)?1:0))for(;d>=0||a<o.length;){if(d>=0){if((c=o[d])&&!(131072&c.__u)&&r==c.key&&n===c.type)return d;d--}if(a<o.length){if((c=o[a])&&!(131072&c.__u)&&r==c.key&&n===c.type)return a;a++}}return-1}function Vt(t,o,e){o[0]==="-"?t.setProperty(o,e??""):t[o]=e==null?"":typeof e!="number"||xo.test(o)?e:e+"px"}function ve(t,o,e,i,r){var n;e:if(o==="style")if(typeof e=="string")t.style.cssText=e;else{if(typeof i=="string"&&(t.style.cssText=i=""),i)for(o in i)e&&o in e||Vt(t.style,o,"");if(e)for(o in e)i&&e[o]===i[o]||Vt(t.style,o,e[o])}else if(o[0]==="o"&&o[1]==="n")n=o!==(o=o.replace(/(PointerCapture)$|Capture$/i,"$1")),o=o.toLowerCase()in t||o==="onFocusOut"||o==="onFocusIn"?o.toLowerCase().slice(2):o.slice(2),t.l||(t.l={}),t.l[o+n]=e,e?i?e.u=i.u:(e.u=$e,t.addEventListener(o,n?Fe:Oe,n)):t.removeEventListener(o,n?Fe:Oe,n);else{if(r=="http://www.w3.org/2000/svg")o=o.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(o!="width"&&o!="height"&&o!="href"&&o!="list"&&o!="form"&&o!="tabIndex"&&o!="download"&&o!="rowSpan"&&o!="colSpan"&&o!="role"&&o!="popover"&&o in t)try{t[o]=e??"";break e}catch{}typeof e=="function"||(e==null||e===!1&&o[4]!=="-"?t.removeAttribute(o):t.setAttribute(o,o=="popover"&&e==1?"":e))}}function Nt(t){return function(o){if(this.l){var e=this.l[o.type+t];if(o.t==null)o.t=$e++;else if(o.t<e.u)return;return e(b.event?b.event(o):o)}}}function Be(t,o,e,i,r,n,d,a,c,p){var u,s,h,m,_,I,g,v,w,R,S,M,T,Tt,he,Ge,C=o.type;if(o.constructor!==void 0)return null;128&e.__u&&(c=!!(32&e.__u),n=[a=o.__e=e.__e]),(u=b.__b)&&u(o);e:if(typeof C=="function")try{if(v=o.props,w="prototype"in C&&C.prototype.render,R=(u=C.contextType)&&i[u.__c],S=u?R?R.props.value:u.__:i,e.__c?g=(s=o.__c=e.__c).__=s.__E:(w?o.__c=s=new C(v,S):(o.__c=s=new be(v,S),s.constructor=C,s.render=Mo),R&&R.sub(s),s.props=v,s.state||(s.state={}),s.context=S,s.__n=i,h=s.__d=!0,s.__h=[],s._sb=[]),w&&s.__s==null&&(s.__s=s.state),w&&C.getDerivedStateFromProps!=null&&(s.__s==s.state&&(s.__s=V({},s.__s)),V(s.__s,C.getDerivedStateFromProps(v,s.__s))),m=s.props,_=s.state,s.__v=o,h)w&&C.getDerivedStateFromProps==null&&s.componentWillMount!=null&&s.componentWillMount(),w&&s.componentDidMount!=null&&s.__h.push(s.componentDidMount);else{if(w&&C.getDerivedStateFromProps==null&&v!==m&&s.componentWillReceiveProps!=null&&s.componentWillReceiveProps(v,S),!s.__e&&(s.shouldComponentUpdate!=null&&s.shouldComponentUpdate(v,s.__s,S)===!1||o.__v===e.__v)){for(o.__v!==e.__v&&(s.props=v,s.state=s.__s,s.__d=!1),o.__e=e.__e,o.__k=e.__k,o.__k.forEach(function(ge){ge&&(ge.__=o)}),M=0;M<s._sb.length;M++)s.__h.push(s._sb[M]);s._sb=[],s.__h.length&&d.push(s);break e}s.componentWillUpdate!=null&&s.componentWillUpdate(v,s.__s,S),w&&s.componentDidUpdate!=null&&s.__h.push(function(){s.componentDidUpdate(m,_,I)})}if(s.context=S,s.props=v,s.__P=t,s.__e=!1,T=b.__r,Tt=0,w){for(s.state=s.__s,s.__d=!1,T&&T(o),u=s.render(s.props,s.state,s.context),he=0;he<s._sb.length;he++)s.__h.push(s._sb[he]);s._sb=[]}else do s.__d=!1,T&&T(o),u=s.render(s.props,s.state,s.context),s.state=s.__s;while(s.__d&&++Tt<25);s.state=s.__s,s.getChildContext!=null&&(i=V(V({},i),s.getChildContext())),w&&!h&&s.getSnapshotBeforeUpdate!=null&&(I=s.getSnapshotBeforeUpdate(m,_)),$t(t,Ue(Ge=u!=null&&u.type===U&&u.key==null?u.props.children:u)?Ge:[Ge],o,e,i,r,n,d,a,c,p),s.base=o.__e,o.__u&=-161,s.__h.length&&d.push(s),g&&(s.__E=s.__=null)}catch(ge){if(o.__v=null,c||n!=null){for(o.__u|=c?160:32;a&&a.nodeType===8&&a.nextSibling;)a=a.nextSibling;n[n.indexOf(a)]=null,o.__e=a}else o.__e=e.__e,o.__k=e.__k;b.__e(ge,o,e)}else n==null&&o.__v===e.__v?(o.__k=e.__k,o.__e=e.__e):o.__e=So(e.__e,o,e,i,r,n,d,c,p);(u=b.diffed)&&u(o)}function Bt(t,o,e){o.__d=void 0;for(var i=0;i<e.length;i++)ze(e[i],e[++i],e[++i]);b.__c&&b.__c(o,t),t.some(function(r){try{t=r.__h,r.__h=[],t.some(function(n){n.call(r)})}catch(n){b.__e(n,r.__v)}})}function So(t,o,e,i,r,n,d,a,c){var p,u,s,h,m,_,I,g=e.props,v=o.props,w=o.type;if(w==="svg"?r="http://www.w3.org/2000/svg":w==="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),n!=null){for(p=0;p<n.length;p++)if((m=n[p])&&"setAttribute"in m==!!w&&(w?m.localName===w:m.nodeType===3)){t=m,n[p]=null;break}}if(t==null){if(w===null)return document.createTextNode(v);t=document.createElementNS(r,w,v.is&&v),n=null,a=!1}if(w===null)g===v||a&&t.data===v||(t.data=v);else{if(n=n&&Pe.call(t.childNodes),g=e.props||q,!a&&n!=null)for(g={},p=0;p<t.attributes.length;p++)g[(m=t.attributes[p]).name]=m.value;for(p in g)if(m=g[p],p!="children"){if(p=="dangerouslySetInnerHTML")s=m;else if(p!=="key"&&!(p in v)){if(p=="value"&&"defaultValue"in v||p=="checked"&&"defaultChecked"in v)continue;ve(t,p,null,m,r)}}for(p in v)m=v[p],p=="children"?h=m:p=="dangerouslySetInnerHTML"?u=m:p=="value"?_=m:p=="checked"?I=m:p==="key"||a&&typeof m!="function"||g[p]===m||ve(t,p,m,g[p],r);if(u)a||s&&(u.__html===s.__html||u.__html===t.innerHTML)||(t.innerHTML=u.__html),o.__k=[];else if(s&&(t.innerHTML=""),$t(t,Ue(h)?h:[h],o,e,i,w==="foreignObject"?"http://www.w3.org/1999/xhtml":r,n,d,n?n[0]:e.__k&&D(e,0),a,c),n!=null)for(p=n.length;p--;)n[p]!=null&&Ft(n[p]);a||(p="value",_!==void 0&&(_!==t[p]||w==="progress"&&!_||w==="option"&&_!==g[p])&&ve(t,p,_,g[p],r),p="checked",I!==void 0&&I!==t[p]&&ve(t,p,I,g[p],r))}return t}function ze(t,o,e){try{if(typeof t=="function"){var i=typeof t.__u=="function";i&&t.__u(),i&&o==null||(t.__u=t(o))}else t.current=o}catch(r){b.__e(r,e)}}function Ae(t,o,e){var i,r;if(b.unmount&&b.unmount(t),(i=t.ref)&&(i.current&&i.current!==t.__e||ze(i,null,o)),(i=t.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(n){b.__e(n,o)}i.base=i.__P=null}if(i=t.__k)for(r=0;r<i.length;r++)i[r]&&Ae(i[r],o,e||typeof t.type!="function");e||t.__e==null||Ft(t.__e),t.__c=t.__=t.__e=t.__d=void 0}function Mo(t,o,e){return this.constructor(t,e)}function f(t,o,e){var i,r,n,d;b.__&&b.__(t,o),r=(i=typeof e=="function")?null:e&&e.__k||o.__k,n=[],d=[],Be(o,t=(!i&&e||o).__k=ko(U,null,[t]),r||q,q,o.namespaceURI,!i&&e?[e]:r?null:o.firstChild?Pe.call(o.childNodes):null,n,!i&&e?e:r?r.__e:o.firstChild,i,d),Bt(n,t,d)}Pe=Ot.slice,b={__e:function(t,o,e,i){for(var r,n,d;o=o.__;)if((r=o.__c)&&!r.__)try{if((n=r.constructor)&&n.getDerivedStateFromError!=null&&(r.setState(n.getDerivedStateFromError(t)),d=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(t,i||{}),d=r.__d),d)return r.__E=r}catch(a){t=a}throw t}},Gt=0,yo=function(t){return t!=null&&t.constructor==null},be.prototype.setState=function(t,o){var e;e=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=V({},this.state),typeof t=="function"&&(t=t(V({},e),this.props)),t&&V(e,t),t!=null&&this.__v&&(o&&this._sb.push(o),Ht(this))},be.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Ht(this))},be.prototype.render=U,G=[],Dt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,De=function(t,o){return t.__v.__b-o.__v.__b},ye.__r=0,$e=0,Oe=Nt(!1),Fe=Nt(!0),Po=0;var To=0,ii=Array.isArray;function l(t,o,e,i,r,n){o||(o={});var d,a,c=o;if("ref"in c)for(a in c={},o)a=="ref"?d=o[a]:c[a]=o[a];var p={type:t,props:c,key:e,ref:d,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--To,__i:-1,__u:0,__source:r,__self:n};if(typeof t=="function"&&(d=t.defaultProps))for(a in d)c[a]===void 0&&(c[a]=d[a]);return b.vnode&&b.vnode(p),p}var B=t=>{let{children:o,orientation:e="horizontal"}=t;return l("div",{className:`deck-widget-button-group ${e}`,children:o})};var O=t=>{let{className:o="",label:e,onClick:i,children:r}=t;return l("button",{className:`deck-widget-icon-button ${o}`,type:"button",onClick:i,title:e,children:r||l("div",{className:"deck-widget-icon"})})};var qe=class extends F.Widget{constructor(e={}){super(e,qe.defaultProps);this.className="deck-widget-zoom";this.placement="top-left";this.viewports={};this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let i=l(B,{orientation:this.props.orientation,children:[l(O,{onClick:()=>this.handleZoomIn(),label:this.props.zoomInLabel,className:"deck-widget-zoom-in"}),l(O,{onClick:()=>this.handleZoomOut(),label:this.props.zoomOutLabel,className:"deck-widget-zoom-out"})]});f(i,e)}onViewportChange(e){this.viewports[e.id]=e}handleZoom(e,i){let r=this.viewId||e?.id||"default-view",n={...e,zoom:i};this.props.transitionDuration>0&&(n.transitionDuration=this.props.transitionDuration,n.transitionInterpolator="latitude"in n?new F.FlyToInterpolator:new F.LinearInterpolator({transitionProps:["zoom"]})),this.setViewState(r,n)}handleZoomIn(){for(let e of Object.values(this.viewports))this.handleZoom(e,e.zoom+1)}handleZoomOut(){for(let e of Object.values(this.viewports))this.handleZoom(e,e.zoom-1)}setViewState(e,i){this.deck._onViewStateChange({viewId:e,viewState:i,interactionState:{}})}},X=qe;X.defaultProps={...F.Widget.defaultProps,id:"zoom",placement:"top-left",orientation:"vertical",transitionDuration:200,zoomInLabel:"Zoom In",zoomOutLabel:"Zoom Out",viewId:null};var Xe=y(P(),1);var W=t=>{let{className:o="",label:e,onClick:i,children:r}=t;return l("div",{className:"deck-widget-button",children:l("button",{className:`deck-widget-icon-button ${o}`,type:"button",onClick:i,title:e,children:r||l("div",{className:"deck-widget-icon"})})})};var Je=class extends Xe.Widget{constructor(e={}){super(e,Je.defaultProps);this.className="deck-widget-reset-view";this.placement="top-left";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(l(W,{className:"deck-widget-reset-focus",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}handleClick(){let e=this.props.initialViewState||this.deck?.props.initialViewState;this.setViewState(e)}setViewState(e){let i=this.props.viewId||"default-view",r={...i!=="default-view"?e?.[i]:e};this.deck._onViewStateChange({viewId:i,viewState:r,interactionState:{}})}},J=Je;J.defaultProps={...Xe.Widget.defaultProps,id:"reset-view",placement:"top-left",label:"Reset View",initialViewState:void 0,viewId:null};var Z=y(P(),1);var Ke=class extends Z.Widget{constructor(e={}){super(e,Ke.defaultProps);this.className="deck-widget-gimbal";this.placement="top-left";this.viewports={};this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let i=this.viewId||Object.values(this.viewports)[0]?.id||"default-view",r=this.viewports[i],{rotationOrbit:n,rotationX:d}=this.getNormalizedRotation(r),a=l("div",{className:"deck-widget-button",style:{perspective:100,pointerEvents:"auto"},children:l("button",{type:"button",onClick:()=>{for(let c of Object.values(this.viewports))this.resetOrbitView(c)},title:this.props.label,style:{position:"relative",width:26,height:26},children:[l("svg",{className:"gimbal-outer-ring",width:"100%",height:"100%",viewBox:"0 0 26 26",style:{position:"absolute",top:0,left:0,transform:`rotateY(${n}deg)`},children:l("circle",{cx:"13",cy:"13",r:"10",stroke:"var(--icon-gimbal-outer-color, rgb(68, 92, 204))",strokeWidth:this.props.strokeWidth,fill:"none"})}),l("svg",{className:"gimbal-inner-ring",width:"100%",height:"100%",viewBox:"0 0 26 26",style:{position:"absolute",top:0,left:0,transform:`rotateX(${d}deg)`},children:l("circle",{cx:"13",cy:"13",r:"7",stroke:"var(--icon-gimbal-inner-color, rgb(240, 92, 68))",strokeWidth:this.props.strokeWidth,fill:"none"})})]})});f(a,e)}onViewportChange(e){this.viewports[e.id]=e,this.updateHTML()}resetOrbitView(e){let i=this.getViewId(e),r=this.getViewState(i);if("rotationOrbit"in r||"rotationX"in r){let n={...r,rotationOrbit:0,rotationX:0,transitionDuration:this.props.transitionDuration,transitionInterpolator:new Z.LinearInterpolator({transitionProps:["rotationOrbit","rotationX"]})};this.deck._onViewStateChange({viewId:i,viewState:n,interactionState:{}})}}getNormalizedRotation(e){let i=this.getViewState(this.getViewId(e)),[r,n]=this.getRotation(i),d=zt(r),a=zt(n);return{rotationOrbit:d,rotationX:a}}getRotation(e){return e&&("rotationOrbit"in e||"rotationX"in e)?[-(e.rotationOrbit||0),e.rotationX||0]:[0,0]}getViewId(e){return this.viewId||e?.id||"OrbitView"}getViewState(e){let i=this.getViewManager();return e&&i.getViewState(e)||i.viewState}getViewManager(){let e=this.deck?.viewManager;if(!e)throw new Error("wigdet must be added to a deck instance");return e}},K=Ke;K.defaultProps={...Z.Widget.defaultProps,id:"gimbal",placement:"top-left",viewId:null,label:"Gimbal",strokeWidth:1.5,transitionDuration:200};function zt(t){let o=((t+180)%360+360)%360-180,e=10,i=o-90;return Math.abs(i)<e&&(i<e?o=90+e:i>-e&&(o=90-e)),o}var E=y(P(),1);var Ze=class extends E.Widget{constructor(e={}){super(e,Ze.defaultProps);this.className="deck-widget-compass";this.placement="top-left";this.viewports={};this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let i=this.viewId||Object.values(this.viewports)[0]?.id||"default-view",r=this.viewports[i],[n,d]=this.getRotation(r),a=l("div",{className:"deck-widget-button",style:{perspective:100},children:l("button",{type:"button",onClick:()=>{for(let c of Object.values(this.viewports))this.handleCompassReset(c)},title:this.props.label,style:{transform:`rotateX(${d}deg)`},children:l("svg",{fill:"none",width:"100%",height:"100%",viewBox:"0 0 26 26",children:l("g",{transform:`rotate(${n},13,13)`,children:[l("path",{d:"M10 13.0001L12.9999 5L15.9997 13.0001H10Z",fill:"var(--icon-compass-north-color, rgb(240, 92, 68))"}),l("path",{d:"M16.0002 12.9999L13.0004 21L10.0005 12.9999H16.0002Z",fill:"var(--icon-compass-south-color, rgb(204, 204, 204))"})]})})})});f(a,e)}onViewportChange(e){e.equals(this.viewports[e.id])||(this.viewports[e.id]=e,this.updateHTML())}getRotation(e){return e instanceof E.WebMercatorViewport?[-e.bearing,e.pitch]:e instanceof E._GlobeViewport?[0,Math.max(-80,Math.min(80,e.latitude))]:[0,0]}handleCompassReset(e){let i=this.viewId||e.id||"default-view";if(e instanceof E.WebMercatorViewport){let r={...e,bearing:0,...this.getRotation(e)[0]===0?{pitch:0}:{},transitionDuration:this.props.transitionDuration,transitionInterpolator:new E.FlyToInterpolator};this.deck._onViewStateChange({viewId:i,viewState:r,interactionState:{}})}}},Y=Ze;Y.defaultProps={...E.Widget.defaultProps,id:"compass",placement:"top-left",viewId:null,label:"Reset Compass",transitionDuration:200};var Ye=y(P(),1);var je=class extends Ye.Widget{constructor(e={}){super(e,je.defaultProps);this.className="deck-widget-scale";this.placement="bottom-left";this.scaleWidth=10;this.scaleValue=0;this.scaleText="";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let r=50+this.scaleWidth,n=10;f(l("svg",{className:"deck-widget-scale",width:r,height:30,style:{overflow:"visible",background:"transparent"},onClick:this.handleClick.bind(this),children:[l("text",{x:50+5,y:"10",textAnchor:"end",alignmentBaseline:"middle",style:{fontSize:"16px",fill:"black",fontWeight:"bold",fontFamily:"sans-serif"},children:this.scaleText}),l("line",{x1:50,y1:"15",x2:50+this.scaleWidth,y2:"15",stroke:"black",strokeWidth:"6"}),l("line",{x1:50,y1:"15",x2:50,y2:15-n,stroke:"black",strokeWidth:"6"}),l("line",{x1:50+this.scaleWidth,y1:"15",x2:50+this.scaleWidth,y2:15-n,stroke:"black",strokeWidth:"6"})]}),e)}onViewportChange(e){if(!("latitude"in e))return;let{latitude:i,zoom:r}=e,n=Co(i,r),{candidate:d,candidatePixels:a}=Lo(n);this.scaleValue=d,this.scaleWidth=a,d>=1e3?this.scaleText=`${(d/1e3).toFixed(1)} km`:this.scaleText=`${d} m`,this.updateHTML()}handleClick(){}},j=je;j.defaultProps={...Ye.Widget.defaultProps,id:"scale",placement:"bottom-left",label:"Scale",viewId:null};function Co(t,o){return 40075016686e-3*Math.cos(t*Math.PI/180)/Math.pow(2,o+8)}function Lo(t){let r=150*t,n=Math.floor(Math.log10(r)),d=Math.pow(10,n),a=[1,2,5],c=a[0]*d,p=c/t;for(let u=0;u<a.length;u++){let s=a[u]*d,h=s/t;if(h>=100&&h<=200){c=s,p=h;break}if(h>200){c=u>0?a[u-1]*d:s,p=c/t;break}u===a.length-1&&h<100&&(c=a[0]*d*10,p=c/t)}return{candidate:c,candidatePixels:p}}var it=y(P(),1),Ee=y(P(),1);var Q,x,Qe,qt,ke=0,eo=[],k=b,Xt=k.__b,Jt=k.__r,Kt=k.diffed,Zt=k.__c,Yt=k.unmount,jt=k.__;function tt(t,o){k.__h&&k.__h(x,t,ke||o),ke=0;var e=x.__H||(x.__H={__:[],__h:[]});return t>=e.__.length&&e.__.push({}),e.__[t]}function A(t){return ke=1,Eo(oo,t)}function Eo(t,o,e){var i=tt(Q++,2);if(i.t=t,!i.__c&&(i.__=[e?e(o):oo(void 0,o),function(a){var c=i.__N?i.__N[0]:i.__[0],p=i.t(c,a);c!==p&&(i.__N=[p,i.__[1]],i.__c.setState({}))}],i.__c=x,!x.u)){var r=function(a,c,p){if(!i.__c.__H)return!0;var u=i.__c.__H.__.filter(function(h){return!!h.__c});if(u.every(function(h){return!h.__N}))return!n||n.call(this,a,c,p);var s=!1;return u.forEach(function(h){if(h.__N){var m=h.__[0];h.__=h.__N,h.__N=void 0,m!==h.__[0]&&(s=!0)}}),!(!s&&i.__c.props===a)&&(!n||n.call(this,a,c,p))};x.u=!0;var n=x.shouldComponentUpdate,d=x.componentWillUpdate;x.componentWillUpdate=function(a,c,p){if(this.__e){var u=n;n=void 0,r(a,c,p),n=u}d&&d.call(this,a,c,p)},x.shouldComponentUpdate=r}return i.__N||i.__}function Ie(t,o){var e=tt(Q++,3);!k.__s&&to(e.__H,o)&&(e.__=t,e.i=o,x.__H.__h.push(e))}function $(t){return ke=5,Ro(function(){return{current:t}},[])}function Ro(t,o){var e=tt(Q++,7);return to(e.__H,o)&&(e.__=t(),e.__H=o,e.__h=t),e.__}function Ho(){for(var t;t=eo.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(xe),t.__H.__h.forEach(et),t.__H.__h=[]}catch(o){t.__H.__h=[],k.__e(o,t.__v)}}k.__b=function(t){x=null,Xt&&Xt(t)},k.__=function(t,o){t&&o.__k&&o.__k.__m&&(t.__m=o.__k.__m),jt&&jt(t,o)},k.__r=function(t){Jt&&Jt(t),Q=0;var o=(x=t.__c).__H;o&&(Qe===x?(o.__h=[],x.__h=[],o.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(o.__h.forEach(xe),o.__h.forEach(et),o.__h=[],Q=0)),Qe=x},k.diffed=function(t){Kt&&Kt(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(eo.push(o)!==1&&qt===k.requestAnimationFrame||((qt=k.requestAnimationFrame)||Vo)(Ho)),o.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),Qe=x=null},k.__c=function(t,o){o.some(function(e){try{e.__h.forEach(xe),e.__h=e.__h.filter(function(i){return!i.__||et(i)})}catch(i){o.some(function(r){r.__h&&(r.__h=[])}),o=[],k.__e(i,e.__v)}}),Zt&&Zt(t,o)},k.unmount=function(t){Yt&&Yt(t);var o,e=t.__c;e&&e.__H&&(e.__H.__.forEach(function(i){try{xe(i)}catch(r){o=r}}),e.__H=void 0,o&&k.__e(o,e.__v))};var Qt=typeof requestAnimationFrame=="function";function Vo(t){var o,e=function(){clearTimeout(i),Qt&&cancelAnimationFrame(o),setTimeout(t)},i=setTimeout(e,100);Qt&&(o=requestAnimationFrame(e))}function xe(t){var o=x,e=t.__c;typeof e=="function"&&(t.__c=void 0,e()),x=o}function et(t){var o=x;t.__c=t.__(),x=o}function to(t,o){return!t||t.length!==o.length||o.some(function(e,i){return e!==t[i]})}function oo(t,o){return typeof o=="function"?o(t):o}var We=t=>{let[o,e]=A(!1),i=$(null),r=()=>e(!o),n=a=>{i.current&&!i.current.contains(a.target)&&e(!1)};Ie(()=>(document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}),[]);let d=a=>{t.onSelect(a),e(!1)};return l("div",{className:"dropdown-container",ref:i,style:{position:"relative",display:"inline-block",...t.style},children:[l("button",{onClick:r,style:{width:"30px",height:"30px",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid #ccc",borderRadius:"4px",background:"#fff",cursor:"pointer",padding:0},children:"\u25BC"}),o&&l("ul",{style:{position:"absolute",top:"100%",right:"100%",background:"#fff",border:"1px solid #ccc",borderRadius:"4px",listStyle:"none",padding:"4px 0",margin:0,zIndex:1e3,minWidth:"200px"},children:t.menuItems.map(a=>l("li",{onClick:()=>d(a),style:{padding:"4px 8px",cursor:"pointer",whiteSpace:"nowrap"},children:a},a))})]})};var No="current",io="deck-geocoder-history",Se=class{constructor(o){this.addressText="";this.errorText="";this.addressHistory=[];this.props={maxEntries:5,...o},this.addressHistory=this.loadPreviousAddresses()}async geocode(o,e,i){this.errorText="",this.addressText=e;try{let r=await o.geocode(e,i);if(r)return this.storeAddress(this.addressText),r;this.errorText="Invalid address"}catch(r){this.errorText=`${r.message}`}return null}loadPreviousAddresses(){try{let o=window.localStorage.getItem(io),e=o&&JSON.parse(o);return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}catch{}return[]}storeAddress(o){let e=o.trim();if(!e||e===No)return;let i=[e,...this.addressHistory.filter(r=>r!==e)];this.addressHistory=i.slice(0,this.props.maxEntries);try{window.localStorage.setItem(io,JSON.stringify(this.addressHistory))}catch{}}};var Go="https://maps.googleapis.com/maps/api/geocode/json",Do="https://api.mapbox.com/geocoding/v5/mapbox.places",Oo="https://api.opencagedata.com/geocode/v1/json",Me={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),i=await ot(`${Go}?address=${e}&key=${o}`);switch(i.status){case"OK":let r=i.results.length>0&&i.results[0].geometry.location;return r?{longitude:r.lng,latitude:r.lat}:null;default:throw new Error(`Google Geocoder failed: ${i.status}`)}}},Te={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),i=await ot(`${Do}/${e}.json?access_token=${o}`);if(Array.isArray(i.features)&&i.features.length>0){let r=i.features[0].center;if(Array.isArray(r)&&r.length>=2)return{longitude:r[0],latitude:r[1]}}return null}},Ce={name:"opencage",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),i=await ot(`${Oo}?q=${e}&key=${o}`);if(Array.isArray(i.results)&&i.results.length>0){let r=i.results[0].geometry;return{longitude:r.lng,latitude:r.lat}}return null}},Le={name:"current",requiresApiKey:!1,async geocode(){if(!navigator.geolocation)throw new Error("Geolocation not supported");return new Promise((t,o)=>{navigator.geolocation.getCurrentPosition(e=>{let{longitude:i,latitude:r}=e.coords;t({longitude:i,latitude:r})},e=>o(new Error(e.message)))})}};async function ot(t){let o;try{o=await fetch(t)}catch(i){throw new Error(`CORS error? ${i}. ${t}: `)}if(!o.ok)throw new Error(`${o.statusText}. ${t}: `);let e=await o.json();if(!e)throw new Error(`No data returned. ${t}`);return e}var z={name:"coordinates",requiresApiKey:!1,placeholderLocation:"-122.45, 37.8 or 37\xB048'N, 122\xB027'W",async geocode(t){return Fo(t)||null}};function Fo(t){t=t.trim();let o=t.split(/[,;]/).map(r=>r.trim());if(o.length<2)return null;let e=ro(o[0]),i=ro(o[1]);return e===null||i===null?null:Math.abs(e)>90&&Math.abs(i)<=90?{longitude:e,latitude:i}:Math.abs(i)>90&&Math.abs(e)<=90?{longitude:i,latitude:e}:{latitude:e,longitude:i}}function ro(t){if(t=t.trim(),t.includes("\xB0")||t.includes("'")||t.includes('"')){let i=Ao(t);return isNaN(i)?null:i}let o=1;/[SW]/i.test(t)&&(o=-1),t=t.replace(/[NSEW]/gi,"");let e=parseFloat(t);return isNaN(e)?null:o*e}function Ao(t){let o=/(\d+)[°d]\s*(\d+)?['′m]?\s*(\d+(?:\.\d+)?)?[\"″s]?\s*([NSEW])?/i,e=t.match(o);if(!e)return NaN;let i=parseFloat(e[1])||0,r=parseFloat(e[2])||0,n=parseFloat(e[3])||0,d=e[4]||"",a=i+r/60+n/3600;return/[SW]/i.test(d)&&(a=-a),a}var no="current",rt=class extends it.Widget{constructor(e={}){super(e,rt.defaultProps);this.className="deck-widget-geocoder";this.placement="top-left";this.geocodeHistory=new Se({});this.addressText="";this.geocoder=z;this.setInput=e=>{this.addressText=e};this.handleKeyPress=e=>{e.key==="Enter"&&this.handleSubmit()};this.handleSelect=e=>{this.setInput(e),this.handleSubmit()};this.handleSubmit=()=>{this.geocode(this.addressText)};this.geocode=async e=>{let r=this.props._geolocation&&e===no?Le:this.geocoder,n=await this.geocodeHistory.geocode(r,this.addressText,this.props.apiKey);n&&this.setViewState(n)};this.viewports={};this.setProps(this.props)}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,this.geocoder=$o(this.props),this.geocoder.requiresApiKey&&!this.props.apiKey)throw new Error(`API key is required for the ${this.geocoder.name} geocoder`);super.setProps(e)}onRenderHTML(e){let i=this.props._geolocation?[no,...this.geocodeHistory.addressHistory]:[...this.geocodeHistory.addressHistory];f(l("div",{className:"deck-widget-geocoder",style:{pointerEvents:"auto",display:"flex",alignItems:"center",flexWrap:"wrap"},children:[l("input",{type:"text",placeholder:this.geocoder.placeholderLocation??"Enter address or location",value:this.geocodeHistory.addressText,onInput:r=>this.setInput(r.target?.value||""),onKeyPress:this.handleKeyPress,style:{flex:"1 1 auto",minWidth:"200px",margin:0,padding:"8px",boxSizing:"border-box"}}),l(We,{menuItems:i,onSelect:this.handleSelect,style:{margin:2,padding:"4px 2px",boxSizing:"border-box"}}),this.geocodeHistory.errorText&&l("div",{className:"error",children:this.geocodeHistory.errorText})]}),e)}setViewState(e){let i=this.props.viewId||e?.id||"default-view",n={...this.viewports[i]||{},...e};this.props.transitionDuration>0&&(n.transitionDuration=this.props.transitionDuration,n.transitionInterpolator="latitude"in n?new Ee.FlyToInterpolator:new Ee.LinearInterpolator),this.deck._onViewStateChange({viewId:i,viewState:n,interactionState:{}})}onViewportChange(e){this.viewports[e.id]=e}},ee=rt;ee.defaultProps={...it.Widget.defaultProps,id:"geocoder",viewId:null,placement:"top-left",label:"Geocoder",transitionDuration:200,geocoder:"coordinates",customGeocoder:z,apiKey:"",_geolocation:!1};function $o(t){switch(t.geocoder){case"google":return Me;case"mapbox":return Te;case"opencage":return Ce;case"coordinates":return z;case"custom":if(!t.customGeocoder)throw new Error("Custom geocoder is not defined");return t.customGeocoder;default:throw new Error(`Unknown geocoder: ${t.geocoder}`)}}var oe=y(P(),1);var nt=class extends oe.Widget{constructor(e={}){super(e,nt.defaultProps);this.className="deck-widget-fullscreen";this.placement="top-left";this.fullscreen=!1;this.setProps(this.props)}onAdd(){document.addEventListener("fullscreenchange",this.onFullscreenChange.bind(this))}onRemove(){document.removeEventListener("fullscreenchange",this.onFullscreenChange.bind(this))}onRenderHTML(e){f(l(W,{onClick:()=>{this.handleClick().catch(i=>oe.log.error(i)())},label:this.fullscreen?this.props.exitLabel:this.props.enterLabel,className:this.fullscreen?"deck-widget-fullscreen-exit":"deck-widget-fullscreen-enter"}),e)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}getContainer(){return this.props.container||this.deck?.getCanvas()?.parentElement}onFullscreenChange(){let e=this.fullscreen,i=document.fullscreenElement===this.getContainer();e!==i&&(this.fullscreen=!this.fullscreen),this.updateHTML()}async handleClick(){this.fullscreen?await this.exitFullscreen():await this.requestFullscreen(),this.updateHTML()}async requestFullscreen(){let e=this.getContainer();e?.requestFullscreen?await e.requestFullscreen({navigationUI:"hide"}):this.togglePseudoFullscreen()}async exitFullscreen(){document.exitFullscreen?await document.exitFullscreen():this.togglePseudoFullscreen()}togglePseudoFullscreen(){this.getContainer()?.classList.toggle("deck-pseudo-fullscreen")}},te=nt;te.defaultProps={...oe.Widget.defaultProps,id:"fullscreen",placement:"top-left",viewId:null,enterLabel:"Enter Fullscreen",exitLabel:"Exit Fullscreen",container:void 0};var st=y(P(),1);var at=class extends st.Widget{constructor(e){super(e,at.defaultProps);this.className="deck-widget-splitter";this.placement="fill"}setProps(e){super.setProps(e)}onRenderHTML(e){e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.margin="0px",f(l(Uo,{orientation:this.props.orientation,initialSplit:this.props.initialSplit,onChange:this.props.onChange,onDragStart:this.props.onDragStart,onDragEnd:this.props.onDragEnd}),e)}},ie=at;ie.defaultProps={...st.Widget.defaultProps,id:"splitter-widget",viewId1:"",viewId2:"",orientation:"vertical",initialSplit:.5,onChange:()=>{},onDragStart:()=>{},onDragEnd:()=>{}};function Uo({orientation:t,initialSplit:o,onChange:e,onDragStart:i,onDragEnd:r}){let[n,d]=A(o),a=$(!1),c=$(null),p=_=>{a.current=!0,i?.(),document.addEventListener("mousemove",u),document.addEventListener("mouseup",s),_.preventDefault()},u=_=>{if(!a.current||!c.current)return;let I=c.current.getBoundingClientRect(),g;t==="vertical"?g=(_.clientX-I.left)/I.width:g=(_.clientY-I.top)/I.height,g=Math.min(Math.max(g,.05),.95),d(g),e?.(g)},s=_=>{a.current&&(a.current=!1,r?.(),document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",s))},h=t==="vertical"?{position:"absolute",top:0,bottom:0,left:`${n*100}%`,width:"4px",cursor:"col-resize",background:"#ccc",zIndex:10,pointerEvents:"auto",boxShadow:"inset -1px 0 0 white, inset 1px 0 0 white"}:{position:"absolute",left:0,right:0,top:`${n*100}%`,height:"4px",cursor:"row-resize",background:"#ccc",zIndex:10,pointerEvents:"auto",boxShadow:"inset -1px 0 0 white, inset 1px 0 0 white"};return l("div",{ref:c,style:{position:"absolute",top:0,left:0,right:0,bottom:0},children:l("div",{style:h,onMouseDown:p})})}var pt=y(P(),1);function Re(t){let[o,e]=A(!1),i=$(null),r=h=>{i.current&&!i.current.contains(h.target)&&e(!1)};Ie(()=>(document.addEventListener("mousedown",r),()=>{document.removeEventListener("mousedown",r)}),[i]);let[n,d]=A(t.initialItem),a=h=>{d(h),e(!1),t.onItemSelected(h)},c=()=>e(!o),p=t.menuItems.find(h=>h.value===n),u=t.label||p?.label||"",s=t.icon||p?.icon;return l("div",{style:{position:"relative",display:"inline-block"},ref:i,children:[l(W,{className:t.className,label:u,onClick:c,children:s}),o&&l("div",{className:"deck-widget-icon-menu",children:l(B,{orientation:"vertical",children:t.menuItems.map(h=>l(O,{label:h.label,onClick:()=>a(h.value),children:h.icon},h.value))})})]})}var ct=class extends pt.Widget{constructor(e={}){super(e,ct.defaultProps);this.className="deck-widget-view-selector";this.placement="top-left";this.handleSelectMode=e=>{this.viewMode=e,this.updateHTML(),this.props.onViewModeChange(e)};this.viewMode=this.props.initialViewMode,this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(l(Re,{className:"deck-widget-view-selector",menuItems:Bo.map(i=>({...i,icon:i.icon()})),initialItem:this.props.initialViewMode,onItemSelected:this.handleSelectMode}),e)}},re=ct;re.defaultProps={...pt.Widget.defaultProps,id:"view-selector",placement:"top-left",viewId:null,label:"Split View",initialViewMode:"single",onViewModeChange:()=>{}};var lt={width:"24px",height:"24px"},dt={single:()=>l("svg",{width:"24",height:"24",style:lt,children:l("rect",{x:"4",y:"4",width:"16",height:"16",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"})}),"split-horizontal":()=>l("svg",{width:"24",height:"24",style:lt,children:[l("rect",{x:"4",y:"4",width:"16",height:"7",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"}),l("rect",{x:"4",y:"13",width:"16",height:"7",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"})]}),"split-vertical":()=>l("svg",{width:"24",height:"24",style:lt,children:[l("rect",{x:"4",y:"4",width:"7",height:"16",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"}),l("rect",{x:"13",y:"4",width:"7",height:"16",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"})]})},Bo=[{value:"single",icon:dt.single,label:"Single View"},{value:"split-horizontal",icon:dt["split-horizontal"],label:"Split Horizontal"},{value:"split-vertical",icon:dt["split-vertical"],label:"Split Vertical"}];var ut=y(P(),1);var mt=class extends ut.Widget{constructor(e){super(e,mt.defaultProps);this.className="deck-widget-info";this.placement="fill";this.setProps(this.props)}setProps(e){this.viewId=e.viewId??this.viewId,super.setProps(e)}onCreateRootElement(){let e=super.onCreateRootElement();return Object.entries({margin:"0px",top:"0px",left:"0px",position:"absolute"}).forEach(([r,n])=>e.style.setProperty(r,n)),e}onViewportChange(e){this.viewport=e,this.updateHTML()}onHover(e){if(this.props.mode==="hover"&&this.props.getTooltip){let i=this.props.getTooltip(e,this);this.setProps({visible:i!==null,...i,style:{zIndex:"1",...i?.style}})}}onClick(e){if(this.props.mode==="click"&&this.props.getTooltip){let i=this.props.getTooltip(e,this);return this.setProps({visible:i!==null,...i}),i!==null}return this.props.onClick?.(this,e)||!1}onAdd({deck:e,viewId:i}){this.deck=e,i?this.viewport=e.getViewports().find(r=>r.id===i):this.viewport=e.getViewports()[0]}onRenderHTML(e){if(!this.viewport)return;let[i,r]=this.props.position,[n,d]=this.viewport.project([i,r]),a=this.props.minOffset||0,c=10,p=8,u=16,s=d>this.viewport.height/2,h=this.props.style&&this.props.style.background||"rgba(255,255,255,0.9)",m=this.props.visible?l("div",{className:"popup-container",style:{position:"absolute",left:0,top:0},children:[l("div",{className:"popup-content",style:{background:h,padding:"10px",position:"relative",...this.props.style},children:this.props.text}),l("div",{className:"popup-arrow",style:{position:"absolute",width:"0px",height:"0px"}})]}):null;f(m,e),requestAnimationFrame(()=>{if(!this.props.visible||!e.firstChild||!this.viewport)return;let _=e.firstChild,I=_.querySelector(".popup-content"),g=_.querySelector(".popup-arrow");if(!I||!g)return;let v=I.getBoundingClientRect(),w=v.width,R=v.height,S=n-w/2,M;s?M=d-c-p-R:M=d+c+p,S<a&&(S=a),S+w>this.viewport.width-a&&(S=this.viewport.width-a-w),s?M<a&&(M=a):M+R+p>this.viewport.height-a&&(M=this.viewport.height-a-R-p),_.style.left=`${S}px`,_.style.top=`${M}px`,_.style.transform="";let T=n-S-u/2;T=Math.max(T,0),T=Math.min(T,w-u),s?(g.style.left=`${T}px`,g.style.bottom=`-${p}px`,g.style.top="",g.style.borderLeft=`${u/2}px solid transparent`,g.style.borderRight=`${u/2}px solid transparent`,g.style.borderTop=`${p}px solid ${h}`,g.style.borderBottom=""):(g.style.left=`${T}px`,g.style.top=`-${p}px`,g.style.bottom="",g.style.borderLeft=`${u/2}px solid transparent`,g.style.borderRight=`${u/2}px solid transparent`,g.style.borderBottom=`${p}px solid ${h}`,g.style.borderTop="")})}},ne=mt;ne.defaultProps={...ut.Widget.defaultProps,id:"info",position:[0,0],text:"",visible:!1,minOffset:0,viewId:null,mode:"hover",getTooltip:void 0,onClick:void 0};var ht=y(P(),1);var zo={position:"absolute",top:"100%",left:0,background:"white",border:"1px solid #ccc",borderRadius:"4px",marginTop:"var(--menu-gap, 4px)",zIndex:100},qo={background:"white",border:"none",padding:"4px",cursor:"pointer",pointerEvents:"auto"},He=t=>{let{menuItems:o,onItemSelected:e,position:i,style:r}=t,n={...zo,...r,left:`${i.x}px`,top:`${i.y}px`};return l("div",{style:n,children:o.map(({key:d,label:a})=>l("button",{style:{...qo,display:"block"},onClick:c=>e(d),children:a},d))})};var Xo=2,Jo=3,gt=class extends ht.Widget{constructor(e){super(e,gt.defaultProps);this.className="deck-widget-context-menu";this.placement="fill";this.pickInfo=null;this.pickInfo=null,this.setProps(this.props)}onAdd({deck:e}){let i=document.createElement("div");return i.classList.add("deck-widget","deck-widget-context-menu"),Object.entries({margin:"0px",top:"0px",left:"0px",position:"absolute",pointerEvents:"auto"}).forEach(([n,d])=>i.style.setProperty(n,d)),e.getCanvas()?.addEventListener("click",()=>this.hide()),e.getCanvas()?.addEventListener("contextmenu",n=>this.handleContextMenu(n)),i}onRenderHTML(e){let{visible:i,position:r,menuItems:n}=this.props,d=i&&n.length?l(He,{menuItems:n,onItemSelected:a=>this.props.onMenuItemSelected(a,this.pickInfo),position:r,style:{pointerEvents:"auto"}}):null;f(d,e)}handleContextMenu(e){if(e&&(e.button===Xo||e.which===Jo)){this.pickInfo=this.deck?.pickObject({x:e.clientX,y:e.clientY})||null;let i=this.pickInfo&&this.props.getMenuItems?.(this.pickInfo,this)||[],r=i.length>0;return this.setProps({visible:r,position:{x:e.clientX,y:e.clientY},menuItems:i}),this.updateHTML(),e.preventDefault(),r}return!1}hide(){this.setProps({visible:!1})}},se=gt;se.defaultProps={...ht.Widget.defaultProps,id:"context",viewId:null,visible:!1,position:{x:0,y:0},getMenuItems:void 0,menuItems:[],onMenuItemSelected:(e,i)=>console.log("Context menu item selected:",e,i)};var ft=y(P(),1);var _t=class extends ft.Widget{constructor(e={}){super(e,_t.defaultProps);this.id="timeline";this.className="deck-widget-timeline";this.placement="bottom-left";this.playing=!1;this.timerId=null;this.handlePlayPause=()=>{this.playing?this.stop():this.start()};this.handleSliderChange=e=>{let i=e.target,r=Number(i.value);this.currentTime=r,this.props.onTimeChange(r),this.updateHTML()};this.tick=()=>{let[e,i]=this.props.timeRange,r=this.currentTime+this.props.step;r>i&&(r=e),this.currentTime=r,this.props.onTimeChange(r),this.updateHTML(),this.playing&&(this.timerId=window.setTimeout(this.tick,this.props.playInterval))};this.currentTime=this.props.initialTime??this.props.timeRange[0],this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd(){this.playing=!1,this.timerId=null}onRemove(){this.stop()}onRenderHTML(e){f(l("div",{style:{display:"flex",alignItems:"center",pointerEvents:"auto"},children:[l(W,{label:this.playing?"Pause":"Play",onClick:this.handlePlayPause,children:l("div",{className:"text",children:this.playing?"\u23F8":"\u25B6"})}),l("input",{type:"range",className:"timeline-slider",min:this.props.timeRange[0],max:this.props.timeRange[1],step:this.props.step,value:this.currentTime,onInput:this.handleSliderChange})]}),e)}start(){this.playing=!0,this.updateHTML(),this.tick()}stop(){this.playing=!1,this.timerId!==null&&(window.clearTimeout(this.timerId),this.timerId=null),this.updateHTML()}},ae=_t;ae.defaultProps={...ft.Widget.defaultProps,id:"timeline",placement:"bottom-left",viewId:null,timeRange:[0,100],step:1,initialTime:void 0,onTimeChange:()=>{},playInterval:1e3};var vt=y(P(),1);var wt=class extends vt.Widget{constructor(e={}){super(e,wt.defaultProps);this.className="deck-widget-screenshot";this.placement="top-left";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(l(W,{className:"deck-widget-camera",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}handleClick(){if(this.props.onCapture){this.props.onCapture(this);return}let e=this.captureScreenToDataURL(this.props.imageFormat);e&&this.downloadDataURL(e,this.props.filename)}captureScreenToDataURL(e){return this.deck?.getCanvas()?.toDataURL(e)}downloadDataURL(e,i){let r=document.createElement("a");r.href=e,r.download=i,r.click()}},le=wt;le.defaultProps={...vt.Widget.defaultProps,id:"screenshot",placement:"top-left",viewId:null,label:"Screenshot",filename:"screenshot.png",imageFormat:"image/png",onCapture:void 0};var N=y(P(),1),bt=y(P(),1);var so={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"#fff","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)","--button-text":"rgb(24, 24, 26, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(204, 204, 204)","--menu-gap":"4px"},ao={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"rgba(18, 18, 20, 1)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)","--button-text":"rgb(215, 214, 229, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(200, 199, 209)","--menu-gap":"4px"},Ve={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"rgba(255, 255, 255, 0.6)","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"1px solid rgba(255, 255, 255, 0.6)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)","--button-text":"rgb(24, 24, 26, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(204, 204, 204)","--menu-gap":"4px"},Ne={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"rgba(18, 18, 20, 0.75)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"1px solid rgba(18, 18, 20, 0.75)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)","--button-text":"rgb(215, 214, 229, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(200, 199, 209)","--menu-gap":"4px"};var yt=class extends bt.Widget{constructor(e={}){super(e,yt.defaultProps);this.className="deck-widget-theme";this.placement="top-left";this.themeMode="dark";this.themeMode=this._getInitialThemeMode(),this.setProps(this.props)}setProps(e){let{lightModeTheme:i,darkModeTheme:r}=this.props;switch(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e),this.themeMode){case"light":e.lightModeTheme&&!(0,N._deepEqual)(e.lightModeTheme,i,1)&&this._setThemeMode("light");break;case"dark":e.darkModeTheme&&!(0,N._deepEqual)(e.darkModeTheme,r,1)&&this._setThemeMode("dark");break;default:N.log.warn(`Invalid theme mode ${this.themeMode}`)()}}onRenderHTML(e){let{lightModeLabel:i,darkModeLabel:r}=this.props;f(l(W,{onClick:this._handleClick.bind(this),label:this.themeMode==="dark"?r:i,className:this.themeMode==="dark"?"deck-widget-moon":"deck-widget-sun"}),e)}onAdd(){this._setThemeMode(this.themeMode)}_handleClick(){let e=this.themeMode==="dark"?"light":"dark";this._setThemeMode(e)}_setThemeMode(e){this.themeMode=e;let i=this.rootElement?.closest(".deck-widget-container");if(i){let r=e==="dark"?this.props.darkModeTheme:this.props.lightModeTheme;(0,N._applyStyles)(i,r);let n=this.themeMode==="dark"?this.props.darkModeLabel:this.props.lightModeLabel;N.log.log(1,`Switched theme to ${n}`,r)(),this.updateHTML()}}_getInitialThemeMode(){let{initialThemeMode:e}=this.props;return e==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}},de=yt;de.defaultProps={...bt.Widget.defaultProps,id:"theme",placement:"top-left",viewId:null,lightModeLabel:"Light Mode",lightModeTheme:Ve,darkModeLabel:"Dark Mode",darkModeTheme:Ne,initialThemeMode:"auto"};var Pt=y(P(),1);var xt=class extends Pt.Widget{constructor(e={}){super(e,xt.defaultProps);this.className="deck-widget-loading";this.placement="top-left";this.loading=!0;this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(this.loading&&l(W,{className:"deck-widget-spinner",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}onRedraw({layers:e}){let i=e.some(r=>!r.isLoaded);i!==this.loading&&(this.loading=i,this.updateHTML())}handleClick(){}},pe=xt;pe.defaultProps={...Pt.Widget.defaultProps,id:"loading",placement:"top-left",viewId:null,label:"Loading layer data"};var kt=y(P(),1);var It=class extends kt.Widget{constructor(e={}){super(e,It.defaultProps);this.className="deck-widget-fps";this.placement="top-left";this._lastFps=-1;this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd({}){this._lastFps=this._getFps(),requestAnimationFrame(()=>this._animate())}onRenderHTML(e){let i=this._getFps();f(l(W,{children:l("div",{className:"text",children:["FPS",l("br",{}),i]})}),e)}_animate(){let e=this._getFps();this._lastFps!==e&&(this._lastFps=e,this.updateHTML()),requestAnimationFrame(()=>this._animate())}_getFps(){return Math.round(this.deck?.metrics.fps??0)}},ce=It;ce.defaultProps={...kt.Widget.defaultProps,id:"fps",placement:"top-left",viewId:null};var Wt=y(P(),1),mo=y(po(),1);var Ko="\u25B6",Zo="\u2B07",St=t=>`${t.name}: ${t.count}`;function co(t){return t<1e3?`${t.toFixed(2)}ms`:`${(t/1e3).toFixed(2)}s`}function Yo(t){return`${(t/1e6).toFixed(1)} MB`}var uo={count:St,averageTime:t=>`${t.name}: ${co(t.getAverageTime())}`,totalTime:t=>`${t.name}: ${co(t.time)}`,fps:t=>`${t.name}: ${Math.round(t.getHz())}fps`,memory:t=>`${t.name}: ${Yo(t.count)}`},Mt=class extends Wt.Widget{constructor(e={}){super(e,Mt.defaultProps);this.className="deck-widget-stats";this.placement="top-left";this._counter=0;this.collapsed=!0;this._toggleCollapsed=()=>{this.collapsed=!this.collapsed,this.updateHTML()};this._formatters={...uo},this._resetOnUpdate={...this.props.resetOnUpdate},this._stats=this.props.stats,this.setProps(e)}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,this._stats=this._getStats(),e.formatters)for(let i in e.formatters){let r=e.formatters[i];this._formatters[i]=typeof r=="string"?uo[r]||St:r}e.resetOnUpdate&&(this._resetOnUpdate={...e.resetOnUpdate}),super.setProps(e)}onAdd(){this._stats=this._getStats(),this.updateHTML()}onRenderHTML(e){let i=this._stats,r=this.collapsed,n=this.props.title||i?.id||"Stats",d=[];!r&&i&&i.forEach(a=>{let c=this._getLines(a);this._resetOnUpdate&&this._resetOnUpdate[a.name]&&a.reset(),c.forEach((p,u)=>{d.push(l("div",{style:{whiteSpace:"pre"},children:p},`${a.name}-${u}`))})}),f(l("div",{className:"deck-widget-stats-container",style:{cursor:"default"},children:[l("div",{className:"deck-widget-stats-header",style:{cursor:"pointer",pointerEvents:"auto"},onClick:this._toggleCollapsed,children:[r?Ko:Zo," ",n]}),!r&&l("div",{className:"deck-widget-stats-content",children:d})]}),e)}onRedraw(){let e=Math.max(1,this.props.framesPerUpdate||1);this._counter++%e===0&&(this._stats=this._getStats(),this.updateHTML())}_getStats(){switch(this.props.type){case"deck":return this.deck?.stats;case"luma":return Array.from(mo.luma.stats.stats.values())[0];case"device":let i=this.deck?.device?.statsManager.stats.values();return i?Array.from(i)[0]:void 0;case"custom":return this.props.stats;default:throw new Error(`Unknown stats type: ${this.props.type}`)}}_getLines(e){return(this._formatters[e.name]||this._formatters[e.type||""]||St)(e).split(`
8
- `)}},ue=Mt;ue.defaultProps={...Wt.Widget.defaultProps,type:"deck",placement:"top-left",viewId:null,stats:void 0,title:"Stats",framesPerUpdate:1,formatters:{},resetOnUpdate:{},id:"stats"};return bo(me);})();
7
+ "use strict";var __exports__=(()=>{var Zt=Object.create;var _e=Object.defineProperty;var Yt=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var Qt=Object.getPrototypeOf,eo=Object.prototype.hasOwnProperty;var mt=(t,o)=>()=>(o||t((o={exports:{}}).exports,o),o.exports),to=(t,o)=>{for(var e in o)_e(t,e,{get:o[e],enumerable:!0})},fe=(t,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of jt(o))!eo.call(t,n)&&n!==e&&_e(t,n,{get:()=>o[n],enumerable:!(i=Yt(o,n))||i.enumerable});return t},R=(t,o,e)=>(fe(t,o,"default"),e&&fe(e,o,"default")),y=(t,o,e)=>(e=t!=null?Zt(Qt(t)):{},fe(o||!t||!t.__esModule?_e(e,"default",{value:t,enumerable:!0}):e,t)),oo=t=>fe(_e({},"__esModule",{value:!0}),t);var P=mt((No,ht)=>{ht.exports=globalThis.deck});var qt=mt((In,zt)=>{zt.exports=globalThis.luma});var me={};to(me,{CompassWidget:()=>Y,DarkGlassTheme:()=>Ne,DarkTheme:()=>Bt,FullscreenWidget:()=>te,GimbalWidget:()=>K,LightGlassTheme:()=>Ve,LightTheme:()=>Ut,ResetViewWidget:()=>J,ScreenshotWidget:()=>le,ZoomWidget:()=>X,_ButtonGroup:()=>B,_ContextMenuWidget:()=>se,_CoordinatesGeocoder:()=>z,_CurrentLocationGeocoder:()=>Le,_DropdownMenu:()=>We,_FpsWidget:()=>pe,_GeocoderWidget:()=>ee,_GoogleGeocoder:()=>Me,_GroupedIconButton:()=>O,_IconButton:()=>W,_IconMenu:()=>He,_InfoWidget:()=>re,_LoadingWidget:()=>ce,_MapboxGeocoder:()=>Te,_OpenCageGeocoder:()=>Ce,_ScaleWidget:()=>j,_SimpleMenu:()=>Re,_SplitterWidget:()=>ie,_StatsWidget:()=>ue,_ThemeWidget:()=>de,_TimelineWidget:()=>ae,_ViewSelectorWidget:()=>ne});var L={},gt=y(P(),1);R(L,y(P(),1));if(!gt.Layer)throw new Error("@deck.gl/core is not found");R(me,L);var F=y(P(),1);var Pe,b,bt,io,G,ft,yt,De,$e,Oe,Fe,no,q={},Pt=[],ro=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Ue=Array.isArray;function V(t,o){for(var e in o)t[e]=o[e];return t}function xt(t){var o=t.parentNode;o&&o.removeChild(t)}function so(t,o,e){var i,n,r,d={};for(r in o)r=="key"?i=o[r]:r=="ref"?n=o[r]:d[r]=o[r];if(arguments.length>2&&(d.children=arguments.length>3?Pe.call(arguments,2):e),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)d[r]===void 0&&(d[r]=t.defaultProps[r]);return we(t,d,i,n,null)}function we(t,o,e,i,n){var r={type:t,props:o,key:e,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:n??++bt,__i:-1,__u:0};return n==null&&b.vnode!=null&&b.vnode(r),r}function U(t){return t.children}function be(t,o){this.props=t,this.context=o}function D(t,o){if(o==null)return t.__?D(t.__,t.__i+1):null;for(var e;o<t.__k.length;o++)if((e=t.__k[o])!=null&&e.__e!=null)return e.__e;return typeof t.type=="function"?D(t):null}function kt(t){var o,e;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,o=0;o<t.__k.length;o++)if((e=t.__k[o])!=null&&e.__e!=null){t.__e=t.__c.base=e.__e;break}return kt(t)}}function _t(t){(!t.__d&&(t.__d=!0)&&G.push(t)&&!ye.__r++||ft!==b.debounceRendering)&&((ft=b.debounceRendering)||yt)(ye)}function ye(){var t,o,e,i,n,r,d,a;for(G.sort(De);t=G.shift();)t.__d&&(o=G.length,i=void 0,r=(n=(e=t).__v).__e,d=[],a=[],e.__P&&((i=V({},n)).__v=n.__v+1,b.vnode&&b.vnode(i),Be(e.__P,i,n,e.__n,e.__P.namespaceURI,32&n.__u?[r]:null,d,r??D(n),!!(32&n.__u),a),i.__v=n.__v,i.__.__k[i.__i]=i,St(d,i,a),i.__e!=r&&kt(i)),G.length>o&&G.sort(De));ye.__r=0}function It(t,o,e,i,n,r,d,a,p,c,u){var s,h,m,_,I,g=i&&i.__k||Pt,v=o.length;for(e.__d=p,ao(e,o,g),p=e.__d,s=0;s<v;s++)(m=e.__k[s])!=null&&typeof m!="boolean"&&typeof m!="function"&&(h=m.__i===-1?q:g[m.__i]||q,m.__i=s,Be(t,m,h,n,r,d,a,p,c,u),_=m.__e,m.ref&&h.ref!=m.ref&&(h.ref&&ze(h.ref,null,m),u.push(m.ref,m.__c||_,m)),I==null&&_!=null&&(I=_),65536&m.__u||h.__k===m.__k?p=Wt(m,p,t):typeof m.type=="function"&&m.__d!==void 0?p=m.__d:_&&(p=_.nextSibling),m.__d=void 0,m.__u&=-196609);e.__d=p,e.__e=I}function ao(t,o,e){var i,n,r,d,a,p=o.length,c=e.length,u=c,s=0;for(t.__k=[],i=0;i<p;i++)d=i+s,(n=t.__k[i]=(n=o[i])==null||typeof n=="boolean"||typeof n=="function"?null:typeof n=="string"||typeof n=="number"||typeof n=="bigint"||n.constructor==String?we(null,n,null,null,null):Ue(n)?we(U,{children:n},null,null,null):n.constructor===void 0&&n.__b>0?we(n.type,n.props,n.key,n.ref?n.ref:null,n.__v):n)!=null?(n.__=t,n.__b=t.__b+1,a=lo(n,e,d,u),n.__i=a,r=null,a!==-1&&(u--,(r=e[a])&&(r.__u|=131072)),r==null||r.__v===null?(a==-1&&s--,typeof n.type!="function"&&(n.__u|=65536)):a!==d&&(a==d-1?s--:a==d+1?s++:a>d?u>p-d?s+=a-d:s--:a<d&&(a==d-s?s-=a-d:s++),a!==i+s&&(n.__u|=65536))):(r=e[d])&&r.key==null&&r.__e&&!(131072&r.__u)&&(r.__e==t.__d&&(t.__d=D(r)),Ae(r,r,!1),e[d]=null,u--);if(u)for(i=0;i<c;i++)(r=e[i])!=null&&!(131072&r.__u)&&(r.__e==t.__d&&(t.__d=D(r)),Ae(r,r))}function Wt(t,o,e){var i,n;if(typeof t.type=="function"){for(i=t.__k,n=0;i&&n<i.length;n++)i[n]&&(i[n].__=t,o=Wt(i[n],o,e));return o}t.__e!=o&&(o&&t.type&&!e.contains(o)&&(o=D(t)),e.insertBefore(t.__e,o||null),o=t.__e);do o=o&&o.nextSibling;while(o!=null&&o.nodeType===8);return o}function lo(t,o,e,i){var n=t.key,r=t.type,d=e-1,a=e+1,p=o[e];if(p===null||p&&n==p.key&&r===p.type&&!(131072&p.__u))return e;if(i>(p!=null&&!(131072&p.__u)?1:0))for(;d>=0||a<o.length;){if(d>=0){if((p=o[d])&&!(131072&p.__u)&&n==p.key&&r===p.type)return d;d--}if(a<o.length){if((p=o[a])&&!(131072&p.__u)&&n==p.key&&r===p.type)return a;a++}}return-1}function vt(t,o,e){o[0]==="-"?t.setProperty(o,e??""):t[o]=e==null?"":typeof e!="number"||ro.test(o)?e:e+"px"}function ve(t,o,e,i,n){var r;e:if(o==="style")if(typeof e=="string")t.style.cssText=e;else{if(typeof i=="string"&&(t.style.cssText=i=""),i)for(o in i)e&&o in e||vt(t.style,o,"");if(e)for(o in e)i&&e[o]===i[o]||vt(t.style,o,e[o])}else if(o[0]==="o"&&o[1]==="n")r=o!==(o=o.replace(/(PointerCapture)$|Capture$/i,"$1")),o=o.toLowerCase()in t||o==="onFocusOut"||o==="onFocusIn"?o.toLowerCase().slice(2):o.slice(2),t.l||(t.l={}),t.l[o+r]=e,e?i?e.u=i.u:(e.u=$e,t.addEventListener(o,r?Fe:Oe,r)):t.removeEventListener(o,r?Fe:Oe,r);else{if(n=="http://www.w3.org/2000/svg")o=o.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(o!="width"&&o!="height"&&o!="href"&&o!="list"&&o!="form"&&o!="tabIndex"&&o!="download"&&o!="rowSpan"&&o!="colSpan"&&o!="role"&&o!="popover"&&o in t)try{t[o]=e??"";break e}catch{}typeof e=="function"||(e==null||e===!1&&o[4]!=="-"?t.removeAttribute(o):t.setAttribute(o,o=="popover"&&e==1?"":e))}}function wt(t){return function(o){if(this.l){var e=this.l[o.type+t];if(o.t==null)o.t=$e++;else if(o.t<e.u)return;return e(b.event?b.event(o):o)}}}function Be(t,o,e,i,n,r,d,a,p,c){var u,s,h,m,_,I,g,v,w,H,S,M,T,ut,he,Ge,C=o.type;if(o.constructor!==void 0)return null;128&e.__u&&(p=!!(32&e.__u),r=[a=o.__e=e.__e]),(u=b.__b)&&u(o);e:if(typeof C=="function")try{if(v=o.props,w="prototype"in C&&C.prototype.render,H=(u=C.contextType)&&i[u.__c],S=u?H?H.props.value:u.__:i,e.__c?g=(s=o.__c=e.__c).__=s.__E:(w?o.__c=s=new C(v,S):(o.__c=s=new be(v,S),s.constructor=C,s.render=po),H&&H.sub(s),s.props=v,s.state||(s.state={}),s.context=S,s.__n=i,h=s.__d=!0,s.__h=[],s._sb=[]),w&&s.__s==null&&(s.__s=s.state),w&&C.getDerivedStateFromProps!=null&&(s.__s==s.state&&(s.__s=V({},s.__s)),V(s.__s,C.getDerivedStateFromProps(v,s.__s))),m=s.props,_=s.state,s.__v=o,h)w&&C.getDerivedStateFromProps==null&&s.componentWillMount!=null&&s.componentWillMount(),w&&s.componentDidMount!=null&&s.__h.push(s.componentDidMount);else{if(w&&C.getDerivedStateFromProps==null&&v!==m&&s.componentWillReceiveProps!=null&&s.componentWillReceiveProps(v,S),!s.__e&&(s.shouldComponentUpdate!=null&&s.shouldComponentUpdate(v,s.__s,S)===!1||o.__v===e.__v)){for(o.__v!==e.__v&&(s.props=v,s.state=s.__s,s.__d=!1),o.__e=e.__e,o.__k=e.__k,o.__k.forEach(function(ge){ge&&(ge.__=o)}),M=0;M<s._sb.length;M++)s.__h.push(s._sb[M]);s._sb=[],s.__h.length&&d.push(s);break e}s.componentWillUpdate!=null&&s.componentWillUpdate(v,s.__s,S),w&&s.componentDidUpdate!=null&&s.__h.push(function(){s.componentDidUpdate(m,_,I)})}if(s.context=S,s.props=v,s.__P=t,s.__e=!1,T=b.__r,ut=0,w){for(s.state=s.__s,s.__d=!1,T&&T(o),u=s.render(s.props,s.state,s.context),he=0;he<s._sb.length;he++)s.__h.push(s._sb[he]);s._sb=[]}else do s.__d=!1,T&&T(o),u=s.render(s.props,s.state,s.context),s.state=s.__s;while(s.__d&&++ut<25);s.state=s.__s,s.getChildContext!=null&&(i=V(V({},i),s.getChildContext())),w&&!h&&s.getSnapshotBeforeUpdate!=null&&(I=s.getSnapshotBeforeUpdate(m,_)),It(t,Ue(Ge=u!=null&&u.type===U&&u.key==null?u.props.children:u)?Ge:[Ge],o,e,i,n,r,d,a,p,c),s.base=o.__e,o.__u&=-161,s.__h.length&&d.push(s),g&&(s.__E=s.__=null)}catch(ge){if(o.__v=null,p||r!=null){for(o.__u|=p?160:32;a&&a.nodeType===8&&a.nextSibling;)a=a.nextSibling;r[r.indexOf(a)]=null,o.__e=a}else o.__e=e.__e,o.__k=e.__k;b.__e(ge,o,e)}else r==null&&o.__v===e.__v?(o.__k=e.__k,o.__e=e.__e):o.__e=co(e.__e,o,e,i,n,r,d,p,c);(u=b.diffed)&&u(o)}function St(t,o,e){o.__d=void 0;for(var i=0;i<e.length;i++)ze(e[i],e[++i],e[++i]);b.__c&&b.__c(o,t),t.some(function(n){try{t=n.__h,n.__h=[],t.some(function(r){r.call(n)})}catch(r){b.__e(r,n.__v)}})}function co(t,o,e,i,n,r,d,a,p){var c,u,s,h,m,_,I,g=e.props,v=o.props,w=o.type;if(w==="svg"?n="http://www.w3.org/2000/svg":w==="math"?n="http://www.w3.org/1998/Math/MathML":n||(n="http://www.w3.org/1999/xhtml"),r!=null){for(c=0;c<r.length;c++)if((m=r[c])&&"setAttribute"in m==!!w&&(w?m.localName===w:m.nodeType===3)){t=m,r[c]=null;break}}if(t==null){if(w===null)return document.createTextNode(v);t=document.createElementNS(n,w,v.is&&v),r=null,a=!1}if(w===null)g===v||a&&t.data===v||(t.data=v);else{if(r=r&&Pe.call(t.childNodes),g=e.props||q,!a&&r!=null)for(g={},c=0;c<t.attributes.length;c++)g[(m=t.attributes[c]).name]=m.value;for(c in g)if(m=g[c],c!="children"){if(c=="dangerouslySetInnerHTML")s=m;else if(c!=="key"&&!(c in v)){if(c=="value"&&"defaultValue"in v||c=="checked"&&"defaultChecked"in v)continue;ve(t,c,null,m,n)}}for(c in v)m=v[c],c=="children"?h=m:c=="dangerouslySetInnerHTML"?u=m:c=="value"?_=m:c=="checked"?I=m:c==="key"||a&&typeof m!="function"||g[c]===m||ve(t,c,m,g[c],n);if(u)a||s&&(u.__html===s.__html||u.__html===t.innerHTML)||(t.innerHTML=u.__html),o.__k=[];else if(s&&(t.innerHTML=""),It(t,Ue(h)?h:[h],o,e,i,w==="foreignObject"?"http://www.w3.org/1999/xhtml":n,r,d,r?r[0]:e.__k&&D(e,0),a,p),r!=null)for(c=r.length;c--;)r[c]!=null&&xt(r[c]);a||(c="value",_!==void 0&&(_!==t[c]||w==="progress"&&!_||w==="option"&&_!==g[c])&&ve(t,c,_,g[c],n),c="checked",I!==void 0&&I!==t[c]&&ve(t,c,I,g[c],n))}return t}function ze(t,o,e){try{if(typeof t=="function"){var i=typeof t.__u=="function";i&&t.__u(),i&&o==null||(t.__u=t(o))}else t.current=o}catch(n){b.__e(n,e)}}function Ae(t,o,e){var i,n;if(b.unmount&&b.unmount(t),(i=t.ref)&&(i.current&&i.current!==t.__e||ze(i,null,o)),(i=t.__c)!=null){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(r){b.__e(r,o)}i.base=i.__P=null}if(i=t.__k)for(n=0;n<i.length;n++)i[n]&&Ae(i[n],o,e||typeof t.type!="function");e||t.__e==null||xt(t.__e),t.__c=t.__=t.__e=t.__d=void 0}function po(t,o,e){return this.constructor(t,e)}function f(t,o,e){var i,n,r,d;b.__&&b.__(t,o),n=(i=typeof e=="function")?null:e&&e.__k||o.__k,r=[],d=[],Be(o,t=(!i&&e||o).__k=so(U,null,[t]),n||q,q,o.namespaceURI,!i&&e?[e]:n?null:o.firstChild?Pe.call(o.childNodes):null,r,!i&&e?e:n?n.__e:o.firstChild,i,d),St(r,t,d)}Pe=Pt.slice,b={__e:function(t,o,e,i){for(var n,r,d;o=o.__;)if((n=o.__c)&&!n.__)try{if((r=n.constructor)&&r.getDerivedStateFromError!=null&&(n.setState(r.getDerivedStateFromError(t)),d=n.__d),n.componentDidCatch!=null&&(n.componentDidCatch(t,i||{}),d=n.__d),d)return n.__E=n}catch(a){t=a}throw t}},bt=0,io=function(t){return t!=null&&t.constructor==null},be.prototype.setState=function(t,o){var e;e=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=V({},this.state),typeof t=="function"&&(t=t(V({},e),this.props)),t&&V(e,t),t!=null&&this.__v&&(o&&this._sb.push(o),_t(this))},be.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),_t(this))},be.prototype.render=U,G=[],yt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,De=function(t,o){return t.__v.__b-o.__v.__b},ye.__r=0,$e=0,Oe=wt(!1),Fe=wt(!0),no=0;var uo=0,Fo=Array.isArray;function l(t,o,e,i,n,r){o||(o={});var d,a,p=o;if("ref"in p)for(a in p={},o)a=="ref"?d=o[a]:p[a]=o[a];var c={type:t,props:p,key:e,ref:d,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--uo,__i:-1,__u:0,__source:n,__self:r};if(typeof t=="function"&&(d=t.defaultProps))for(a in d)p[a]===void 0&&(p[a]=d[a]);return b.vnode&&b.vnode(c),c}var B=t=>{let{children:o,orientation:e="horizontal"}=t;return l("div",{className:`deck-widget-button-group ${e}`,children:o})};var O=t=>{let{className:o="",label:e,onClick:i,children:n}=t;return l("button",{className:`deck-widget-icon-button ${o}`,type:"button",onClick:i,title:e,children:n||l("div",{className:"deck-widget-icon"})})};var X=class extends F.Widget{constructor(e={}){super(e);this.className="deck-widget-zoom";this.placement="top-left";this.viewports={};this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let i=l(B,{orientation:this.props.orientation,children:[l(O,{onClick:()=>this.handleZoomIn(),label:this.props.zoomInLabel,className:"deck-widget-zoom-in"}),l(O,{onClick:()=>this.handleZoomOut(),label:this.props.zoomOutLabel,className:"deck-widget-zoom-out"})]});f(i,e)}onViewportChange(e){this.viewports[e.id]=e}handleZoom(e,i){let n=this.viewId||e?.id||"default-view",r={...e,zoom:i};this.props.transitionDuration>0&&(r.transitionDuration=this.props.transitionDuration,r.transitionInterpolator="latitude"in r?new F.FlyToInterpolator:new F.LinearInterpolator({transitionProps:["zoom"]})),this.setViewState(n,r)}handleZoomIn(){for(let e of Object.values(this.viewports))this.handleZoom(e,e.zoom+1)}handleZoomOut(){for(let e of Object.values(this.viewports))this.handleZoom(e,e.zoom-1)}setViewState(e,i){this.deck._onViewStateChange({viewId:e,viewState:i,interactionState:{}})}};X.defaultProps={...F.Widget.defaultProps,id:"zoom",placement:"top-left",orientation:"vertical",transitionDuration:200,zoomInLabel:"Zoom In",zoomOutLabel:"Zoom Out",viewId:null};var qe=y(P(),1);var W=t=>{let{className:o="",label:e,onClick:i,children:n}=t;return l("div",{className:"deck-widget-button",children:l("button",{className:`deck-widget-icon-button ${o}`,type:"button",onClick:i,title:e,children:n||l("div",{className:"deck-widget-icon"})})})};var J=class extends qe.Widget{constructor(e={}){super(e);this.className="deck-widget-reset-view";this.placement="top-left";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(l(W,{className:"deck-widget-reset-focus",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}handleClick(){let e=this.props.initialViewState||this.deck?.props.initialViewState;this.setViewState(e)}setViewState(e){let i=this.props.viewId||"default-view",n={...i!=="default-view"?e?.[i]:e};this.deck._onViewStateChange({viewId:i,viewState:n,interactionState:{}})}};J.defaultProps={...qe.Widget.defaultProps,id:"reset-view",placement:"top-left",label:"Reset View",initialViewState:void 0,viewId:null};var Z=y(P(),1);var K=class extends Z.Widget{constructor(e={}){super(e);this.className="deck-widget-gimbal";this.placement="top-left";this.viewports={};this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let i=this.viewId||Object.values(this.viewports)[0]?.id||"default-view",n=this.viewports[i],{rotationOrbit:r,rotationX:d}=this.getNormalizedRotation(n),a=l("div",{className:"deck-widget-button",style:{perspective:100,pointerEvents:"auto"},children:l("button",{type:"button",onClick:()=>{for(let p of Object.values(this.viewports))this.resetOrbitView(p)},title:this.props.label,style:{position:"relative",width:26,height:26},children:[l("svg",{className:"gimbal-outer-ring",width:"100%",height:"100%",viewBox:"0 0 26 26",style:{position:"absolute",top:0,left:0,transform:`rotateY(${r}deg)`},children:l("circle",{cx:"13",cy:"13",r:"10",stroke:"var(--icon-gimbal-outer-color, rgb(68, 92, 204))",strokeWidth:this.props.strokeWidth,fill:"none"})}),l("svg",{className:"gimbal-inner-ring",width:"100%",height:"100%",viewBox:"0 0 26 26",style:{position:"absolute",top:0,left:0,transform:`rotateX(${d}deg)`},children:l("circle",{cx:"13",cy:"13",r:"7",stroke:"var(--icon-gimbal-inner-color, rgb(240, 92, 68))",strokeWidth:this.props.strokeWidth,fill:"none"})})]})});f(a,e)}onViewportChange(e){this.viewports[e.id]=e,this.updateHTML()}resetOrbitView(e){let i=this.getViewId(e),n=this.getViewState(i);if("rotationOrbit"in n||"rotationX"in n){let r={...n,rotationOrbit:0,rotationX:0,transitionDuration:this.props.transitionDuration,transitionInterpolator:new Z.LinearInterpolator({transitionProps:["rotationOrbit","rotationX"]})};this.deck._onViewStateChange({viewId:i,viewState:r,interactionState:{}})}}getNormalizedRotation(e){let i=this.getViewState(this.getViewId(e)),[n,r]=this.getRotation(i),d=Mt(n),a=Mt(r);return{rotationOrbit:d,rotationX:a}}getRotation(e){return e&&("rotationOrbit"in e||"rotationX"in e)?[-(e.rotationOrbit||0),e.rotationX||0]:[0,0]}getViewId(e){return this.viewId||e?.id||"OrbitView"}getViewState(e){let i=this.getViewManager();return e&&i.getViewState(e)||i.viewState}getViewManager(){let e=this.deck?.viewManager;if(!e)throw new Error("wigdet must be added to a deck instance");return e}};K.defaultProps={...Z.Widget.defaultProps,id:"gimbal",placement:"top-left",viewId:null,label:"Gimbal",strokeWidth:1.5,transitionDuration:200};function Mt(t){let o=((t+180)%360+360)%360-180,e=10,i=o-90;return Math.abs(i)<e&&(i<e?o=90+e:i>-e&&(o=90-e)),o}var E=y(P(),1);var Y=class extends E.Widget{constructor(e={}){super(e);this.className="deck-widget-compass";this.placement="top-left";this.viewports={};this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let i=this.viewId||Object.values(this.viewports)[0]?.id||"default-view",n=this.viewports[i],[r,d]=this.getRotation(n),a=l("div",{className:"deck-widget-button",style:{perspective:100},children:l("button",{type:"button",onClick:()=>{for(let p of Object.values(this.viewports))this.handleCompassReset(p)},title:this.props.label,style:{transform:`rotateX(${d}deg)`},children:l("svg",{fill:"none",width:"100%",height:"100%",viewBox:"0 0 26 26",children:l("g",{transform:`rotate(${r},13,13)`,children:[l("path",{d:"M10 13.0001L12.9999 5L15.9997 13.0001H10Z",fill:"var(--icon-compass-north-color, rgb(240, 92, 68))"}),l("path",{d:"M16.0002 12.9999L13.0004 21L10.0005 12.9999H16.0002Z",fill:"var(--icon-compass-south-color, rgb(204, 204, 204))"})]})})})});f(a,e)}onViewportChange(e){e.equals(this.viewports[e.id])||(this.viewports[e.id]=e,this.updateHTML())}getRotation(e){return e instanceof E.WebMercatorViewport?[-e.bearing,e.pitch]:e instanceof E._GlobeViewport?[0,Math.max(-80,Math.min(80,e.latitude))]:[0,0]}handleCompassReset(e){let i=this.viewId||e.id||"default-view";if(e instanceof E.WebMercatorViewport){let n={...e,bearing:0,...this.getRotation(e)[0]===0?{pitch:0}:{},transitionDuration:this.props.transitionDuration,transitionInterpolator:new E.FlyToInterpolator};this.deck._onViewStateChange({viewId:i,viewState:n,interactionState:{}})}}};Y.defaultProps={...E.Widget.defaultProps,id:"compass",placement:"top-left",viewId:null,label:"Reset Compass",transitionDuration:200};var Xe=y(P(),1);var j=class extends Xe.Widget{constructor(e={}){super(e);this.className="deck-widget-scale";this.placement="bottom-left";this.scaleWidth=10;this.scaleValue=0;this.scaleText="";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){let n=50+this.scaleWidth,r=10;f(l("svg",{className:"deck-widget-scale",width:n,height:30,style:{overflow:"visible",background:"transparent"},onClick:this.handleClick.bind(this),children:[l("text",{x:50+5,y:"10",textAnchor:"end",alignmentBaseline:"middle",style:{fontSize:"16px",fill:"black",fontWeight:"bold",fontFamily:"sans-serif"},children:this.scaleText}),l("line",{x1:50,y1:"15",x2:50+this.scaleWidth,y2:"15",stroke:"black",strokeWidth:"6"}),l("line",{x1:50,y1:"15",x2:50,y2:15-r,stroke:"black",strokeWidth:"6"}),l("line",{x1:50+this.scaleWidth,y1:"15",x2:50+this.scaleWidth,y2:15-r,stroke:"black",strokeWidth:"6"})]}),e)}onViewportChange(e){if(!("latitude"in e))return;let{latitude:i,zoom:n}=e,r=mo(i,n),{candidate:d,candidatePixels:a}=ho(r);this.scaleValue=d,this.scaleWidth=a,d>=1e3?this.scaleText=`${(d/1e3).toFixed(1)} km`:this.scaleText=`${d} m`,this.updateHTML()}handleClick(){}};j.defaultProps={...Xe.Widget.defaultProps,id:"scale",placement:"bottom-left",label:"Scale",viewId:null};function mo(t,o){return 40075016686e-3*Math.cos(t*Math.PI/180)/Math.pow(2,o+8)}function ho(t){let n=150*t,r=Math.floor(Math.log10(n)),d=Math.pow(10,r),a=[1,2,5],p=a[0]*d,c=p/t;for(let u=0;u<a.length;u++){let s=a[u]*d,h=s/t;if(h>=100&&h<=200){p=s,c=h;break}if(h>200){p=u>0?a[u-1]*d:s,c=p/t;break}u===a.length-1&&h<100&&(p=a[0]*d*10,c=p/t)}return{candidate:p,candidatePixels:c}}var je=y(P(),1),Ee=y(P(),1);var Q,x,Je,Tt,ke=0,Gt=[],k=b,Ct=k.__b,Lt=k.__r,Et=k.diffed,Ht=k.__c,Rt=k.unmount,Vt=k.__;function Ze(t,o){k.__h&&k.__h(x,t,ke||o),ke=0;var e=x.__H||(x.__H={__:[],__h:[]});return t>=e.__.length&&e.__.push({}),e.__[t]}function A(t){return ke=1,go(Ot,t)}function go(t,o,e){var i=Ze(Q++,2);if(i.t=t,!i.__c&&(i.__=[e?e(o):Ot(void 0,o),function(a){var p=i.__N?i.__N[0]:i.__[0],c=i.t(p,a);p!==c&&(i.__N=[c,i.__[1]],i.__c.setState({}))}],i.__c=x,!x.u)){var n=function(a,p,c){if(!i.__c.__H)return!0;var u=i.__c.__H.__.filter(function(h){return!!h.__c});if(u.every(function(h){return!h.__N}))return!r||r.call(this,a,p,c);var s=!1;return u.forEach(function(h){if(h.__N){var m=h.__[0];h.__=h.__N,h.__N=void 0,m!==h.__[0]&&(s=!0)}}),!(!s&&i.__c.props===a)&&(!r||r.call(this,a,p,c))};x.u=!0;var r=x.shouldComponentUpdate,d=x.componentWillUpdate;x.componentWillUpdate=function(a,p,c){if(this.__e){var u=r;r=void 0,n(a,p,c),r=u}d&&d.call(this,a,p,c)},x.shouldComponentUpdate=n}return i.__N||i.__}function Ie(t,o){var e=Ze(Q++,3);!k.__s&&Dt(e.__H,o)&&(e.__=t,e.i=o,x.__H.__h.push(e))}function $(t){return ke=5,fo(function(){return{current:t}},[])}function fo(t,o){var e=Ze(Q++,7);return Dt(e.__H,o)&&(e.__=t(),e.__H=o,e.__h=t),e.__}function _o(){for(var t;t=Gt.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(xe),t.__H.__h.forEach(Ke),t.__H.__h=[]}catch(o){t.__H.__h=[],k.__e(o,t.__v)}}k.__b=function(t){x=null,Ct&&Ct(t)},k.__=function(t,o){t&&o.__k&&o.__k.__m&&(t.__m=o.__k.__m),Vt&&Vt(t,o)},k.__r=function(t){Lt&&Lt(t),Q=0;var o=(x=t.__c).__H;o&&(Je===x?(o.__h=[],x.__h=[],o.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(o.__h.forEach(xe),o.__h.forEach(Ke),o.__h=[],Q=0)),Je=x},k.diffed=function(t){Et&&Et(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(Gt.push(o)!==1&&Tt===k.requestAnimationFrame||((Tt=k.requestAnimationFrame)||vo)(_o)),o.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),Je=x=null},k.__c=function(t,o){o.some(function(e){try{e.__h.forEach(xe),e.__h=e.__h.filter(function(i){return!i.__||Ke(i)})}catch(i){o.some(function(n){n.__h&&(n.__h=[])}),o=[],k.__e(i,e.__v)}}),Ht&&Ht(t,o)},k.unmount=function(t){Rt&&Rt(t);var o,e=t.__c;e&&e.__H&&(e.__H.__.forEach(function(i){try{xe(i)}catch(n){o=n}}),e.__H=void 0,o&&k.__e(o,e.__v))};var Nt=typeof requestAnimationFrame=="function";function vo(t){var o,e=function(){clearTimeout(i),Nt&&cancelAnimationFrame(o),setTimeout(t)},i=setTimeout(e,100);Nt&&(o=requestAnimationFrame(e))}function xe(t){var o=x,e=t.__c;typeof e=="function"&&(t.__c=void 0,e()),x=o}function Ke(t){var o=x;t.__c=t.__(),x=o}function Dt(t,o){return!t||t.length!==o.length||o.some(function(e,i){return e!==t[i]})}function Ot(t,o){return typeof o=="function"?o(t):o}var We=t=>{let[o,e]=A(!1),i=$(null),n=()=>e(!o),r=a=>{i.current&&!i.current.contains(a.target)&&e(!1)};Ie(()=>(document.addEventListener("mousedown",r),()=>{document.removeEventListener("mousedown",r)}),[]);let d=a=>{t.onSelect(a),e(!1)};return l("div",{className:"dropdown-container",ref:i,style:{position:"relative",display:"inline-block",...t.style},children:[l("button",{onClick:n,style:{width:"30px",height:"30px",display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid #ccc",borderRadius:"4px",background:"#fff",cursor:"pointer",padding:0},children:"\u25BC"}),o&&l("ul",{style:{position:"absolute",top:"100%",right:"100%",background:"#fff",border:"1px solid #ccc",borderRadius:"4px",listStyle:"none",padding:"4px 0",margin:0,zIndex:1e3,minWidth:"200px"},children:t.menuItems.map(a=>l("li",{onClick:()=>d(a),style:{padding:"4px 8px",cursor:"pointer",whiteSpace:"nowrap"},children:a},a))})]})};var wo="current",Ft="deck-geocoder-history",Se=class{constructor(o){this.addressText="";this.errorText="";this.addressHistory=[];this.props={maxEntries:5,...o},this.addressHistory=this.loadPreviousAddresses()}async geocode(o,e,i){this.errorText="",this.addressText=e;try{let n=await o.geocode(e,i);if(n)return this.storeAddress(this.addressText),n;this.errorText="Invalid address"}catch(n){this.errorText=`${n.message}`}return null}loadPreviousAddresses(){try{let o=window.localStorage.getItem(Ft),e=o&&JSON.parse(o);return Array.isArray(e)?e.filter(n=>typeof n=="string"):[]}catch{}return[]}storeAddress(o){let e=o.trim();if(!e||e===wo)return;let i=[e,...this.addressHistory.filter(n=>n!==e)];this.addressHistory=i.slice(0,this.props.maxEntries);try{window.localStorage.setItem(Ft,JSON.stringify(this.addressHistory))}catch{}}};var bo="https://maps.googleapis.com/maps/api/geocode/json",yo="https://api.mapbox.com/geocoding/v5/mapbox.places",Po="https://api.opencagedata.com/geocode/v1/json",Me={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),i=await Ye(`${bo}?address=${e}&key=${o}`);switch(i.status){case"OK":let n=i.results.length>0&&i.results[0].geometry.location;return n?{longitude:n.lng,latitude:n.lat}:null;default:throw new Error(`Google Geocoder failed: ${i.status}`)}}},Te={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),i=await Ye(`${yo}/${e}.json?access_token=${o}`);if(Array.isArray(i.features)&&i.features.length>0){let n=i.features[0].center;if(Array.isArray(n)&&n.length>=2)return{longitude:n[0],latitude:n[1]}}return null}},Ce={name:"opencage",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),i=await Ye(`${Po}?q=${e}&key=${o}`);if(Array.isArray(i.results)&&i.results.length>0){let n=i.results[0].geometry;return{longitude:n.lng,latitude:n.lat}}return null}},Le={name:"current",requiresApiKey:!1,async geocode(){if(!navigator.geolocation)throw new Error("Geolocation not supported");return new Promise((t,o)=>{navigator.geolocation.getCurrentPosition(e=>{let{longitude:i,latitude:n}=e.coords;t({longitude:i,latitude:n})},e=>o(new Error(e.message)))})}};async function Ye(t){let o;try{o=await fetch(t)}catch(i){throw new Error(`CORS error? ${i}. ${t}: `)}if(!o.ok)throw new Error(`${o.statusText}. ${t}: `);let e=await o.json();if(!e)throw new Error(`No data returned. ${t}`);return e}var z={name:"coordinates",requiresApiKey:!1,placeholderLocation:"-122.45, 37.8 or 37\xB048'N, 122\xB027'W",async geocode(t){return xo(t)||null}};function xo(t){t=t.trim();let o=t.split(/[,;]/).map(n=>n.trim());if(o.length<2)return null;let e=At(o[0]),i=At(o[1]);return e===null||i===null?null:Math.abs(e)>90&&Math.abs(i)<=90?{longitude:e,latitude:i}:Math.abs(i)>90&&Math.abs(e)<=90?{longitude:i,latitude:e}:{latitude:e,longitude:i}}function At(t){if(t=t.trim(),t.includes("\xB0")||t.includes("'")||t.includes('"')){let i=ko(t);return isNaN(i)?null:i}let o=1;/[SW]/i.test(t)&&(o=-1),t=t.replace(/[NSEW]/gi,"");let e=parseFloat(t);return isNaN(e)?null:o*e}function ko(t){let o=/(\d+)[°d]\s*(\d+)?['′m]?\s*(\d+(?:\.\d+)?)?[\"″s]?\s*([NSEW])?/i,e=t.match(o);if(!e)return NaN;let i=parseFloat(e[1])||0,n=parseFloat(e[2])||0,r=parseFloat(e[3])||0,d=e[4]||"",a=i+n/60+r/3600;return/[SW]/i.test(d)&&(a=-a),a}var $t="current",ee=class extends je.Widget{constructor(e={}){super(e);this.className="deck-widget-geocoder";this.placement="top-left";this.geocodeHistory=new Se({});this.addressText="";this.geocoder=z;this.setInput=e=>{this.addressText=e};this.handleKeyPress=e=>{e.key==="Enter"&&this.handleSubmit()};this.handleSelect=e=>{this.setInput(e),this.handleSubmit()};this.handleSubmit=()=>{this.geocode(this.addressText)};this.geocode=async e=>{let n=this.props._geolocation&&e===$t?Le:this.geocoder,r=await this.geocodeHistory.geocode(n,this.addressText,this.props.apiKey);r&&this.setViewState(r)};this.viewports={};this.setProps(this.props)}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,this.geocoder=Io(this.props),this.geocoder.requiresApiKey&&!this.props.apiKey)throw new Error(`API key is required for the ${this.geocoder.name} geocoder`);super.setProps(e)}onRenderHTML(e){let i=this.props._geolocation?[$t,...this.geocodeHistory.addressHistory]:[...this.geocodeHistory.addressHistory];f(l("div",{className:"deck-widget-geocoder",style:{pointerEvents:"auto",display:"flex",alignItems:"center",flexWrap:"wrap"},children:[l("input",{type:"text",placeholder:this.geocoder.placeholderLocation??"Enter address or location",value:this.geocodeHistory.addressText,onInput:n=>this.setInput(n.target?.value||""),onKeyPress:this.handleKeyPress,style:{flex:"1 1 auto",minWidth:"200px",margin:0,padding:"8px",boxSizing:"border-box"}}),l(We,{menuItems:i,onSelect:this.handleSelect,style:{margin:2,padding:"4px 2px",boxSizing:"border-box"}}),this.geocodeHistory.errorText&&l("div",{className:"error",children:this.geocodeHistory.errorText})]}),e)}setViewState(e){let i=this.props.viewId||e?.id||"default-view",r={...this.viewports[i]||{},...e};this.props.transitionDuration>0&&(r.transitionDuration=this.props.transitionDuration,r.transitionInterpolator="latitude"in r?new Ee.FlyToInterpolator:new Ee.LinearInterpolator),this.deck._onViewStateChange({viewId:i,viewState:r,interactionState:{}})}onViewportChange(e){this.viewports[e.id]=e}};ee.defaultProps={...je.Widget.defaultProps,id:"geocoder",viewId:null,placement:"top-left",label:"Geocoder",transitionDuration:200,geocoder:"coordinates",customGeocoder:z,apiKey:"",_geolocation:!1};function Io(t){switch(t.geocoder){case"google":return Me;case"mapbox":return Te;case"opencage":return Ce;case"coordinates":return z;case"custom":if(!t.customGeocoder)throw new Error("Custom geocoder is not defined");return t.customGeocoder;default:throw new Error(`Unknown geocoder: ${t.geocoder}`)}}var oe=y(P(),1);var te=class extends oe.Widget{constructor(e={}){super(e);this.className="deck-widget-fullscreen";this.placement="top-left";this.fullscreen=!1;this.setProps(this.props)}onAdd(){document.addEventListener("fullscreenchange",this.onFullscreenChange.bind(this))}onRemove(){document.removeEventListener("fullscreenchange",this.onFullscreenChange.bind(this))}onRenderHTML(e){f(l(W,{onClick:()=>{this.handleClick().catch(i=>oe.log.error(i)())},label:this.fullscreen?this.props.exitLabel:this.props.enterLabel,className:this.fullscreen?"deck-widget-fullscreen-exit":"deck-widget-fullscreen-enter"}),e)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}getContainer(){return this.props.container||this.deck?.getCanvas()?.parentElement}onFullscreenChange(){let e=this.fullscreen,i=document.fullscreenElement===this.getContainer();e!==i&&(this.fullscreen=!this.fullscreen),this.updateHTML()}async handleClick(){this.fullscreen?await this.exitFullscreen():await this.requestFullscreen(),this.updateHTML()}async requestFullscreen(){let e=this.getContainer();e?.requestFullscreen?await e.requestFullscreen({navigationUI:"hide"}):this.togglePseudoFullscreen()}async exitFullscreen(){document.exitFullscreen?await document.exitFullscreen():this.togglePseudoFullscreen()}togglePseudoFullscreen(){this.getContainer()?.classList.toggle("deck-pseudo-fullscreen")}};te.defaultProps={...oe.Widget.defaultProps,id:"fullscreen",placement:"top-left",viewId:null,enterLabel:"Enter Fullscreen",exitLabel:"Exit Fullscreen",container:void 0};var Qe=y(P(),1);var ie=class extends Qe.Widget{constructor(e){super(e);this.className="deck-widget-splitter";this.placement="fill"}setProps(e){super.setProps(e)}onRenderHTML(e){e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.margin="0px",f(l(Wo,{orientation:this.props.orientation,initialSplit:this.props.initialSplit,onChange:this.props.onChange,onDragStart:this.props.onDragStart,onDragEnd:this.props.onDragEnd}),e)}};ie.defaultProps={...Qe.Widget.defaultProps,id:"splitter-widget",viewId1:"",viewId2:"",orientation:"vertical",initialSplit:.5,onChange:()=>{},onDragStart:()=>{},onDragEnd:()=>{}};function Wo({orientation:t,initialSplit:o,onChange:e,onDragStart:i,onDragEnd:n}){let[r,d]=A(o),a=$(!1),p=$(null),c=_=>{a.current=!0,i?.(),document.addEventListener("mousemove",u),document.addEventListener("mouseup",s),_.preventDefault()},u=_=>{if(!a.current||!p.current)return;let I=p.current.getBoundingClientRect(),g;t==="vertical"?g=(_.clientX-I.left)/I.width:g=(_.clientY-I.top)/I.height,g=Math.min(Math.max(g,.05),.95),d(g),e?.(g)},s=_=>{a.current&&(a.current=!1,n?.(),document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",s))},h=t==="vertical"?{position:"absolute",top:0,bottom:0,left:`${r*100}%`,width:"4px",cursor:"col-resize",background:"#ccc",zIndex:10,pointerEvents:"auto",boxShadow:"inset -1px 0 0 white, inset 1px 0 0 white"}:{position:"absolute",left:0,right:0,top:`${r*100}%`,height:"4px",cursor:"row-resize",background:"#ccc",zIndex:10,pointerEvents:"auto",boxShadow:"inset -1px 0 0 white, inset 1px 0 0 white"};return l("div",{ref:p,style:{position:"absolute",top:0,left:0,right:0,bottom:0},children:l("div",{style:h,onMouseDown:c})})}var ot=y(P(),1);function He(t){let[o,e]=A(!1),i=$(null),n=h=>{i.current&&!i.current.contains(h.target)&&e(!1)};Ie(()=>(document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}),[i]);let[r,d]=A(t.initialItem),a=h=>{d(h),e(!1),t.onItemSelected(h)},p=()=>e(!o),c=t.menuItems.find(h=>h.value===r),u=t.label||c?.label||"",s=t.icon||c?.icon;return l("div",{style:{position:"relative",display:"inline-block"},ref:i,children:[l(W,{className:t.className,label:u,onClick:p,children:s}),o&&l("div",{className:"deck-widget-icon-menu",children:l(B,{orientation:"vertical",children:t.menuItems.map(h=>l(O,{label:h.label,onClick:()=>a(h.value),children:h.icon},h.value))})})]})}var ne=class extends ot.Widget{constructor(e={}){super(e);this.className="deck-widget-view-selector";this.placement="top-left";this.handleSelectMode=e=>{this.viewMode=e,this.updateHTML(),this.props.onViewModeChange(e)};this.viewMode=this.props.initialViewMode,this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(l(He,{className:"deck-widget-view-selector",menuItems:So.map(i=>({...i,icon:i.icon()})),initialItem:this.props.initialViewMode,onItemSelected:this.handleSelectMode}),e)}};ne.defaultProps={...ot.Widget.defaultProps,id:"view-selector",placement:"top-left",viewId:null,label:"Split View",initialViewMode:"single",onViewModeChange:()=>{}};var et={width:"24px",height:"24px"},tt={single:()=>l("svg",{width:"24",height:"24",style:et,children:l("rect",{x:"4",y:"4",width:"16",height:"16",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"})}),"split-horizontal":()=>l("svg",{width:"24",height:"24",style:et,children:[l("rect",{x:"4",y:"4",width:"16",height:"7",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"}),l("rect",{x:"4",y:"13",width:"16",height:"7",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"})]}),"split-vertical":()=>l("svg",{width:"24",height:"24",style:et,children:[l("rect",{x:"4",y:"4",width:"7",height:"16",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"}),l("rect",{x:"13",y:"4",width:"7",height:"16",stroke:"var(--button-icon-hover, rgb(24, 24, 26))",fill:"none",strokeWidth:"2"})]})},So=[{value:"single",icon:tt.single,label:"Single View"},{value:"split-horizontal",icon:tt["split-horizontal"],label:"Split Horizontal"},{value:"split-vertical",icon:tt["split-vertical"],label:"Split Vertical"}];var it=y(P(),1);var re=class extends it.Widget{constructor(e){super(e);this.className="deck-widget-info";this.placement="fill";this.setProps(this.props)}setProps(e){this.viewId=e.viewId??this.viewId,super.setProps(e)}onCreateRootElement(){let e=super.onCreateRootElement();return Object.entries({margin:"0px",top:"0px",left:"0px",position:"absolute"}).forEach(([n,r])=>e.style.setProperty(n,r)),e}onViewportChange(e){this.viewport=e,this.updateHTML()}onHover(e){if(this.props.mode==="hover"&&this.props.getTooltip){let i=this.props.getTooltip(e,this);this.setProps({visible:i!==null,...i,style:{zIndex:"1",...i?.style}})}}onClick(e){if(this.props.mode==="click"&&this.props.getTooltip){let i=this.props.getTooltip(e,this);return this.setProps({visible:i!==null,...i}),i!==null}return this.props.onClick?.(this,e)||!1}onAdd({deck:e,viewId:i}){this.deck=e,i?this.viewport=e.getViewports().find(n=>n.id===i):this.viewport=e.getViewports()[0]}onRenderHTML(e){if(!this.viewport)return;let[i,n]=this.props.position,[r,d]=this.viewport.project([i,n]),a=this.props.minOffset||0,p=10,c=8,u=16,s=d>this.viewport.height/2,h=this.props.style&&this.props.style.background||"rgba(255,255,255,0.9)",m=this.props.visible?l("div",{className:"popup-container",style:{position:"absolute",left:0,top:0},children:[l("div",{className:"popup-content",style:{background:h,padding:"10px",position:"relative",...this.props.style},children:this.props.text}),l("div",{className:"popup-arrow",style:{position:"absolute",width:"0px",height:"0px"}})]}):null;f(m,e),requestAnimationFrame(()=>{if(!this.props.visible||!e.firstChild||!this.viewport)return;let _=e.firstChild,I=_.querySelector(".popup-content"),g=_.querySelector(".popup-arrow");if(!I||!g)return;let v=I.getBoundingClientRect(),w=v.width,H=v.height,S=r-w/2,M;s?M=d-p-c-H:M=d+p+c,S<a&&(S=a),S+w>this.viewport.width-a&&(S=this.viewport.width-a-w),s?M<a&&(M=a):M+H+c>this.viewport.height-a&&(M=this.viewport.height-a-H-c),_.style.left=`${S}px`,_.style.top=`${M}px`,_.style.transform="";let T=r-S-u/2;T=Math.max(T,0),T=Math.min(T,w-u),s?(g.style.left=`${T}px`,g.style.bottom=`-${c}px`,g.style.top="",g.style.borderLeft=`${u/2}px solid transparent`,g.style.borderRight=`${u/2}px solid transparent`,g.style.borderTop=`${c}px solid ${h}`,g.style.borderBottom=""):(g.style.left=`${T}px`,g.style.top=`-${c}px`,g.style.bottom="",g.style.borderLeft=`${u/2}px solid transparent`,g.style.borderRight=`${u/2}px solid transparent`,g.style.borderBottom=`${c}px solid ${h}`,g.style.borderTop="")})}};re.defaultProps={...it.Widget.defaultProps,id:"info",position:[0,0],text:"",visible:!1,minOffset:0,viewId:null,mode:"hover",getTooltip:void 0,onClick:void 0};var nt=y(P(),1);var Mo={position:"absolute",top:"100%",left:0,background:"white",border:"1px solid #ccc",borderRadius:"4px",marginTop:"var(--menu-gap, 4px)",zIndex:100},To={background:"white",border:"none",padding:"4px",cursor:"pointer",pointerEvents:"auto"},Re=t=>{let{menuItems:o,onItemSelected:e,position:i,style:n}=t,r={...Mo,...n,left:`${i.x}px`,top:`${i.y}px`};return l("div",{style:r,children:o.map(({key:d,label:a})=>l("button",{style:{...To,display:"block"},onClick:p=>e(d),children:a},d))})};var Co=2,Lo=3,se=class extends nt.Widget{constructor(e){super(e);this.className="deck-widget-context-menu";this.placement="fill";this.pickInfo=null;this.pickInfo=null,this.setProps(this.props)}onAdd({deck:e}){let i=document.createElement("div");return i.classList.add("deck-widget","deck-widget-context-menu"),Object.entries({margin:"0px",top:"0px",left:"0px",position:"absolute",pointerEvents:"auto"}).forEach(([r,d])=>i.style.setProperty(r,d)),e.getCanvas()?.addEventListener("click",()=>this.hide()),e.getCanvas()?.addEventListener("contextmenu",r=>this.handleContextMenu(r)),i}onRenderHTML(e){let{visible:i,position:n,menuItems:r}=this.props,d=i&&r.length?l(Re,{menuItems:r,onItemSelected:a=>this.props.onMenuItemSelected(a,this.pickInfo),position:n,style:{pointerEvents:"auto"}}):null;f(d,e)}handleContextMenu(e){if(e&&(e.button===Co||e.which===Lo)){this.pickInfo=this.deck?.pickObject({x:e.clientX,y:e.clientY})||null;let i=this.pickInfo&&this.props.getMenuItems?.(this.pickInfo,this)||[],n=i.length>0;return this.setProps({visible:n,position:{x:e.clientX,y:e.clientY},menuItems:i}),this.updateHTML(),e.preventDefault(),n}return!1}hide(){this.setProps({visible:!1})}};se.defaultProps={...nt.Widget.defaultProps,id:"context",viewId:null,visible:!1,position:{x:0,y:0},getMenuItems:void 0,menuItems:[],onMenuItemSelected:(e,i)=>console.log("Context menu item selected:",e,i)};var rt=y(P(),1);var ae=class extends rt.Widget{constructor(e={}){super(e);this.id="timeline";this.className="deck-widget-timeline";this.placement="bottom-left";this.playing=!1;this.timerId=null;this.handlePlayPause=()=>{this.playing?this.stop():this.start()};this.handleSliderChange=e=>{let i=e.target,n=Number(i.value);this.currentTime=n,this.props.onTimeChange(n),this.updateHTML()};this.tick=()=>{let[e,i]=this.props.timeRange,n=this.currentTime+this.props.step;n>i&&(n=e),this.currentTime=n,this.props.onTimeChange(n),this.updateHTML(),this.playing&&(this.timerId=window.setTimeout(this.tick,this.props.playInterval))};this.currentTime=this.props.initialTime??this.props.timeRange[0],this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd(){this.playing=!1,this.timerId=null}onRemove(){this.stop()}onRenderHTML(e){f(l("div",{style:{display:"flex",alignItems:"center",pointerEvents:"auto"},children:[l(W,{label:this.playing?"Pause":"Play",onClick:this.handlePlayPause,children:l("div",{className:"text",children:this.playing?"\u23F8":"\u25B6"})}),l("input",{type:"range",className:"timeline-slider",min:this.props.timeRange[0],max:this.props.timeRange[1],step:this.props.step,value:this.currentTime,onInput:this.handleSliderChange})]}),e)}start(){this.playing=!0,this.updateHTML(),this.tick()}stop(){this.playing=!1,this.timerId!==null&&(window.clearTimeout(this.timerId),this.timerId=null),this.updateHTML()}};ae.defaultProps={...rt.Widget.defaultProps,id:"timeline",placement:"bottom-left",viewId:null,timeRange:[0,100],step:1,initialTime:void 0,onTimeChange:()=>{},playInterval:1e3};var st=y(P(),1);var le=class extends st.Widget{constructor(e={}){super(e);this.className="deck-widget-screenshot";this.placement="top-left";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(l(W,{className:"deck-widget-camera",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}handleClick(){if(this.props.onCapture){this.props.onCapture(this);return}let e=this.captureScreenToDataURL(this.props.imageFormat);e&&this.downloadDataURL(e,this.props.filename)}captureScreenToDataURL(e){return this.deck?.getCanvas()?.toDataURL(e)}downloadDataURL(e,i){let n=document.createElement("a");n.href=e,n.download=i,n.click()}};le.defaultProps={...st.Widget.defaultProps,id:"screenshot",placement:"top-left",viewId:null,label:"Screenshot",filename:"screenshot.png",imageFormat:"image/png",onCapture:void 0};var N=y(P(),1),at=y(P(),1);var Ut={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"#fff","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)","--button-text":"rgb(24, 24, 26, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(204, 204, 204)","--menu-gap":"4px"},Bt={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"rgba(18, 18, 20, 1)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)","--button-text":"rgb(215, 214, 229, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(200, 199, 209)","--menu-gap":"4px"},Ve={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"rgba(255, 255, 255, 0.6)","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"1px solid rgba(255, 255, 255, 0.6)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)","--button-text":"rgb(24, 24, 26, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(204, 204, 204)","--menu-gap":"4px"},Ne={"--widget-margin":"12px","--button-size":"28px","--button-corner-radius":"8px","--button-background":"rgba(18, 18, 20, 0.75)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"1px solid rgba(18, 18, 20, 0.75)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)","--button-text":"rgb(215, 214, 229, 1)","--icon-compass-north-color":"rgb(240, 92, 68)","--icon-compass-south-color":"rgb(200, 199, 209)","--menu-gap":"4px"};var de=class extends at.Widget{constructor(e={}){super(e);this.className="deck-widget-theme";this.placement="top-left";this.themeMode="dark";this.themeMode=this._getInitialThemeMode(),this.setProps(this.props)}setProps(e){let{lightModeTheme:i,darkModeTheme:n}=this.props;switch(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e),this.themeMode){case"light":e.lightModeTheme&&!(0,N._deepEqual)(e.lightModeTheme,i,1)&&this._setThemeMode("light");break;case"dark":e.darkModeTheme&&!(0,N._deepEqual)(e.darkModeTheme,n,1)&&this._setThemeMode("dark");break;default:N.log.warn(`Invalid theme mode ${this.themeMode}`)()}}onRenderHTML(e){let{lightModeLabel:i,darkModeLabel:n}=this.props;f(l(W,{onClick:this._handleClick.bind(this),label:this.themeMode==="dark"?n:i,className:this.themeMode==="dark"?"deck-widget-moon":"deck-widget-sun"}),e)}onAdd(){this._setThemeMode(this.themeMode)}_handleClick(){let e=this.themeMode==="dark"?"light":"dark";this._setThemeMode(e)}_setThemeMode(e){this.themeMode=e;let i=this.rootElement?.closest(".deck-widget-container");if(i){let n=e==="dark"?this.props.darkModeTheme:this.props.lightModeTheme;(0,N._applyStyles)(i,n);let r=this.themeMode==="dark"?this.props.darkModeLabel:this.props.lightModeLabel;N.log.log(1,`Switched theme to ${r}`,n)(),this.updateHTML()}}_getInitialThemeMode(){let{initialThemeMode:e}=this.props;return e==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}};de.defaultProps={...at.Widget.defaultProps,id:"theme",placement:"top-left",viewId:null,lightModeLabel:"Light Mode",lightModeTheme:Ve,darkModeLabel:"Dark Mode",darkModeTheme:Ne,initialThemeMode:"auto"};var lt=y(P(),1);var ce=class extends lt.Widget{constructor(e={}){super(e);this.className="deck-widget-loading";this.placement="top-left";this.loading=!0;this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onRenderHTML(e){f(this.loading&&l(W,{className:"deck-widget-spinner",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}onRedraw({layers:e}){let i=e.some(n=>!n.isLoaded);i!==this.loading&&(this.loading=i,this.updateHTML())}handleClick(){}};ce.defaultProps={...lt.Widget.defaultProps,id:"loading",placement:"top-left",viewId:null,label:"Loading layer data"};var dt=y(P(),1);var pe=class extends dt.Widget{constructor(e={}){super(e);this.className="deck-widget-fps";this.placement="top-left";this._lastFps=-1;this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd({}){this._lastFps=this._getFps(),requestAnimationFrame(()=>this._animate())}onRenderHTML(e){let i=this._getFps();f(l(W,{children:l("div",{className:"text",children:["FPS",l("br",{}),i]})}),e)}_animate(){let e=this._getFps();this._lastFps!==e&&(this._lastFps=e,this.updateHTML()),requestAnimationFrame(()=>this._animate())}_getFps(){return Math.round(this.deck?.metrics.fps??0)}};pe.defaultProps={...dt.Widget.defaultProps,id:"fps",placement:"top-left",viewId:null};var ct=y(P(),1),Kt=y(qt(),1);var Eo="\u25B6",Ho="\u2B07",pt=t=>`${t.name}: ${t.count}`;function Xt(t){return t<1e3?`${t.toFixed(2)}ms`:`${(t/1e3).toFixed(2)}s`}function Ro(t){return`${(t/1e6).toFixed(1)} MB`}var Jt={count:pt,averageTime:t=>`${t.name}: ${Xt(t.getAverageTime())}`,totalTime:t=>`${t.name}: ${Xt(t.time)}`,fps:t=>`${t.name}: ${Math.round(t.getHz())}fps`,memory:t=>`${t.name}: ${Ro(t.count)}`},ue=class extends ct.Widget{constructor(e={}){super(e);this.className="deck-widget-stats";this.placement="top-left";this._counter=0;this.collapsed=!0;this._toggleCollapsed=()=>{this.collapsed=!this.collapsed,this.updateHTML()};this._formatters={...Jt},this._resetOnUpdate={...this.props.resetOnUpdate},this._stats=this.props.stats,this.setProps(e)}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,this._stats=this._getStats(),e.formatters)for(let i in e.formatters){let n=e.formatters[i];this._formatters[i]=typeof n=="string"?Jt[n]||pt:n}e.resetOnUpdate&&(this._resetOnUpdate={...e.resetOnUpdate}),super.setProps(e)}onAdd(){this._stats=this._getStats(),this.updateHTML()}onRenderHTML(e){let i=this._stats,n=this.collapsed,r=this.props.title||i?.id||"Stats",d=[];!n&&i&&i.forEach(a=>{let p=this._getLines(a);this._resetOnUpdate&&this._resetOnUpdate[a.name]&&a.reset(),p.forEach((c,u)=>{d.push(l("div",{style:{whiteSpace:"pre"},children:c},`${a.name}-${u}`))})}),f(l("div",{className:"deck-widget-stats-container",style:{cursor:"default"},children:[l("div",{className:"deck-widget-stats-header",style:{cursor:"pointer",pointerEvents:"auto"},onClick:this._toggleCollapsed,children:[n?Eo:Ho," ",r]}),!n&&l("div",{className:"deck-widget-stats-content",children:d})]}),e)}onRedraw(){let e=Math.max(1,this.props.framesPerUpdate||1);this._counter++%e===0&&(this._stats=this._getStats(),this.updateHTML())}_getStats(){switch(this.props.type){case"deck":return this.deck?.stats;case"luma":return Array.from(Kt.luma.stats.stats.values())[0];case"device":let i=this.deck?.device?.statsManager.stats.values();return i?Array.from(i)[0]:void 0;case"custom":return this.props.stats;default:throw new Error(`Unknown stats type: ${this.props.type}`)}}_getLines(e){return(this._formatters[e.name]||this._formatters[e.type||""]||pt)(e).split(`
8
+ `)}};ue.defaultProps={...ct.Widget.defaultProps,type:"deck",placement:"top-left",viewId:null,stats:void 0,title:"Stats",framesPerUpdate:1,formatters:{},resetOnUpdate:{},id:"stats"};return oo(me);})();
9
9
  return __exports__;
10
10
  });
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "UI widgets for deck.gl",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
- "version": "9.2.0-beta.4",
6
+ "version": "9.2.1",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -48,5 +48,5 @@
48
48
  "@deck.gl/core": "^9.1.0",
49
49
  "@luma.gl/core": "^9.1.9"
50
50
  },
51
- "gitHead": "33a6d99157900066f8f4d4daa9c3bd2053cd25df"
51
+ "gitHead": "d8eba25f9de14b73984192156bc12d291f749716"
52
52
  }
@@ -32,7 +32,7 @@ export class CompassWidget extends Widget<CompassWidgetProps> {
32
32
  viewports: {[id: string]: Viewport} = {};
33
33
 
34
34
  constructor(props: CompassWidgetProps = {}) {
35
- super(props, CompassWidget.defaultProps);
35
+ super(props);
36
36
  this.setProps(this.props);
37
37
  }
38
38
 
@@ -52,7 +52,7 @@ export class ContextMenuWidget extends Widget<ContextMenuWidgetProps> {
52
52
  pickInfo: PickingInfo | null = null;
53
53
 
54
54
  constructor(props: ContextMenuWidgetProps) {
55
- super(props, ContextMenuWidget.defaultProps);
55
+ super(props);
56
56
  this.pickInfo = null;
57
57
  this.setProps(this.props);
58
58
  }
@@ -32,7 +32,7 @@ export class FpsWidget extends Widget<FpsWidgetProps> {
32
32
  private _lastFps: number = -1;
33
33
 
34
34
  constructor(props: FpsWidgetProps = {}) {
35
- super(props, FpsWidget.defaultProps);
35
+ super(props);
36
36
  this.setProps(this.props);
37
37
  }
38
38
 
@@ -42,7 +42,7 @@ export class FullscreenWidget extends Widget<FullscreenWidgetProps> {
42
42
  fullscreen: boolean = false;
43
43
 
44
44
  constructor(props: FullscreenWidgetProps = {}) {
45
- super(props, FullscreenWidget.defaultProps);
45
+ super(props);
46
46
  this.setProps(this.props);
47
47
  }
48
48
 
@@ -68,7 +68,7 @@ export class GeocoderWidget extends Widget<GeocoderWidgetProps> {
68
68
  geocoder: Geocoder = CoordinatesGeocoder;
69
69
 
70
70
  constructor(props: GeocoderWidgetProps = {}) {
71
- super(props, GeocoderWidget.defaultProps);
71
+ super(props);
72
72
  this.setProps(this.props);
73
73
  }
74
74
 
@@ -34,7 +34,7 @@ export class GimbalWidget extends Widget<GimbalWidgetProps> {
34
34
  viewports: {[id: string]: Viewport} = {};
35
35
 
36
36
  constructor(props: GimbalWidgetProps = {}) {
37
- super(props, GimbalWidget.defaultProps);
37
+ super(props);
38
38
  this.setProps(this.props);
39
39
  }
40
40
 
@@ -44,7 +44,7 @@ export class InfoWidget extends Widget<InfoWidgetProps> {
44
44
  viewport?: Viewport;
45
45
 
46
46
  constructor(props: InfoWidgetProps) {
47
- super(props, InfoWidget.defaultProps);
47
+ super(props);
48
48
  this.setProps(this.props);
49
49
  }
50
50
 
@@ -34,7 +34,7 @@ export class LoadingWidget extends Widget<LoadingWidgetProps> {
34
34
  loading = true;
35
35
 
36
36
  constructor(props: LoadingWidgetProps = {}) {
37
- super(props, LoadingWidget.defaultProps);
37
+ super(props);
38
38
  this.setProps(this.props);
39
39
  }
40
40
 
@@ -40,7 +40,7 @@ export class ResetViewWidget<ViewsT extends ViewOrViews = null> extends Widget<
40
40
  placement: WidgetPlacement = 'top-left';
41
41
 
42
42
  constructor(props: ResetViewWidgetProps<ViewsT> = {}) {
43
- super(props, ResetViewWidget.defaultProps as Required<ResetViewWidgetProps<ViewsT>>);
43
+ super(props);
44
44
  this.setProps(this.props);
45
45
  }
46
46
 
@@ -42,7 +42,7 @@ export class ScaleWidget extends Widget<ScaleWidgetProps> {
42
42
  scaleText: string = '';
43
43
 
44
44
  constructor(props: ScaleWidgetProps = {}) {
45
- super(props, ScaleWidget.defaultProps);
45
+ super(props);
46
46
  this.setProps(this.props);
47
47
  }
48
48
 
@@ -44,7 +44,7 @@ export class ScreenshotWidget extends Widget<ScreenshotWidgetProps> {
44
44
  placement: WidgetPlacement = 'top-left';
45
45
 
46
46
  constructor(props: ScreenshotWidgetProps = {}) {
47
- super(props, ScreenshotWidget.defaultProps);
47
+ super(props);
48
48
  this.setProps(this.props);
49
49
  }
50
50
 
@@ -46,7 +46,7 @@ export class SplitterWidget extends Widget<SplitterWidgetProps> {
46
46
  placement = 'fill' as const;
47
47
 
48
48
  constructor(props: SplitterWidgetProps) {
49
- super(props, SplitterWidget.defaultProps);
49
+ super(props);
50
50
  }
51
51
 
52
52
  setProps(props: Partial<SplitterWidgetProps>) {
@@ -73,7 +73,7 @@ export class StatsWidget extends Widget<StatsWidgetProps> {
73
73
  _stats: Stats;
74
74
 
75
75
  constructor(props: StatsWidgetProps = {}) {
76
- super(props, StatsWidget.defaultProps);
76
+ super(props);
77
77
  this._formatters = {...DEFAULT_FORMATTERS};
78
78
  this._resetOnUpdate = {...this.props.resetOnUpdate};
79
79
  this._stats = this.props.stats;
@@ -45,7 +45,7 @@ export class ThemeWidget extends Widget<ThemeWidgetProps> {
45
45
  themeMode: 'light' | 'dark' = 'dark';
46
46
 
47
47
  constructor(props: ThemeWidgetProps = {}) {
48
- super(props, ThemeWidget.defaultProps);
48
+ super(props);
49
49
  this.themeMode = this._getInitialThemeMode();
50
50
  this.setProps(this.props);
51
51
  }
@@ -45,7 +45,7 @@ export class TimelineWidget extends Widget<TimelineWidgetProps> {
45
45
  };
46
46
 
47
47
  constructor(props: TimelineWidgetProps = {}) {
48
- super(props, TimelineWidget.defaultProps);
48
+ super(props);
49
49
  this.currentTime = this.props.initialTime ?? this.props.timeRange[0];
50
50
  this.setProps(this.props);
51
51
  }
@@ -47,7 +47,7 @@ export class ViewSelectorWidget extends Widget<ViewSelectorWidgetProps> {
47
47
  viewMode: ViewMode;
48
48
 
49
49
  constructor(props: ViewSelectorWidgetProps = {}) {
50
- super(props, ViewSelectorWidget.defaultProps);
50
+ super(props);
51
51
  this.viewMode = this.props.initialViewMode;
52
52
  this.setProps(this.props);
53
53
  }
@@ -40,7 +40,7 @@ export class ZoomWidget extends Widget<ZoomWidgetProps> {
40
40
  viewports: {[id: string]: Viewport} = {};
41
41
 
42
42
  constructor(props: ZoomWidgetProps = {}) {
43
- super(props, ZoomWidget.defaultProps);
43
+ super(props);
44
44
  this.setProps(this.props);
45
45
  }
46
46