@deck.gl/widgets 9.4.0-alpha.1 → 9.4.0-beta.1

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