@deck.gl/widgets 9.3.0-beta.1 → 9.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +84 -28
- package/dist/index.cjs +65 -25
- package/dist/index.cjs.map +3 -3
- package/dist/stats-widget.js.map +1 -1
- package/dist/zoom-widget.d.ts +10 -1
- package/dist/zoom-widget.d.ts.map +1 -1
- package/dist/zoom-widget.js +60 -16
- package/dist/zoom-widget.js.map +1 -1
- package/dist.min.js +2 -2
- package/package.json +4 -4
- package/src/stats-widget.tsx +1 -1
- package/src/zoom-widget.tsx +94 -19
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 ei=Object.create;var wt=Object.defineProperty;var ti=Object.getOwnPropertyDescriptor;var oi=Object.getOwnPropertyNames;var ni=Object.getPrototypeOf,ii=Object.prototype.hasOwnProperty;var Do=(t,o)=>()=>(o||t((o={exports:{}}).exports,o),o.exports),ri=(t,o)=>{for(var e in o)wt(t,e,{get:o[e],enumerable:!0})},_t=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of oi(o))!ii.call(t,i)&&i!==e&&wt(t,i,{get:()=>o[i],enumerable:!(n=ti(o,i))||n.enumerable});return t},ae=(t,o,e)=>(_t(t,o,"default"),e&&_t(e,o,"default")),R=(t,o,e)=>(e=t!=null?ei(ni(t)):{},_t(o||!t||!t.__esModule?wt(e,"default",{value:t,enumerable:!0}):e,t)),si=t=>_t(wt({},"__esModule",{value:!0}),t);var E=Do((lr,No)=>{No.exports=globalThis.deck});var Kn=Do((Va,Jn)=>{Jn.exports=globalThis.luma});var vt={};ri(vt,{CompassWidget:()=>Ge,ContextMenuWidget:()=>rt,DarkGlassTheme:()=>Xt,DarkTheme:()=>Xn,FullscreenWidget:()=>Xe,GimbalWidget:()=>Be,IconWidget:()=>ct,InfoWidget:()=>nt,LightGlassTheme:()=>qt,LightTheme:()=>qn,LoadingWidget:()=>gt,PopupWidget:()=>it,ResetViewWidget:()=>Fe,ScreenshotWidget:()=>mt,ScrollbarWidget:()=>lt,SelectorWidget:()=>pt,ThemeWidget:()=>ft,ToggleWidget:()=>dt,ZoomWidget:()=>$e,_ButtonGroup:()=>Tt,_CoordinatesGeocoder:()=>We,_CurrentLocationGeocoder:()=>Ot,_DropdownMenu:()=>Lt,_GeocoderWidget:()=>qe,_GoogleGeocoder:()=>It,_IconButton:()=>L,_MapboxGeocoder:()=>Rt,_OpenCageGeocoder:()=>Et,_RangeInput:()=>Ve,_ScaleWidget:()=>Ue,_SimpleMenu:()=>we,_SplitterWidget:()=>Ke,_StatsWidget:()=>ht,_TimelineWidget:()=>ut});var Y={},Ho=R(E(),1);ae(Y,R(E(),1));if(!Ho.Layer)throw new Error("@deck.gl/core is not found");ae(vt,Y);var _e=R(E(),1);var kt,I,Go,ai,he,$o,Uo,Kt,Qt,Zt,Yt,li,Ne={},qo=[],ci=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,eo=Array.isArray;function le(t,o){for(var e in o)t[e]=o[e];return t}function Xo(t){var o=t.parentNode;o&&o.removeChild(t)}function di(t,o,e){var n,i,r,s={};for(r in o)r=="key"?n=o[r]:r=="ref"?i=o[r]:s[r]=o[r];if(arguments.length>2&&(s.children=arguments.length>3?kt.call(arguments,2):e),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)s[r]===void 0&&(s[r]=t.defaultProps[r]);return yt(t,s,n,i,null)}function yt(t,o,e,n,i){var r={type:t,props:o,key:e,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:i??++Go,__i:-1,__u:0};return i==null&&I.vnode!=null&&I.vnode(r),r}function ce(t){return t.children}function xt(t,o){this.props=t,this.context=o}function ve(t,o){if(o==null)return t.__?ve(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"?ve(t):null}function Jo(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 Jo(t)}}function Fo(t){(!t.__d&&(t.__d=!0)&&he.push(t)&&!Pt.__r++||$o!==I.debounceRendering)&&(($o=I.debounceRendering)||Uo)(Pt)}function Pt(){var t,o,e,n,i,r,s,a;for(he.sort(Kt);t=he.shift();)t.__d&&(o=he.length,n=void 0,r=(i=(e=t).__v).__e,s=[],a=[],e.__P&&((n=le({},i)).__v=i.__v+1,I.vnode&&I.vnode(n),to(e.__P,n,i,e.__n,e.__P.namespaceURI,32&i.__u?[r]:null,s,r??ve(i),!!(32&i.__u),a),n.__v=i.__v,n.__.__k[n.__i]=n,Yo(s,n,a),n.__e!=r&&Jo(n)),he.length>o&&he.sort(Kt));Pt.__r=0}function Ko(t,o,e,n,i,r,s,a,c,d,m){var l,f,u,g,w,_=n&&n.__k||qo,h=o.length;for(e.__d=c,pi(e,o,_),c=e.__d,l=0;l<h;l++)(u=e.__k[l])!=null&&typeof u!="boolean"&&typeof u!="function"&&(f=u.__i===-1?Ne:_[u.__i]||Ne,u.__i=l,to(t,u,f,i,r,s,a,c,d,m),g=u.__e,u.ref&&f.ref!=u.ref&&(f.ref&&oo(f.ref,null,u),m.push(u.ref,u.__c||g,u)),w==null&&g!=null&&(w=g),65536&u.__u||f.__k===u.__k?c=Zo(u,c,t):typeof u.type=="function"&&u.__d!==void 0?c=u.__d:g&&(c=g.nextSibling),u.__d=void 0,u.__u&=-196609);e.__d=c,e.__e=w}function pi(t,o,e){var n,i,r,s,a,c=o.length,d=e.length,m=d,l=0;for(t.__k=[],n=0;n<c;n++)s=n+l,(i=t.__k[n]=(i=o[n])==null||typeof i=="boolean"||typeof i=="function"?null:typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?yt(null,i,null,null,null):eo(i)?yt(ce,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?yt(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)!=null?(i.__=t,i.__b=t.__b+1,a=ui(i,e,s,m),i.__i=a,r=null,a!==-1&&(m--,(r=e[a])&&(r.__u|=131072)),r==null||r.__v===null?(a==-1&&l--,typeof i.type!="function"&&(i.__u|=65536)):a!==s&&(a==s-1?l--:a==s+1?l++:a>s?m>c-s?l+=a-s:l--:a<s&&(a==s-l?l-=a-s:l++),a!==n+l&&(i.__u|=65536))):(r=e[s])&&r.key==null&&r.__e&&!(131072&r.__u)&&(r.__e==t.__d&&(t.__d=ve(r)),jt(r,r,!1),e[s]=null,m--);if(m)for(n=0;n<d;n++)(r=e[n])!=null&&!(131072&r.__u)&&(r.__e==t.__d&&(t.__d=ve(r)),jt(r,r))}function Zo(t,o,e){var n,i;if(typeof t.type=="function"){for(n=t.__k,i=0;n&&i<n.length;i++)n[i]&&(n[i].__=t,o=Zo(n[i],o,e));return o}t.__e!=o&&(o&&t.type&&!e.contains(o)&&(o=ve(t)),e.insertBefore(t.__e,o||null),o=t.__e);do o=o&&o.nextSibling;while(o!=null&&o.nodeType===8);return o}function ui(t,o,e,n){var i=t.key,r=t.type,s=e-1,a=e+1,c=o[e];if(c===null||c&&i==c.key&&r===c.type&&!(131072&c.__u))return e;if(n>(c!=null&&!(131072&c.__u)?1:0))for(;s>=0||a<o.length;){if(s>=0){if((c=o[s])&&!(131072&c.__u)&&i==c.key&&r===c.type)return s;s--}if(a<o.length){if((c=o[a])&&!(131072&c.__u)&&i==c.key&&r===c.type)return a;a++}}return-1}function Bo(t,o,e){o[0]==="-"?t.setProperty(o,e??""):t[o]=e==null?"":typeof e!="number"||ci.test(o)?e:e+"px"}function bt(t,o,e,n,i){var r;e:if(o==="style")if(typeof e=="string")t.style.cssText=e;else{if(typeof n=="string"&&(t.style.cssText=n=""),n)for(o in n)e&&o in e||Bo(t.style,o,"");if(e)for(o in e)n&&e[o]===n[o]||Bo(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?n?e.u=n.u:(e.u=Qt,t.addEventListener(o,r?Yt:Zt,r)):t.removeEventListener(o,r?Yt:Zt,r);else{if(i=="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 zo(t){return function(o){if(this.l){var e=this.l[o.type+t];if(o.t==null)o.t=Qt++;else if(o.t<e.u)return;return e(I.event?I.event(o):o)}}}function to(t,o,e,n,i,r,s,a,c,d){var m,l,f,u,g,w,_,h,b,P,k,x,T,C,W,D,O=o.type;if(o.constructor!==void 0)return null;128&e.__u&&(c=!!(32&e.__u),r=[a=o.__e=e.__e]),(m=I.__b)&&m(o);e:if(typeof O=="function")try{if(h=o.props,b="prototype"in O&&O.prototype.render,P=(m=O.contextType)&&n[m.__c],k=m?P?P.props.value:m.__:n,e.__c?_=(l=o.__c=e.__c).__=l.__E:(b?o.__c=l=new O(h,k):(o.__c=l=new xt(h,k),l.constructor=O,l.render=fi),P&&P.sub(l),l.props=h,l.state||(l.state={}),l.context=k,l.__n=n,f=l.__d=!0,l.__h=[],l._sb=[]),b&&l.__s==null&&(l.__s=l.state),b&&O.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=le({},l.__s)),le(l.__s,O.getDerivedStateFromProps(h,l.__s))),u=l.props,g=l.state,l.__v=o,f)b&&O.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),b&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(b&&O.getDerivedStateFromProps==null&&h!==u&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(h,k),!l.__e&&(l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(h,l.__s,k)===!1||o.__v===e.__v)){for(o.__v!==e.__v&&(l.props=h,l.state=l.__s,l.__d=!1),o.__e=e.__e,o.__k=e.__k,o.__k.forEach(function(M){M&&(M.__=o)}),x=0;x<l._sb.length;x++)l.__h.push(l._sb[x]);l._sb=[],l.__h.length&&s.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(h,l.__s,k),b&&l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(u,g,w)})}if(l.context=k,l.props=h,l.__P=t,l.__e=!1,T=I.__r,C=0,b){for(l.state=l.__s,l.__d=!1,T&&T(o),m=l.render(l.props,l.state,l.context),W=0;W<l._sb.length;W++)l.__h.push(l._sb[W]);l._sb=[]}else do l.__d=!1,T&&T(o),m=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++C<25);l.state=l.__s,l.getChildContext!=null&&(n=le(le({},n),l.getChildContext())),b&&!f&&l.getSnapshotBeforeUpdate!=null&&(w=l.getSnapshotBeforeUpdate(u,g)),Ko(t,eo(D=m!=null&&m.type===ce&&m.key==null?m.props.children:m)?D:[D],o,e,n,i,r,s,a,c,d),l.base=o.__e,o.__u&=-161,l.__h.length&&s.push(l),_&&(l.__E=l.__=null)}catch(M){if(o.__v=null,c||r!=null){for(o.__u|=c?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;I.__e(M,o,e)}else r==null&&o.__v===e.__v?(o.__k=e.__k,o.__e=e.__e):o.__e=mi(e.__e,o,e,n,i,r,s,c,d);(m=I.diffed)&&m(o)}function Yo(t,o,e){o.__d=void 0;for(var n=0;n<e.length;n++)oo(e[n],e[++n],e[++n]);I.__c&&I.__c(o,t),t.some(function(i){try{t=i.__h,i.__h=[],t.some(function(r){r.call(i)})}catch(r){I.__e(r,i.__v)}})}function mi(t,o,e,n,i,r,s,a,c){var d,m,l,f,u,g,w,_=e.props,h=o.props,b=o.type;if(b==="svg"?i="http://www.w3.org/2000/svg":b==="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),r!=null){for(d=0;d<r.length;d++)if((u=r[d])&&"setAttribute"in u==!!b&&(b?u.localName===b:u.nodeType===3)){t=u,r[d]=null;break}}if(t==null){if(b===null)return document.createTextNode(h);t=document.createElementNS(i,b,h.is&&h),r=null,a=!1}if(b===null)_===h||a&&t.data===h||(t.data=h);else{if(r=r&&kt.call(t.childNodes),_=e.props||Ne,!a&&r!=null)for(_={},d=0;d<t.attributes.length;d++)_[(u=t.attributes[d]).name]=u.value;for(d in _)if(u=_[d],d!="children"){if(d=="dangerouslySetInnerHTML")l=u;else if(d!=="key"&&!(d in h)){if(d=="value"&&"defaultValue"in h||d=="checked"&&"defaultChecked"in h)continue;bt(t,d,null,u,i)}}for(d in h)u=h[d],d=="children"?f=u:d=="dangerouslySetInnerHTML"?m=u:d=="value"?g=u:d=="checked"?w=u:d==="key"||a&&typeof u!="function"||_[d]===u||bt(t,d,u,_[d],i);if(m)a||l&&(m.__html===l.__html||m.__html===t.innerHTML)||(t.innerHTML=m.__html),o.__k=[];else if(l&&(t.innerHTML=""),Ko(t,eo(f)?f:[f],o,e,n,b==="foreignObject"?"http://www.w3.org/1999/xhtml":i,r,s,r?r[0]:e.__k&&ve(e,0),a,c),r!=null)for(d=r.length;d--;)r[d]!=null&&Xo(r[d]);a||(d="value",g!==void 0&&(g!==t[d]||b==="progress"&&!g||b==="option"&&g!==_[d])&&bt(t,d,g,_[d],i),d="checked",w!==void 0&&w!==t[d]&&bt(t,d,w,_[d],i))}return t}function oo(t,o,e){try{if(typeof t=="function"){var n=typeof t.__u=="function";n&&t.__u(),n&&o==null||(t.__u=t(o))}else t.current=o}catch(i){I.__e(i,e)}}function jt(t,o,e){var n,i;if(I.unmount&&I.unmount(t),(n=t.ref)&&(n.current&&n.current!==t.__e||oo(n,null,o)),(n=t.__c)!=null){if(n.componentWillUnmount)try{n.componentWillUnmount()}catch(r){I.__e(r,o)}n.base=n.__P=null}if(n=t.__k)for(i=0;i<n.length;i++)n[i]&&jt(n[i],o,e||typeof t.type!="function");e||t.__e==null||Xo(t.__e),t.__c=t.__=t.__e=t.__d=void 0}function fi(t,o,e){return this.constructor(t,e)}function y(t,o,e){var n,i,r,s;I.__&&I.__(t,o),i=(n=typeof e=="function")?null:e&&e.__k||o.__k,r=[],s=[],to(o,t=(!n&&e||o).__k=di(ce,null,[t]),i||Ne,Ne,o.namespaceURI,!n&&e?[e]:i?null:o.firstChild?kt.call(o.childNodes):null,r,!n&&e?e:i?i.__e:o.firstChild,n,s),Yo(r,t,s)}kt=qo.slice,I={__e:function(t,o,e,n){for(var i,r,s;o=o.__;)if((i=o.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(t)),s=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(t,n||{}),s=i.__d),s)return i.__E=i}catch(a){t=a}throw t}},Go=0,ai=function(t){return t!=null&&t.constructor==null},xt.prototype.setState=function(t,o){var e;e=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=le({},this.state),typeof t=="function"&&(t=t(le({},e),this.props)),t&&le(e,t),t!=null&&this.__v&&(o&&this._sb.push(o),Fo(this))},xt.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Fo(this))},xt.prototype.render=ce,he=[],Uo=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Kt=function(t,o){return t.__v.__b-o.__v.__b},Pt.__r=0,Qt=0,Zt=zo(!1),Yt=zo(!0),li=0;var gi=0,ur=Array.isArray;function p(t,o,e,n,i,r){o||(o={});var s,a,c=o;if("ref"in c)for(a in c={},o)a=="ref"?s=o[a]:c[a]=o[a];var d={type:t,props:c,key:e,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--gi,__i:-1,__u:0,__source:i,__self:r};if(typeof t=="function"&&(s=t.defaultProps))for(a in s)c[a]===void 0&&(c[a]=s[a]);return I.vnode&&I.vnode(d),d}var Tt=t=>{let{children:o,orientation:e="horizontal"}=t;return p("div",{className:`deck-widget-button-group ${e}`,children:o})};var Le,A,no,jo,He=0,an=[],V=I,Qo=V.__b,en=V.__r,tn=V.diffed,on=V.__c,nn=V.unmount,rn=V.__;function St(t,o){V.__h&&V.__h(A,t,He||o),He=0;var e=A.__H||(A.__H={__:[],__h:[]});return t>=e.__.length&&e.__.push({}),e.__[t]}function de(t){return He=1,hi(ln,t)}function hi(t,o,e){var n=St(Le++,2);if(n.t=t,!n.__c&&(n.__=[e?e(o):ln(void 0,o),function(a){var c=n.__N?n.__N[0]:n.__[0],d=n.t(c,a);c!==d&&(n.__N=[d,n.__[1]],n.__c.setState({}))}],n.__c=A,!A.u)){var i=function(a,c,d){if(!n.__c.__H)return!0;var m=n.__c.__H.__.filter(function(f){return!!f.__c});if(m.every(function(f){return!f.__N}))return!r||r.call(this,a,c,d);var l=!1;return m.forEach(function(f){if(f.__N){var u=f.__[0];f.__=f.__N,f.__N=void 0,u!==f.__[0]&&(l=!0)}}),!(!l&&n.__c.props===a)&&(!r||r.call(this,a,c,d))};A.u=!0;var r=A.shouldComponentUpdate,s=A.componentWillUpdate;A.componentWillUpdate=function(a,c,d){if(this.__e){var m=r;r=void 0,i(a,c,d),r=m}s&&s.call(this,a,c,d)},A.shouldComponentUpdate=i}return n.__N||n.__}function G(t,o){var e=St(Le++,3);!V.__s&&so(e.__H,o)&&(e.__=t,e.i=o,A.__H.__h.push(e))}function ro(t,o){var e=St(Le++,4);!V.__s&&so(e.__H,o)&&(e.__=t,e.i=o,A.__h.push(e))}function H(t){return He=5,oe(function(){return{current:t}},[])}function oe(t,o){var e=St(Le++,7);return so(e.__H,o)&&(e.__=t(),e.__H=o,e.__h=t),e.__}function ne(t,o){return He=8,oe(function(){return t},o)}function vi(){for(var t;t=an.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(Ct),t.__H.__h.forEach(io),t.__H.__h=[]}catch(o){t.__H.__h=[],V.__e(o,t.__v)}}V.__b=function(t){A=null,Qo&&Qo(t)},V.__=function(t,o){t&&o.__k&&o.__k.__m&&(t.__m=o.__k.__m),rn&&rn(t,o)},V.__r=function(t){en&&en(t),Le=0;var o=(A=t.__c).__H;o&&(no===A?(o.__h=[],A.__h=[],o.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(o.__h.forEach(Ct),o.__h.forEach(io),o.__h=[],Le=0)),no=A},V.diffed=function(t){tn&&tn(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(an.push(o)!==1&&jo===V.requestAnimationFrame||((jo=V.requestAnimationFrame)||_i)(vi)),o.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),no=A=null},V.__c=function(t,o){o.some(function(e){try{e.__h.forEach(Ct),e.__h=e.__h.filter(function(n){return!n.__||io(n)})}catch(n){o.some(function(i){i.__h&&(i.__h=[])}),o=[],V.__e(n,e.__v)}}),on&&on(t,o)},V.unmount=function(t){nn&&nn(t);var o,e=t.__c;e&&e.__H&&(e.__H.__.forEach(function(n){try{Ct(n)}catch(i){o=i}}),e.__H=void 0,o&&V.__e(o,e.__v))};var sn=typeof requestAnimationFrame=="function";function _i(t){var o,e=function(){clearTimeout(n),sn&&cancelAnimationFrame(o),setTimeout(t)},n=setTimeout(e,100);sn&&(o=requestAnimationFrame(e))}function Ct(t){var o=A,e=t.__c;typeof e=="function"&&(t.__c=void 0,e()),A=o}function io(t){var o=A;t.__c=t.__(),A=o}function so(t,o){return!t||t.length!==o.length||o.some(function(e,n){return e!==t[n]})}function ln(t,o){return typeof o=="function"?o(t):o}function Mt(t){if(!t)return;let o=`url("${t.replace(/"/g,"'")}")`;return{maskImage:o,WebkitMaskImage:o}}var L=t=>{let{className:o="",style:e,color:n,icon:i,label:r,onClick:s,children:a}=t,c=oe(()=>{let d=Mt(i);return n?{...d,backgroundColor:n}:d},[n,i]);return p("div",{className:"deck-widget-button",style:e,children:p("button",{className:`deck-widget-icon-button ${o}`,type:"button",onClick:s,title:r,children:a||p("div",{className:"deck-widget-icon",style:c})})})};var $e=class extends _e.Widget{constructor(e={}){super(e);this.className="deck-widget-zoom";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){let n=p(Tt,{orientation:this.props.orientation,children:[p(L,{onClick:()=>this.handleZoomIn(),label:this.props.zoomInLabel,className:"deck-widget-zoom-in"}),p(L,{onClick:()=>this.handleZoomOut(),label:this.props.zoomOutLabel,className:"deck-widget-zoom-out"})]});y(n,e)}handleZoom(e,n,i){let r=this.getViewState(e);if(r){let{minZoom:a,maxZoom:c}=r;Number.isFinite(a)&&(n=Math.max(a,n)),Number.isFinite(c)&&(n=Math.min(c,n))}this.props.onZoom?.({viewId:e,delta:i,zoom:n});let s={...r,zoom:n};this.props.transitionDuration>0&&(s.transitionDuration=this.props.transitionDuration,s.transitionInterpolator="latitude"in s?new _e.FlyToInterpolator:new _e.LinearInterpolator({transitionProps:["zoom"]})),this.setViewState(e,s)}handleZoomIn(){let e=this.viewId?[this.viewId]:this.deck?.getViews().map(n=>n.id)??[];for(let n of e){let i=this.getViewState(n);this.handleZoom(n,i.zoom+1,1)}}handleZoomOut(){let e=this.viewId?[this.viewId]:this.deck?.getViews().map(n=>n.id)??[];for(let n of e){let i=this.getViewState(n);this.handleZoom(n,i.zoom-1,-1)}}};$e.defaultProps={..._e.Widget.defaultProps,id:"zoom",placement:"top-left",orientation:"vertical",transitionDuration:200,zoomInLabel:"Zoom In",zoomOutLabel:"Zoom Out",viewId:null,onZoom:()=>{}};var ao=R(E(),1);var Fe=class extends ao.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){y(p(L,{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.resetViewState(e)}resetViewState(e){let n=this.viewId?[this.viewId]:this.deck?.getViews().map(i=>i.id)??[];for(let i of n){let r={...e?.[i]??e};this.props.onReset?.({viewId:i,viewState:r}),this.setViewState(i,r)}}};Fe.defaultProps={...ao.Widget.defaultProps,id:"reset-view",placement:"top-left",label:"Reset View",initialViewState:void 0,viewId:null,onReset:()=>{}};var ze=R(E(),1);var Be=class extends ze.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 n=this.viewId||Object.values(this.viewports)[0]?.id||"default-view",i=this.viewports[n],{rotationOrbit:r,rotationX:s}=this.getNormalizedRotation(i),a=p("div",{className:"deck-widget-button",style:{perspective:100,pointerEvents:"auto"},children:p("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:[p("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:p("circle",{cx:"13",cy:"13",r:"10",stroke:"var(--icon-gimbal-outer-color, rgb(68, 92, 204))",strokeWidth:this.props.strokeWidth,fill:"none"})}),p("svg",{className:"gimbal-inner-ring",width:"100%",height:"100%",viewBox:"0 0 26 26",style:{position:"absolute",top:0,left:0,transform:`rotateX(${s}deg)`},children:p("circle",{cx:"13",cy:"13",r:"7",stroke:"var(--icon-gimbal-inner-color, rgb(240, 92, 68))",strokeWidth:this.props.strokeWidth,fill:"none"})})]})});y(a,e)}onViewportChange(e){this.viewports[e.id]=e,this.updateHTML()}resetOrbitView(e){let n=this.viewId||e?.id||"OrbitView",i=this.getViewState(n);if("rotationOrbit"in i||"rotationX"in i){this.props.onReset?.({viewId:n,rotationOrbit:0,rotationX:0});let r={...i,rotationOrbit:0,rotationX:0,transitionDuration:this.props.transitionDuration,transitionInterpolator:new ze.LinearInterpolator({transitionProps:["rotationOrbit","rotationX"]})};this.setViewState(n,r)}}getNormalizedRotation(e){let n=this.viewId||e?.id||"OrbitView",i=this.getViewState(n),[r,s]=this.getRotation(i),a=cn(r),c=cn(s);return{rotationOrbit:a,rotationX:c}}getRotation(e){return e&&("rotationOrbit"in e||"rotationX"in e)?[-(e.rotationOrbit||0),e.rotationX||0]:[0,0]}};Be.defaultProps={...ze.Widget.defaultProps,id:"gimbal",placement:"top-left",viewId:null,label:"Gimbal",strokeWidth:1.5,transitionDuration:200,onReset:()=>{}};function cn(t){let o=((t+180)%360+360)%360-180,e=10,n=o-90;return Math.abs(n)<e&&(n<e?o=90+e:n>-e&&(o=90-e)),o}var j=R(E(),1);var Ge=class extends j.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 n=this.viewId||Object.values(this.viewports)[0]?.id,i=this.viewports[n],[r,s]=this.getRotation(i),a=p("div",{className:"deck-widget-button",style:{perspective:100},children:p("button",{type:"button",onClick:()=>{for(let c of Object.values(this.viewports))this.handleCompassReset(c)},title:this.props.label,style:{transform:`rotateX(${s}deg)`},children:p("svg",{fill:"none",width:"100%",height:"100%",viewBox:"0 0 26 26",children:p("g",{transform:`rotate(${r},13,13)`,children:[p("path",{d:"M10 13.0001L12.9999 5L15.9997 13.0001H10Z",fill:"var(--icon-compass-north-color, rgb(240, 92, 68))"}),p("path",{d:"M16.0002 12.9999L13.0004 21L10.0005 12.9999H16.0002Z",fill:"var(--icon-compass-south-color, rgb(204, 204, 204))"})]})})})});y(a,e)}onViewportChange(e){e.equals(this.viewports[e.id])||(this.viewports[e.id]=e,this.updateHTML())}getRotation(e){return e instanceof j.WebMercatorViewport?[-e.bearing,e.pitch]:e instanceof j._GlobeViewport?[0,Math.max(-80,Math.min(80,e.latitude))]:[0,0]}handleCompassReset(e){let n=this.viewId||e.id;if(e instanceof j.WebMercatorViewport){let i=this.getViewState(n),r=this.getRotation(e)[0]===0,s=0,a=r?0:e.pitch;this.props.onReset?.({viewId:n,bearing:s,pitch:a});let c={...i,bearing:s,...r?{pitch:a}:{},transitionDuration:this.props.transitionDuration,transitionInterpolator:new j.FlyToInterpolator};this.setViewState(n,c)}}};Ge.defaultProps={...j.Widget.defaultProps,id:"compass",placement:"top-left",viewId:null,label:"Reset Compass",transitionDuration:200,onReset:()=>{}};var lo=R(E(),1);var Ue=class extends lo.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 i=50+this.scaleWidth,r=10;y(p("svg",{className:"deck-widget-scale",width:i,height:30,style:{overflow:"visible",background:"transparent"},onClick:this.handleClick.bind(this),children:[p("text",{x:50+5,y:"10",textAnchor:"end",alignmentBaseline:"middle",style:{fontSize:"16px",fill:"black",fontWeight:"bold",fontFamily:"sans-serif"},children:this.scaleText}),p("line",{x1:50,y1:"15",x2:50+this.scaleWidth,y2:"15",stroke:"black",strokeWidth:"6"}),p("line",{x1:50,y1:"15",x2:50,y2:15-r,stroke:"black",strokeWidth:"6"}),p("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:n,zoom:i}=e,r=wi(n,i),{candidate:s,candidatePixels:a}=bi(r);this.scaleValue=s,this.scaleWidth=a,s>=1e3?this.scaleText=`${(s/1e3).toFixed(1)} km`:this.scaleText=`${s} m`,this.updateHTML()}handleClick(){}};Ue.defaultProps={...lo.Widget.defaultProps,id:"scale",placement:"bottom-left",label:"Scale",viewId:null};function wi(t,o){return 40075016686e-3*Math.cos(t*Math.PI/180)/Math.pow(2,o+8)}function bi(t){let i=150*t,r=Math.floor(Math.log10(i)),s=Math.pow(10,r),a=[1,2,5],c=a[0]*s,d=c/t;for(let m=0;m<a.length;m++){let l=a[m]*s,f=l/t;if(f>=100&&f<=200){c=l,d=f;break}if(f>200){c=m>0?a[m-1]*s:l,d=c/t;break}m===a.length-1&&f<100&&(c=a[0]*s*10,d=c/t)}return{candidate:c,candidatePixels:d}}var po=R(E(),1),At=R(E(),1);function yi(t){return typeof t=="string"?t:t.value}function xi(t){return typeof t=="string"?t:t.label}function Pi(t){return typeof t=="string"?void 0:t.icon}var Lt=t=>{let[o,e]=de(!1);return p(we,{...t,style:{...t.style,position:"absolute"},isOpen:o,onClose:()=>e(!1),trigger:p("button",{className:"deck-widget-dropdown-button",onClick:()=>e(!o),children:p("span",{className:`deck-widget-dropdown-icon ${o?"open":""}`})})})},we=t=>{let o=H(null);G(()=>{let n=i=>{o.current&&!o.current.contains(i.target)&&t.onClose()};return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}},[]);let e=(n,i)=>{n&&(typeof i=="object"&&i.onSelect?.(),t.onSelect?.(n),t.onClose())};return t.menuItems.length===0?null:p("div",{className:"deck-widget-dropdown-container",ref:o,children:[t.trigger,t.isOpen&&p("ul",{className:"deck-widget-dropdown-menu",style:t.style,children:t.menuItems.map((n,i)=>{let r=yi(n),s=Pi(n);return p("li",{className:`deck-widget-dropdown-item ${r?"":"disabled"}`,onClick:()=>e(r,n),children:[s&&p("span",{className:"deck-widget-dropdown-item-icon",style:Mt(s)}),xi(n)]},i)})})]})};var ki="current",dn="deck-geocoder-history",Wt=class{constructor(o){this.addressText="";this.errorText="";this.addressHistory=[];this.props={maxEntries:5,...o},this.addressHistory=this.loadPreviousAddresses()}async geocode(o,e,n){this.errorText="",this.addressText=e;try{let i=await o.geocode(e,n);if(i)return this.storeAddress(this.addressText),i;this.errorText="Invalid address"}catch(i){this.errorText=`${i.message}`}return null}loadPreviousAddresses(){try{let o=window.localStorage.getItem(dn),e=o&&JSON.parse(o);return Array.isArray(e)?e.filter(i=>typeof i=="string"):[]}catch{}return[]}storeAddress(o){let e=o.trim();if(!e||e===ki)return;let n=[e,...this.addressHistory.filter(i=>i!==e)];this.addressHistory=n.slice(0,this.props.maxEntries);try{window.localStorage.setItem(dn,JSON.stringify(this.addressHistory))}catch{}}};var Ti="https://maps.googleapis.com/maps/api/geocode/json",Ci="https://api.mapbox.com/geocoding/v5/mapbox.places",Si="https://api.opencagedata.com/geocode/v1/json",It={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),n=await co(`${Ti}?address=${e}&key=${o}`);switch(n.status){case"OK":let i=n.results.length>0&&n.results[0].geometry.location;return i?{longitude:i.lng,latitude:i.lat}:null;default:throw new Error(`Google Geocoder failed: ${n.status}`)}}},Rt={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),n=await co(`${Ci}/${e}.json?access_token=${o}`);if(Array.isArray(n.features)&&n.features.length>0){let i=n.features[0].center;if(Array.isArray(i)&&i.length>=2)return{longitude:i[0],latitude:i[1]}}return null}},Et={name:"opencage",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),n=await co(`${Si}?q=${e}&key=${o}`);if(Array.isArray(n.results)&&n.results.length>0){let i=n.results[0].geometry;return{longitude:i.lng,latitude:i.lat}}return null}},Ot={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:n,latitude:i}=e.coords;t({longitude:n,latitude:i})},e=>o(new Error(e.message)))})}};async function co(t){let o;try{o=await fetch(t)}catch(n){throw new Error(`CORS error? ${n}. ${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 We={name:"coordinates",requiresApiKey:!1,placeholderLocation:"-122.45, 37.8 or 37\xB048'N, 122\xB027'W",async geocode(t){return Mi(t)||null}};function Mi(t){t=t.trim();let o=t.split(/[,;]/).map(i=>i.trim());if(o.length<2)return null;let e=pn(o[0]),n=pn(o[1]);return e===null||n===null?null:Math.abs(e)>90&&Math.abs(n)<=90?{longitude:e,latitude:n}:Math.abs(n)>90&&Math.abs(e)<=90?{longitude:n,latitude:e}:{latitude:e,longitude:n}}function pn(t){if(t=t.trim(),t.includes("\xB0")||t.includes("'")||t.includes('"')){let n=Li(t);return isNaN(n)?null:n}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 Li(t){let o=/(\d+)[°d]\s*(\d+)?['′m]?\s*(\d+(?:\.\d+)?)?[\"″s]?\s*([NSEW])?/i,e=t.match(o);if(!e)return NaN;let n=parseFloat(e[1])||0,i=parseFloat(e[2])||0,r=parseFloat(e[3])||0,s=e[4]||"",a=n+i/60+r/3600;return/[SW]/i.test(s)&&(a=-a),a}var un="current",Wi="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-480q33 0 56.5-23.5T560-560q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 33 23.5 56.5T480-480Zm0 294q122-112 181-203.5T720-552q0-109-69.5-178.5T480-800q-101 0-170.5 69.5T240-552q0 71 59 162.5T480-186Zm0 106Q319-217 239.5-334.5T160-552q0-150 96.5-239T480-880q127 0 223.5 89T800-552q0 100-79.5 217.5T480-80Z'/%3E%3C/svg%3E",Ii={label:"Current location",value:un,icon:Wi},qe=class extends po.Widget{constructor(e={}){super(e);this.className="deck-widget-geocoder";this.placement="top-left";this.geocodeHistory=new Wt({});this.addressText="";this.geocoder=We;this.isGettingLocation=!1;this.setInput=e=>{this.addressText=e};this.handleKeyPress=e=>{e.key==="Enter"&&this.handleSubmit()};this.handleSelect=e=>{e===un?this.getCurrentLocation():(this.setInput(e),this.handleSubmit())};this.handleSubmit=()=>{this.geocode(this.addressText)};this.getCurrentLocation=async()=>{this.isGettingLocation=!0,this.rootElement&&this.updateHTML();try{let e=await Ot.geocode();e&&this.flyTo(e)}catch(e){this.geocodeHistory.errorText=e instanceof Error?e.message:"Location error"}finally{this.isGettingLocation=!1,this.rootElement&&this.updateHTML()}};this.geocode=async e=>{let n=await this.geocodeHistory.geocode(this.geocoder,this.addressText,this.props.apiKey);this.rootElement&&this.updateHTML(),n&&this.flyTo(n)};this.setProps(this.props)}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,this.geocoder=Ri(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 n=this.props._geolocation?[Ii,...this.geocodeHistory.addressHistory]:[...this.geocodeHistory.addressHistory];y(p("div",{className:"deck-widget-geocoder",children:[p("input",{className:"deck-widget-geocoder-input",type:"text",placeholder:this.isGettingLocation?"Finding your location...":this.geocoder.placeholderLocation??"Enter address or location",value:this.geocodeHistory.addressText,onInput:i=>this.setInput(i.target?.value||""),onKeyPress:this.handleKeyPress}),p(Lt,{menuItems:n,onSelect:this.handleSelect}),this.geocodeHistory.errorText&&p("div",{className:"deck-widget-geocoder-error",children:this.geocodeHistory.errorText})]}),e)}flyTo(e){let n=this.viewId?[this.viewId]:this.deck?.getViews().map(i=>i.id)??[];for(let i of n){"longitude"in e&&"latitude"in e&&this.props.onGeocode?.({viewId:i,coordinates:{longitude:e.longitude,latitude:e.latitude,zoom:e.zoom}});let s={...this.getViewState(i),...e};this.props.transitionDuration>0&&(s.transitionDuration=this.props.transitionDuration,s.transitionInterpolator="latitude"in s?new At.FlyToInterpolator:new At.LinearInterpolator),this.setViewState(i,s)}}};qe.defaultProps={...po.Widget.defaultProps,id:"geocoder",viewId:null,placement:"top-left",label:"Geocoder",transitionDuration:200,geocoder:"coordinates",customGeocoder:We,apiKey:"",_geolocation:!1,onGeocode:()=>{}};function Ri(t){switch(t.geocoder){case"google":return It;case"mapbox":return Rt;case"opencage":return Et;case"coordinates":return We;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 Je=R(E(),1);var Xe=class extends Je.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){let n=this.getFullscreen();y(p(L,{onClick:()=>{this.handleClick().catch(i=>Je.log.error(i)())},label:n?this.props.exitLabel:this.props.enterLabel,className:n?"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?.props.parent||this.deck?.getCanvas()?.parentElement}getFullscreen(){return this.fullscreen}onFullscreenChange(){let e=document.fullscreenElement===this.getContainer();e!==this.fullscreen&&(this.fullscreen=e,this.props.onFullscreenChange?.(e),this.updateHTML())}async handleClick(){this.getFullscreen()?await this.exitFullscreen():await this.requestFullscreen()}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"),this.fullscreen=!this.fullscreen,this.props.onFullscreenChange?.(this.fullscreen),this.updateHTML()}};Xe.defaultProps={...Je.Widget.defaultProps,id:"fullscreen",placement:"top-left",viewId:null,enterLabel:"Enter Fullscreen",exitLabel:"Exit Fullscreen",container:void 0,onFullscreenChange:()=>{}};var Ze=R(E(),1);function mn(t){let o=[],e=i=>"views"in i;function n(i){let r=o.length,s=i.minSplit??.05,a=i.maxSplit??.95,c=Math.min(Math.max(i.initialSplit??.5,s),a),d={id:r,orientation:i.orientation,views:i.views,split:c,editable:i.editable??!0,minSplit:s,maxSplit:a,x:0,y:0,width:0,height:0};return o.push(d),d.views=[e(i.views[0])?n(i.views[0]):i.views[0],e(i.views[1])?n(i.views[1]):i.views[1]],d}return n(t),o}function fn(t){let o=[];function e(n,i,r,s,a){n.x=i,n.y=r,n.width=s,n.height=a;let c=i,d=r,m=s,l=a,f=i,u=r,g=s,w=a;n.orientation==="horizontal"?(m=s*n.split,f=i+m,g=s-m):(l=a*n.split,u=r+l,w=a-l);let[_,h]=n.views;"views"in _?e(_,c,d,m,l):o.push(_.clone({x:`${c}%`,y:`${d}%`,width:`${m}%`,height:`${l}%`})),"views"in h?e(h,f,u,g,w):o.push(h.clone({x:`${f}%`,y:`${u}%`,width:`${g}%`,height:`${w}%`}))}return e(t,0,0,100,100),o}var Ke=class extends Ze.Widget{constructor(e){super(e);this.className="deck-widget-splitter";this.placement="fill";this.needsUpdate=!0;this.viewLayouts=mn(this.props.viewLayout)}setProps(e){e.viewLayout&&!(0,Ze._deepEqual)(e.viewLayout,this.props.viewLayout,-1)&&(this.viewLayouts=mn(e.viewLayout),this.views=void 0),super.setProps(e)}onRedraw(){super.updateHTML()}updateHTML(){this.views||(this.views=fn(this.viewLayouts[0]),this.props.onChange(this.views.slice())),requestAnimationFrame(()=>{this.doUpdate()})}doUpdate(){if(this.deck){let e=this.deck.props.views;!(e&&e!==this.lastViews)&&this.lastViews!==this.views&&(this.lastViews=this.views,this.deck.setProps({views:this.views}))}}onChange(e,n){n.split=e,this.views=fn(this.viewLayouts[0]),this.props.onChange(this.views.slice()),this.doUpdate()}onRenderHTML(e){y(p(ce,{children:this.viewLayouts.map(n=>n.editable&&p(Ei,{...n,onChange:i=>this.onChange(i,n),onDragStart:()=>this.props.onDragStart(),onDragEnd:()=>this.props.onDragStart()}))}),e)}};Ke.defaultProps={...Ze.Widget.defaultProps,id:"splitter-widget",viewLayout:void 0,onChange:()=>{},onDragStart:()=>{},onDragEnd:()=>{}};function Ei({orientation:t,x:o,y:e,width:n,height:i,split:r,minSplit:s,maxSplit:a,onChange:c,onDragStart:d,onDragEnd:m}){let[l,f]=de(!1),u=H(null);G(()=>{if(!l)return;let h=P=>{if(!u.current)return;let k=u.current.getBoundingClientRect(),x;t==="horizontal"?x=(P.clientX-k.left)/k.width:x=(P.clientY-k.top)/k.height,x=Math.min(Math.max(x,s),a),c?.(x)},b=()=>{m?.(),f(!1)};return document.addEventListener("pointermove",h),document.addEventListener("pointerup",b),document.addEventListener("pointerleave",b),()=>{document.removeEventListener("pointermove",h),document.removeEventListener("pointerup",b),document.removeEventListener("pointerleave",b)}},[l]);let g=h=>{f(!0),d?.(),h.preventDefault()},w=t==="horizontal"?{left:`${r*100}%`}:{top:`${r*100}%`},_={position:"absolute",top:`${e}%`,left:`${o}%`,width:`${n}%`,height:`${i}%`};return p("div",{ref:u,style:_,children:p("div",{className:`deck-widget-splitter-handle deck-widget-splitter-handle--${t} ${l?"active":""}`,style:w,onPointerDown:g})})}var bo=R(E(),1);var pe=Math.min,ie=Math.max,je=Math.round,Qe=Math.floor,J=t=>({x:t,y:t}),Oi={left:"right",right:"left",bottom:"top",top:"bottom"};function Dt(t,o,e){return ie(t,pe(o,e))}function Ie(t,o){return typeof t=="function"?t(o):t}function ue(t){return t.split("-")[0]}function Re(t){return t.split("-")[1]}function uo(t){return t==="x"?"y":"x"}function Nt(t){return t==="y"?"height":"width"}function re(t){let o=t[0];return o==="t"||o==="b"?"y":"x"}function Ht(t){return uo(re(t))}function vn(t,o,e){e===void 0&&(e=!1);let n=Re(t),i=Ht(t),r=Nt(i),s=i==="x"?n===(e?"end":"start")?"right":"left":n==="start"?"bottom":"top";return o.reference[r]>o.floating[r]&&(s=Ye(s)),[s,Ye(s)]}function _n(t){let o=Ye(t);return[Vt(t),o,Vt(o)]}function Vt(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}var gn=["left","right"],hn=["right","left"],Ai=["top","bottom"],Vi=["bottom","top"];function Di(t,o,e){switch(t){case"top":case"bottom":return e?o?hn:gn:o?gn:hn;case"left":case"right":return o?Ai:Vi;default:return[]}}function wn(t,o,e,n){let i=Re(t),r=Di(ue(t),e==="start",n);return i&&(r=r.map(s=>s+"-"+i),o&&(r=r.concat(r.map(Vt)))),r}function Ye(t){let o=ue(t);return Oi[o]+t.slice(o.length)}function Ni(t){return{top:0,right:0,bottom:0,left:0,...t}}function mo(t){return typeof t!="number"?Ni(t):{top:t,right:t,bottom:t,left:t}}function be(t){let{x:o,y:e,width:n,height:i}=t;return{width:n,height:i,top:e,left:o,right:o+n,bottom:e+i,x:o,y:e}}function bn(t,o,e){let{reference:n,floating:i}=t,r=re(o),s=Ht(o),a=Nt(s),c=ue(o),d=r==="y",m=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2,f=n[a]/2-i[a]/2,u;switch(c){case"top":u={x:m,y:n.y-i.height};break;case"bottom":u={x:m,y:n.y+n.height};break;case"right":u={x:n.x+n.width,y:l};break;case"left":u={x:n.x-i.width,y:l};break;default:u={x:n.x,y:n.y}}switch(Re(o)){case"start":u[s]-=f*(e&&d?-1:1);break;case"end":u[s]+=f*(e&&d?-1:1);break}return u}async function yn(t,o){var e;o===void 0&&(o={});let{x:n,y:i,platform:r,rects:s,elements:a,strategy:c}=t,{boundary:d="clippingAncestors",rootBoundary:m="viewport",elementContext:l="floating",altBoundary:f=!1,padding:u=0}=Ie(o,t),g=mo(u),_=a[f?l==="floating"?"reference":"floating":l],h=be(await r.getClippingRect({element:(e=await(r.isElement==null?void 0:r.isElement(_)))==null||e?_:_.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:d,rootBoundary:m,strategy:c})),b=l==="floating"?{x:n,y:i,width:s.floating.width,height:s.floating.height}:s.reference,P=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),k=await(r.isElement==null?void 0:r.isElement(P))?await(r.getScale==null?void 0:r.getScale(P))||{x:1,y:1}:{x:1,y:1},x=be(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:b,offsetParent:P,strategy:c}):b);return{top:(h.top-x.top+g.top)/k.y,bottom:(x.bottom-h.bottom+g.bottom)/k.y,left:(h.left-x.left+g.left)/k.x,right:(x.right-h.right+g.right)/k.x}}var Hi=50,xn=async(t,o,e)=>{let{placement:n="bottom",strategy:i="absolute",middleware:r=[],platform:s}=e,a=s.detectOverflow?s:{...s,detectOverflow:yn},c=await(s.isRTL==null?void 0:s.isRTL(o)),d=await s.getElementRects({reference:t,floating:o,strategy:i}),{x:m,y:l}=bn(d,n,c),f=n,u=0,g={};for(let w=0;w<r.length;w++){let _=r[w];if(!_)continue;let{name:h,fn:b}=_,{x:P,y:k,data:x,reset:T}=await b({x:m,y:l,initialPlacement:n,placement:f,strategy:i,middlewareData:g,rects:d,platform:a,elements:{reference:t,floating:o}});m=P??m,l=k??l,g[h]={...g[h],...x},T&&u<Hi&&(u++,typeof T=="object"&&(T.placement&&(f=T.placement),T.rects&&(d=T.rects===!0?await s.getElementRects({reference:t,floating:o,strategy:i}):T.rects),{x:m,y:l}=bn(d,f,c)),w=-1)}return{x:m,y:l,placement:f,strategy:i,middlewareData:g}},Pn=t=>({name:"arrow",options:t,async fn(o){let{x:e,y:n,placement:i,rects:r,platform:s,elements:a,middlewareData:c}=o,{element:d,padding:m=0}=Ie(t,o)||{};if(d==null)return{};let l=mo(m),f={x:e,y:n},u=Ht(i),g=Nt(u),w=await s.getDimensions(d),_=u==="y",h=_?"top":"left",b=_?"bottom":"right",P=_?"clientHeight":"clientWidth",k=r.reference[g]+r.reference[u]-f[u]-r.floating[g],x=f[u]-r.reference[u],T=await(s.getOffsetParent==null?void 0:s.getOffsetParent(d)),C=T?T[P]:0;(!C||!await(s.isElement==null?void 0:s.isElement(T)))&&(C=a.floating[P]||r.floating[g]);let W=k/2-x/2,D=C/2-w[g]/2-1,O=pe(l[h],D),M=pe(l[b],D),ee=O,ge=C-w[g]-M,N=C/2-w[g]/2+W,te=Dt(ee,N,ge),X=!c.arrow&&Re(i)!=null&&N!==te&&r.reference[g]/2-(N<ee?O:M)-w[g]/2<0,F=X?N<ee?N-ee:N-ge:0;return{[u]:f[u]+F,data:{[u]:te,centerOffset:N-te-F,...X&&{alignmentOffset:F}},reset:X}}});var kn=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var e,n;let{placement:i,middlewareData:r,rects:s,initialPlacement:a,platform:c,elements:d}=o,{mainAxis:m=!0,crossAxis:l=!0,fallbackPlacements:f,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:w=!0,..._}=Ie(t,o);if((e=r.arrow)!=null&&e.alignmentOffset)return{};let h=ue(i),b=re(a),P=ue(a)===a,k=await(c.isRTL==null?void 0:c.isRTL(d.floating)),x=f||(P||!w?[Ye(a)]:_n(a)),T=g!=="none";!f&&T&&x.push(...wn(a,w,g,k));let C=[a,...x],W=await c.detectOverflow(o,_),D=[],O=((n=r.flip)==null?void 0:n.overflows)||[];if(m&&D.push(W[h]),l){let N=vn(i,s,k);D.push(W[N[0]],W[N[1]])}if(O=[...O,{placement:i,overflows:D}],!D.every(N=>N<=0)){var M,ee;let N=(((M=r.flip)==null?void 0:M.index)||0)+1,te=C[N];if(te&&(!(l==="alignment"?b!==re(te):!1)||O.every($=>re($.placement)===b?$.overflows[0]>0:!0)))return{data:{index:N,overflows:O},reset:{placement:te}};let X=(ee=O.filter(F=>F.overflows[0]<=0).sort((F,$)=>F.overflows[1]-$.overflows[1])[0])==null?void 0:ee.placement;if(!X)switch(u){case"bestFit":{var ge;let F=(ge=O.filter($=>{if(T){let z=re($.placement);return z===b||z==="y"}return!0}).map($=>[$.placement,$.overflows.filter(z=>z>0).reduce((z,Jt)=>z+Jt,0)]).sort(($,z)=>$[1]-z[1])[0])==null?void 0:ge[0];F&&(X=F);break}case"initialPlacement":X=a;break}if(i!==X)return{reset:{placement:X}}}return{}}}};var $i=new Set(["left","top"]);async function Fi(t,o){let{placement:e,platform:n,elements:i}=t,r=await(n.isRTL==null?void 0:n.isRTL(i.floating)),s=ue(e),a=Re(e),c=re(e)==="y",d=$i.has(s)?-1:1,m=r&&c?-1:1,l=Ie(o,t),{mainAxis:f,crossAxis:u,alignmentAxis:g}=typeof l=="number"?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return a&&typeof g=="number"&&(u=a==="end"?g*-1:g),c?{x:u*m,y:f*d}:{x:f*d,y:u*m}}var Tn=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var e,n;let{x:i,y:r,placement:s,middlewareData:a}=o,c=await Fi(o,t);return s===((e=a.offset)==null?void 0:e.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:i+c.x,y:r+c.y,data:{...c,placement:s}}}}},Cn=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){let{x:e,y:n,placement:i,platform:r}=o,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:h=>{let{x:b,y:P}=h;return{x:b,y:P}}},...d}=Ie(t,o),m={x:e,y:n},l=await r.detectOverflow(o,d),f=re(ue(i)),u=uo(f),g=m[u],w=m[f];if(s){let h=u==="y"?"top":"left",b=u==="y"?"bottom":"right",P=g+l[h],k=g-l[b];g=Dt(P,g,k)}if(a){let h=f==="y"?"top":"left",b=f==="y"?"bottom":"right",P=w+l[h],k=w-l[b];w=Dt(P,w,k)}let _=c.fn({...o,[u]:g,[f]:w});return{..._,data:{x:_.x-e,y:_.y-n,enabled:{[u]:s,[f]:a}}}}}};function $t(){return typeof window<"u"}function xe(t){return Mn(t)?(t.nodeName||"").toLowerCase():"#document"}function B(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function K(t){var o;return(o=(Mn(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function Mn(t){return $t()?t instanceof Node||t instanceof B(t).Node:!1}function U(t){return $t()?t instanceof Element||t instanceof B(t).Element:!1}function Q(t){return $t()?t instanceof HTMLElement||t instanceof B(t).HTMLElement:!1}function Sn(t){return!$t()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof B(t).ShadowRoot}function Oe(t){let{overflow:o,overflowX:e,overflowY:n,display:i}=q(t);return/auto|scroll|overlay|hidden|clip/.test(o+n+e)&&i!=="inline"&&i!=="contents"}function Ln(t){return/^(table|td|th)$/.test(xe(t))}function et(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}var Bi=/transform|translate|scale|rotate|perspective|filter/,zi=/paint|layout|strict|content/,ye=t=>!!t&&t!=="none",fo;function Ft(t){let o=U(t)?q(t):t;return ye(o.transform)||ye(o.translate)||ye(o.scale)||ye(o.rotate)||ye(o.perspective)||!Bt()&&(ye(o.backdropFilter)||ye(o.filter))||Bi.test(o.willChange||"")||zi.test(o.contain||"")}function Wn(t){let o=se(t);for(;Q(o)&&!Pe(o);){if(Ft(o))return o;if(et(o))return null;o=se(o)}return null}function Bt(){return fo==null&&(fo=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),fo}function Pe(t){return/^(html|body|#document)$/.test(xe(t))}function q(t){return B(t).getComputedStyle(t)}function tt(t){return U(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function se(t){if(xe(t)==="html")return t;let o=t.assignedSlot||t.parentNode||Sn(t)&&t.host||K(t);return Sn(o)?o.host:o}function In(t){let o=se(t);return Pe(o)?t.ownerDocument?t.ownerDocument.body:t.body:Q(o)&&Oe(o)?o:In(o)}function Ee(t,o,e){var n;o===void 0&&(o=[]),e===void 0&&(e=!0);let i=In(t),r=i===((n=t.ownerDocument)==null?void 0:n.body),s=B(i);if(r){let a=zt(s);return o.concat(s,s.visualViewport||[],Oe(i)?i:[],a&&e?Ee(a):[])}else return o.concat(i,Ee(i,[],e))}function zt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function An(t){let o=q(t),e=parseFloat(o.width)||0,n=parseFloat(o.height)||0,i=Q(t),r=i?t.offsetWidth:e,s=i?t.offsetHeight:n,a=je(e)!==r||je(n)!==s;return a&&(e=r,n=s),{width:e,height:n,$:a}}function ho(t){return U(t)?t:t.contextElement}function Ae(t){let o=ho(t);if(!Q(o))return J(1);let e=o.getBoundingClientRect(),{width:n,height:i,$:r}=An(o),s=(r?je(e.width):e.width)/n,a=(r?je(e.height):e.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}var Gi=J(0);function Vn(t){let o=B(t);return!Bt()||!o.visualViewport?Gi:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Ui(t,o,e){return o===void 0&&(o=!1),!e||o&&e!==B(t)?!1:o}function ke(t,o,e,n){o===void 0&&(o=!1),e===void 0&&(e=!1);let i=t.getBoundingClientRect(),r=ho(t),s=J(1);o&&(n?U(n)&&(s=Ae(n)):s=Ae(t));let a=Ui(r,e,n)?Vn(r):J(0),c=(i.left+a.x)/s.x,d=(i.top+a.y)/s.y,m=i.width/s.x,l=i.height/s.y;if(r){let f=B(r),u=n&&U(n)?B(n):n,g=f,w=zt(g);for(;w&&n&&u!==g;){let _=Ae(w),h=w.getBoundingClientRect(),b=q(w),P=h.left+(w.clientLeft+parseFloat(b.paddingLeft))*_.x,k=h.top+(w.clientTop+parseFloat(b.paddingTop))*_.y;c*=_.x,d*=_.y,m*=_.x,l*=_.y,c+=P,d+=k,g=B(w),w=zt(g)}}return be({width:m,height:l,x:c,y:d})}function Gt(t,o){let e=tt(t).scrollLeft;return o?o.left+e:ke(K(t)).left+e}function Dn(t,o){let e=t.getBoundingClientRect(),n=e.left+o.scrollLeft-Gt(t,e),i=e.top+o.scrollTop;return{x:n,y:i}}function qi(t){let{elements:o,rect:e,offsetParent:n,strategy:i}=t,r=i==="fixed",s=K(n),a=o?et(o.floating):!1;if(n===s||a&&r)return e;let c={scrollLeft:0,scrollTop:0},d=J(1),m=J(0),l=Q(n);if((l||!l&&!r)&&((xe(n)!=="body"||Oe(s))&&(c=tt(n)),l)){let u=ke(n);d=Ae(n),m.x=u.x+n.clientLeft,m.y=u.y+n.clientTop}let f=s&&!l&&!r?Dn(s,c):J(0);return{width:e.width*d.x,height:e.height*d.y,x:e.x*d.x-c.scrollLeft*d.x+m.x+f.x,y:e.y*d.y-c.scrollTop*d.y+m.y+f.y}}function Xi(t){return Array.from(t.getClientRects())}function Ji(t){let o=K(t),e=tt(t),n=t.ownerDocument.body,i=ie(o.scrollWidth,o.clientWidth,n.scrollWidth,n.clientWidth),r=ie(o.scrollHeight,o.clientHeight,n.scrollHeight,n.clientHeight),s=-e.scrollLeft+Gt(t),a=-e.scrollTop;return q(n).direction==="rtl"&&(s+=ie(o.clientWidth,n.clientWidth)-i),{width:i,height:r,x:s,y:a}}var Rn=25;function Ki(t,o){let e=B(t),n=K(t),i=e.visualViewport,r=n.clientWidth,s=n.clientHeight,a=0,c=0;if(i){r=i.width,s=i.height;let m=Bt();(!m||m&&o==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}let d=Gt(n);if(d<=0){let m=n.ownerDocument,l=m.body,f=getComputedStyle(l),u=m.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,g=Math.abs(n.clientWidth-l.clientWidth-u);g<=Rn&&(r-=g)}else d<=Rn&&(r+=d);return{width:r,height:s,x:a,y:c}}function Zi(t,o){let e=ke(t,!0,o==="fixed"),n=e.top+t.clientTop,i=e.left+t.clientLeft,r=Q(t)?Ae(t):J(1),s=t.clientWidth*r.x,a=t.clientHeight*r.y,c=i*r.x,d=n*r.y;return{width:s,height:a,x:c,y:d}}function En(t,o,e){let n;if(o==="viewport")n=Ki(t,e);else if(o==="document")n=Ji(K(t));else if(U(o))n=Zi(o,e);else{let i=Vn(t);n={x:o.x-i.x,y:o.y-i.y,width:o.width,height:o.height}}return be(n)}function Nn(t,o){let e=se(t);return e===o||!U(e)||Pe(e)?!1:q(e).position==="fixed"||Nn(e,o)}function Yi(t,o){let e=o.get(t);if(e)return e;let n=Ee(t,[],!1).filter(a=>U(a)&&xe(a)!=="body"),i=null,r=q(t).position==="fixed",s=r?se(t):t;for(;U(s)&&!Pe(s);){let a=q(s),c=Ft(s);!c&&a.position==="fixed"&&(i=null),(r?!c&&!i:!c&&a.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||Oe(s)&&!c&&Nn(t,s))?n=n.filter(m=>m!==s):i=a,s=se(s)}return o.set(t,n),n}function ji(t){let{element:o,boundary:e,rootBoundary:n,strategy:i}=t,s=[...e==="clippingAncestors"?et(o)?[]:Yi(o,this._c):[].concat(e),n],a=En(o,s[0],i),c=a.top,d=a.right,m=a.bottom,l=a.left;for(let f=1;f<s.length;f++){let u=En(o,s[f],i);c=ie(u.top,c),d=pe(u.right,d),m=pe(u.bottom,m),l=ie(u.left,l)}return{width:d-l,height:m-c,x:l,y:c}}function Qi(t){let{width:o,height:e}=An(t);return{width:o,height:e}}function er(t,o,e){let n=Q(o),i=K(o),r=e==="fixed",s=ke(t,!0,r,o),a={scrollLeft:0,scrollTop:0},c=J(0);function d(){c.x=Gt(i)}if(n||!n&&!r)if((xe(o)!=="body"||Oe(i))&&(a=tt(o)),n){let u=ke(o,!0,r,o);c.x=u.x+o.clientLeft,c.y=u.y+o.clientTop}else i&&d();r&&!n&&i&&d();let m=i&&!n&&!r?Dn(i,a):J(0),l=s.left+a.scrollLeft-c.x-m.x,f=s.top+a.scrollTop-c.y-m.y;return{x:l,y:f,width:s.width,height:s.height}}function go(t){return q(t).position==="static"}function On(t,o){if(!Q(t)||q(t).position==="fixed")return null;if(o)return o(t);let e=t.offsetParent;return K(t)===e&&(e=e.ownerDocument.body),e}function Hn(t,o){let e=B(t);if(et(t))return e;if(!Q(t)){let i=se(t);for(;i&&!Pe(i);){if(U(i)&&!go(i))return i;i=se(i)}return e}let n=On(t,o);for(;n&&Ln(n)&&go(n);)n=On(n,o);return n&&Pe(n)&&go(n)&&!Ft(n)?e:n||Wn(t)||e}var tr=async function(t){let o=this.getOffsetParent||Hn,e=this.getDimensions,n=await e(t.floating);return{reference:er(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function or(t){return q(t).direction==="rtl"}var nr={convertOffsetParentRelativeRectToViewportRelativeRect:qi,getDocumentElement:K,getClippingRect:ji,getOffsetParent:Hn,getElementRects:tr,getClientRects:Xi,getDimensions:Qi,getScale:Ae,isElement:U,isRTL:or};function $n(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function ir(t,o){let e=null,n,i=K(t);function r(){var a;clearTimeout(n),(a=e)==null||a.disconnect(),e=null}function s(a,c){a===void 0&&(a=!1),c===void 0&&(c=1),r();let d=t.getBoundingClientRect(),{left:m,top:l,width:f,height:u}=d;if(a||o(),!f||!u)return;let g=Qe(l),w=Qe(i.clientWidth-(m+f)),_=Qe(i.clientHeight-(l+u)),h=Qe(m),P={rootMargin:-g+"px "+-w+"px "+-_+"px "+-h+"px",threshold:ie(0,pe(1,c))||1},k=!0;function x(T){let C=T[0].intersectionRatio;if(C!==c){if(!k)return s();C?s(!1,C):n=setTimeout(()=>{s(!1,1e-7)},1e3)}C===1&&!$n(d,t.getBoundingClientRect())&&s(),k=!1}try{e=new IntersectionObserver(x,{...P,root:i.ownerDocument})}catch{e=new IntersectionObserver(x,P)}e.observe(t)}return s(!0),r}function Fn(t,o,e,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=ho(t),m=i||r?[...d?Ee(d):[],...o?Ee(o):[]]:[];m.forEach(h=>{i&&h.addEventListener("scroll",e,{passive:!0}),r&&h.addEventListener("resize",e)});let l=d&&a?ir(d,e):null,f=-1,u=null;s&&(u=new ResizeObserver(h=>{let[b]=h;b&&b.target===d&&u&&o&&(u.unobserve(o),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var P;(P=u)==null||P.observe(o)})),e()}),d&&!c&&u.observe(d),o&&u.observe(o));let g,w=c?ke(t):null;c&&_();function _(){let h=ke(t);w&&!$n(w,h)&&e(),w=h,g=requestAnimationFrame(_)}return e(),()=>{var h;m.forEach(b=>{i&&b.removeEventListener("scroll",e),r&&b.removeEventListener("resize",e)}),l?.(),(h=u)==null||h.disconnect(),u=null,c&&cancelAnimationFrame(g)}}var vo=Tn;var _o=Cn,wo=kn;var Bn=Pn;var zn=(t,o,e)=>{let n=new Map,i={platform:nr,...e},r={...i.platform,_c:n};return xn(t,o,{...i,platform:r})};var me=({x:t,y:o,placement:e="right",offset:n=0,arrow:i=!1,arrowColor:r="white",children:s})=>{let a=H(null),c=H(null),d=H(null),m=H();return m.current=()=>{if(!a.current||!c.current)return;let l=Array.isArray(i)?i[0]:i||0,f=Array.isArray(i)?i[1]:i||0,u=n+Math.max(f,l),g=e.includes("-")?[vo(u),wo(),_o()]:[vo(u),_o(),wo()];d.current&&g.push(Bn({element:d.current})),zn(a.current,c.current,{placement:e,strategy:"fixed",middleware:g}).then(w=>{c.current&&Object.assign(c.current.style,{left:`${w.x}px`,top:`${w.y}px`});let _=w.middlewareData.arrow;if(_&&d.current){let h=rr(l,f,r,w.placement);h.transform=`translate(${_.x||0}px, ${_.y||0}px)`,Object.assign(d.current.style,h)}})},oe(()=>{m.current?.()},[t,o,e,i,n]),G(()=>{let l=a.current,f=c.current;if(!l||!f)return;f.style.visibility="visible";let u=Fn(l,f,()=>m.current?.());return()=>{u()}},[]),p("div",{style:{position:"absolute",left:t,top:o},ref:a,children:p("div",{className:"deck-widget deck-widget-popover",style:{position:"fixed",visibility:"hidden",pointerEvents:"none"},ref:c,children:[Boolean(i)&&p("div",{className:"deck-widget-popover-arrow",style:{position:"absolute"},ref:d}),s]})})};function rr(t,o,e,n){let i={width:0,height:0,top:"",bottom:"",left:"",right:""};return n.startsWith("bottom")?(i.borderLeft=`${t/2}px solid transparent`,i.borderRight=`${t/2}px solid transparent`,i.borderBottom=`${o}px solid ${e}`,i.borderTop="",i.top=`${-o}px`):n.startsWith("top")?(i.borderLeft=`${t/2}px solid transparent`,i.borderRight=`${t/2}px solid transparent`,i.borderTop=`${o}px solid ${e}`,i.borderBottom="",i.bottom=`${-o}px`):n.startsWith("right")?(i.borderTop=`${t/2}px solid transparent`,i.borderBottom=`${t/2}px solid transparent`,i.borderRight=`${o}px solid ${e}`,i.borderLeft="",i.left=`${-o}px`):n.startsWith("left")&&(i.borderTop=`${t/2}px solid transparent`,i.borderBottom=`${t/2}px solid transparent`,i.borderLeft=`${o}px solid ${e}`,i.borderRight="",i.right=`${-o}px`),i}var ot=({text:t,html:o,element:e,...n})=>{let i=H(null);return G(()=>(i.current&&e&&i.current.append(e),()=>{e?.remove()}),[e]),p("div",{ref:i,...n,dangerouslySetInnerHTML:o?{__html:o}:void 0,children:t})};var nt=class extends bo.Widget{constructor(e){super(e);this.className="deck-widget-info";this.placement="fill";this.tooltip=null;this.setProps(this.props)}setProps(e){this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd({deck:e}){this.deck=e}onRemove(){this.rootElement&&y(null,this.rootElement)}onViewportChange(e){this.viewport=e,this.updateHTML()}onHover(e){this.props.mode==="hover"&&(this.tooltip=this._getTooltip(e))}onClick(e){this.props.mode==="click"&&(this.tooltip=this._getTooltip(e))}_getTooltip(e){if(!this.props.getTooltip)return null;let n=this.props.getTooltip(e,this)??null;if(n===null)return null;let i=typeof n=="string"?{text:n}:n,r=i.position||e.coordinate;return r?{position:r,text:"",html:"",element:null,className:"",style:{},...i}:null}onRenderHTML(e){if(!this.viewport||this.tooltip===null){y(null,e);return}let n={...this.props.style,...this.tooltip.style},[i,r]=this.viewport.project(this.tooltip.position),s=p(me,{x:i,y:r,placement:this.props.placement,arrow:this.props.arrow,arrowColor:"var(--menu-background, #fff)",offset:this.props.offset,children:p(ot,{className:`deck-widget-popup-content ${this.tooltip.className} ${this.props.className}`,style:n,html:this.tooltip.html,text:this.tooltip.text,element:this.tooltip.element})});y(s,e)}};nt.defaultProps={...bo.Widget.defaultProps,id:"info",viewId:null,mode:"hover",getTooltip:void 0,placement:"right",offset:10,arrow:10};var yo=R(E(),1);var it=class extends yo.Widget{constructor(e){super(e);this.className="deck-widget-popup";this.placement="fill";this.setProps(this.props),this.isOpen=this.props.defaultIsOpen}setProps(e){this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd({deck:e}){this.deck=e}onRemove(){this.rootElement&&y(null,this.rootElement)}onViewportChange(e){this.viewport=e,this.updateHTML()}onClick(){this.props.closeOnClickOutside&&this._setIsOpen(!1)}_setIsOpen(e){this.isOpen!==e&&(this.isOpen=e,this.props.onOpenChange?.(e),this.updateHTML())}onRenderHTML(e){if(!this.viewport){y(null,e);return}let{marker:n,content:i,style:r}=this.props,[s,a]=this.viewport.project(this.props.position),c=p("div",{children:[n&&p("div",{style:{position:"absolute",left:s,top:a,pointerEvents:"all",cursor:"pointer"},children:p(ot,{...n,onClick:()=>this._setIsOpen(!0)})}),this.isOpen&&p(me,{x:s,y:a,placement:this.props.placement,arrow:this.props.arrow,arrowColor:"var(--menu-background, #fff)",offset:this.props.offset,children:p("div",{className:`deck-widget-popup-content ${this.props.className}`,style:r,children:[this.props.closeButton&&p("div",{className:"deck-widget-popup-controls",style:{width:"100%",display:"flex",justifyContent:"end"},children:p(L,{className:"deck-widget-popup-close-button",onClick:()=>this._setIsOpen(!1)})}),p(ot,{...typeof i=="string"?{text:i}:i})]})})]});y(c,e)}};it.defaultProps={...yo.Widget.defaultProps,id:"info",viewId:null,position:[0,0],marker:null,defaultIsOpen:!0,content:"",placement:"right",offset:10,arrow:10,closeButton:!0,closeOnClickOutside:!1,onOpenChange:()=>{}};var xo=R(E(),1);var rt=class extends xo.Widget{constructor(e){super(e);this.className="deck-widget-context-menu";this.placement="fill";this.menu=null;this.setProps(this.props)}onAdd({deck:e}){e.getCanvas()?.addEventListener("contextmenu",n=>this.handleContextMenu(n))}handleContextMenu(e){let n=e.target.getBoundingClientRect(),i=e.clientX-n.x,r=e.clientY-n.y,s=this.deck?.pickObject({x:i,y:r})||{x:i,y:r,picked:!1,layer:null,color:null,index:-1,pixelRatio:1},a=this.props.getMenuItems?.(s,this)||this.props.menuItems;this.menu=a.length>0?{items:a,pickInfo:s}:null,e.preventDefault(),this.updateHTML()}onRenderHTML(e){if(!this.menu){y(null,e);return}let{items:n,pickInfo:i}=this.menu,r={pointerEvents:"auto",position:"static",...this.props.style},s=p(me,{x:i.x,y:i.y,placement:this.props.placement,arrow:this.props.arrow,arrowColor:"var(--menu-background, #fff)",offset:this.props.offset,children:p(we,{menuItems:n,onSelect:a=>this.props.onMenuItemSelected(a,i),style:r,isOpen:!0,onClose:()=>this.hide()})});y(s,e)}hide(){this.menu=null,this.updateHTML()}};rt.defaultProps={...xo.Widget.defaultProps,id:"context",viewId:null,menuItems:[],getMenuItems:void 0,onMenuItemSelected:()=>{},placement:"bottom-start",offset:10,arrow:!1};var To=R(E(),1);var Gn={passive:!1},st=(t,o,e)=>t<o?o:t>e?e:t,Ut=(t,o)=>{if(!t||!t.firstElementChild)return[0,0];let e=t.firstElementChild.getBoundingClientRect();return o?[e.top,e.height]:o?[e.top,e.height]:[e.left,e.width]},at=(t,o)=>typeof t=="number"&&!Number.isNaN(t)&&t>0?t:Math.max(1,o/10||1),Po=(t,o)=>typeof t=="number"&&!Number.isNaN(t)&&t>0?t:Math.max(1,o||1);function Ve(t){let{className:o="",min:e,max:n,step:i,value:r,orientation:s,pageSize:a,stepButtons:c=!1,startButtonAriaLabel:d,endButtonAriaLabel:m,eventTarget:l,decorations:f=[],onChange:u}=t,g=s!=="horizontal",w=H(null),_=H(null),h=H(null),b=H(null),[P,k]=de(0),x=n-e,T=Math.max(0,r[1]-r[0]),C=Math.max(0,x-T),W=st(r[0],e,e+C),{thumbLength:D,thumbOffset:O}=oe(()=>{if(P<=0||x<=0)return{thumbLength:0,thumbOffset:0};if(x<=T)return{thumbLength:1,thumbOffset:0};let v=T/x,S=Math.max(0,1-v),Z=C<=0?0:st((W-e)/C,0,1);return{thumbLength:Math.max(0,Math.min(v,1)),thumbOffset:S*Z}},[P,x,T,C,W,e]),M=ne(v=>{if(!u)return;let S=st(v,e,e+C);u([S,S+T])},[u,e,C,T]),ee=ne(v=>{v.stopPropagation(),M(W-at(i,x))},[M,W,i,x]),ge=ne(v=>{v.stopPropagation(),M(W+at(i,x))},[M,W,i,x]),N=ne(v=>{if(v.button!==0||v.target?.dataset.scrollbarThumb==="true")return;let Z=_.current;if(!Z)return;v.preventDefault(),v.stopPropagation();let[Te]=Ut(Z,g),De=g?v.clientY-Te:v.clientX-Te,Ce=Math.max(1,1-D)*P,Se=D/2*P,Me=Ce<=0?0:st((De-Se)/Ce,0,1);M(e+Me*C)},[g,P,D,M,e,C]),te=v=>{v.button!==0||!_.current||(b.current={pointerId:v.pointerId,startCoord:g?v.clientY:v.clientX,startRatio:O,min:e,max:n,maxStart:C},v.currentTarget.setPointerCapture(v.pointerId),v.preventDefault(),v.stopPropagation())},X=ne(v=>{let S=b.current;if(!S||S.pointerId!==v.pointerId)return;let[Z,Te]=Ut(_.current,g),Ce=(g?v.clientY:v.clientX)-S.startCoord,Se=S.startRatio+Ce/Te,Me=st(Se*(S.max-S.min),0,S.maxStart)+S.min;M(Me),v.preventDefault()},[M,g]),F=ne(v=>{let S=b.current;S&&S.pointerId===v.pointerId&&(b.current=null,h.current?.releasePointerCapture(v.pointerId),v.preventDefault())},[]),$=ne(v=>{switch(v.key){case"ArrowUp":case"ArrowLeft":(g&&v.key==="ArrowUp"||!g&&v.key==="ArrowLeft")&&(M(W-at(i,x)),v.preventDefault());break;case"ArrowDown":case"ArrowRight":(g&&v.key==="ArrowDown"||!g&&v.key==="ArrowRight")&&(M(W+at(i,x)),v.preventDefault());break;case"PageUp":M(W-Po(a,T)),v.preventDefault();break;case"PageDown":M(W+Po(a,T)),v.preventDefault();break;case"Home":M(e),v.preventDefault();break;case"End":M(e+C),v.preventDefault();break;default:break}},[g,M,W,i,x,a,T,e,C]),z=ne(v=>{if(v.preventDefault(),v.stopPropagation(),C===0)return;let S=g?v.deltaY:v.deltaX;!g&&S===0&&(S=v.deltaY),v.deltaMode===WheelEvent.DOM_DELTA_LINE?S*=at(i,x):v.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(S*=Po(a,T)),S!==0&&M(W+S)},[M,W,C,g,i,x,a,T]);ro(()=>{k(Ut(_.current,g)[1])},[g]),ro(()=>{let v=_.current;if(!v)return;let S=()=>{k(Ut(v,g)[1])};if(S(),typeof ResizeObserver<"u"){let Z=new ResizeObserver(S);return Z.observe(v),()=>Z.disconnect()}if(typeof window<"u")return window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[g]),G(()=>{let v=l??w.current;if(v)return v.addEventListener("keydown",$),v.addEventListener("wheel",z,Gn),()=>{v.removeEventListener("keydown",$),v.removeEventListener("wheel",z,Gn)}},[l,$,z]);let Jt=oe(()=>!f.length||x<=0?[]:f.map((v,S)=>{let[Z,Te]=v.position,De=(Z-e)/x,Ce=(Te-e)/x,Se=Math.round(De*1e3)/10,Me=Math.max(0,Math.round((Ce-De)*1e3)/10),Qn=g?{left:"0",width:"100%",top:`${Se}%`,height:`${Me}%`}:{top:"0",height:"100%",left:`${Se}%`,width:`${Me}%`};return p("div",{className:"deck-widget-range__decoration",style:Qn,children:v.element},`decoration-${S}`)}),[f,x,e,g]);return p("div",{ref:w,tabIndex:0,role:"scrollbar","aria-valuemin":e,"aria-valuemax":e+C,"aria-valuenow":W,"aria-orientation":s,className:`${o} deck-widget-range deck-widget-range--${s} ${C===0?"deck-widget-range--disabled":""}`,children:[c&&p("button",{type:"button",className:"deck-widget-range__button deck-widget-range__button--start","aria-label":d,disabled:W<=e,onClick:ee,children:p("span",{className:"deck-widget-icon"})}),p("div",{className:"deck-widget-range__track",ref:_,onClick:N,children:[p("div",{className:"deck-widget-range__decorations",children:Jt}),p("div",{className:"deck-widget-range__thumb","data-scrollbar-thumb":"true",ref:h,style:g?{height:`${D*100}%`,top:`${O*100}%`}:{width:`${D*100}%`,left:`${O*100}%`},onPointerDown:te,onPointerMove:X,onPointerUp:F,onPointerCancel:F})]}),c&&p("button",{type:"button",className:"deck-widget-range__button deck-widget-range__button--end","aria-label":m,disabled:W>=e+C,onClick:ge,children:p("span",{className:"deck-widget-icon"})})]})}var Un=(t,o,e)=>t<o?o:t>e?e:t,Co=class extends To.Widget{constructor(e){let n={...Co.defaultProps,...e};super(n);this.className="deck-widget-scrollbar";this.placement="fill";this.contentSize=0;this.viewportSize=0;this.scrollOffset=0;this.handleRangeChange=e=>{this.emitScroll(e[0])};this.viewId=n.viewId??null}onViewportChange(e){this.viewport=e,this.onRenderHTML()}onRenderHTML(){let e=this.rootElement;if(!e)return;e.dataset.placement=this.props.placement;let n=this.viewport;this.updateViewport(n);let i=this.getClampedOffset(),r=this.getWheelEventTarget(this.props.captureWheel?"global":"local"),s=this.getDecorations(n),a=this.isVertical(),c=this.props.startButtonAriaLabel??(a?"Scroll up":"Scroll left"),d=this.props.endButtonAriaLabel??(a?"Scroll down":"Scroll right"),m=p(Ve,{min:0,max:Math.max(0,this.contentSize),step:this.getEffectiveStep(),pageSize:this.getEffectivePage(),value:[i,i+this.viewportSize],orientation:this.props.orientation,stepButtons:!0,startButtonAriaLabel:c,endButtonAriaLabel:d,eventTarget:r,decorations:s,onChange:this.handleRangeChange});y(m,e)}onRemove(){this.rootElement&&y(null,this.rootElement),super.onRemove()}updateViewport(e){if(!e){this.contentSize=0,this.scrollOffset=0,this.viewportSize=0;return}let{contentBounds:n}=this.props,i=this.isVertical(),r=n?ko(n,e,i):[0,0];this.contentSize=r[1]-r[0],this.scrollOffset=-r[0],this.viewportSize=i?e.height:e.width}getDecorations(e){let{decorations:n=[],contentBounds:i}=this.props;if(!e||!i||n.length===0)return[];let r=this.isVertical(),[s]=ko(i,e,r);return n.map(a=>{let[c,d]=ko(a.contentBounds,e,r),m=a.onClick?l=>{a.onClick?.(l)&&(l.stopPropagation(),l.preventDefault())}:void 0;return{position:[c-s,d-s],element:p("div",{style:{pointerEvents:m?"all":"none",width:"100%",height:"100%",backgroundColor:a.color},title:a.title,onClick:m})}})}getWheelEventTarget(e){return e===null?null:e==="local"?this.rootElement:this.deck?.props.parent||this.deck?.getCanvas()?.parentElement||this.rootElement}getMaxScroll(){return Math.max(0,this.contentSize-this.viewportSize)}getClampedOffset(){let e=this.getMaxScroll();return Un(this.scrollOffset,0,e)}isVertical(){return this.props.orientation!=="horizontal"}getEffectiveStep(){return typeof this.props.stepSize=="number"&&!Number.isNaN(this.props.stepSize)?this.props.stepSize:Math.max(1,this.viewportSize/10||1)}getEffectivePage(){return typeof this.props.pageSize=="number"&&!Number.isNaN(this.props.pageSize)?this.props.pageSize:this.viewportSize}emitScroll(e){let n=this.getMaxScroll(),i=Un(Math.round(e),0,n),r=this.viewport;if(r&&i!==this.getClampedOffset()){let s=r.project(r.position);this.isVertical()?s[1]-=i-this.scrollOffset:s[0]-=i-this.scrollOffset;let{target:a}=r.panByPosition(r.position,s);this.deck._onViewStateChange({viewId:r.id,viewState:{...this.getViewState(r.id),target:a},interactionState:{}})}}},lt=Co;lt.defaultProps={...To.Widget.defaultProps,contentBounds:null,placement:"top-right",viewId:null,orientation:"vertical",stepSize:null,pageSize:null,startButtonAriaLabel:"",endButtonAriaLabel:"",captureWheel:!1,decorations:[]};function ko(t,o,e){return t.map(([n,i])=>o.project([n,i,0])).reduce((n,[i,r])=>{let s=e?r:i;return n[0]=Math.min(n[0],s),n[1]=Math.max(n[1],s),n},[1/0,-1/0])}var So=R(E(),1);var ct=class extends So.Widget{constructor(e){super(e);this.className="";this.placement="top-left";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId,super.setProps(e)}onRenderHTML(e){let{className:n,style:i,icon:r,color:s,label:a,onClick:c}=this.props;y(p(L,{className:n,style:i,color:s,icon:r,label:a,onClick:c}),e)}};ct.defaultProps={...So.Widget.defaultProps,id:"icon",placement:"top-left",viewId:null,icon:"",label:"",color:"",onClick:void 0};var Mo=R(E(),1);var dt=class extends Mo.Widget{constructor(e){super(e);this.className="deck-widget-toggle";this.placement="top-left";this._toggle=()=>{this.checked=!this.checked,this.props.onChange?.(this.checked),this.updateHTML()};this.checked=this.props.initialChecked,this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId,super.setProps(e)}onRenderHTML(e){let{className:n,style:i,icon:r,label:s,color:a,onIcon:c=r,onLabel:d=s,onColor:m=a}=this.props,l=this.checked;e.dataset.checked=String(l),y(p(L,{className:n,style:i,icon:l?c:r,label:l?d:s,color:l?m:a,onClick:this._toggle}),e)}};dt.defaultProps={...Mo.Widget.defaultProps,id:"icon",placement:"top-left",viewId:null,initialChecked:!1,icon:"",onIcon:void 0,label:"",onLabel:void 0,color:"",onColor:void 0,onChange:void 0};var Lo=R(E(),1);var pt=class extends Lo.Widget{constructor(e){super(e);this.className="deck-widget-selector";this.placement="top-left";this.isOpen=!1;this._toggleMenu=()=>{this.isOpen?this.isOpen=!1:this.rootElement&&(this.isOpen={x:this.rootElement.offsetLeft,y:this.rootElement.offsetTop,placement:this.props.placement.includes("right")?"left-start":"right-start"}),this.updateHTML()};this._handleSelectMode=e=>{this.value=e,this.props.onChange(e),this.updateHTML()};this.value=this.props.initialValue,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=this.props.options.find(i=>i.value===this.value)??this.props.options[0];y(p("div",{children:[p(L,{icon:n.icon,label:n.label,onClick:this._toggleMenu}),this.isOpen&&p(me,{...this.isOpen,children:p(we,{isOpen:!0,style:{pointerEvents:"auto",position:"static"},menuItems:this.props.options,onSelect:this._handleSelectMode,onClose:this._toggleMenu})})]}),e)}};pt.defaultProps={...Lo.Widget.defaultProps,id:"view-selector",placement:"top-left",viewId:null,initialValue:"",options:[],onChange:()=>{}};var Wo=R(E(),1);var ut=class extends Wo.Widget{constructor(e={}){super(e);this.id="timeline";this.className="deck-widget-timeline";this.placement="fill";this._playing=!1;this.timerId=null;this.handlePlayPause=()=>{let n=!this.getPlaying();this.props.onPlayingChange?.(n),this.props.playing===void 0&&(n?this.play():this.stop())};this.handleTimeChange=([e])=>{this.props.onTimeChange(e),this.props.time===void 0&&(this.currentTime=e,this.props.timeline?.setTime(e),this.updateHTML())};this.tick=()=>{let{timeRange:[e,n],step:i,loop:r}=this.props;if(i>0){let s=this.getTime(),a=Math.round(s/i)*i+i;a>n&&(s<n?a=n:r?a=e:(a=n,this._playing=!1,this.props.onPlayingChange?.(!1))),this.props.onTimeChange(a),this.props.time===void 0&&(this.currentTime=a,this.props.timeline?.setTime(a)),this.updateHTML()}this._playing?this.timerId=window.setTimeout(this.tick,this.props.playInterval):this.timerId=null};this.currentTime=this.props.initialTime??this.props.timeRange[0];let n=this.props.time??this.currentTime;this.props.timeline?.setTime(n),this.setProps(this.props)}getTime(){return this.props.time??this.currentTime}getPlaying(){return this.props.playing??this._playing}setProps(e){let{playing:n,time:i}=this.props;this.viewId=e.viewId??this.viewId,super.setProps(e),e.time!==void 0&&e.time!==i&&this.props.timeline?.setTime(e.time),e.playing!==void 0&&e.playing!==n&&(e.playing&&!this._playing?this._startTimer():!e.playing&&this._playing&&this._stopTimer())}onAdd(){this._playing=!1,this.timerId=null,this.props.autoPlay&&(this.props.playing!==void 0?this.props.onPlayingChange?.(!0):this.play())}onRemove(){this.stop()}onRenderHTML(e){let{timeRange:n,step:i,formatLabel:r}=this.props,s=this.getPlaying(),a=this.getTime();e.dataset.placement=this.props.placement,y(p("div",{className:"deck-widget-button-group",children:[s?p(L,{label:"Pause",className:"deck-widget-timeline-pause",onClick:this.handlePlayPause}):p(L,{label:"Play",className:"deck-widget-timeline-play",onClick:this.handlePlayPause}),p(Ve,{min:n[0],max:n[1],orientation:"horizontal",step:i,value:[a,a],onChange:this.handleTimeChange,decorations:[{position:[a,a+i],element:p("div",{className:"deck-widget-timeline-label deck-widget-timeline-label--current",children:r(a)})}]})]}),e)}play(){this._playing=!0;let{timeRange:[e,n]}=this.props;this.props.time===void 0&&this.getTime()>=n&&(this.currentTime=e,this.props.onTimeChange(e),this.props.timeline?.setTime(e)),this.updateHTML(),this.tick()}stop(){this._stopTimer(),this.updateHTML()}_startTimer(){this._playing=!0,this.tick()}_stopTimer(){this._playing=!1,this.timerId!==null&&(window.clearTimeout(this.timerId),this.timerId=null)}};ut.defaultProps={...Wo.Widget.defaultProps,id:"timeline",placement:"bottom-left",viewId:null,timeline:null,timeRange:[0,100],step:1,initialTime:void 0,time:void 0,onTimeChange:()=>{},autoPlay:!1,loop:!1,playInterval:1e3,playing:void 0,onPlayingChange:()=>{},formatLabel:String};var Io=R(E(),1);var mt=class extends Io.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){y(p(L,{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,n){let i=document.createElement("a");i.href=e,i.download=n,i.click()}};mt.defaultProps={...Io.Widget.defaultProps,id:"screenshot",placement:"top-left",viewId:null,label:"Screenshot",filename:"screenshot.png",imageFormat:"image/png",onCapture:void 0};var fe=R(E(),1),Ro=R(E(),1);var qn={"--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","--menu-background":"#fff","--menu-backdrop-filter":"unset","--menu-border":"unset","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--menu-text":"rgb(24, 24, 26, 1)","--menu-item-hover":"rgba(0, 0, 0, 0.08)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"#d8d8e5","--range-thumb-color":"#616166","--range-decoration-active-color":"#f8dd50"},Xn={"--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","--menu-background":"rgba(18, 18, 20, 1)","--menu-backdrop-filter":"unset","--menu-border":"unset","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--menu-text":"rgb(215, 214, 229, 1)","--menu-item-hover":"rgba(255, 255, 255, 0.1)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"#2c2c30","--range-thumb-color":"#9e9da8","--range-decoration-active-color":"#dd7d2c"},qt={"--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","--menu-background":"rgba(255, 255, 255, 0.6)","--menu-backdrop-filter":"blur(4px)","--menu-border":"1px solid rgba(255, 255, 255, 0.6)","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--menu-text":"rgb(24, 24, 26, 1)","--menu-item-hover":"rgba(0, 0, 0, 0.08)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"rgba(215, 214, 229, 0.3)","--range-thumb-color":"rgba(97, 97, 102, 1)","--range-decoration-active-color":"rgba(255, 215, 0, 0.6)"},Xt={"--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","--menu-background":"rgba(18, 18, 20, 0.75)","--menu-backdrop-filter":"blur(4px)","--menu-border":"1px solid rgba(18, 18, 20, 0.75)","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--menu-text":"rgb(215, 214, 229, 1)","--menu-item-hover":"rgba(255, 255, 255, 0.1)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"rgba(24, 24, 26, 0.3)","--range-thumb-color":"rgba(158, 157, 168, 1)","--range-decoration-active-color":"rgba(255, 145, 0, 0.6)"};var ft=class extends Ro.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:n,darkModeTheme:i,themeMode:r}=this.props;this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e);let s=this.getThemeMode();if(e.themeMode!==void 0&&e.themeMode!==r){this._applyTheme(e.themeMode);return}switch(s){case"light":e.lightModeTheme&&!(0,fe._deepEqual)(e.lightModeTheme,n,1)&&this._applyTheme("light");break;case"dark":e.darkModeTheme&&!(0,fe._deepEqual)(e.darkModeTheme,i,1)&&this._applyTheme("dark");break;default:fe.log.warn(`Invalid theme mode ${s}`)()}}onRenderHTML(e){let{lightModeLabel:n,darkModeLabel:i}=this.props,r=this.getThemeMode();y(p(L,{onClick:this._handleClick.bind(this),label:r==="dark"?i:n,className:r==="dark"?"deck-widget-moon":"deck-widget-sun"}),e)}onAdd(){this._applyTheme(this.getThemeMode())}getThemeMode(){return this.props.themeMode??this.themeMode}_handleClick(){let n=this.getThemeMode()==="dark"?"light":"dark";this.props.onThemeModeChange?.(n),this.props.themeMode===void 0&&(this.themeMode=n,this._applyTheme(n))}_applyTheme(e){let n=this.rootElement?.closest(".deck-widget-container");if(n){let i=e==="dark"?this.props.darkModeTheme:this.props.lightModeTheme;(0,fe._applyStyles)(n,i);let r=e==="dark"?this.props.darkModeLabel:this.props.lightModeLabel;fe.log.log(1,`Switched theme to ${r}`,i)(),this.updateHTML()}}_getInitialThemeMode(){let{initialThemeMode:e}=this.props;return e!=="auto"?e:typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}};ft.defaultProps={...Ro.Widget.defaultProps,id:"theme",placement:"top-left",viewId:null,lightModeLabel:"Light Mode",lightModeTheme:qt,darkModeLabel:"Dark Mode",darkModeTheme:Xt,initialThemeMode:"auto",themeMode:void 0,onThemeModeChange:()=>{}};var Eo=R(E(),1);var gt=class extends Eo.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){y(this.loading&&p(L,{className:"deck-widget-spinner",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}onRedraw({layers:e}){let n=e.some(i=>!i.isLoaded);n!==this.loading&&(this.loading=n,this.props.onLoadingChange?.(n),this.updateHTML())}handleClick(){}};gt.defaultProps={...Eo.Widget.defaultProps,id:"loading",placement:"top-left",viewId:null,label:"Loading layer data",onLoadingChange:()=>{}};var Oo=R(E(),1),Yn=R(Kn(),1);var Ao=t=>`${t.name}: ${t.count}`;function Vo(t){return t<1e3?`${t.toFixed(2)}ms`:`${(t/1e3).toFixed(2)}s`}function jn(t){return`${(t/1e6).toFixed(1)} MB`}var Zn={count:Ao,averageTime:t=>`${t.name}: ${Vo(t.getAverageTime())}`,totalTime:t=>`${t.name}: ${Vo(t.time)}`,fps:t=>`${t.name}: ${Math.round(t.getHz())}fps`,memory:t=>`${t.name}: ${jn(t.count)}`},ht=class extends Oo.Widget{constructor(e={}){super(e);this.className="deck-widget-stats";this.placement="top-left";this._counter=0;this._expanded=!1;this._toggleExpanded=()=>{let e=!this.getExpanded();this.props.onExpandedChange?.(e),this.props.expanded===void 0&&(this._expanded=e,this.updateHTML())};this._getFps=()=>Math.round(this.deck?.metrics.fps??0);this._formatters={...Zn},this._resetOnUpdate={...this.props.resetOnUpdate},this._expanded=Boolean(e.initialExpanded),this.setProps(e)}getExpanded(){return this.props.expanded??this._expanded}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,e.formatters)for(let n in e.formatters){let i=e.formatters[n];this._formatters[n]=typeof i=="string"?Zn[i]||Ao:i}e.resetOnUpdate&&(this._resetOnUpdate={...e.resetOnUpdate}),super.setProps(e)}onRemove(){this.rootElement&&y(null,this.rootElement)}onRenderHTML(e){if(!this.getExpanded()){y(p(sr,{getFps:this._getFps,onClick:this._toggleExpanded}),e);return}let i=this._getStats(),r=this.props.title||("id"in i?i.id:null)||"Stats",s=this._getDeviceLabel(),a=[];i&&i.forEach(c=>{let d=this._getLines(c).split(`
|
|
8
|
-
`);this._resetOnUpdate&&this._resetOnUpdate[c.name]&&c.reset(),d.forEach((m,l)=>{a.push(p("div",{style:{whiteSpace:"pre"},children:m},`${c.name}-${l}`))})}),y(p("div",{className:"deck-widget-stats-container",style:{cursor:"default"},children:[p("div",{className:"deck-widget-stats-header",style:{cursor:"pointer",pointerEvents:"auto"},onClick:this._toggleExpanded,children:[p("b",{children:r}),s&&p("span",{className:"deck-widget-stats-device",children:s}),p("button",{className:"deck-widget-dropdown-button",children:p("span",{className:"deck-widget-dropdown-icon open"})})]}),p("div",{className:"deck-widget-stats-content",children:a})]}),e)}onRedraw(){if(this.getExpanded()){let e=Math.max(1,this.props.framesPerUpdate||1);this._counter++%e===0&&this.updateHTML()}}_getStats(){switch(this.props.type){case"deck":let e=this.deck?.metrics??{};return Object.entries(e);case"luma":return Array.from(
|
|
7
|
+
"use strict";var __exports__=(()=>{var ti=Object.create;var _t=Object.defineProperty;var oi=Object.getOwnPropertyDescriptor;var ni=Object.getOwnPropertyNames;var ii=Object.getPrototypeOf,ri=Object.prototype.hasOwnProperty;var No=(t,o)=>()=>(o||t((o={exports:{}}).exports,o),o.exports),si=(t,o)=>{for(var e in o)_t(t,e,{get:o[e],enumerable:!0})},wt=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of ni(o))!ri.call(t,i)&&i!==e&&_t(t,i,{get:()=>o[i],enumerable:!(n=oi(o,i))||n.enumerable});return t},le=(t,o,e)=>(wt(t,o,"default"),e&&wt(e,o,"default")),R=(t,o,e)=>(e=t!=null?ti(ii(t)):{},wt(o||!t||!t.__esModule?_t(e,"default",{value:t,enumerable:!0}):e,t)),ai=t=>wt(_t({},"__esModule",{value:!0}),t);var E=No((dr,Ho)=>{Ho.exports=globalThis.deck});var Jn=No((Na,Yn)=>{Yn.exports=globalThis.luma});var vt={};si(vt,{CompassWidget:()=>Ge,ContextMenuWidget:()=>rt,DarkGlassTheme:()=>Zt,DarkTheme:()=>Zn,FullscreenWidget:()=>qe,GimbalWidget:()=>Be,IconWidget:()=>ct,InfoWidget:()=>nt,LightGlassTheme:()=>qt,LightTheme:()=>qn,LoadingWidget:()=>gt,PopupWidget:()=>it,ResetViewWidget:()=>ze,ScreenshotWidget:()=>mt,ScrollbarWidget:()=>lt,SelectorWidget:()=>pt,ThemeWidget:()=>ft,ToggleWidget:()=>dt,ZoomWidget:()=>$e,_ButtonGroup:()=>Tt,_CoordinatesGeocoder:()=>We,_CurrentLocationGeocoder:()=>At,_DropdownMenu:()=>Wt,_GeocoderWidget:()=>Ue,_GoogleGeocoder:()=>Rt,_IconButton:()=>L,_MapboxGeocoder:()=>Et,_OpenCageGeocoder:()=>Ot,_RangeInput:()=>Ve,_ScaleWidget:()=>Xe,_SimpleMenu:()=>_e,_SplitterWidget:()=>Ye,_StatsWidget:()=>ht,_TimelineWidget:()=>ut});var K={},$o=R(E(),1);le(K,R(E(),1));if(!$o.Layer)throw new Error("@deck.gl/core is not found");le(vt,K);var ie=R(E(),1);var kt,I,Xo,li,ve,zo,Uo,Jt,eo,Kt,jt,ci,Ne={},qo=[],di=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,to=Array.isArray;function ce(t,o){for(var e in o)t[e]=o[e];return t}function Zo(t){var o=t.parentNode;o&&o.removeChild(t)}function pi(t,o,e){var n,i,r,s={};for(r in o)r=="key"?n=o[r]:r=="ref"?i=o[r]:s[r]=o[r];if(arguments.length>2&&(s.children=arguments.length>3?kt.call(arguments,2):e),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)s[r]===void 0&&(s[r]=t.defaultProps[r]);return yt(t,s,n,i,null)}function yt(t,o,e,n,i){var r={type:t,props:o,key:e,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:i??++Xo,__i:-1,__u:0};return i==null&&I.vnode!=null&&I.vnode(r),r}function de(t){return t.children}function xt(t,o){this.props=t,this.context=o}function we(t,o){if(o==null)return t.__?we(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"?we(t):null}function Yo(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 Yo(t)}}function Bo(t){(!t.__d&&(t.__d=!0)&&ve.push(t)&&!Pt.__r++||zo!==I.debounceRendering)&&((zo=I.debounceRendering)||Uo)(Pt)}function Pt(){var t,o,e,n,i,r,s,a;for(ve.sort(Jt);t=ve.shift();)t.__d&&(o=ve.length,n=void 0,r=(i=(e=t).__v).__e,s=[],a=[],e.__P&&((n=ce({},i)).__v=i.__v+1,I.vnode&&I.vnode(n),oo(e.__P,n,i,e.__n,e.__P.namespaceURI,32&i.__u?[r]:null,s,r??we(i),!!(32&i.__u),a),n.__v=i.__v,n.__.__k[n.__i]=n,jo(s,n,a),n.__e!=r&&Yo(n)),ve.length>o&&ve.sort(Jt));Pt.__r=0}function Jo(t,o,e,n,i,r,s,a,c,d,m){var l,g,u,f,v,w=n&&n.__k||qo,h=o.length;for(e.__d=c,ui(e,o,w),c=e.__d,l=0;l<h;l++)(u=e.__k[l])!=null&&typeof u!="boolean"&&typeof u!="function"&&(g=u.__i===-1?Ne:w[u.__i]||Ne,u.__i=l,oo(t,u,g,i,r,s,a,c,d,m),f=u.__e,u.ref&&g.ref!=u.ref&&(g.ref&&no(g.ref,null,u),m.push(u.ref,u.__c||f,u)),v==null&&f!=null&&(v=f),65536&u.__u||g.__k===u.__k?c=Ko(u,c,t):typeof u.type=="function"&&u.__d!==void 0?c=u.__d:f&&(c=f.nextSibling),u.__d=void 0,u.__u&=-196609);e.__d=c,e.__e=v}function ui(t,o,e){var n,i,r,s,a,c=o.length,d=e.length,m=d,l=0;for(t.__k=[],n=0;n<c;n++)s=n+l,(i=t.__k[n]=(i=o[n])==null||typeof i=="boolean"||typeof i=="function"?null:typeof i=="string"||typeof i=="number"||typeof i=="bigint"||i.constructor==String?yt(null,i,null,null,null):to(i)?yt(de,{children:i},null,null,null):i.constructor===void 0&&i.__b>0?yt(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)!=null?(i.__=t,i.__b=t.__b+1,a=mi(i,e,s,m),i.__i=a,r=null,a!==-1&&(m--,(r=e[a])&&(r.__u|=131072)),r==null||r.__v===null?(a==-1&&l--,typeof i.type!="function"&&(i.__u|=65536)):a!==s&&(a==s-1?l--:a==s+1?l++:a>s?m>c-s?l+=a-s:l--:a<s&&(a==s-l?l-=a-s:l++),a!==n+l&&(i.__u|=65536))):(r=e[s])&&r.key==null&&r.__e&&!(131072&r.__u)&&(r.__e==t.__d&&(t.__d=we(r)),Qt(r,r,!1),e[s]=null,m--);if(m)for(n=0;n<d;n++)(r=e[n])!=null&&!(131072&r.__u)&&(r.__e==t.__d&&(t.__d=we(r)),Qt(r,r))}function Ko(t,o,e){var n,i;if(typeof t.type=="function"){for(n=t.__k,i=0;n&&i<n.length;i++)n[i]&&(n[i].__=t,o=Ko(n[i],o,e));return o}t.__e!=o&&(o&&t.type&&!e.contains(o)&&(o=we(t)),e.insertBefore(t.__e,o||null),o=t.__e);do o=o&&o.nextSibling;while(o!=null&&o.nodeType===8);return o}function mi(t,o,e,n){var i=t.key,r=t.type,s=e-1,a=e+1,c=o[e];if(c===null||c&&i==c.key&&r===c.type&&!(131072&c.__u))return e;if(n>(c!=null&&!(131072&c.__u)?1:0))for(;s>=0||a<o.length;){if(s>=0){if((c=o[s])&&!(131072&c.__u)&&i==c.key&&r===c.type)return s;s--}if(a<o.length){if((c=o[a])&&!(131072&c.__u)&&i==c.key&&r===c.type)return a;a++}}return-1}function Fo(t,o,e){o[0]==="-"?t.setProperty(o,e??""):t[o]=e==null?"":typeof e!="number"||di.test(o)?e:e+"px"}function bt(t,o,e,n,i){var r;e:if(o==="style")if(typeof e=="string")t.style.cssText=e;else{if(typeof n=="string"&&(t.style.cssText=n=""),n)for(o in n)e&&o in e||Fo(t.style,o,"");if(e)for(o in e)n&&e[o]===n[o]||Fo(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?n?e.u=n.u:(e.u=eo,t.addEventListener(o,r?jt:Kt,r)):t.removeEventListener(o,r?jt:Kt,r);else{if(i=="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 Go(t){return function(o){if(this.l){var e=this.l[o.type+t];if(o.t==null)o.t=eo++;else if(o.t<e.u)return;return e(I.event?I.event(o):o)}}}function oo(t,o,e,n,i,r,s,a,c,d){var m,l,g,u,f,v,w,h,b,P,k,x,T,C,W,D,O=o.type;if(o.constructor!==void 0)return null;128&e.__u&&(c=!!(32&e.__u),r=[a=o.__e=e.__e]),(m=I.__b)&&m(o);e:if(typeof O=="function")try{if(h=o.props,b="prototype"in O&&O.prototype.render,P=(m=O.contextType)&&n[m.__c],k=m?P?P.props.value:m.__:n,e.__c?w=(l=o.__c=e.__c).__=l.__E:(b?o.__c=l=new O(h,k):(o.__c=l=new xt(h,k),l.constructor=O,l.render=gi),P&&P.sub(l),l.props=h,l.state||(l.state={}),l.context=k,l.__n=n,g=l.__d=!0,l.__h=[],l._sb=[]),b&&l.__s==null&&(l.__s=l.state),b&&O.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=ce({},l.__s)),ce(l.__s,O.getDerivedStateFromProps(h,l.__s))),u=l.props,f=l.state,l.__v=o,g)b&&O.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),b&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(b&&O.getDerivedStateFromProps==null&&h!==u&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(h,k),!l.__e&&(l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(h,l.__s,k)===!1||o.__v===e.__v)){for(o.__v!==e.__v&&(l.props=h,l.state=l.__s,l.__d=!1),o.__e=e.__e,o.__k=e.__k,o.__k.forEach(function(M){M&&(M.__=o)}),x=0;x<l._sb.length;x++)l.__h.push(l._sb[x]);l._sb=[],l.__h.length&&s.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(h,l.__s,k),b&&l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(u,f,v)})}if(l.context=k,l.props=h,l.__P=t,l.__e=!1,T=I.__r,C=0,b){for(l.state=l.__s,l.__d=!1,T&&T(o),m=l.render(l.props,l.state,l.context),W=0;W<l._sb.length;W++)l.__h.push(l._sb[W]);l._sb=[]}else do l.__d=!1,T&&T(o),m=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++C<25);l.state=l.__s,l.getChildContext!=null&&(n=ce(ce({},n),l.getChildContext())),b&&!g&&l.getSnapshotBeforeUpdate!=null&&(v=l.getSnapshotBeforeUpdate(u,f)),Jo(t,to(D=m!=null&&m.type===de&&m.key==null?m.props.children:m)?D:[D],o,e,n,i,r,s,a,c,d),l.base=o.__e,o.__u&=-161,l.__h.length&&s.push(l),w&&(l.__E=l.__=null)}catch(M){if(o.__v=null,c||r!=null){for(o.__u|=c?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;I.__e(M,o,e)}else r==null&&o.__v===e.__v?(o.__k=e.__k,o.__e=e.__e):o.__e=fi(e.__e,o,e,n,i,r,s,c,d);(m=I.diffed)&&m(o)}function jo(t,o,e){o.__d=void 0;for(var n=0;n<e.length;n++)no(e[n],e[++n],e[++n]);I.__c&&I.__c(o,t),t.some(function(i){try{t=i.__h,i.__h=[],t.some(function(r){r.call(i)})}catch(r){I.__e(r,i.__v)}})}function fi(t,o,e,n,i,r,s,a,c){var d,m,l,g,u,f,v,w=e.props,h=o.props,b=o.type;if(b==="svg"?i="http://www.w3.org/2000/svg":b==="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),r!=null){for(d=0;d<r.length;d++)if((u=r[d])&&"setAttribute"in u==!!b&&(b?u.localName===b:u.nodeType===3)){t=u,r[d]=null;break}}if(t==null){if(b===null)return document.createTextNode(h);t=document.createElementNS(i,b,h.is&&h),r=null,a=!1}if(b===null)w===h||a&&t.data===h||(t.data=h);else{if(r=r&&kt.call(t.childNodes),w=e.props||Ne,!a&&r!=null)for(w={},d=0;d<t.attributes.length;d++)w[(u=t.attributes[d]).name]=u.value;for(d in w)if(u=w[d],d!="children"){if(d=="dangerouslySetInnerHTML")l=u;else if(d!=="key"&&!(d in h)){if(d=="value"&&"defaultValue"in h||d=="checked"&&"defaultChecked"in h)continue;bt(t,d,null,u,i)}}for(d in h)u=h[d],d=="children"?g=u:d=="dangerouslySetInnerHTML"?m=u:d=="value"?f=u:d=="checked"?v=u:d==="key"||a&&typeof u!="function"||w[d]===u||bt(t,d,u,w[d],i);if(m)a||l&&(m.__html===l.__html||m.__html===t.innerHTML)||(t.innerHTML=m.__html),o.__k=[];else if(l&&(t.innerHTML=""),Jo(t,to(g)?g:[g],o,e,n,b==="foreignObject"?"http://www.w3.org/1999/xhtml":i,r,s,r?r[0]:e.__k&&we(e,0),a,c),r!=null)for(d=r.length;d--;)r[d]!=null&&Zo(r[d]);a||(d="value",f!==void 0&&(f!==t[d]||b==="progress"&&!f||b==="option"&&f!==w[d])&&bt(t,d,f,w[d],i),d="checked",v!==void 0&&v!==t[d]&&bt(t,d,v,w[d],i))}return t}function no(t,o,e){try{if(typeof t=="function"){var n=typeof t.__u=="function";n&&t.__u(),n&&o==null||(t.__u=t(o))}else t.current=o}catch(i){I.__e(i,e)}}function Qt(t,o,e){var n,i;if(I.unmount&&I.unmount(t),(n=t.ref)&&(n.current&&n.current!==t.__e||no(n,null,o)),(n=t.__c)!=null){if(n.componentWillUnmount)try{n.componentWillUnmount()}catch(r){I.__e(r,o)}n.base=n.__P=null}if(n=t.__k)for(i=0;i<n.length;i++)n[i]&&Qt(n[i],o,e||typeof t.type!="function");e||t.__e==null||Zo(t.__e),t.__c=t.__=t.__e=t.__d=void 0}function gi(t,o,e){return this.constructor(t,e)}function y(t,o,e){var n,i,r,s;I.__&&I.__(t,o),i=(n=typeof e=="function")?null:e&&e.__k||o.__k,r=[],s=[],oo(o,t=(!n&&e||o).__k=pi(de,null,[t]),i||Ne,Ne,o.namespaceURI,!n&&e?[e]:i?null:o.firstChild?kt.call(o.childNodes):null,r,!n&&e?e:i?i.__e:o.firstChild,n,s),jo(r,t,s)}kt=qo.slice,I={__e:function(t,o,e,n){for(var i,r,s;o=o.__;)if((i=o.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(t)),s=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(t,n||{}),s=i.__d),s)return i.__E=i}catch(a){t=a}throw t}},Xo=0,li=function(t){return t!=null&&t.constructor==null},xt.prototype.setState=function(t,o){var e;e=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=ce({},this.state),typeof t=="function"&&(t=t(ce({},e),this.props)),t&&ce(e,t),t!=null&&this.__v&&(o&&this._sb.push(o),Bo(this))},xt.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Bo(this))},xt.prototype.render=de,ve=[],Uo=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Jt=function(t,o){return t.__v.__b-o.__v.__b},Pt.__r=0,eo=0,Kt=Go(!1),jt=Go(!0),ci=0;var hi=0,fr=Array.isArray;function p(t,o,e,n,i,r){o||(o={});var s,a,c=o;if("ref"in c)for(a in c={},o)a=="ref"?s=o[a]:c[a]=o[a];var d={type:t,props:c,key:e,ref:s,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--hi,__i:-1,__u:0,__source:i,__self:r};if(typeof t=="function"&&(s=t.defaultProps))for(a in s)c[a]===void 0&&(c[a]=s[a]);return I.vnode&&I.vnode(d),d}var Tt=t=>{let{children:o,orientation:e="horizontal"}=t;return p("div",{className:`deck-widget-button-group ${e}`,children:o})};var Le,A,io,Qo,He=0,ln=[],V=I,en=V.__b,tn=V.__r,on=V.diffed,nn=V.__c,rn=V.unmount,sn=V.__;function St(t,o){V.__h&&V.__h(A,t,He||o),He=0;var e=A.__H||(A.__H={__:[],__h:[]});return t>=e.__.length&&e.__.push({}),e.__[t]}function pe(t){return He=1,vi(cn,t)}function vi(t,o,e){var n=St(Le++,2);if(n.t=t,!n.__c&&(n.__=[e?e(o):cn(void 0,o),function(a){var c=n.__N?n.__N[0]:n.__[0],d=n.t(c,a);c!==d&&(n.__N=[d,n.__[1]],n.__c.setState({}))}],n.__c=A,!A.u)){var i=function(a,c,d){if(!n.__c.__H)return!0;var m=n.__c.__H.__.filter(function(g){return!!g.__c});if(m.every(function(g){return!g.__N}))return!r||r.call(this,a,c,d);var l=!1;return m.forEach(function(g){if(g.__N){var u=g.__[0];g.__=g.__N,g.__N=void 0,u!==g.__[0]&&(l=!0)}}),!(!l&&n.__c.props===a)&&(!r||r.call(this,a,c,d))};A.u=!0;var r=A.shouldComponentUpdate,s=A.componentWillUpdate;A.componentWillUpdate=function(a,c,d){if(this.__e){var m=r;r=void 0,i(a,c,d),r=m}s&&s.call(this,a,c,d)},A.shouldComponentUpdate=i}return n.__N||n.__}function G(t,o){var e=St(Le++,3);!V.__s&&ao(e.__H,o)&&(e.__=t,e.i=o,A.__H.__h.push(e))}function so(t,o){var e=St(Le++,4);!V.__s&&ao(e.__H,o)&&(e.__=t,e.i=o,A.__h.push(e))}function H(t){return He=5,oe(function(){return{current:t}},[])}function oe(t,o){var e=St(Le++,7);return ao(e.__H,o)&&(e.__=t(),e.__H=o,e.__h=t),e.__}function ne(t,o){return He=8,oe(function(){return t},o)}function wi(){for(var t;t=ln.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(Ct),t.__H.__h.forEach(ro),t.__H.__h=[]}catch(o){t.__H.__h=[],V.__e(o,t.__v)}}V.__b=function(t){A=null,en&&en(t)},V.__=function(t,o){t&&o.__k&&o.__k.__m&&(t.__m=o.__k.__m),sn&&sn(t,o)},V.__r=function(t){tn&&tn(t),Le=0;var o=(A=t.__c).__H;o&&(io===A?(o.__h=[],A.__h=[],o.__.forEach(function(e){e.__N&&(e.__=e.__N),e.i=e.__N=void 0})):(o.__h.forEach(Ct),o.__h.forEach(ro),o.__h=[],Le=0)),io=A},V.diffed=function(t){on&&on(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(ln.push(o)!==1&&Qo===V.requestAnimationFrame||((Qo=V.requestAnimationFrame)||_i)(wi)),o.__H.__.forEach(function(e){e.i&&(e.__H=e.i),e.i=void 0})),io=A=null},V.__c=function(t,o){o.some(function(e){try{e.__h.forEach(Ct),e.__h=e.__h.filter(function(n){return!n.__||ro(n)})}catch(n){o.some(function(i){i.__h&&(i.__h=[])}),o=[],V.__e(n,e.__v)}}),nn&&nn(t,o)},V.unmount=function(t){rn&&rn(t);var o,e=t.__c;e&&e.__H&&(e.__H.__.forEach(function(n){try{Ct(n)}catch(i){o=i}}),e.__H=void 0,o&&V.__e(o,e.__v))};var an=typeof requestAnimationFrame=="function";function _i(t){var o,e=function(){clearTimeout(n),an&&cancelAnimationFrame(o),setTimeout(t)},n=setTimeout(e,100);an&&(o=requestAnimationFrame(e))}function Ct(t){var o=A,e=t.__c;typeof e=="function"&&(t.__c=void 0,e()),A=o}function ro(t){var o=A;t.__c=t.__(),A=o}function ao(t,o){return!t||t.length!==o.length||o.some(function(e,n){return e!==t[n]})}function cn(t,o){return typeof o=="function"?o(t):o}function Mt(t){if(!t)return;let o=`url("${t.replace(/"/g,"'")}")`;return{maskImage:o,WebkitMaskImage:o}}var L=t=>{let{className:o="",style:e,color:n,icon:i,label:r,onClick:s,children:a}=t,c=oe(()=>{let d=Mt(i);return n?{...d,backgroundColor:n}:d},[n,i]);return p("div",{className:"deck-widget-button",style:e,children:p("button",{className:`deck-widget-icon-button ${o}`,type:"button",onClick:s,title:r,children:a||p("div",{className:"deck-widget-icon",style:c})})})};var $e=class extends ie.Widget{constructor(e={}){super(e);this.className="deck-widget-zoom";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){let n=p(Tt,{orientation:this.props.orientation,children:[p(L,{onClick:()=>this.handleZoomIn(),label:this.props.zoomInLabel,className:"deck-widget-zoom-in"}),p(L,{onClick:()=>this.handleZoomOut(),label:this.props.zoomOutLabel,className:"deck-widget-zoom-out"})]});y(n,e)}isOrthographicView(e){let n=this.deck;return(n?.isInitialized&&n.getView(e))instanceof ie.OrthographicView}handleZoom(e,n){let i=this.getViewState(e),r={};if(this.isOrthographicView(e)){let{zoomAxis:a}=this.props,{zoomX:c,minZoomX:d,maxZoomX:m,zoomY:l,minZoomY:g,maxZoomY:u}=bi(i),f,v;if(a==="X")f=Lt(c+n,d,m),v=l;else if(a==="Y")f=c,v=Lt(l+n,g,u);else{let w=Lt(n,Math.max(d-c,g-l),Math.min(m-c,u-l));f=c+w,v=l+w}r.zoom=[f,v],r.zoomX=f,r.zoomY=v,this.props.onZoom?.({viewId:e,delta:n,zoom:a==="Y"?v:f,zoomX:f,zoomY:v})}else{let{zoom:a=0,minZoom:c,maxZoom:d}=i,m=Lt(a+n,c,d);r.zoom=m,this.props.onZoom?.({viewId:e,delta:n,zoom:m})}let s={...i,...r};this.props.transitionDuration>0&&(s.transitionDuration=this.props.transitionDuration,s.transitionInterpolator="latitude"in s?new ie.FlyToInterpolator:new ie.LinearInterpolator({transitionProps:"zoomX"in r?["zoomX","zoomY"]:["zoom"]})),this.setViewState(e,s)}handleZoomIn(){let e=this.viewId?[this.viewId]:this.deck?.getViews().map(n=>n.id)??[];for(let n of e)this.handleZoom(n,1)}handleZoomOut(){let e=this.viewId?[this.viewId]:this.deck?.getViews().map(n=>n.id)??[];for(let n of e)this.handleZoom(n,-1)}};$e.defaultProps={...ie.Widget.defaultProps,id:"zoom",placement:"top-left",orientation:"vertical",transitionDuration:200,zoomInLabel:"Zoom In",zoomOutLabel:"Zoom Out",zoomAxis:"all",viewId:null,onZoom:()=>{}};function Lt(t,o,e){return t<o?o:t>e?e:t}function bi({zoom:t=0,zoomX:o,zoomY:e,minZoom:n=-1/0,maxZoom:i=1/0,minZoomX:r=n,maxZoomX:s=i,minZoomY:a=n,maxZoomY:c=i}){return o=o??(Array.isArray(t)?t[0]:t),e=e??(Array.isArray(t)?t[1]:t),{zoomX:o,zoomY:e,minZoomX:r,minZoomY:a,maxZoomX:s,maxZoomY:c}}var lo=R(E(),1);var ze=class extends lo.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){y(p(L,{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.resetViewState(e)}resetViewState(e){let n=this.viewId?[this.viewId]:this.deck?.getViews().map(i=>i.id)??[];for(let i of n){let r={...e?.[i]??e};this.props.onReset?.({viewId:i,viewState:r}),this.setViewState(i,r)}}};ze.defaultProps={...lo.Widget.defaultProps,id:"reset-view",placement:"top-left",label:"Reset View",initialViewState:void 0,viewId:null,onReset:()=>{}};var Fe=R(E(),1);var Be=class extends Fe.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 n=this.viewId||Object.values(this.viewports)[0]?.id||"default-view",i=this.viewports[n],{rotationOrbit:r,rotationX:s}=this.getNormalizedRotation(i),a=p("div",{className:"deck-widget-button",style:{perspective:100,pointerEvents:"auto"},children:p("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:[p("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:p("circle",{cx:"13",cy:"13",r:"10",stroke:"var(--icon-gimbal-outer-color, rgb(68, 92, 204))",strokeWidth:this.props.strokeWidth,fill:"none"})}),p("svg",{className:"gimbal-inner-ring",width:"100%",height:"100%",viewBox:"0 0 26 26",style:{position:"absolute",top:0,left:0,transform:`rotateX(${s}deg)`},children:p("circle",{cx:"13",cy:"13",r:"7",stroke:"var(--icon-gimbal-inner-color, rgb(240, 92, 68))",strokeWidth:this.props.strokeWidth,fill:"none"})})]})});y(a,e)}onViewportChange(e){this.viewports[e.id]=e,this.updateHTML()}resetOrbitView(e){let n=this.viewId||e?.id||"OrbitView",i=this.getViewState(n);if("rotationOrbit"in i||"rotationX"in i){this.props.onReset?.({viewId:n,rotationOrbit:0,rotationX:0});let r={...i,rotationOrbit:0,rotationX:0,transitionDuration:this.props.transitionDuration,transitionInterpolator:new Fe.LinearInterpolator({transitionProps:["rotationOrbit","rotationX"]})};this.setViewState(n,r)}}getNormalizedRotation(e){let n=this.viewId||e?.id||"OrbitView",i=this.getViewState(n),[r,s]=this.getRotation(i),a=dn(r),c=dn(s);return{rotationOrbit:a,rotationX:c}}getRotation(e){return e&&("rotationOrbit"in e||"rotationX"in e)?[-(e.rotationOrbit||0),e.rotationX||0]:[0,0]}};Be.defaultProps={...Fe.Widget.defaultProps,id:"gimbal",placement:"top-left",viewId:null,label:"Gimbal",strokeWidth:1.5,transitionDuration:200,onReset:()=>{}};function dn(t){let o=((t+180)%360+360)%360-180,e=10,n=o-90;return Math.abs(n)<e&&(n<e?o=90+e:n>-e&&(o=90-e)),o}var j=R(E(),1);var Ge=class extends j.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 n=this.viewId||Object.values(this.viewports)[0]?.id,i=this.viewports[n],[r,s]=this.getRotation(i),a=p("div",{className:"deck-widget-button",style:{perspective:100},children:p("button",{type:"button",onClick:()=>{for(let c of Object.values(this.viewports))this.handleCompassReset(c)},title:this.props.label,style:{transform:`rotateX(${s}deg)`},children:p("svg",{fill:"none",width:"100%",height:"100%",viewBox:"0 0 26 26",children:p("g",{transform:`rotate(${r},13,13)`,children:[p("path",{d:"M10 13.0001L12.9999 5L15.9997 13.0001H10Z",fill:"var(--icon-compass-north-color, rgb(240, 92, 68))"}),p("path",{d:"M16.0002 12.9999L13.0004 21L10.0005 12.9999H16.0002Z",fill:"var(--icon-compass-south-color, rgb(204, 204, 204))"})]})})})});y(a,e)}onViewportChange(e){e.equals(this.viewports[e.id])||(this.viewports[e.id]=e,this.updateHTML())}getRotation(e){return e instanceof j.WebMercatorViewport?[-e.bearing,e.pitch]:e instanceof j._GlobeViewport?[0,Math.max(-80,Math.min(80,e.latitude))]:[0,0]}handleCompassReset(e){let n=this.viewId||e.id;if(e instanceof j.WebMercatorViewport){let i=this.getViewState(n),r=this.getRotation(e)[0]===0,s=0,a=r?0:e.pitch;this.props.onReset?.({viewId:n,bearing:s,pitch:a});let c={...i,bearing:s,...r?{pitch:a}:{},transitionDuration:this.props.transitionDuration,transitionInterpolator:new j.FlyToInterpolator};this.setViewState(n,c)}}};Ge.defaultProps={...j.Widget.defaultProps,id:"compass",placement:"top-left",viewId:null,label:"Reset Compass",transitionDuration:200,onReset:()=>{}};var co=R(E(),1);var Xe=class extends co.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 i=50+this.scaleWidth,r=10;y(p("svg",{className:"deck-widget-scale",width:i,height:30,style:{overflow:"visible",background:"transparent"},onClick:this.handleClick.bind(this),children:[p("text",{x:50+5,y:"10",textAnchor:"end",alignmentBaseline:"middle",style:{fontSize:"16px",fill:"black",fontWeight:"bold",fontFamily:"sans-serif"},children:this.scaleText}),p("line",{x1:50,y1:"15",x2:50+this.scaleWidth,y2:"15",stroke:"black",strokeWidth:"6"}),p("line",{x1:50,y1:"15",x2:50,y2:15-r,stroke:"black",strokeWidth:"6"}),p("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:n,zoom:i}=e,r=yi(n,i),{candidate:s,candidatePixels:a}=xi(r);this.scaleValue=s,this.scaleWidth=a,s>=1e3?this.scaleText=`${(s/1e3).toFixed(1)} km`:this.scaleText=`${s} m`,this.updateHTML()}handleClick(){}};Xe.defaultProps={...co.Widget.defaultProps,id:"scale",placement:"bottom-left",label:"Scale",viewId:null};function yi(t,o){return 40075016686e-3*Math.cos(t*Math.PI/180)/Math.pow(2,o+8)}function xi(t){let i=150*t,r=Math.floor(Math.log10(i)),s=Math.pow(10,r),a=[1,2,5],c=a[0]*s,d=c/t;for(let m=0;m<a.length;m++){let l=a[m]*s,g=l/t;if(g>=100&&g<=200){c=l,d=g;break}if(g>200){c=m>0?a[m-1]*s:l,d=c/t;break}m===a.length-1&&g<100&&(c=a[0]*s*10,d=c/t)}return{candidate:c,candidatePixels:d}}var uo=R(E(),1),Vt=R(E(),1);function Pi(t){return typeof t=="string"?t:t.value}function ki(t){return typeof t=="string"?t:t.label}function Ti(t){return typeof t=="string"?void 0:t.icon}var Wt=t=>{let[o,e]=pe(!1);return p(_e,{...t,style:{...t.style,position:"absolute"},isOpen:o,onClose:()=>e(!1),trigger:p("button",{className:"deck-widget-dropdown-button",onClick:()=>e(!o),children:p("span",{className:`deck-widget-dropdown-icon ${o?"open":""}`})})})},_e=t=>{let o=H(null);G(()=>{let n=i=>{o.current&&!o.current.contains(i.target)&&t.onClose()};return document.addEventListener("mousedown",n),()=>{document.removeEventListener("mousedown",n)}},[]);let e=(n,i)=>{n&&(typeof i=="object"&&i.onSelect?.(),t.onSelect?.(n),t.onClose())};return t.menuItems.length===0?null:p("div",{className:"deck-widget-dropdown-container",ref:o,children:[t.trigger,t.isOpen&&p("ul",{className:"deck-widget-dropdown-menu",style:t.style,children:t.menuItems.map((n,i)=>{let r=Pi(n),s=Ti(n);return p("li",{className:`deck-widget-dropdown-item ${r?"":"disabled"}`,onClick:()=>e(r,n),children:[s&&p("span",{className:"deck-widget-dropdown-item-icon",style:Mt(s)}),ki(n)]},i)})})]})};var Ci="current",pn="deck-geocoder-history",It=class{constructor(o){this.addressText="";this.errorText="";this.addressHistory=[];this.props={maxEntries:5,...o},this.addressHistory=this.loadPreviousAddresses()}async geocode(o,e,n){this.errorText="",this.addressText=e;try{let i=await o.geocode(e,n);if(i)return this.storeAddress(this.addressText),i;this.errorText="Invalid address"}catch(i){this.errorText=`${i.message}`}return null}loadPreviousAddresses(){try{let o=window.localStorage.getItem(pn),e=o&&JSON.parse(o);return Array.isArray(e)?e.filter(i=>typeof i=="string"):[]}catch{}return[]}storeAddress(o){let e=o.trim();if(!e||e===Ci)return;let n=[e,...this.addressHistory.filter(i=>i!==e)];this.addressHistory=n.slice(0,this.props.maxEntries);try{window.localStorage.setItem(pn,JSON.stringify(this.addressHistory))}catch{}}};var Si="https://maps.googleapis.com/maps/api/geocode/json",Mi="https://api.mapbox.com/geocoding/v5/mapbox.places",Li="https://api.opencagedata.com/geocode/v1/json",Rt={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),n=await po(`${Si}?address=${e}&key=${o}`);switch(n.status){case"OK":let i=n.results.length>0&&n.results[0].geometry.location;return i?{longitude:i.lng,latitude:i.lat}:null;default:throw new Error(`Google Geocoder failed: ${n.status}`)}}},Et={name:"google",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),n=await po(`${Mi}/${e}.json?access_token=${o}`);if(Array.isArray(n.features)&&n.features.length>0){let i=n.features[0].center;if(Array.isArray(i)&&i.length>=2)return{longitude:i[0],latitude:i[1]}}return null}},Ot={name:"opencage",requiresApiKey:!0,async geocode(t,o){let e=encodeURIComponent(t),n=await po(`${Li}?q=${e}&key=${o}`);if(Array.isArray(n.results)&&n.results.length>0){let i=n.results[0].geometry;return{longitude:i.lng,latitude:i.lat}}return null}},At={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:n,latitude:i}=e.coords;t({longitude:n,latitude:i})},e=>o(new Error(e.message)))})}};async function po(t){let o;try{o=await fetch(t)}catch(n){throw new Error(`CORS error? ${n}. ${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 We={name:"coordinates",requiresApiKey:!1,placeholderLocation:"-122.45, 37.8 or 37\xB048'N, 122\xB027'W",async geocode(t){return Wi(t)||null}};function Wi(t){t=t.trim();let o=t.split(/[,;]/).map(i=>i.trim());if(o.length<2)return null;let e=un(o[0]),n=un(o[1]);return e===null||n===null?null:Math.abs(e)>90&&Math.abs(n)<=90?{longitude:e,latitude:n}:Math.abs(n)>90&&Math.abs(e)<=90?{longitude:n,latitude:e}:{latitude:e,longitude:n}}function un(t){if(t=t.trim(),t.includes("\xB0")||t.includes("'")||t.includes('"')){let n=Ii(t);return isNaN(n)?null:n}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 Ii(t){let o=/(\d+)[°d]\s*(\d+)?['′m]?\s*(\d+(?:\.\d+)?)?[\"″s]?\s*([NSEW])?/i,e=t.match(o);if(!e)return NaN;let n=parseFloat(e[1])||0,i=parseFloat(e[2])||0,r=parseFloat(e[3])||0,s=e[4]||"",a=n+i/60+r/3600;return/[SW]/i.test(s)&&(a=-a),a}var mn="current",Ri="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-480q33 0 56.5-23.5T560-560q0-33-23.5-56.5T480-640q-33 0-56.5 23.5T400-560q0 33 23.5 56.5T480-480Zm0 294q122-112 181-203.5T720-552q0-109-69.5-178.5T480-800q-101 0-170.5 69.5T240-552q0 71 59 162.5T480-186Zm0 106Q319-217 239.5-334.5T160-552q0-150 96.5-239T480-880q127 0 223.5 89T800-552q0 100-79.5 217.5T480-80Z'/%3E%3C/svg%3E",Ei={label:"Current location",value:mn,icon:Ri},Ue=class extends uo.Widget{constructor(e={}){super(e);this.className="deck-widget-geocoder";this.placement="top-left";this.geocodeHistory=new It({});this.addressText="";this.geocoder=We;this.isGettingLocation=!1;this.setInput=e=>{this.addressText=e};this.handleKeyPress=e=>{e.key==="Enter"&&this.handleSubmit()};this.handleSelect=e=>{e===mn?this.getCurrentLocation():(this.setInput(e),this.handleSubmit())};this.handleSubmit=()=>{this.geocode(this.addressText)};this.getCurrentLocation=async()=>{this.isGettingLocation=!0,this.rootElement&&this.updateHTML();try{let e=await At.geocode();e&&this.flyTo(e)}catch(e){this.geocodeHistory.errorText=e instanceof Error?e.message:"Location error"}finally{this.isGettingLocation=!1,this.rootElement&&this.updateHTML()}};this.geocode=async e=>{let n=await this.geocodeHistory.geocode(this.geocoder,this.addressText,this.props.apiKey);this.rootElement&&this.updateHTML(),n&&this.flyTo(n)};this.setProps(this.props)}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,this.geocoder=Oi(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 n=this.props._geolocation?[Ei,...this.geocodeHistory.addressHistory]:[...this.geocodeHistory.addressHistory];y(p("div",{className:"deck-widget-geocoder",children:[p("input",{className:"deck-widget-geocoder-input",type:"text",placeholder:this.isGettingLocation?"Finding your location...":this.geocoder.placeholderLocation??"Enter address or location",value:this.geocodeHistory.addressText,onInput:i=>this.setInput(i.target?.value||""),onKeyPress:this.handleKeyPress}),p(Wt,{menuItems:n,onSelect:this.handleSelect}),this.geocodeHistory.errorText&&p("div",{className:"deck-widget-geocoder-error",children:this.geocodeHistory.errorText})]}),e)}flyTo(e){let n=this.viewId?[this.viewId]:this.deck?.getViews().map(i=>i.id)??[];for(let i of n){"longitude"in e&&"latitude"in e&&this.props.onGeocode?.({viewId:i,coordinates:{longitude:e.longitude,latitude:e.latitude,zoom:e.zoom}});let s={...this.getViewState(i),...e};this.props.transitionDuration>0&&(s.transitionDuration=this.props.transitionDuration,s.transitionInterpolator="latitude"in s?new Vt.FlyToInterpolator:new Vt.LinearInterpolator),this.setViewState(i,s)}}};Ue.defaultProps={...uo.Widget.defaultProps,id:"geocoder",viewId:null,placement:"top-left",label:"Geocoder",transitionDuration:200,geocoder:"coordinates",customGeocoder:We,apiKey:"",_geolocation:!1,onGeocode:()=>{}};function Oi(t){switch(t.geocoder){case"google":return Rt;case"mapbox":return Et;case"opencage":return Ot;case"coordinates":return We;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 Ze=R(E(),1);var qe=class extends Ze.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){let n=this.getFullscreen();y(p(L,{onClick:()=>{this.handleClick().catch(i=>Ze.log.error(i)())},label:n?this.props.exitLabel:this.props.enterLabel,className:n?"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?.props.parent||this.deck?.getCanvas()?.parentElement}getFullscreen(){return this.fullscreen}onFullscreenChange(){let e=document.fullscreenElement===this.getContainer();e!==this.fullscreen&&(this.fullscreen=e,this.props.onFullscreenChange?.(e),this.updateHTML())}async handleClick(){this.getFullscreen()?await this.exitFullscreen():await this.requestFullscreen()}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"),this.fullscreen=!this.fullscreen,this.props.onFullscreenChange?.(this.fullscreen),this.updateHTML()}};qe.defaultProps={...Ze.Widget.defaultProps,id:"fullscreen",placement:"top-left",viewId:null,enterLabel:"Enter Fullscreen",exitLabel:"Exit Fullscreen",container:void 0,onFullscreenChange:()=>{}};var Je=R(E(),1);function fn(t){let o=[],e=i=>"views"in i;function n(i){let r=o.length,s=i.minSplit??.05,a=i.maxSplit??.95,c=Math.min(Math.max(i.initialSplit??.5,s),a),d={id:r,orientation:i.orientation,views:i.views,split:c,editable:i.editable??!0,minSplit:s,maxSplit:a,x:0,y:0,width:0,height:0};return o.push(d),d.views=[e(i.views[0])?n(i.views[0]):i.views[0],e(i.views[1])?n(i.views[1]):i.views[1]],d}return n(t),o}function gn(t){let o=[];function e(n,i,r,s,a){n.x=i,n.y=r,n.width=s,n.height=a;let c=i,d=r,m=s,l=a,g=i,u=r,f=s,v=a;n.orientation==="horizontal"?(m=s*n.split,g=i+m,f=s-m):(l=a*n.split,u=r+l,v=a-l);let[w,h]=n.views;"views"in w?e(w,c,d,m,l):o.push(w.clone({x:`${c}%`,y:`${d}%`,width:`${m}%`,height:`${l}%`})),"views"in h?e(h,g,u,f,v):o.push(h.clone({x:`${g}%`,y:`${u}%`,width:`${f}%`,height:`${v}%`}))}return e(t,0,0,100,100),o}var Ye=class extends Je.Widget{constructor(e){super(e);this.className="deck-widget-splitter";this.placement="fill";this.needsUpdate=!0;this.viewLayouts=fn(this.props.viewLayout)}setProps(e){e.viewLayout&&!(0,Je._deepEqual)(e.viewLayout,this.props.viewLayout,-1)&&(this.viewLayouts=fn(e.viewLayout),this.views=void 0),super.setProps(e)}onRedraw(){super.updateHTML()}updateHTML(){this.views||(this.views=gn(this.viewLayouts[0]),this.props.onChange(this.views.slice())),requestAnimationFrame(()=>{this.doUpdate()})}doUpdate(){if(this.deck){let e=this.deck.props.views;!(e&&e!==this.lastViews)&&this.lastViews!==this.views&&(this.lastViews=this.views,this.deck.setProps({views:this.views}))}}onChange(e,n){n.split=e,this.views=gn(this.viewLayouts[0]),this.props.onChange(this.views.slice()),this.doUpdate()}onRenderHTML(e){y(p(de,{children:this.viewLayouts.map(n=>n.editable&&p(Ai,{...n,onChange:i=>this.onChange(i,n),onDragStart:()=>this.props.onDragStart(),onDragEnd:()=>this.props.onDragStart()}))}),e)}};Ye.defaultProps={...Je.Widget.defaultProps,id:"splitter-widget",viewLayout:void 0,onChange:()=>{},onDragStart:()=>{},onDragEnd:()=>{}};function Ai({orientation:t,x:o,y:e,width:n,height:i,split:r,minSplit:s,maxSplit:a,onChange:c,onDragStart:d,onDragEnd:m}){let[l,g]=pe(!1),u=H(null);G(()=>{if(!l)return;let h=P=>{if(!u.current)return;let k=u.current.getBoundingClientRect(),x;t==="horizontal"?x=(P.clientX-k.left)/k.width:x=(P.clientY-k.top)/k.height,x=Math.min(Math.max(x,s),a),c?.(x)},b=()=>{m?.(),g(!1)};return document.addEventListener("pointermove",h),document.addEventListener("pointerup",b),document.addEventListener("pointerleave",b),()=>{document.removeEventListener("pointermove",h),document.removeEventListener("pointerup",b),document.removeEventListener("pointerleave",b)}},[l]);let f=h=>{g(!0),d?.(),h.preventDefault()},v=t==="horizontal"?{left:`${r*100}%`}:{top:`${r*100}%`},w={position:"absolute",top:`${e}%`,left:`${o}%`,width:`${n}%`,height:`${i}%`};return p("div",{ref:u,style:w,children:p("div",{className:`deck-widget-splitter-handle deck-widget-splitter-handle--${t} ${l?"active":""}`,style:v,onPointerDown:f})})}var yo=R(E(),1);var ue=Math.min,re=Math.max,je=Math.round,Qe=Math.floor,Z=t=>({x:t,y:t}),Vi={left:"right",right:"left",bottom:"top",top:"bottom"};function Nt(t,o,e){return re(t,ue(o,e))}function Ie(t,o){return typeof t=="function"?t(o):t}function me(t){return t.split("-")[0]}function Re(t){return t.split("-")[1]}function mo(t){return t==="x"?"y":"x"}function Ht(t){return t==="y"?"height":"width"}function se(t){let o=t[0];return o==="t"||o==="b"?"y":"x"}function $t(t){return mo(se(t))}function wn(t,o,e){e===void 0&&(e=!1);let n=Re(t),i=$t(t),r=Ht(i),s=i==="x"?n===(e?"end":"start")?"right":"left":n==="start"?"bottom":"top";return o.reference[r]>o.floating[r]&&(s=Ke(s)),[s,Ke(s)]}function _n(t){let o=Ke(t);return[Dt(t),o,Dt(o)]}function Dt(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}var hn=["left","right"],vn=["right","left"],Di=["top","bottom"],Ni=["bottom","top"];function Hi(t,o,e){switch(t){case"top":case"bottom":return e?o?vn:hn:o?hn:vn;case"left":case"right":return o?Di:Ni;default:return[]}}function bn(t,o,e,n){let i=Re(t),r=Hi(me(t),e==="start",n);return i&&(r=r.map(s=>s+"-"+i),o&&(r=r.concat(r.map(Dt)))),r}function Ke(t){let o=me(t);return Vi[o]+t.slice(o.length)}function $i(t){return{top:0,right:0,bottom:0,left:0,...t}}function fo(t){return typeof t!="number"?$i(t):{top:t,right:t,bottom:t,left:t}}function be(t){let{x:o,y:e,width:n,height:i}=t;return{width:n,height:i,top:e,left:o,right:o+n,bottom:e+i,x:o,y:e}}function yn(t,o,e){let{reference:n,floating:i}=t,r=se(o),s=$t(o),a=Ht(s),c=me(o),d=r==="y",m=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2,g=n[a]/2-i[a]/2,u;switch(c){case"top":u={x:m,y:n.y-i.height};break;case"bottom":u={x:m,y:n.y+n.height};break;case"right":u={x:n.x+n.width,y:l};break;case"left":u={x:n.x-i.width,y:l};break;default:u={x:n.x,y:n.y}}switch(Re(o)){case"start":u[s]-=g*(e&&d?-1:1);break;case"end":u[s]+=g*(e&&d?-1:1);break}return u}async function xn(t,o){var e;o===void 0&&(o={});let{x:n,y:i,platform:r,rects:s,elements:a,strategy:c}=t,{boundary:d="clippingAncestors",rootBoundary:m="viewport",elementContext:l="floating",altBoundary:g=!1,padding:u=0}=Ie(o,t),f=fo(u),w=a[g?l==="floating"?"reference":"floating":l],h=be(await r.getClippingRect({element:(e=await(r.isElement==null?void 0:r.isElement(w)))==null||e?w:w.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(a.floating)),boundary:d,rootBoundary:m,strategy:c})),b=l==="floating"?{x:n,y:i,width:s.floating.width,height:s.floating.height}:s.reference,P=await(r.getOffsetParent==null?void 0:r.getOffsetParent(a.floating)),k=await(r.isElement==null?void 0:r.isElement(P))?await(r.getScale==null?void 0:r.getScale(P))||{x:1,y:1}:{x:1,y:1},x=be(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:b,offsetParent:P,strategy:c}):b);return{top:(h.top-x.top+f.top)/k.y,bottom:(x.bottom-h.bottom+f.bottom)/k.y,left:(h.left-x.left+f.left)/k.x,right:(x.right-h.right+f.right)/k.x}}var zi=50,Pn=async(t,o,e)=>{let{placement:n="bottom",strategy:i="absolute",middleware:r=[],platform:s}=e,a=s.detectOverflow?s:{...s,detectOverflow:xn},c=await(s.isRTL==null?void 0:s.isRTL(o)),d=await s.getElementRects({reference:t,floating:o,strategy:i}),{x:m,y:l}=yn(d,n,c),g=n,u=0,f={};for(let v=0;v<r.length;v++){let w=r[v];if(!w)continue;let{name:h,fn:b}=w,{x:P,y:k,data:x,reset:T}=await b({x:m,y:l,initialPlacement:n,placement:g,strategy:i,middlewareData:f,rects:d,platform:a,elements:{reference:t,floating:o}});m=P??m,l=k??l,f[h]={...f[h],...x},T&&u<zi&&(u++,typeof T=="object"&&(T.placement&&(g=T.placement),T.rects&&(d=T.rects===!0?await s.getElementRects({reference:t,floating:o,strategy:i}):T.rects),{x:m,y:l}=yn(d,g,c)),v=-1)}return{x:m,y:l,placement:g,strategy:i,middlewareData:f}},kn=t=>({name:"arrow",options:t,async fn(o){let{x:e,y:n,placement:i,rects:r,platform:s,elements:a,middlewareData:c}=o,{element:d,padding:m=0}=Ie(t,o)||{};if(d==null)return{};let l=fo(m),g={x:e,y:n},u=$t(i),f=Ht(u),v=await s.getDimensions(d),w=u==="y",h=w?"top":"left",b=w?"bottom":"right",P=w?"clientHeight":"clientWidth",k=r.reference[f]+r.reference[u]-g[u]-r.floating[f],x=g[u]-r.reference[u],T=await(s.getOffsetParent==null?void 0:s.getOffsetParent(d)),C=T?T[P]:0;(!C||!await(s.isElement==null?void 0:s.isElement(T)))&&(C=a.floating[P]||r.floating[f]);let W=k/2-x/2,D=C/2-v[f]/2-1,O=ue(l[h],D),M=ue(l[b],D),ee=O,he=C-v[f]-M,N=C/2-v[f]/2+W,te=Nt(ee,N,he),q=!c.arrow&&Re(i)!=null&&N!==te&&r.reference[f]/2-(N<ee?O:M)-v[f]/2<0,z=q?N<ee?N-ee:N-he:0;return{[u]:g[u]+z,data:{[u]:te,centerOffset:N-te-z,...q&&{alignmentOffset:z}},reset:q}}});var Tn=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var e,n;let{placement:i,middlewareData:r,rects:s,initialPlacement:a,platform:c,elements:d}=o,{mainAxis:m=!0,crossAxis:l=!0,fallbackPlacements:g,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:v=!0,...w}=Ie(t,o);if((e=r.arrow)!=null&&e.alignmentOffset)return{};let h=me(i),b=se(a),P=me(a)===a,k=await(c.isRTL==null?void 0:c.isRTL(d.floating)),x=g||(P||!v?[Ke(a)]:_n(a)),T=f!=="none";!g&&T&&x.push(...bn(a,v,f,k));let C=[a,...x],W=await c.detectOverflow(o,w),D=[],O=((n=r.flip)==null?void 0:n.overflows)||[];if(m&&D.push(W[h]),l){let N=wn(i,s,k);D.push(W[N[0]],W[N[1]])}if(O=[...O,{placement:i,overflows:D}],!D.every(N=>N<=0)){var M,ee;let N=(((M=r.flip)==null?void 0:M.index)||0)+1,te=C[N];if(te&&(!(l==="alignment"?b!==se(te):!1)||O.every($=>se($.placement)===b?$.overflows[0]>0:!0)))return{data:{index:N,overflows:O},reset:{placement:te}};let q=(ee=O.filter(z=>z.overflows[0]<=0).sort((z,$)=>z.overflows[1]-$.overflows[1])[0])==null?void 0:ee.placement;if(!q)switch(u){case"bestFit":{var he;let z=(he=O.filter($=>{if(T){let F=se($.placement);return F===b||F==="y"}return!0}).map($=>[$.placement,$.overflows.filter(F=>F>0).reduce((F,Yt)=>F+Yt,0)]).sort(($,F)=>$[1]-F[1])[0])==null?void 0:he[0];z&&(q=z);break}case"initialPlacement":q=a;break}if(i!==q)return{reset:{placement:q}}}return{}}}};var Bi=new Set(["left","top"]);async function Fi(t,o){let{placement:e,platform:n,elements:i}=t,r=await(n.isRTL==null?void 0:n.isRTL(i.floating)),s=me(e),a=Re(e),c=se(e)==="y",d=Bi.has(s)?-1:1,m=r&&c?-1:1,l=Ie(o,t),{mainAxis:g,crossAxis:u,alignmentAxis:f}=typeof l=="number"?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return a&&typeof f=="number"&&(u=a==="end"?f*-1:f),c?{x:u*m,y:g*d}:{x:g*d,y:u*m}}var Cn=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var e,n;let{x:i,y:r,placement:s,middlewareData:a}=o,c=await Fi(o,t);return s===((e=a.offset)==null?void 0:e.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:i+c.x,y:r+c.y,data:{...c,placement:s}}}}},Sn=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){let{x:e,y:n,placement:i,platform:r}=o,{mainAxis:s=!0,crossAxis:a=!1,limiter:c={fn:h=>{let{x:b,y:P}=h;return{x:b,y:P}}},...d}=Ie(t,o),m={x:e,y:n},l=await r.detectOverflow(o,d),g=se(me(i)),u=mo(g),f=m[u],v=m[g];if(s){let h=u==="y"?"top":"left",b=u==="y"?"bottom":"right",P=f+l[h],k=f-l[b];f=Nt(P,f,k)}if(a){let h=g==="y"?"top":"left",b=g==="y"?"bottom":"right",P=v+l[h],k=v-l[b];v=Nt(P,v,k)}let w=c.fn({...o,[u]:f,[g]:v});return{...w,data:{x:w.x-e,y:w.y-n,enabled:{[u]:s,[g]:a}}}}}};function zt(){return typeof window<"u"}function xe(t){return Ln(t)?(t.nodeName||"").toLowerCase():"#document"}function B(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function Y(t){var o;return(o=(Ln(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function Ln(t){return zt()?t instanceof Node||t instanceof B(t).Node:!1}function X(t){return zt()?t instanceof Element||t instanceof B(t).Element:!1}function Q(t){return zt()?t instanceof HTMLElement||t instanceof B(t).HTMLElement:!1}function Mn(t){return!zt()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof B(t).ShadowRoot}function Oe(t){let{overflow:o,overflowX:e,overflowY:n,display:i}=U(t);return/auto|scroll|overlay|hidden|clip/.test(o+n+e)&&i!=="inline"&&i!=="contents"}function Wn(t){return/^(table|td|th)$/.test(xe(t))}function et(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}var Gi=/transform|translate|scale|rotate|perspective|filter/,Xi=/paint|layout|strict|content/,ye=t=>!!t&&t!=="none",go;function Bt(t){let o=X(t)?U(t):t;return ye(o.transform)||ye(o.translate)||ye(o.scale)||ye(o.rotate)||ye(o.perspective)||!Ft()&&(ye(o.backdropFilter)||ye(o.filter))||Gi.test(o.willChange||"")||Xi.test(o.contain||"")}function In(t){let o=ae(t);for(;Q(o)&&!Pe(o);){if(Bt(o))return o;if(et(o))return null;o=ae(o)}return null}function Ft(){return go==null&&(go=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),go}function Pe(t){return/^(html|body|#document)$/.test(xe(t))}function U(t){return B(t).getComputedStyle(t)}function tt(t){return X(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function ae(t){if(xe(t)==="html")return t;let o=t.assignedSlot||t.parentNode||Mn(t)&&t.host||Y(t);return Mn(o)?o.host:o}function Rn(t){let o=ae(t);return Pe(o)?t.ownerDocument?t.ownerDocument.body:t.body:Q(o)&&Oe(o)?o:Rn(o)}function Ee(t,o,e){var n;o===void 0&&(o=[]),e===void 0&&(e=!0);let i=Rn(t),r=i===((n=t.ownerDocument)==null?void 0:n.body),s=B(i);if(r){let a=Gt(s);return o.concat(s,s.visualViewport||[],Oe(i)?i:[],a&&e?Ee(a):[])}else return o.concat(i,Ee(i,[],e))}function Gt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Vn(t){let o=U(t),e=parseFloat(o.width)||0,n=parseFloat(o.height)||0,i=Q(t),r=i?t.offsetWidth:e,s=i?t.offsetHeight:n,a=je(e)!==r||je(n)!==s;return a&&(e=r,n=s),{width:e,height:n,$:a}}function vo(t){return X(t)?t:t.contextElement}function Ae(t){let o=vo(t);if(!Q(o))return Z(1);let e=o.getBoundingClientRect(),{width:n,height:i,$:r}=Vn(o),s=(r?je(e.width):e.width)/n,a=(r?je(e.height):e.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}var Ui=Z(0);function Dn(t){let o=B(t);return!Ft()||!o.visualViewport?Ui:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function qi(t,o,e){return o===void 0&&(o=!1),!e||o&&e!==B(t)?!1:o}function ke(t,o,e,n){o===void 0&&(o=!1),e===void 0&&(e=!1);let i=t.getBoundingClientRect(),r=vo(t),s=Z(1);o&&(n?X(n)&&(s=Ae(n)):s=Ae(t));let a=qi(r,e,n)?Dn(r):Z(0),c=(i.left+a.x)/s.x,d=(i.top+a.y)/s.y,m=i.width/s.x,l=i.height/s.y;if(r){let g=B(r),u=n&&X(n)?B(n):n,f=g,v=Gt(f);for(;v&&n&&u!==f;){let w=Ae(v),h=v.getBoundingClientRect(),b=U(v),P=h.left+(v.clientLeft+parseFloat(b.paddingLeft))*w.x,k=h.top+(v.clientTop+parseFloat(b.paddingTop))*w.y;c*=w.x,d*=w.y,m*=w.x,l*=w.y,c+=P,d+=k,f=B(v),v=Gt(f)}}return be({width:m,height:l,x:c,y:d})}function Xt(t,o){let e=tt(t).scrollLeft;return o?o.left+e:ke(Y(t)).left+e}function Nn(t,o){let e=t.getBoundingClientRect(),n=e.left+o.scrollLeft-Xt(t,e),i=e.top+o.scrollTop;return{x:n,y:i}}function Zi(t){let{elements:o,rect:e,offsetParent:n,strategy:i}=t,r=i==="fixed",s=Y(n),a=o?et(o.floating):!1;if(n===s||a&&r)return e;let c={scrollLeft:0,scrollTop:0},d=Z(1),m=Z(0),l=Q(n);if((l||!l&&!r)&&((xe(n)!=="body"||Oe(s))&&(c=tt(n)),l)){let u=ke(n);d=Ae(n),m.x=u.x+n.clientLeft,m.y=u.y+n.clientTop}let g=s&&!l&&!r?Nn(s,c):Z(0);return{width:e.width*d.x,height:e.height*d.y,x:e.x*d.x-c.scrollLeft*d.x+m.x+g.x,y:e.y*d.y-c.scrollTop*d.y+m.y+g.y}}function Yi(t){return Array.from(t.getClientRects())}function Ji(t){let o=Y(t),e=tt(t),n=t.ownerDocument.body,i=re(o.scrollWidth,o.clientWidth,n.scrollWidth,n.clientWidth),r=re(o.scrollHeight,o.clientHeight,n.scrollHeight,n.clientHeight),s=-e.scrollLeft+Xt(t),a=-e.scrollTop;return U(n).direction==="rtl"&&(s+=re(o.clientWidth,n.clientWidth)-i),{width:i,height:r,x:s,y:a}}var En=25;function Ki(t,o){let e=B(t),n=Y(t),i=e.visualViewport,r=n.clientWidth,s=n.clientHeight,a=0,c=0;if(i){r=i.width,s=i.height;let m=Ft();(!m||m&&o==="fixed")&&(a=i.offsetLeft,c=i.offsetTop)}let d=Xt(n);if(d<=0){let m=n.ownerDocument,l=m.body,g=getComputedStyle(l),u=m.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,f=Math.abs(n.clientWidth-l.clientWidth-u);f<=En&&(r-=f)}else d<=En&&(r+=d);return{width:r,height:s,x:a,y:c}}function ji(t,o){let e=ke(t,!0,o==="fixed"),n=e.top+t.clientTop,i=e.left+t.clientLeft,r=Q(t)?Ae(t):Z(1),s=t.clientWidth*r.x,a=t.clientHeight*r.y,c=i*r.x,d=n*r.y;return{width:s,height:a,x:c,y:d}}function On(t,o,e){let n;if(o==="viewport")n=Ki(t,e);else if(o==="document")n=Ji(Y(t));else if(X(o))n=ji(o,e);else{let i=Dn(t);n={x:o.x-i.x,y:o.y-i.y,width:o.width,height:o.height}}return be(n)}function Hn(t,o){let e=ae(t);return e===o||!X(e)||Pe(e)?!1:U(e).position==="fixed"||Hn(e,o)}function Qi(t,o){let e=o.get(t);if(e)return e;let n=Ee(t,[],!1).filter(a=>X(a)&&xe(a)!=="body"),i=null,r=U(t).position==="fixed",s=r?ae(t):t;for(;X(s)&&!Pe(s);){let a=U(s),c=Bt(s);!c&&a.position==="fixed"&&(i=null),(r?!c&&!i:!c&&a.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||Oe(s)&&!c&&Hn(t,s))?n=n.filter(m=>m!==s):i=a,s=ae(s)}return o.set(t,n),n}function er(t){let{element:o,boundary:e,rootBoundary:n,strategy:i}=t,s=[...e==="clippingAncestors"?et(o)?[]:Qi(o,this._c):[].concat(e),n],a=On(o,s[0],i),c=a.top,d=a.right,m=a.bottom,l=a.left;for(let g=1;g<s.length;g++){let u=On(o,s[g],i);c=re(u.top,c),d=ue(u.right,d),m=ue(u.bottom,m),l=re(u.left,l)}return{width:d-l,height:m-c,x:l,y:c}}function tr(t){let{width:o,height:e}=Vn(t);return{width:o,height:e}}function or(t,o,e){let n=Q(o),i=Y(o),r=e==="fixed",s=ke(t,!0,r,o),a={scrollLeft:0,scrollTop:0},c=Z(0);function d(){c.x=Xt(i)}if(n||!n&&!r)if((xe(o)!=="body"||Oe(i))&&(a=tt(o)),n){let u=ke(o,!0,r,o);c.x=u.x+o.clientLeft,c.y=u.y+o.clientTop}else i&&d();r&&!n&&i&&d();let m=i&&!n&&!r?Nn(i,a):Z(0),l=s.left+a.scrollLeft-c.x-m.x,g=s.top+a.scrollTop-c.y-m.y;return{x:l,y:g,width:s.width,height:s.height}}function ho(t){return U(t).position==="static"}function An(t,o){if(!Q(t)||U(t).position==="fixed")return null;if(o)return o(t);let e=t.offsetParent;return Y(t)===e&&(e=e.ownerDocument.body),e}function $n(t,o){let e=B(t);if(et(t))return e;if(!Q(t)){let i=ae(t);for(;i&&!Pe(i);){if(X(i)&&!ho(i))return i;i=ae(i)}return e}let n=An(t,o);for(;n&&Wn(n)&&ho(n);)n=An(n,o);return n&&Pe(n)&&ho(n)&&!Bt(n)?e:n||In(t)||e}var nr=async function(t){let o=this.getOffsetParent||$n,e=this.getDimensions,n=await e(t.floating);return{reference:or(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function ir(t){return U(t).direction==="rtl"}var rr={convertOffsetParentRelativeRectToViewportRelativeRect:Zi,getDocumentElement:Y,getClippingRect:er,getOffsetParent:$n,getElementRects:nr,getClientRects:Yi,getDimensions:tr,getScale:Ae,isElement:X,isRTL:ir};function zn(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function sr(t,o){let e=null,n,i=Y(t);function r(){var a;clearTimeout(n),(a=e)==null||a.disconnect(),e=null}function s(a,c){a===void 0&&(a=!1),c===void 0&&(c=1),r();let d=t.getBoundingClientRect(),{left:m,top:l,width:g,height:u}=d;if(a||o(),!g||!u)return;let f=Qe(l),v=Qe(i.clientWidth-(m+g)),w=Qe(i.clientHeight-(l+u)),h=Qe(m),P={rootMargin:-f+"px "+-v+"px "+-w+"px "+-h+"px",threshold:re(0,ue(1,c))||1},k=!0;function x(T){let C=T[0].intersectionRatio;if(C!==c){if(!k)return s();C?s(!1,C):n=setTimeout(()=>{s(!1,1e-7)},1e3)}C===1&&!zn(d,t.getBoundingClientRect())&&s(),k=!1}try{e=new IntersectionObserver(x,{...P,root:i.ownerDocument})}catch{e=new IntersectionObserver(x,P)}e.observe(t)}return s(!0),r}function Bn(t,o,e,n){n===void 0&&(n={});let{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=vo(t),m=i||r?[...d?Ee(d):[],...o?Ee(o):[]]:[];m.forEach(h=>{i&&h.addEventListener("scroll",e,{passive:!0}),r&&h.addEventListener("resize",e)});let l=d&&a?sr(d,e):null,g=-1,u=null;s&&(u=new ResizeObserver(h=>{let[b]=h;b&&b.target===d&&u&&o&&(u.unobserve(o),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var P;(P=u)==null||P.observe(o)})),e()}),d&&!c&&u.observe(d),o&&u.observe(o));let f,v=c?ke(t):null;c&&w();function w(){let h=ke(t);v&&!zn(v,h)&&e(),v=h,f=requestAnimationFrame(w)}return e(),()=>{var h;m.forEach(b=>{i&&b.removeEventListener("scroll",e),r&&b.removeEventListener("resize",e)}),l?.(),(h=u)==null||h.disconnect(),u=null,c&&cancelAnimationFrame(f)}}var wo=Cn;var _o=Sn,bo=Tn;var Fn=kn;var Gn=(t,o,e)=>{let n=new Map,i={platform:rr,...e},r={...i.platform,_c:n};return Pn(t,o,{...i,platform:r})};var fe=({x:t,y:o,placement:e="right",offset:n=0,arrow:i=!1,arrowColor:r="white",children:s})=>{let a=H(null),c=H(null),d=H(null),m=H();return m.current=()=>{if(!a.current||!c.current)return;let l=Array.isArray(i)?i[0]:i||0,g=Array.isArray(i)?i[1]:i||0,u=n+Math.max(g,l),f=e.includes("-")?[wo(u),bo(),_o()]:[wo(u),_o(),bo()];d.current&&f.push(Fn({element:d.current})),Gn(a.current,c.current,{placement:e,strategy:"fixed",middleware:f}).then(v=>{c.current&&Object.assign(c.current.style,{left:`${v.x}px`,top:`${v.y}px`});let w=v.middlewareData.arrow;if(w&&d.current){let h=ar(l,g,r,v.placement);h.transform=`translate(${w.x||0}px, ${w.y||0}px)`,Object.assign(d.current.style,h)}})},oe(()=>{m.current?.()},[t,o,e,i,n]),G(()=>{let l=a.current,g=c.current;if(!l||!g)return;g.style.visibility="visible";let u=Bn(l,g,()=>m.current?.());return()=>{u()}},[]),p("div",{style:{position:"absolute",left:t,top:o},ref:a,children:p("div",{className:"deck-widget deck-widget-popover",style:{position:"fixed",visibility:"hidden",pointerEvents:"none"},ref:c,children:[Boolean(i)&&p("div",{className:"deck-widget-popover-arrow",style:{position:"absolute"},ref:d}),s]})})};function ar(t,o,e,n){let i={width:0,height:0,top:"",bottom:"",left:"",right:""};return n.startsWith("bottom")?(i.borderLeft=`${t/2}px solid transparent`,i.borderRight=`${t/2}px solid transparent`,i.borderBottom=`${o}px solid ${e}`,i.borderTop="",i.top=`${-o}px`):n.startsWith("top")?(i.borderLeft=`${t/2}px solid transparent`,i.borderRight=`${t/2}px solid transparent`,i.borderTop=`${o}px solid ${e}`,i.borderBottom="",i.bottom=`${-o}px`):n.startsWith("right")?(i.borderTop=`${t/2}px solid transparent`,i.borderBottom=`${t/2}px solid transparent`,i.borderRight=`${o}px solid ${e}`,i.borderLeft="",i.left=`${-o}px`):n.startsWith("left")&&(i.borderTop=`${t/2}px solid transparent`,i.borderBottom=`${t/2}px solid transparent`,i.borderLeft=`${o}px solid ${e}`,i.borderRight="",i.right=`${-o}px`),i}var ot=({text:t,html:o,element:e,...n})=>{let i=H(null);return G(()=>(i.current&&e&&i.current.append(e),()=>{e?.remove()}),[e]),p("div",{ref:i,...n,dangerouslySetInnerHTML:o?{__html:o}:void 0,children:t})};var nt=class extends yo.Widget{constructor(e){super(e);this.className="deck-widget-info";this.placement="fill";this.tooltip=null;this.setProps(this.props)}setProps(e){this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd({deck:e}){this.deck=e}onRemove(){this.rootElement&&y(null,this.rootElement)}onViewportChange(e){this.viewport=e,this.updateHTML()}onHover(e){this.props.mode==="hover"&&(this.tooltip=this._getTooltip(e))}onClick(e){this.props.mode==="click"&&(this.tooltip=this._getTooltip(e))}_getTooltip(e){if(!this.props.getTooltip)return null;let n=this.props.getTooltip(e,this)??null;if(n===null)return null;let i=typeof n=="string"?{text:n}:n,r=i.position||e.coordinate;return r?{position:r,text:"",html:"",element:null,className:"",style:{},...i}:null}onRenderHTML(e){if(!this.viewport||this.tooltip===null){y(null,e);return}let n={...this.props.style,...this.tooltip.style},[i,r]=this.viewport.project(this.tooltip.position),s=p(fe,{x:i,y:r,placement:this.props.placement,arrow:this.props.arrow,arrowColor:"var(--menu-background, #fff)",offset:this.props.offset,children:p(ot,{className:`deck-widget-popup-content ${this.tooltip.className} ${this.props.className}`,style:n,html:this.tooltip.html,text:this.tooltip.text,element:this.tooltip.element})});y(s,e)}};nt.defaultProps={...yo.Widget.defaultProps,id:"info",viewId:null,mode:"hover",getTooltip:void 0,placement:"right",offset:10,arrow:10};var xo=R(E(),1);var it=class extends xo.Widget{constructor(e){super(e);this.className="deck-widget-popup";this.placement="fill";this.setProps(this.props),this.isOpen=this.props.defaultIsOpen}setProps(e){this.viewId=e.viewId??this.viewId,super.setProps(e)}onAdd({deck:e}){this.deck=e}onRemove(){this.rootElement&&y(null,this.rootElement)}onViewportChange(e){this.viewport=e,this.updateHTML()}onClick(){this.props.closeOnClickOutside&&this._setIsOpen(!1)}_setIsOpen(e){this.isOpen!==e&&(this.isOpen=e,this.props.onOpenChange?.(e),this.updateHTML())}onRenderHTML(e){if(!this.viewport){y(null,e);return}let{marker:n,content:i,style:r}=this.props,[s,a]=this.viewport.project(this.props.position),c=p("div",{children:[n&&p("div",{style:{position:"absolute",left:s,top:a,pointerEvents:"all",cursor:"pointer"},children:p(ot,{...n,onClick:()=>this._setIsOpen(!0)})}),this.isOpen&&p(fe,{x:s,y:a,placement:this.props.placement,arrow:this.props.arrow,arrowColor:"var(--menu-background, #fff)",offset:this.props.offset,children:p("div",{className:`deck-widget-popup-content ${this.props.className}`,style:r,children:[this.props.closeButton&&p("div",{className:"deck-widget-popup-controls",style:{width:"100%",display:"flex",justifyContent:"end"},children:p(L,{className:"deck-widget-popup-close-button",onClick:()=>this._setIsOpen(!1)})}),p(ot,{...typeof i=="string"?{text:i}:i})]})})]});y(c,e)}};it.defaultProps={...xo.Widget.defaultProps,id:"info",viewId:null,position:[0,0],marker:null,defaultIsOpen:!0,content:"",placement:"right",offset:10,arrow:10,closeButton:!0,closeOnClickOutside:!1,onOpenChange:()=>{}};var Po=R(E(),1);var rt=class extends Po.Widget{constructor(e){super(e);this.className="deck-widget-context-menu";this.placement="fill";this.menu=null;this.setProps(this.props)}onAdd({deck:e}){e.getCanvas()?.addEventListener("contextmenu",n=>this.handleContextMenu(n))}handleContextMenu(e){let n=e.target.getBoundingClientRect(),i=e.clientX-n.x,r=e.clientY-n.y,s=this.deck?.pickObject({x:i,y:r})||{x:i,y:r,picked:!1,layer:null,color:null,index:-1,pixelRatio:1},a=this.props.getMenuItems?.(s,this)||this.props.menuItems;this.menu=a.length>0?{items:a,pickInfo:s}:null,e.preventDefault(),this.updateHTML()}onRenderHTML(e){if(!this.menu){y(null,e);return}let{items:n,pickInfo:i}=this.menu,r={pointerEvents:"auto",position:"static",...this.props.style},s=p(fe,{x:i.x,y:i.y,placement:this.props.placement,arrow:this.props.arrow,arrowColor:"var(--menu-background, #fff)",offset:this.props.offset,children:p(_e,{menuItems:n,onSelect:a=>this.props.onMenuItemSelected(a,i),style:r,isOpen:!0,onClose:()=>this.hide()})});y(s,e)}hide(){this.menu=null,this.updateHTML()}};rt.defaultProps={...Po.Widget.defaultProps,id:"context",viewId:null,menuItems:[],getMenuItems:void 0,onMenuItemSelected:()=>{},placement:"bottom-start",offset:10,arrow:!1};var Co=R(E(),1);var Xn={passive:!1},st=(t,o,e)=>t<o?o:t>e?e:t,Ut=(t,o)=>{if(!t||!t.firstElementChild)return[0,0];let e=t.firstElementChild.getBoundingClientRect();return o?[e.top,e.height]:o?[e.top,e.height]:[e.left,e.width]},at=(t,o)=>typeof t=="number"&&!Number.isNaN(t)&&t>0?t:Math.max(1,o/10||1),ko=(t,o)=>typeof t=="number"&&!Number.isNaN(t)&&t>0?t:Math.max(1,o||1);function Ve(t){let{className:o="",min:e,max:n,step:i,value:r,orientation:s,pageSize:a,stepButtons:c=!1,startButtonAriaLabel:d,endButtonAriaLabel:m,eventTarget:l,decorations:g=[],onChange:u}=t,f=s!=="horizontal",v=H(null),w=H(null),h=H(null),b=H(null),[P,k]=pe(0),x=n-e,T=Math.max(0,r[1]-r[0]),C=Math.max(0,x-T),W=st(r[0],e,e+C),{thumbLength:D,thumbOffset:O}=oe(()=>{if(P<=0||x<=0)return{thumbLength:0,thumbOffset:0};if(x<=T)return{thumbLength:1,thumbOffset:0};let _=T/x,S=Math.max(0,1-_),J=C<=0?0:st((W-e)/C,0,1);return{thumbLength:Math.max(0,Math.min(_,1)),thumbOffset:S*J}},[P,x,T,C,W,e]),M=ne(_=>{if(!u)return;let S=st(_,e,e+C);u([S,S+T])},[u,e,C,T]),ee=ne(_=>{_.stopPropagation(),M(W-at(i,x))},[M,W,i,x]),he=ne(_=>{_.stopPropagation(),M(W+at(i,x))},[M,W,i,x]),N=ne(_=>{if(_.button!==0||_.target?.dataset.scrollbarThumb==="true")return;let J=w.current;if(!J)return;_.preventDefault(),_.stopPropagation();let[Te]=Ut(J,f),De=f?_.clientY-Te:_.clientX-Te,Ce=Math.max(1,1-D)*P,Se=D/2*P,Me=Ce<=0?0:st((De-Se)/Ce,0,1);M(e+Me*C)},[f,P,D,M,e,C]),te=_=>{_.button!==0||!w.current||(b.current={pointerId:_.pointerId,startCoord:f?_.clientY:_.clientX,startRatio:O,min:e,max:n,maxStart:C},_.currentTarget.setPointerCapture(_.pointerId),_.preventDefault(),_.stopPropagation())},q=ne(_=>{let S=b.current;if(!S||S.pointerId!==_.pointerId)return;let[J,Te]=Ut(w.current,f),Ce=(f?_.clientY:_.clientX)-S.startCoord,Se=S.startRatio+Ce/Te,Me=st(Se*(S.max-S.min),0,S.maxStart)+S.min;M(Me),_.preventDefault()},[M,f]),z=ne(_=>{let S=b.current;S&&S.pointerId===_.pointerId&&(b.current=null,h.current?.releasePointerCapture(_.pointerId),_.preventDefault())},[]),$=ne(_=>{switch(_.key){case"ArrowUp":case"ArrowLeft":(f&&_.key==="ArrowUp"||!f&&_.key==="ArrowLeft")&&(M(W-at(i,x)),_.preventDefault());break;case"ArrowDown":case"ArrowRight":(f&&_.key==="ArrowDown"||!f&&_.key==="ArrowRight")&&(M(W+at(i,x)),_.preventDefault());break;case"PageUp":M(W-ko(a,T)),_.preventDefault();break;case"PageDown":M(W+ko(a,T)),_.preventDefault();break;case"Home":M(e),_.preventDefault();break;case"End":M(e+C),_.preventDefault();break;default:break}},[f,M,W,i,x,a,T,e,C]),F=ne(_=>{if(_.preventDefault(),_.stopPropagation(),C===0)return;let S=f?_.deltaY:_.deltaX;!f&&S===0&&(S=_.deltaY),_.deltaMode===WheelEvent.DOM_DELTA_LINE?S*=at(i,x):_.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(S*=ko(a,T)),S!==0&&M(W+S)},[M,W,C,f,i,x,a,T]);so(()=>{k(Ut(w.current,f)[1])},[f]),so(()=>{let _=w.current;if(!_)return;let S=()=>{k(Ut(_,f)[1])};if(S(),typeof ResizeObserver<"u"){let J=new ResizeObserver(S);return J.observe(_),()=>J.disconnect()}if(typeof window<"u")return window.addEventListener("resize",S),()=>window.removeEventListener("resize",S)},[f]),G(()=>{let _=l??v.current;if(_)return _.addEventListener("keydown",$),_.addEventListener("wheel",F,Xn),()=>{_.removeEventListener("keydown",$),_.removeEventListener("wheel",F,Xn)}},[l,$,F]);let Yt=oe(()=>!g.length||x<=0?[]:g.map((_,S)=>{let[J,Te]=_.position,De=(J-e)/x,Ce=(Te-e)/x,Se=Math.round(De*1e3)/10,Me=Math.max(0,Math.round((Ce-De)*1e3)/10),ei=f?{left:"0",width:"100%",top:`${Se}%`,height:`${Me}%`}:{top:"0",height:"100%",left:`${Se}%`,width:`${Me}%`};return p("div",{className:"deck-widget-range__decoration",style:ei,children:_.element},`decoration-${S}`)}),[g,x,e,f]);return p("div",{ref:v,tabIndex:0,role:"scrollbar","aria-valuemin":e,"aria-valuemax":e+C,"aria-valuenow":W,"aria-orientation":s,className:`${o} deck-widget-range deck-widget-range--${s} ${C===0?"deck-widget-range--disabled":""}`,children:[c&&p("button",{type:"button",className:"deck-widget-range__button deck-widget-range__button--start","aria-label":d,disabled:W<=e,onClick:ee,children:p("span",{className:"deck-widget-icon"})}),p("div",{className:"deck-widget-range__track",ref:w,onClick:N,children:[p("div",{className:"deck-widget-range__decorations",children:Yt}),p("div",{className:"deck-widget-range__thumb","data-scrollbar-thumb":"true",ref:h,style:f?{height:`${D*100}%`,top:`${O*100}%`}:{width:`${D*100}%`,left:`${O*100}%`},onPointerDown:te,onPointerMove:q,onPointerUp:z,onPointerCancel:z})]}),c&&p("button",{type:"button",className:"deck-widget-range__button deck-widget-range__button--end","aria-label":m,disabled:W>=e+C,onClick:he,children:p("span",{className:"deck-widget-icon"})})]})}var Un=(t,o,e)=>t<o?o:t>e?e:t,So=class extends Co.Widget{constructor(e){let n={...So.defaultProps,...e};super(n);this.className="deck-widget-scrollbar";this.placement="fill";this.contentSize=0;this.viewportSize=0;this.scrollOffset=0;this.handleRangeChange=e=>{this.emitScroll(e[0])};this.viewId=n.viewId??null}onViewportChange(e){this.viewport=e,this.onRenderHTML()}onRenderHTML(){let e=this.rootElement;if(!e)return;e.dataset.placement=this.props.placement;let n=this.viewport;this.updateViewport(n);let i=this.getClampedOffset(),r=this.getWheelEventTarget(this.props.captureWheel?"global":"local"),s=this.getDecorations(n),a=this.isVertical(),c=this.props.startButtonAriaLabel??(a?"Scroll up":"Scroll left"),d=this.props.endButtonAriaLabel??(a?"Scroll down":"Scroll right"),m=p(Ve,{min:0,max:Math.max(0,this.contentSize),step:this.getEffectiveStep(),pageSize:this.getEffectivePage(),value:[i,i+this.viewportSize],orientation:this.props.orientation,stepButtons:!0,startButtonAriaLabel:c,endButtonAriaLabel:d,eventTarget:r,decorations:s,onChange:this.handleRangeChange});y(m,e)}onRemove(){this.rootElement&&y(null,this.rootElement),super.onRemove()}updateViewport(e){if(!e){this.contentSize=0,this.scrollOffset=0,this.viewportSize=0;return}let{contentBounds:n}=this.props,i=this.isVertical(),r=n?To(n,e,i):[0,0];this.contentSize=r[1]-r[0],this.scrollOffset=-r[0],this.viewportSize=i?e.height:e.width}getDecorations(e){let{decorations:n=[],contentBounds:i}=this.props;if(!e||!i||n.length===0)return[];let r=this.isVertical(),[s]=To(i,e,r);return n.map(a=>{let[c,d]=To(a.contentBounds,e,r),m=a.onClick?l=>{a.onClick?.(l)&&(l.stopPropagation(),l.preventDefault())}:void 0;return{position:[c-s,d-s],element:p("div",{style:{pointerEvents:m?"all":"none",width:"100%",height:"100%",backgroundColor:a.color},title:a.title,onClick:m})}})}getWheelEventTarget(e){return e===null?null:e==="local"?this.rootElement:this.deck?.props.parent||this.deck?.getCanvas()?.parentElement||this.rootElement}getMaxScroll(){return Math.max(0,this.contentSize-this.viewportSize)}getClampedOffset(){let e=this.getMaxScroll();return Un(this.scrollOffset,0,e)}isVertical(){return this.props.orientation!=="horizontal"}getEffectiveStep(){return typeof this.props.stepSize=="number"&&!Number.isNaN(this.props.stepSize)?this.props.stepSize:Math.max(1,this.viewportSize/10||1)}getEffectivePage(){return typeof this.props.pageSize=="number"&&!Number.isNaN(this.props.pageSize)?this.props.pageSize:this.viewportSize}emitScroll(e){let n=this.getMaxScroll(),i=Un(Math.round(e),0,n),r=this.viewport;if(r&&i!==this.getClampedOffset()){let s=r.project(r.position);this.isVertical()?s[1]-=i-this.scrollOffset:s[0]-=i-this.scrollOffset;let{target:a}=r.panByPosition(r.position,s);this.deck._onViewStateChange({viewId:r.id,viewState:{...this.getViewState(r.id),target:a},interactionState:{}})}}},lt=So;lt.defaultProps={...Co.Widget.defaultProps,contentBounds:null,placement:"top-right",viewId:null,orientation:"vertical",stepSize:null,pageSize:null,startButtonAriaLabel:"",endButtonAriaLabel:"",captureWheel:!1,decorations:[]};function To(t,o,e){return t.map(([n,i])=>o.project([n,i,0])).reduce((n,[i,r])=>{let s=e?r:i;return n[0]=Math.min(n[0],s),n[1]=Math.max(n[1],s),n},[1/0,-1/0])}var Mo=R(E(),1);var ct=class extends Mo.Widget{constructor(e){super(e);this.className="";this.placement="top-left";this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId,super.setProps(e)}onRenderHTML(e){let{className:n,style:i,icon:r,color:s,label:a,onClick:c}=this.props;y(p(L,{className:n,style:i,color:s,icon:r,label:a,onClick:c}),e)}};ct.defaultProps={...Mo.Widget.defaultProps,id:"icon",placement:"top-left",viewId:null,icon:"",label:"",color:"",onClick:void 0};var Lo=R(E(),1);var dt=class extends Lo.Widget{constructor(e){super(e);this.className="deck-widget-toggle";this.placement="top-left";this._toggle=()=>{this.checked=!this.checked,this.props.onChange?.(this.checked),this.updateHTML()};this.checked=this.props.initialChecked,this.setProps(this.props)}setProps(e){this.placement=e.placement??this.placement,this.viewId=e.viewId,super.setProps(e)}onRenderHTML(e){let{className:n,style:i,icon:r,label:s,color:a,onIcon:c=r,onLabel:d=s,onColor:m=a}=this.props,l=this.checked;e.dataset.checked=String(l),y(p(L,{className:n,style:i,icon:l?c:r,label:l?d:s,color:l?m:a,onClick:this._toggle}),e)}};dt.defaultProps={...Lo.Widget.defaultProps,id:"icon",placement:"top-left",viewId:null,initialChecked:!1,icon:"",onIcon:void 0,label:"",onLabel:void 0,color:"",onColor:void 0,onChange:void 0};var Wo=R(E(),1);var pt=class extends Wo.Widget{constructor(e){super(e);this.className="deck-widget-selector";this.placement="top-left";this.isOpen=!1;this._toggleMenu=()=>{this.isOpen?this.isOpen=!1:this.rootElement&&(this.isOpen={x:this.rootElement.offsetLeft,y:this.rootElement.offsetTop,placement:this.props.placement.includes("right")?"left-start":"right-start"}),this.updateHTML()};this._handleSelectMode=e=>{this.value=e,this.props.onChange(e),this.updateHTML()};this.value=this.props.initialValue,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=this.props.options.find(i=>i.value===this.value)??this.props.options[0];y(p("div",{children:[p(L,{icon:n.icon,label:n.label,onClick:this._toggleMenu}),this.isOpen&&p(fe,{...this.isOpen,children:p(_e,{isOpen:!0,style:{pointerEvents:"auto",position:"static"},menuItems:this.props.options,onSelect:this._handleSelectMode,onClose:this._toggleMenu})})]}),e)}};pt.defaultProps={...Wo.Widget.defaultProps,id:"view-selector",placement:"top-left",viewId:null,initialValue:"",options:[],onChange:()=>{}};var Io=R(E(),1);var ut=class extends Io.Widget{constructor(e={}){super(e);this.id="timeline";this.className="deck-widget-timeline";this.placement="fill";this._playing=!1;this.timerId=null;this.handlePlayPause=()=>{let n=!this.getPlaying();this.props.onPlayingChange?.(n),this.props.playing===void 0&&(n?this.play():this.stop())};this.handleTimeChange=([e])=>{this.props.onTimeChange(e),this.props.time===void 0&&(this.currentTime=e,this.props.timeline?.setTime(e),this.updateHTML())};this.tick=()=>{let{timeRange:[e,n],step:i,loop:r}=this.props;if(i>0){let s=this.getTime(),a=Math.round(s/i)*i+i;a>n&&(s<n?a=n:r?a=e:(a=n,this._playing=!1,this.props.onPlayingChange?.(!1))),this.props.onTimeChange(a),this.props.time===void 0&&(this.currentTime=a,this.props.timeline?.setTime(a)),this.updateHTML()}this._playing?this.timerId=window.setTimeout(this.tick,this.props.playInterval):this.timerId=null};this.currentTime=this.props.initialTime??this.props.timeRange[0];let n=this.props.time??this.currentTime;this.props.timeline?.setTime(n),this.setProps(this.props)}getTime(){return this.props.time??this.currentTime}getPlaying(){return this.props.playing??this._playing}setProps(e){let{playing:n,time:i}=this.props;this.viewId=e.viewId??this.viewId,super.setProps(e),e.time!==void 0&&e.time!==i&&this.props.timeline?.setTime(e.time),e.playing!==void 0&&e.playing!==n&&(e.playing&&!this._playing?this._startTimer():!e.playing&&this._playing&&this._stopTimer())}onAdd(){this._playing=!1,this.timerId=null,this.props.autoPlay&&(this.props.playing!==void 0?this.props.onPlayingChange?.(!0):this.play())}onRemove(){this.stop()}onRenderHTML(e){let{timeRange:n,step:i,formatLabel:r}=this.props,s=this.getPlaying(),a=this.getTime();e.dataset.placement=this.props.placement,y(p("div",{className:"deck-widget-button-group",children:[s?p(L,{label:"Pause",className:"deck-widget-timeline-pause",onClick:this.handlePlayPause}):p(L,{label:"Play",className:"deck-widget-timeline-play",onClick:this.handlePlayPause}),p(Ve,{min:n[0],max:n[1],orientation:"horizontal",step:i,value:[a,a],onChange:this.handleTimeChange,decorations:[{position:[a,a+i],element:p("div",{className:"deck-widget-timeline-label deck-widget-timeline-label--current",children:r(a)})}]})]}),e)}play(){this._playing=!0;let{timeRange:[e,n]}=this.props;this.props.time===void 0&&this.getTime()>=n&&(this.currentTime=e,this.props.onTimeChange(e),this.props.timeline?.setTime(e)),this.updateHTML(),this.tick()}stop(){this._stopTimer(),this.updateHTML()}_startTimer(){this._playing=!0,this.tick()}_stopTimer(){this._playing=!1,this.timerId!==null&&(window.clearTimeout(this.timerId),this.timerId=null)}};ut.defaultProps={...Io.Widget.defaultProps,id:"timeline",placement:"bottom-left",viewId:null,timeline:null,timeRange:[0,100],step:1,initialTime:void 0,time:void 0,onTimeChange:()=>{},autoPlay:!1,loop:!1,playInterval:1e3,playing:void 0,onPlayingChange:()=>{},formatLabel:String};var Ro=R(E(),1);var mt=class extends Ro.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){y(p(L,{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,n){let i=document.createElement("a");i.href=e,i.download=n,i.click()}};mt.defaultProps={...Ro.Widget.defaultProps,id:"screenshot",placement:"top-left",viewId:null,label:"Screenshot",filename:"screenshot.png",imageFormat:"image/png",onCapture:void 0};var ge=R(E(),1),Eo=R(E(),1);var qn={"--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","--menu-background":"#fff","--menu-backdrop-filter":"unset","--menu-border":"unset","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--menu-text":"rgb(24, 24, 26, 1)","--menu-item-hover":"rgba(0, 0, 0, 0.08)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"#d8d8e5","--range-thumb-color":"#616166","--range-decoration-active-color":"#f8dd50"},Zn={"--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","--menu-background":"rgba(18, 18, 20, 1)","--menu-backdrop-filter":"unset","--menu-border":"unset","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--menu-text":"rgb(215, 214, 229, 1)","--menu-item-hover":"rgba(255, 255, 255, 0.1)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"#2c2c30","--range-thumb-color":"#9e9da8","--range-decoration-active-color":"#dd7d2c"},qt={"--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","--menu-background":"rgba(255, 255, 255, 0.6)","--menu-backdrop-filter":"blur(4px)","--menu-border":"1px solid rgba(255, 255, 255, 0.6)","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--menu-text":"rgb(24, 24, 26, 1)","--menu-item-hover":"rgba(0, 0, 0, 0.08)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"rgba(215, 214, 229, 0.3)","--range-thumb-color":"rgba(97, 97, 102, 1)","--range-decoration-active-color":"rgba(255, 215, 0, 0.6)"},Zt={"--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","--menu-background":"rgba(18, 18, 20, 0.75)","--menu-backdrop-filter":"blur(4px)","--menu-border":"1px solid rgba(18, 18, 20, 0.75)","--menu-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--menu-text":"rgb(215, 214, 229, 1)","--menu-item-hover":"rgba(255, 255, 255, 0.1)","--range-step-button-size":"24px","--range-track-size":"16px","--range-thumb-size":"10px","--range-track-color":"rgba(24, 24, 26, 0.3)","--range-thumb-color":"rgba(158, 157, 168, 1)","--range-decoration-active-color":"rgba(255, 145, 0, 0.6)"};var ft=class extends Eo.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:n,darkModeTheme:i,themeMode:r}=this.props;this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,super.setProps(e);let s=this.getThemeMode();if(e.themeMode!==void 0&&e.themeMode!==r){this._applyTheme(e.themeMode);return}switch(s){case"light":e.lightModeTheme&&!(0,ge._deepEqual)(e.lightModeTheme,n,1)&&this._applyTheme("light");break;case"dark":e.darkModeTheme&&!(0,ge._deepEqual)(e.darkModeTheme,i,1)&&this._applyTheme("dark");break;default:ge.log.warn(`Invalid theme mode ${s}`)()}}onRenderHTML(e){let{lightModeLabel:n,darkModeLabel:i}=this.props,r=this.getThemeMode();y(p(L,{onClick:this._handleClick.bind(this),label:r==="dark"?i:n,className:r==="dark"?"deck-widget-moon":"deck-widget-sun"}),e)}onAdd(){this._applyTheme(this.getThemeMode())}getThemeMode(){return this.props.themeMode??this.themeMode}_handleClick(){let n=this.getThemeMode()==="dark"?"light":"dark";this.props.onThemeModeChange?.(n),this.props.themeMode===void 0&&(this.themeMode=n,this._applyTheme(n))}_applyTheme(e){let n=this.rootElement?.closest(".deck-widget-container");if(n){let i=e==="dark"?this.props.darkModeTheme:this.props.lightModeTheme;(0,ge._applyStyles)(n,i);let r=e==="dark"?this.props.darkModeLabel:this.props.lightModeLabel;ge.log.log(1,`Switched theme to ${r}`,i)(),this.updateHTML()}}_getInitialThemeMode(){let{initialThemeMode:e}=this.props;return e!=="auto"?e:typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}};ft.defaultProps={...Eo.Widget.defaultProps,id:"theme",placement:"top-left",viewId:null,lightModeLabel:"Light Mode",lightModeTheme:qt,darkModeLabel:"Dark Mode",darkModeTheme:Zt,initialThemeMode:"auto",themeMode:void 0,onThemeModeChange:()=>{}};var Oo=R(E(),1);var gt=class extends Oo.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){y(this.loading&&p(L,{className:"deck-widget-spinner",label:this.props.label,onClick:this.handleClick.bind(this)}),e)}onRedraw({layers:e}){let n=e.some(i=>!i.isLoaded);n!==this.loading&&(this.loading=n,this.props.onLoadingChange?.(n),this.updateHTML())}handleClick(){}};gt.defaultProps={...Oo.Widget.defaultProps,id:"loading",placement:"top-left",viewId:null,label:"Loading layer data",onLoadingChange:()=>{}};var Ao=R(E(),1),jn=R(Jn(),1);var Vo=t=>`${t.name}: ${t.count}`;function Do(t){return t<1e3?`${t.toFixed(2)}ms`:`${(t/1e3).toFixed(2)}s`}function Qn(t){return`${(t/1e6).toFixed(1)} MB`}var Kn={count:Vo,averageTime:t=>`${t.name}: ${Do(t.getAverageTime())}`,totalTime:t=>`${t.name}: ${Do(t.time)}`,fps:t=>`${t.name}: ${Math.round(t.getHz())}fps`,memory:t=>`${t.name}: ${Qn(t.count)}`},ht=class extends Ao.Widget{constructor(e={}){super(e);this.className="deck-widget-stats";this.placement="top-left";this._counter=0;this._expanded=!1;this._toggleExpanded=()=>{let e=!this.getExpanded();this.props.onExpandedChange?.(e),this.props.expanded===void 0&&(this._expanded=e,this.updateHTML())};this._getFps=()=>Math.round(this.deck?.metrics.fps??0);this._formatters={...Kn},this._resetOnUpdate={...this.props.resetOnUpdate},this._expanded=Boolean(e.initialExpanded),this.setProps(e)}getExpanded(){return this.props.expanded??this._expanded}setProps(e){if(this.placement=e.placement??this.placement,this.viewId=e.viewId??this.viewId,e.formatters)for(let n in e.formatters){let i=e.formatters[n];this._formatters[n]=typeof i=="string"?Kn[i]||Vo:i}e.resetOnUpdate&&(this._resetOnUpdate={...e.resetOnUpdate}),super.setProps(e)}onRemove(){this.rootElement&&y(null,this.rootElement)}onRenderHTML(e){if(!this.getExpanded()){y(p(lr,{getFps:this._getFps,onClick:this._toggleExpanded}),e);return}let i=this._getStats(),r=this.props.title||("id"in i?i.id:null)||"Stats",s=this._getDeviceLabel(),a=[];i&&i.forEach(c=>{let d=this._getLines(c).split(`
|
|
8
|
+
`);this._resetOnUpdate&&this._resetOnUpdate[c.name]&&c.reset(),d.forEach((m,l)=>{a.push(p("div",{style:{whiteSpace:"pre"},children:m},`${c.name}-${l}`))})}),y(p("div",{className:"deck-widget-stats-container",style:{cursor:"default"},children:[p("div",{className:"deck-widget-stats-header",style:{cursor:"pointer",pointerEvents:"auto"},onClick:this._toggleExpanded,children:[p("b",{children:r}),s&&p("span",{className:"deck-widget-stats-device",children:s}),p("button",{className:"deck-widget-dropdown-button",children:p("span",{className:"deck-widget-dropdown-icon open"})})]}),p("div",{className:"deck-widget-stats-content",children:a})]}),e)}onRedraw(){if(this.getExpanded()){let e=Math.max(1,this.props.framesPerUpdate||1);this._counter++%e===0&&this.updateHTML()}}_getStats(){switch(this.props.type){case"deck":let e=this.deck?.metrics??{};return Object.entries(e);case"luma":return Array.from(jn.luma.stats.stats.values())[0];case"device":let i=this.deck?.device?.statsManager.stats.values();return i?Array.from(i)[0]:[];case"custom":return this.props.stats;default:throw new Error(`Unknown stats type: ${this.props.type}`)}}_getDeviceLabel(){let e=this.deck?.device?.type;if(!e)return null;switch(e){case"webgpu":return"WebGPU";case"webgl":return"WebGL";default:return String(e)}}_getLines(e){if("count"in e)return(this._formatters[e.name]||this._formatters[e.type||""]||Vo)(e);let[n,i]=e,r=n.endsWith("Memory")?Qn(i):n.includes("Time")?Do(i):`${i.toFixed(2)}`;return`${n}: ${r}`}};ht.defaultProps={...Ao.Widget.defaultProps,type:"deck",placement:"top-left",viewId:null,initialExpanded:!1,stats:void 0,title:"Stats",framesPerUpdate:1,formatters:{},resetOnUpdate:{},id:"stats",expanded:void 0,onExpandedChange:()=>{}};function lr({getFps:t,onClick:o}){let[e,n]=pe(t());return G(()=>{let i=()=>{n(t()),r=requestAnimationFrame(i)},r=requestAnimationFrame(i);return()=>{cancelAnimationFrame(r)}},[t]),p(L,{onClick:o,children:p("div",{className:"text",children:["FPS",p("br",{}),e]})})}return ai(vt);})();
|
|
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.3.0
|
|
6
|
+
"version": "9.3.0",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -42,12 +42,12 @@
|
|
|
42
42
|
"prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
+
"@floating-ui/dom": "^1.7.5",
|
|
45
46
|
"preact": "^10.17.0"
|
|
46
47
|
},
|
|
47
48
|
"peerDependencies": {
|
|
48
|
-
"@deck.gl/core": "~9.3.0
|
|
49
|
-
"@floating-ui/dom": "^1.7.5",
|
|
49
|
+
"@deck.gl/core": "~9.3.0",
|
|
50
50
|
"@luma.gl/core": "~9.3.2"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "83c6be432af286138fc78d4d8d67459d9b3b6cff"
|
|
53
53
|
}
|
package/src/stats-widget.tsx
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import {Widget, type WidgetPlacement, type WidgetProps} from '@deck.gl/core';
|
|
6
6
|
import {luma} from '@luma.gl/core';
|
|
7
|
-
import {render} from 'preact';
|
|
7
|
+
import {render, type JSX} from 'preact';
|
|
8
8
|
import {useEffect, useState} from 'preact/hooks';
|
|
9
9
|
import type {Stats, Stat} from '@probe.gl/stats';
|
|
10
10
|
import {IconButton} from './lib/components/icon-button';
|