@mappedin/mappedin-js 6.17.1 → 6.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/THIRD_PARTY_LICENSES.txt +624 -12
  2. package/lib/esm/GLTFExporter-G4WLRGTD.js +1 -0
  3. package/lib/esm/GLTFLoader-6KS65AUU.js +1 -0
  4. package/lib/esm/{chunk-43W5ISDI.js → chunk-5DTIPZIM.js} +1 -1
  5. package/lib/esm/chunk-7ZLJ5BZG.js +956 -0
  6. package/lib/esm/chunk-PJFSEFCS.js +660 -0
  7. package/lib/esm/chunk-PWEV3AFA.js +1 -0
  8. package/lib/esm/chunk-S634J4FK.js +3819 -0
  9. package/lib/esm/chunk-XH3AOOQM.js +1515 -0
  10. package/lib/esm/index.css +1 -1
  11. package/lib/esm/index.d.ts +1079 -177
  12. package/lib/esm/index.js +1 -1
  13. package/lib/esm/inspector-IMRVE3SS.js +482 -0
  14. package/lib/esm/inspector-PGGVNGUZ.css +1 -0
  15. package/lib/esm/internal-75ZEUF5X.js +1 -0
  16. package/lib/esm/internal-Q5HDG37N.css +1 -0
  17. package/lib/esm/{roboto-regular-MRBWMLOE.js → roboto-regular-6ZYOMS3F.js} +1 -1
  18. package/lib/esm/src-RKBRVS5G.js +1 -0
  19. package/lib/esm/src-WUAFLQGO.css +1 -0
  20. package/lib/esm/text3d-YG2QJ2JU.js +252 -0
  21. package/lib/esm/workers/collision-worker.csp.js +1 -1
  22. package/lib/index.css +1 -1
  23. package/package.json +2 -2
  24. package/lib/esm/GLTFExporter-CXO2YAF3.js +0 -1
  25. package/lib/esm/GLTFLoader-I7TPEHSY.js +0 -1
  26. package/lib/esm/chunk-72VREA6L.js +0 -1
  27. package/lib/esm/chunk-IGHVNMJ3.js +0 -1
  28. package/lib/esm/chunk-PCYD3VDS.js +0 -1
  29. package/lib/esm/chunk-PUC4BMPX.js +0 -1
  30. package/lib/esm/chunk-RTTZ7LHQ.js +0 -1
  31. package/lib/esm/inspector-AQXLD4YL.js +0 -1
  32. package/lib/esm/inspector-YWC6NP6D.css +0 -1
  33. package/lib/esm/internal-7BZS3RBF.js +0 -1
  34. package/lib/esm/internal-QC6SWNN2.css +0 -1
  35. package/lib/esm/src-GA2Z4OON.css +0 -1
  36. package/lib/esm/src-YUNUBHAQ.js +0 -1
  37. package/lib/esm/text3d-Z7SSD7IN.js +0 -1
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{A as C,B as D,C as E,D as F,E as J,F as K,I as L,J as N,K as O,L as P,M as Q,N as R,O as S,P as T,Q as U,R as V,S as W,T as X,U as Y,V as Z,W as _,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"./chunk-PCYD3VDS.js";import{y as M}from"./chunk-72VREA6L.js";import{L as G,U as H,a,bb as I,c as b}from"./chunk-RTTZ7LHQ.js";import"./chunk-43W5ISDI.js";import"./chunk-PUC4BMPX.js";import"./chunk-IGHVNMJ3.js";export{y as ACTION_TYPE,G as ANIMATION_TWEENS,p as Annotation,i as Area,z as BEARING_TYPE,A as CONNECTION_TYPE,m as Connection,c as Coordinate,C as DOORS,g as DetailedMapData,D as Directions,j as Door,a as E_SDK_LOG_LEVEL,t as EnterpriseCategory,s as EnterpriseLocation,u as EnterpriseVenue,r as Facade,l as Floor,q as FloorStack,e as Hyperlink,f as ImageMetaData,F as LocationCategory,E as LocationProfile,h as MAPPEDIN_COLORS,n as MapObject,N as MapView,d as Node,o as PointOfInterest,k as Space,B as WALLS,M as __INTERNAL__MapLibreOverlay,Q as __setWatermarkOnClickFn,X as checkWorkerUrls,K as disableText3DWorker,H as enableTestMode,P as findPreferredLanguageInVenue,T as forceEnterpriseLocations,V as getMapData,W as getMapDataEnterprise,J as getMultiFloorState,Z as getVersion,O as hydrateMapData,R as hydrateMapDataFromMVF,v as parseMVF,I as preloadFont,b as setLoggerLevel,S as setUseEnterpriseAPI,L as setWorkersUrl,U as shouldForceEnterpriseLocations,Y as show3dMap,_ as show3dMapGeojson,x as unzipAndParseMVFv2,w as unzipMVF};
1
+ import{A as C,B as D,C as E,D as F,E as K,F as L,I as M,J as P,K as Q,L as R,M as S,N as T,O as U,P as V,Q as W,R as X,S as Y,T as Z,U as _,V as $,W as aa,X as ba,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"./chunk-PJFSEFCS.js";import{v as N,x as O}from"./chunk-7ZLJ5BZG.js";import{Ca as I,P as G,Y as H,a,c as b,mb as J}from"./chunk-XH3AOOQM.js";import"./chunk-5DTIPZIM.js";import"./chunk-S634J4FK.js";import"./chunk-PWEV3AFA.js";export{y as ACTION_TYPE,G as ANIMATION_TWEENS,p as Annotation,i as Area,z as BEARING_TYPE,A as CONNECTION_TYPE,m as Connection,c as Coordinate,C as DOORS,g as DetailedMapData,D as Directions,j as Door,a as E_SDK_LOG_LEVEL,t as EnterpriseCategory,s as EnterpriseLocation,u as EnterpriseVenue,r as Facade,l as Floor,q as FloorStack,e as Hyperlink,f as ImageMetaData,F as LocationCategory,E as LocationProfile,h as MAPPEDIN_COLORS,n as MapObject,P as MapView,d as Node,o as PointOfInterest,k as Space,B as WALLS,I as __INTERNAL__MAPPEDIN_LAYER_ID,O as __INTERNAL__MapLibreOverlay,N as __INTERNAL__RendererCore,R as __INTERNAL__convertToRendererCoreOptions,T as __setWatermarkOnClickFn,_ as checkWorkerUrls,L as disableText3DWorker,H as enableTestMode,S as findPreferredLanguageInVenue,W as forceEnterpriseLocations,Y as getMapData,Z as getMapDataEnterprise,K as getMultiFloorState,aa as getVersion,Q as hydrateMapData,U as hydrateMapDataFromMVF,v as parseMVF,J as preloadFont,b as setLoggerLevel,V as setUseEnterpriseAPI,M as setWorkersUrl,X as shouldForceEnterpriseLocations,$ as show3dMap,ba as show3dMapGeojson,x as unzipAndParseMVFv2,w as unzipMVF};
@@ -0,0 +1,482 @@
1
+ import{G as N,H as ee,i as O,q as $,r as P}from"./chunk-PJFSEFCS.js";import"./chunk-7ZLJ5BZG.js";import{i as S}from"./chunk-XH3AOOQM.js";import"./chunk-5DTIPZIM.js";import{a as y}from"./chunk-S634J4FK.js";import"./chunk-PWEV3AFA.js";y();y();y();y();var M=class n{constructor(e,i,t,o,r="div"){this.parent=e,this.object=i,this.property=t,this._disabled=!1,this._hidden=!1,this.initialValue=this.getValue(),this.domElement=document.createElement(r),this.domElement.classList.add("controller"),this.domElement.classList.add(o),this.$name=document.createElement("div"),this.$name.classList.add("name"),n.nextNameID=n.nextNameID||0,this.$name.id=`lil-gui-name-${++n.nextNameID}`,this.$widget=document.createElement("div"),this.$widget.classList.add("widget"),this.$disable=this.$widget,this.domElement.appendChild(this.$name),this.domElement.appendChild(this.$widget),this.domElement.addEventListener("keydown",l=>l.stopPropagation()),this.domElement.addEventListener("keyup",l=>l.stopPropagation()),this.parent.children.push(this),this.parent.controllers.push(this),this.parent.$children.appendChild(this.domElement),this._listenCallback=this._listenCallback.bind(this),this.name(t)}name(e){return this._name=e,this.$name.textContent=e,this}onChange(e){return this._onChange=e,this}_callOnChange(){this.parent._callOnChange(this),this._onChange!==void 0&&this._onChange.call(this,this.getValue()),this._changed=!0}onFinishChange(e){return this._onFinishChange=e,this}_callOnFinishChange(){this._changed&&(this.parent._callOnFinishChange(this),this._onFinishChange!==void 0&&this._onFinishChange.call(this,this.getValue())),this._changed=!1}reset(){return this.setValue(this.initialValue),this._callOnFinishChange(),this}enable(e=!0){return this.disable(!e)}disable(e=!0){return e===this._disabled?this:(this._disabled=e,this.domElement.classList.toggle("disabled",e),this.$disable.toggleAttribute("disabled",e),this)}show(e=!0){return this._hidden=!e,this.domElement.style.display=this._hidden?"none":"",this}hide(){return this.show(!1)}options(e){let i=this.parent.add(this.object,this.property,e);return i.name(this._name),this.destroy(),i}min(e){return this}max(e){return this}step(e){return this}decimals(e){return this}listen(e=!0){return this._listening=e,this._listenCallbackID!==void 0&&(cancelAnimationFrame(this._listenCallbackID),this._listenCallbackID=void 0),this._listening&&this._listenCallback(),this}_listenCallback(){this._listenCallbackID=requestAnimationFrame(this._listenCallback);let e=this.save();e!==this._listenPrevValue&&this.updateDisplay(),this._listenPrevValue=e}getValue(){return this.object[this.property]}setValue(e){return this.getValue()!==e&&(this.object[this.property]=e,this._callOnChange(),this.updateDisplay()),this}updateDisplay(){return this}load(e){return this.setValue(e),this._callOnFinishChange(),this}save(){return this.getValue()}destroy(){this.listen(!1),this.parent.children.splice(this.parent.children.indexOf(this),1),this.parent.controllers.splice(this.parent.controllers.indexOf(this),1),this.parent.$children.removeChild(this.domElement)}},Y=class extends M{constructor(e,i,t){super(e,i,t,"boolean","label"),this.$input=document.createElement("input"),this.$input.setAttribute("type","checkbox"),this.$input.setAttribute("aria-labelledby",this.$name.id),this.$widget.appendChild(this.$input),this.$input.addEventListener("change",()=>{this.setValue(this.$input.checked),this._callOnFinishChange()}),this.$disable=this.$input,this.updateDisplay()}updateDisplay(){return this.$input.checked=this.getValue(),this}};function V(n){let e,i;return(e=n.match(/(#|0x)?([a-f0-9]{6})/i))?i=e[2]:(e=n.match(/rgb\(\s*(\d*)\s*,\s*(\d*)\s*,\s*(\d*)\s*\)/))?i=parseInt(e[1]).toString(16).padStart(2,0)+parseInt(e[2]).toString(16).padStart(2,0)+parseInt(e[3]).toString(16).padStart(2,0):(e=n.match(/^#?([a-f0-9])([a-f0-9])([a-f0-9])$/i))&&(i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3]),i?"#"+i:!1}var be={isPrimitive:!0,match:n=>typeof n=="string",fromHexString:V,toHexString:V},D={isPrimitive:!0,match:n=>typeof n=="number",fromHexString:n=>parseInt(n.substring(1),16),toHexString:n=>"#"+n.toString(16).padStart(6,0)},ve={isPrimitive:!1,match:n=>Array.isArray(n),fromHexString(n,e,i=1){let t=D.fromHexString(n);e[0]=(t>>16&255)/255*i,e[1]=(t>>8&255)/255*i,e[2]=(t&255)/255*i},toHexString([n,e,i],t=1){t=255/t;let o=n*t<<16^e*t<<8^i*t<<0;return D.toHexString(o)}},ye={isPrimitive:!1,match:n=>Object(n)===n,fromHexString(n,e,i=1){let t=D.fromHexString(n);e.r=(t>>16&255)/255*i,e.g=(t>>8&255)/255*i,e.b=(t&255)/255*i},toHexString({r:n,g:e,b:i},t=1){t=255/t;let o=n*t<<16^e*t<<8^i*t<<0;return D.toHexString(o)}},Ce=[be,D,ve,ye];function xe(n){return Ce.find(e=>e.match(n))}var J=class extends M{constructor(e,i,t,o){super(e,i,t,"color"),this.$input=document.createElement("input"),this.$input.setAttribute("type","color"),this.$input.setAttribute("tabindex",-1),this.$input.setAttribute("aria-labelledby",this.$name.id),this.$text=document.createElement("input"),this.$text.setAttribute("type","text"),this.$text.setAttribute("spellcheck","false"),this.$text.setAttribute("aria-labelledby",this.$name.id),this.$display=document.createElement("div"),this.$display.classList.add("display"),this.$display.appendChild(this.$input),this.$widget.appendChild(this.$display),this.$widget.appendChild(this.$text),this._format=xe(this.initialValue),this._rgbScale=o,this._initialValueHexString=this.save(),this._textFocused=!1,this.$input.addEventListener("input",()=>{this._setValueFromHexString(this.$input.value)}),this.$input.addEventListener("blur",()=>{this._callOnFinishChange()}),this.$text.addEventListener("input",()=>{let r=V(this.$text.value);r&&this._setValueFromHexString(r)}),this.$text.addEventListener("focus",()=>{this._textFocused=!0,this.$text.select()}),this.$text.addEventListener("blur",()=>{this._textFocused=!1,this.updateDisplay(),this._callOnFinishChange()}),this.$disable=this.$text,this.updateDisplay()}reset(){return this._setValueFromHexString(this._initialValueHexString),this}_setValueFromHexString(e){if(this._format.isPrimitive){let i=this._format.fromHexString(e);this.setValue(i)}else this._format.fromHexString(e,this.getValue(),this._rgbScale),this._callOnChange(),this.updateDisplay()}save(){return this._format.toHexString(this.getValue(),this._rgbScale)}load(e){return this._setValueFromHexString(e),this._callOnFinishChange(),this}updateDisplay(){return this.$input.value=this._format.toHexString(this.getValue(),this._rgbScale),this._textFocused||(this.$text.value=this.$input.value.substring(1)),this.$display.style.backgroundColor=this.$input.value,this}},I=class extends M{constructor(e,i,t){super(e,i,t,"function"),this.$button=document.createElement("button"),this.$button.appendChild(this.$name),this.$widget.appendChild(this.$button),this.$button.addEventListener("click",o=>{o.preventDefault(),this.getValue().call(this.object),this._callOnChange()}),this.$button.addEventListener("touchstart",()=>{},{passive:!0}),this.$disable=this.$button}},X=class extends M{constructor(e,i,t,o,r,l){super(e,i,t,"number"),this._initInput(),this.min(o),this.max(r);let s=l!==void 0;this.step(s?l:this._getImplicitStep(),s),this.updateDisplay()}decimals(e){return this._decimals=e,this.updateDisplay(),this}min(e){return this._min=e,this._onUpdateMinMax(),this}max(e){return this._max=e,this._onUpdateMinMax(),this}step(e,i=!0){return this._step=e,this._stepExplicit=i,this}updateDisplay(){let e=this.getValue();if(this._hasSlider){let i=(e-this._min)/(this._max-this._min);i=Math.max(0,Math.min(i,1)),this.$fill.style.width=i*100+"%"}return this._inputFocused||(this.$input.value=this._decimals===void 0?e:e.toFixed(this._decimals)),this}_initInput(){this.$input=document.createElement("input"),this.$input.setAttribute("type","text"),this.$input.setAttribute("aria-labelledby",this.$name.id),window.matchMedia("(pointer: coarse)").matches&&(this.$input.setAttribute("type","number"),this.$input.setAttribute("step","any")),this.$widget.appendChild(this.$input),this.$disable=this.$input;let i=()=>{let b=parseFloat(this.$input.value);isNaN(b)||(this._stepExplicit&&(b=this._snap(b)),this.setValue(this._clamp(b)))},t=b=>{let x=parseFloat(this.$input.value);isNaN(x)||(this._snapClampSetValue(x+b),this.$input.value=this.getValue())},o=b=>{b.key==="Enter"&&this.$input.blur(),b.code==="ArrowUp"&&(b.preventDefault(),t(this._step*this._arrowKeyMultiplier(b))),b.code==="ArrowDown"&&(b.preventDefault(),t(this._step*this._arrowKeyMultiplier(b)*-1))},r=b=>{this._inputFocused&&(b.preventDefault(),t(this._step*this._normalizeMouseWheel(b)))},l=!1,s,c,f,d,a,p=5,h=b=>{s=b.clientX,c=f=b.clientY,l=!0,d=this.getValue(),a=0,window.addEventListener("mousemove",g),window.addEventListener("mouseup",m)},g=b=>{if(l){let x=b.clientX-s,L=b.clientY-c;Math.abs(L)>p?(b.preventDefault(),this.$input.blur(),l=!1,this._setDraggingStyle(!0,"vertical")):Math.abs(x)>p&&m()}if(!l){let x=b.clientY-f;a-=x*this._step*this._arrowKeyMultiplier(b),d+a>this._max?a=this._max-d:d+a<this._min&&(a=this._min-d),this._snapClampSetValue(d+a)}f=b.clientY},m=()=>{this._setDraggingStyle(!1,"vertical"),this._callOnFinishChange(),window.removeEventListener("mousemove",g),window.removeEventListener("mouseup",m)},v=()=>{this._inputFocused=!0},u=()=>{this._inputFocused=!1,this.updateDisplay(),this._callOnFinishChange()};this.$input.addEventListener("input",i),this.$input.addEventListener("keydown",o),this.$input.addEventListener("wheel",r,{passive:!1}),this.$input.addEventListener("mousedown",h),this.$input.addEventListener("focus",v),this.$input.addEventListener("blur",u)}_initSlider(){this._hasSlider=!0,this.$slider=document.createElement("div"),this.$slider.classList.add("slider"),this.$fill=document.createElement("div"),this.$fill.classList.add("fill"),this.$slider.appendChild(this.$fill),this.$widget.insertBefore(this.$slider,this.$input),this.domElement.classList.add("hasSlider");let e=(u,b,x,L,_)=>(u-b)/(x-b)*(_-L)+L,i=u=>{let b=this.$slider.getBoundingClientRect(),x=e(u,b.left,b.right,this._min,this._max);this._snapClampSetValue(x)},t=u=>{this._setDraggingStyle(!0),i(u.clientX),window.addEventListener("mousemove",o),window.addEventListener("mouseup",r)},o=u=>{i(u.clientX)},r=()=>{this._callOnFinishChange(),this._setDraggingStyle(!1),window.removeEventListener("mousemove",o),window.removeEventListener("mouseup",r)},l=!1,s,c,f=u=>{u.preventDefault(),this._setDraggingStyle(!0),i(u.touches[0].clientX),l=!1},d=u=>{u.touches.length>1||(this._hasScrollBar?(s=u.touches[0].clientX,c=u.touches[0].clientY,l=!0):f(u),window.addEventListener("touchmove",a,{passive:!1}),window.addEventListener("touchend",p))},a=u=>{if(l){let b=u.touches[0].clientX-s,x=u.touches[0].clientY-c;Math.abs(b)>Math.abs(x)?f(u):(window.removeEventListener("touchmove",a),window.removeEventListener("touchend",p))}else u.preventDefault(),i(u.touches[0].clientX)},p=()=>{this._callOnFinishChange(),this._setDraggingStyle(!1),window.removeEventListener("touchmove",a),window.removeEventListener("touchend",p)},h=this._callOnFinishChange.bind(this),g=400,m,v=u=>{if(Math.abs(u.deltaX)<Math.abs(u.deltaY)&&this._hasScrollBar)return;u.preventDefault();let x=this._normalizeMouseWheel(u)*this._step;this._snapClampSetValue(this.getValue()+x),this.$input.value=this.getValue(),clearTimeout(m),m=setTimeout(h,g)};this.$slider.addEventListener("mousedown",t),this.$slider.addEventListener("touchstart",d,{passive:!1}),this.$slider.addEventListener("wheel",v,{passive:!1})}_setDraggingStyle(e,i="horizontal"){this.$slider&&this.$slider.classList.toggle("active",e),document.body.classList.toggle("lil-gui-dragging",e),document.body.classList.toggle(`lil-gui-${i}`,e)}_getImplicitStep(){return this._hasMin&&this._hasMax?(this._max-this._min)/1e3:.1}_onUpdateMinMax(){!this._hasSlider&&this._hasMin&&this._hasMax&&(this._stepExplicit||this.step(this._getImplicitStep(),!1),this._initSlider(),this.updateDisplay())}_normalizeMouseWheel(e){let{deltaX:i,deltaY:t}=e;return Math.floor(e.deltaY)!==e.deltaY&&e.wheelDelta&&(i=0,t=-e.wheelDelta/120,t*=this._stepExplicit?1:10),i+-t}_arrowKeyMultiplier(e){let i=this._stepExplicit?1:10;return e.shiftKey?i*=10:e.altKey&&(i/=10),i}_snap(e){let i=Math.round(e/this._step)*this._step;return parseFloat(i.toPrecision(15))}_clamp(e){return e<this._min&&(e=this._min),e>this._max&&(e=this._max),e}_snapClampSetValue(e){this.setValue(this._clamp(this._snap(e)))}get _hasScrollBar(){let e=this.parent.root.$children;return e.scrollHeight>e.clientHeight}get _hasMin(){return this._min!==void 0}get _hasMax(){return this._max!==void 0}},W=class extends M{constructor(e,i,t,o){super(e,i,t,"option"),this.$select=document.createElement("select"),this.$select.setAttribute("aria-labelledby",this.$name.id),this.$display=document.createElement("div"),this.$display.classList.add("display"),this.$select.addEventListener("change",()=>{this.setValue(this._values[this.$select.selectedIndex]),this._callOnFinishChange()}),this.$select.addEventListener("focus",()=>{this.$display.classList.add("focus")}),this.$select.addEventListener("blur",()=>{this.$display.classList.remove("focus")}),this.$widget.appendChild(this.$select),this.$widget.appendChild(this.$display),this.$disable=this.$select,this.options(o)}options(e){return this._values=Array.isArray(e)?e:Object.values(e),this._names=Array.isArray(e)?e:Object.keys(e),this.$select.replaceChildren(),this._names.forEach(i=>{let t=document.createElement("option");t.textContent=i,this.$select.appendChild(t)}),this.updateDisplay(),this}updateDisplay(){let e=this.getValue(),i=this._values.indexOf(e);return this.$select.selectedIndex=i,this.$display.textContent=i===-1?e:this._names[i],this}},K=class extends M{constructor(e,i,t){super(e,i,t,"string"),this.$input=document.createElement("input"),this.$input.setAttribute("type","text"),this.$input.setAttribute("spellcheck","false"),this.$input.setAttribute("aria-labelledby",this.$name.id),this.$input.addEventListener("input",()=>{this.setValue(this.$input.value)}),this.$input.addEventListener("keydown",o=>{o.code==="Enter"&&this.$input.blur()}),this.$input.addEventListener("blur",()=>{this._callOnFinishChange()}),this.$widget.appendChild(this.$input),this.$disable=this.$input,this.updateDisplay()}updateDisplay(){return this.$input.value=this.getValue(),this}},Ae=`.lil-gui {
2
+ font-family: var(--font-family);
3
+ font-size: var(--font-size);
4
+ line-height: 1;
5
+ font-weight: normal;
6
+ font-style: normal;
7
+ text-align: left;
8
+ color: var(--text-color);
9
+ user-select: none;
10
+ -webkit-user-select: none;
11
+ touch-action: manipulation;
12
+ --background-color: #1f1f1f;
13
+ --text-color: #ebebeb;
14
+ --title-background-color: #111111;
15
+ --title-text-color: #ebebeb;
16
+ --widget-color: #424242;
17
+ --hover-color: #4f4f4f;
18
+ --focus-color: #595959;
19
+ --number-color: #2cc9ff;
20
+ --string-color: #a2db3c;
21
+ --font-size: 11px;
22
+ --input-font-size: 11px;
23
+ --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
24
+ --font-family-mono: Menlo, Monaco, Consolas, "Droid Sans Mono", monospace;
25
+ --padding: 4px;
26
+ --spacing: 4px;
27
+ --widget-height: 20px;
28
+ --title-height: calc(var(--widget-height) + var(--spacing) * 1.25);
29
+ --name-width: 45%;
30
+ --slider-knob-width: 2px;
31
+ --slider-input-width: 27%;
32
+ --color-input-width: 27%;
33
+ --slider-input-min-width: 45px;
34
+ --color-input-min-width: 45px;
35
+ --folder-indent: 7px;
36
+ --widget-padding: 0 0 0 3px;
37
+ --widget-border-radius: 2px;
38
+ --checkbox-size: calc(0.75 * var(--widget-height));
39
+ --scrollbar-width: 5px;
40
+ }
41
+ .lil-gui, .lil-gui * {
42
+ box-sizing: border-box;
43
+ margin: 0;
44
+ padding: 0;
45
+ }
46
+ .lil-gui.root {
47
+ width: var(--width, 245px);
48
+ display: flex;
49
+ flex-direction: column;
50
+ background: var(--background-color);
51
+ }
52
+ .lil-gui.root > .title {
53
+ background: var(--title-background-color);
54
+ color: var(--title-text-color);
55
+ }
56
+ .lil-gui.root > .children {
57
+ overflow-x: hidden;
58
+ overflow-y: auto;
59
+ }
60
+ .lil-gui.root > .children::-webkit-scrollbar {
61
+ width: var(--scrollbar-width);
62
+ height: var(--scrollbar-width);
63
+ background: var(--background-color);
64
+ }
65
+ .lil-gui.root > .children::-webkit-scrollbar-thumb {
66
+ border-radius: var(--scrollbar-width);
67
+ background: var(--focus-color);
68
+ }
69
+ @media (pointer: coarse) {
70
+ .lil-gui.allow-touch-styles, .lil-gui.allow-touch-styles .lil-gui {
71
+ --widget-height: 28px;
72
+ --padding: 6px;
73
+ --spacing: 6px;
74
+ --font-size: 13px;
75
+ --input-font-size: 16px;
76
+ --folder-indent: 10px;
77
+ --scrollbar-width: 7px;
78
+ --slider-input-min-width: 50px;
79
+ --color-input-min-width: 65px;
80
+ }
81
+ }
82
+ .lil-gui.force-touch-styles, .lil-gui.force-touch-styles .lil-gui {
83
+ --widget-height: 28px;
84
+ --padding: 6px;
85
+ --spacing: 6px;
86
+ --font-size: 13px;
87
+ --input-font-size: 16px;
88
+ --folder-indent: 10px;
89
+ --scrollbar-width: 7px;
90
+ --slider-input-min-width: 50px;
91
+ --color-input-min-width: 65px;
92
+ }
93
+ .lil-gui.autoPlace {
94
+ max-height: 100%;
95
+ position: fixed;
96
+ top: 0;
97
+ right: 15px;
98
+ z-index: 1001;
99
+ }
100
+
101
+ .lil-gui .controller {
102
+ display: flex;
103
+ align-items: center;
104
+ padding: 0 var(--padding);
105
+ margin: var(--spacing) 0;
106
+ }
107
+ .lil-gui .controller.disabled {
108
+ opacity: 0.5;
109
+ }
110
+ .lil-gui .controller.disabled, .lil-gui .controller.disabled * {
111
+ pointer-events: none !important;
112
+ }
113
+ .lil-gui .controller > .name {
114
+ min-width: var(--name-width);
115
+ flex-shrink: 0;
116
+ white-space: pre;
117
+ padding-right: var(--spacing);
118
+ line-height: var(--widget-height);
119
+ }
120
+ .lil-gui .controller .widget {
121
+ position: relative;
122
+ display: flex;
123
+ align-items: center;
124
+ width: 100%;
125
+ min-height: var(--widget-height);
126
+ }
127
+ .lil-gui .controller.string input {
128
+ color: var(--string-color);
129
+ }
130
+ .lil-gui .controller.boolean {
131
+ cursor: pointer;
132
+ }
133
+ .lil-gui .controller.color .display {
134
+ width: 100%;
135
+ height: var(--widget-height);
136
+ border-radius: var(--widget-border-radius);
137
+ position: relative;
138
+ }
139
+ @media (hover: hover) {
140
+ .lil-gui .controller.color .display:hover:before {
141
+ content: " ";
142
+ display: block;
143
+ position: absolute;
144
+ border-radius: var(--widget-border-radius);
145
+ border: 1px solid #fff9;
146
+ top: 0;
147
+ right: 0;
148
+ bottom: 0;
149
+ left: 0;
150
+ }
151
+ }
152
+ .lil-gui .controller.color input[type=color] {
153
+ opacity: 0;
154
+ width: 100%;
155
+ height: 100%;
156
+ cursor: pointer;
157
+ }
158
+ .lil-gui .controller.color input[type=text] {
159
+ margin-left: var(--spacing);
160
+ font-family: var(--font-family-mono);
161
+ min-width: var(--color-input-min-width);
162
+ width: var(--color-input-width);
163
+ flex-shrink: 0;
164
+ }
165
+ .lil-gui .controller.option select {
166
+ opacity: 0;
167
+ position: absolute;
168
+ width: 100%;
169
+ max-width: 100%;
170
+ }
171
+ .lil-gui .controller.option .display {
172
+ position: relative;
173
+ pointer-events: none;
174
+ border-radius: var(--widget-border-radius);
175
+ height: var(--widget-height);
176
+ line-height: var(--widget-height);
177
+ max-width: 100%;
178
+ overflow: hidden;
179
+ word-break: break-all;
180
+ padding-left: 0.55em;
181
+ padding-right: 1.75em;
182
+ background: var(--widget-color);
183
+ }
184
+ @media (hover: hover) {
185
+ .lil-gui .controller.option .display.focus {
186
+ background: var(--focus-color);
187
+ }
188
+ }
189
+ .lil-gui .controller.option .display.active {
190
+ background: var(--focus-color);
191
+ }
192
+ .lil-gui .controller.option .display:after {
193
+ font-family: "lil-gui";
194
+ content: "\u2195";
195
+ position: absolute;
196
+ top: 0;
197
+ right: 0;
198
+ bottom: 0;
199
+ padding-right: 0.375em;
200
+ }
201
+ .lil-gui .controller.option .widget,
202
+ .lil-gui .controller.option select {
203
+ cursor: pointer;
204
+ }
205
+ @media (hover: hover) {
206
+ .lil-gui .controller.option .widget:hover .display {
207
+ background: var(--hover-color);
208
+ }
209
+ }
210
+ .lil-gui .controller.number input {
211
+ color: var(--number-color);
212
+ }
213
+ .lil-gui .controller.number.hasSlider input {
214
+ margin-left: var(--spacing);
215
+ width: var(--slider-input-width);
216
+ min-width: var(--slider-input-min-width);
217
+ flex-shrink: 0;
218
+ }
219
+ .lil-gui .controller.number .slider {
220
+ width: 100%;
221
+ height: var(--widget-height);
222
+ background: var(--widget-color);
223
+ border-radius: var(--widget-border-radius);
224
+ padding-right: var(--slider-knob-width);
225
+ overflow: hidden;
226
+ cursor: ew-resize;
227
+ touch-action: pan-y;
228
+ }
229
+ @media (hover: hover) {
230
+ .lil-gui .controller.number .slider:hover {
231
+ background: var(--hover-color);
232
+ }
233
+ }
234
+ .lil-gui .controller.number .slider.active {
235
+ background: var(--focus-color);
236
+ }
237
+ .lil-gui .controller.number .slider.active .fill {
238
+ opacity: 0.95;
239
+ }
240
+ .lil-gui .controller.number .fill {
241
+ height: 100%;
242
+ border-right: var(--slider-knob-width) solid var(--number-color);
243
+ box-sizing: content-box;
244
+ }
245
+
246
+ .lil-gui-dragging .lil-gui {
247
+ --hover-color: var(--widget-color);
248
+ }
249
+ .lil-gui-dragging * {
250
+ cursor: ew-resize !important;
251
+ }
252
+
253
+ .lil-gui-dragging.lil-gui-vertical * {
254
+ cursor: ns-resize !important;
255
+ }
256
+
257
+ .lil-gui .title {
258
+ height: var(--title-height);
259
+ line-height: calc(var(--title-height) - 4px);
260
+ font-weight: 600;
261
+ padding: 0 var(--padding);
262
+ -webkit-tap-highlight-color: transparent;
263
+ cursor: pointer;
264
+ outline: none;
265
+ text-decoration-skip: objects;
266
+ }
267
+ .lil-gui .title:before {
268
+ font-family: "lil-gui";
269
+ content: "\u25BE";
270
+ padding-right: 2px;
271
+ display: inline-block;
272
+ }
273
+ .lil-gui .title:active {
274
+ background: var(--title-background-color);
275
+ opacity: 0.75;
276
+ }
277
+ @media (hover: hover) {
278
+ body:not(.lil-gui-dragging) .lil-gui .title:hover {
279
+ background: var(--title-background-color);
280
+ opacity: 0.85;
281
+ }
282
+ .lil-gui .title:focus {
283
+ text-decoration: underline var(--focus-color);
284
+ }
285
+ }
286
+ .lil-gui.root > .title:focus {
287
+ text-decoration: none !important;
288
+ }
289
+ .lil-gui.closed > .title:before {
290
+ content: "\u25B8";
291
+ }
292
+ .lil-gui.closed > .children {
293
+ transform: translateY(-7px);
294
+ opacity: 0;
295
+ }
296
+ .lil-gui.closed:not(.transition) > .children {
297
+ display: none;
298
+ }
299
+ .lil-gui.transition > .children {
300
+ transition-duration: 300ms;
301
+ transition-property: height, opacity, transform;
302
+ transition-timing-function: cubic-bezier(0.2, 0.6, 0.35, 1);
303
+ overflow: hidden;
304
+ pointer-events: none;
305
+ }
306
+ .lil-gui .children:empty:before {
307
+ content: "Empty";
308
+ padding: 0 var(--padding);
309
+ margin: var(--spacing) 0;
310
+ display: block;
311
+ height: var(--widget-height);
312
+ font-style: italic;
313
+ line-height: var(--widget-height);
314
+ opacity: 0.5;
315
+ }
316
+ .lil-gui.root > .children > .lil-gui > .title {
317
+ border: 0 solid var(--widget-color);
318
+ border-width: 1px 0;
319
+ transition: border-color 300ms;
320
+ }
321
+ .lil-gui.root > .children > .lil-gui.closed > .title {
322
+ border-bottom-color: transparent;
323
+ }
324
+ .lil-gui + .controller {
325
+ border-top: 1px solid var(--widget-color);
326
+ margin-top: 0;
327
+ padding-top: var(--spacing);
328
+ }
329
+ .lil-gui .lil-gui .lil-gui > .title {
330
+ border: none;
331
+ }
332
+ .lil-gui .lil-gui .lil-gui > .children {
333
+ border: none;
334
+ margin-left: var(--folder-indent);
335
+ border-left: 2px solid var(--widget-color);
336
+ }
337
+ .lil-gui .lil-gui .controller {
338
+ border: none;
339
+ }
340
+
341
+ .lil-gui label, .lil-gui input, .lil-gui button {
342
+ -webkit-tap-highlight-color: transparent;
343
+ }
344
+ .lil-gui input {
345
+ border: 0;
346
+ outline: none;
347
+ font-family: var(--font-family);
348
+ font-size: var(--input-font-size);
349
+ border-radius: var(--widget-border-radius);
350
+ height: var(--widget-height);
351
+ background: var(--widget-color);
352
+ color: var(--text-color);
353
+ width: 100%;
354
+ }
355
+ @media (hover: hover) {
356
+ .lil-gui input:hover {
357
+ background: var(--hover-color);
358
+ }
359
+ .lil-gui input:active {
360
+ background: var(--focus-color);
361
+ }
362
+ }
363
+ .lil-gui input:disabled {
364
+ opacity: 1;
365
+ }
366
+ .lil-gui input[type=text],
367
+ .lil-gui input[type=number] {
368
+ padding: var(--widget-padding);
369
+ -moz-appearance: textfield;
370
+ }
371
+ .lil-gui input[type=text]:focus,
372
+ .lil-gui input[type=number]:focus {
373
+ background: var(--focus-color);
374
+ }
375
+ .lil-gui input[type=checkbox] {
376
+ appearance: none;
377
+ width: var(--checkbox-size);
378
+ height: var(--checkbox-size);
379
+ border-radius: var(--widget-border-radius);
380
+ text-align: center;
381
+ cursor: pointer;
382
+ }
383
+ .lil-gui input[type=checkbox]:checked:before {
384
+ font-family: "lil-gui";
385
+ content: "\u2713";
386
+ font-size: var(--checkbox-size);
387
+ line-height: var(--checkbox-size);
388
+ }
389
+ @media (hover: hover) {
390
+ .lil-gui input[type=checkbox]:focus {
391
+ box-shadow: inset 0 0 0 1px var(--focus-color);
392
+ }
393
+ }
394
+ .lil-gui button {
395
+ outline: none;
396
+ cursor: pointer;
397
+ font-family: var(--font-family);
398
+ font-size: var(--font-size);
399
+ color: var(--text-color);
400
+ width: 100%;
401
+ height: var(--widget-height);
402
+ text-transform: none;
403
+ background: var(--widget-color);
404
+ border-radius: var(--widget-border-radius);
405
+ border: none;
406
+ }
407
+ @media (hover: hover) {
408
+ .lil-gui button:hover {
409
+ background: var(--hover-color);
410
+ }
411
+ .lil-gui button:focus {
412
+ box-shadow: inset 0 0 0 1px var(--focus-color);
413
+ }
414
+ }
415
+ .lil-gui button:active {
416
+ background: var(--focus-color);
417
+ }
418
+
419
+ @font-face {
420
+ font-family: "lil-gui";
421
+ src: url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAUsAAsAAAAACJwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAAH4AAADAImwmYE9TLzIAAAGIAAAAPwAAAGBKqH5SY21hcAAAAcgAAAD0AAACrukyyJBnbHlmAAACvAAAAF8AAACEIZpWH2hlYWQAAAMcAAAAJwAAADZfcj2zaGhlYQAAA0QAAAAYAAAAJAC5AHhobXR4AAADXAAAABAAAABMAZAAAGxvY2EAAANsAAAAFAAAACgCEgIybWF4cAAAA4AAAAAeAAAAIAEfABJuYW1lAAADoAAAASIAAAIK9SUU/XBvc3QAAATEAAAAZgAAAJCTcMc2eJxVjbEOgjAURU+hFRBK1dGRL+ALnAiToyMLEzFpnPz/eAshwSa97517c/MwwJmeB9kwPl+0cf5+uGPZXsqPu4nvZabcSZldZ6kfyWnomFY/eScKqZNWupKJO6kXN3K9uCVoL7iInPr1X5baXs3tjuMqCtzEuagm/AAlzQgPAAB4nGNgYRBlnMDAysDAYM/gBiT5oLQBAwuDJAMDEwMrMwNWEJDmmsJwgCFeXZghBcjlZMgFCzOiKOIFAB71Bb8AeJy1kjFuwkAQRZ+DwRAwBtNQRUGKQ8OdKCAWUhAgKLhIuAsVSpWz5Bbkj3dEgYiUIszqWdpZe+Z7/wB1oCYmIoboiwiLT2WjKl/jscrHfGg/pKdMkyklC5Zs2LEfHYpjcRoPzme9MWWmk3dWbK9ObkWkikOetJ554fWyoEsmdSlt+uR0pCJR34b6t/TVg1SY3sYvdf8vuiKrpyaDXDISiegp17p7579Gp3p++y7HPAiY9pmTibljrr85qSidtlg4+l25GLCaS8e6rRxNBmsnERunKbaOObRz7N72ju5vdAjYpBXHgJylOAVsMseDAPEP8LYoUHicY2BiAAEfhiAGJgZWBgZ7RnFRdnVJELCQlBSRlATJMoLV2DK4glSYs6ubq5vbKrJLSbGrgEmovDuDJVhe3VzcXFwNLCOILB/C4IuQ1xTn5FPilBTj5FPmBAB4WwoqAHicY2BkYGAA4sk1sR/j+W2+MnAzpDBgAyEMQUCSg4EJxAEAwUgFHgB4nGNgZGBgSGFggJMhDIwMqEAYAByHATJ4nGNgAIIUNEwmAABl3AGReJxjYAACIQYlBiMGJ3wQAEcQBEV4nGNgZGBgEGZgY2BiAAEQyQWEDAz/wXwGAAsPATIAAHicXdBNSsNAHAXwl35iA0UQXYnMShfS9GPZA7T7LgIu03SSpkwzYTIt1BN4Ak/gKTyAeCxfw39jZkjymzcvAwmAW/wgwHUEGDb36+jQQ3GXGot79L24jxCP4gHzF/EIr4jEIe7wxhOC3g2TMYy4Q7+Lu/SHuEd/ivt4wJd4wPxbPEKMX3GI5+DJFGaSn4qNzk8mcbKSR6xdXdhSzaOZJGtdapd4vVPbi6rP+cL7TGXOHtXKll4bY1Xl7EGnPtp7Xy2n00zyKLVHfkHBa4IcJ2oD3cgggWvt/V/FbDrUlEUJhTn/0azVWbNTNr0Ens8de1tceK9xZmfB1CPjOmPH4kitmvOubcNpmVTN3oFJyjzCvnmrwhJTzqzVj9jiSX911FjeAAB4nG3HMRKCMBBA0f0giiKi4DU8k0V2GWbIZDOh4PoWWvq6J5V8If9NVNQcaDhyouXMhY4rPTcG7jwYmXhKq8Wz+p762aNaeYXom2n3m2dLTVgsrCgFJ7OTmIkYbwIbC6vIB7WmFfAAAA==") format("woff");
422
+ }`;function we(n){let e=document.createElement("style");e.innerHTML=n;let i=document.querySelector("head link[rel=stylesheet], head style");i?document.head.insertBefore(e,i):document.head.appendChild(e)}var te=!1,Z=class n{constructor({parent:e,autoPlace:i=e===void 0,container:t,width:o,title:r="Controls",closeFolders:l=!1,injectStyles:s=!0,touchStyles:c=!0}={}){if(this.parent=e,this.root=e?e.root:this,this.children=[],this.controllers=[],this.folders=[],this._closed=!1,this._hidden=!1,this.domElement=document.createElement("div"),this.domElement.classList.add("lil-gui"),this.$title=document.createElement("div"),this.$title.classList.add("title"),this.$title.setAttribute("role","button"),this.$title.setAttribute("aria-expanded",!0),this.$title.setAttribute("tabindex",0),this.$title.addEventListener("click",()=>this.openAnimated(this._closed)),this.$title.addEventListener("keydown",f=>{(f.code==="Enter"||f.code==="Space")&&(f.preventDefault(),this.$title.click())}),this.$title.addEventListener("touchstart",()=>{},{passive:!0}),this.$children=document.createElement("div"),this.$children.classList.add("children"),this.domElement.appendChild(this.$title),this.domElement.appendChild(this.$children),this.title(r),this.parent){this.parent.children.push(this),this.parent.folders.push(this),this.parent.$children.appendChild(this.domElement);return}this.domElement.classList.add("root"),c&&this.domElement.classList.add("allow-touch-styles"),!te&&s&&(we(Ae),te=!0),t?t.appendChild(this.domElement):i&&(this.domElement.classList.add("autoPlace"),document.body.appendChild(this.domElement)),o&&this.domElement.style.setProperty("--width",o+"px"),this._closeFolders=l}add(e,i,t,o,r){if(Object(t)===t)return new W(this,e,i,t);let l=e[i];switch(typeof l){case"number":return new X(this,e,i,t,o,r);case"boolean":return new Y(this,e,i);case"string":return new K(this,e,i);case"function":return new I(this,e,i)}console.error(`gui.add failed
423
+ property:`,i,`
424
+ object:`,e,`
425
+ value:`,l)}addColor(e,i,t=1){return new J(this,e,i,t)}addFolder(e){let i=new n({parent:this,title:e});return this.root._closeFolders&&i.close(),i}load(e,i=!0){return e.controllers&&this.controllers.forEach(t=>{t instanceof I||t._name in e.controllers&&t.load(e.controllers[t._name])}),i&&e.folders&&this.folders.forEach(t=>{t._title in e.folders&&t.load(e.folders[t._title])}),this}save(e=!0){let i={controllers:{},folders:{}};return this.controllers.forEach(t=>{if(!(t instanceof I)){if(t._name in i.controllers)throw new Error(`Cannot save GUI with duplicate property "${t._name}"`);i.controllers[t._name]=t.save()}}),e&&this.folders.forEach(t=>{if(t._title in i.folders)throw new Error(`Cannot save GUI with duplicate folder "${t._title}"`);i.folders[t._title]=t.save()}),i}open(e=!0){return this._setClosed(!e),this.$title.setAttribute("aria-expanded",!this._closed),this.domElement.classList.toggle("closed",this._closed),this}close(){return this.open(!1)}_setClosed(e){this._closed!==e&&(this._closed=e,this._callOnOpenClose(this))}show(e=!0){return this._hidden=!e,this.domElement.style.display=this._hidden?"none":"",this}hide(){return this.show(!1)}openAnimated(e=!0){return this._setClosed(!e),this.$title.setAttribute("aria-expanded",!this._closed),requestAnimationFrame(()=>{let i=this.$children.clientHeight;this.$children.style.height=i+"px",this.domElement.classList.add("transition");let t=r=>{r.target===this.$children&&(this.$children.style.height="",this.domElement.classList.remove("transition"),this.$children.removeEventListener("transitionend",t))};this.$children.addEventListener("transitionend",t);let o=e?this.$children.scrollHeight:0;this.domElement.classList.toggle("closed",!e),requestAnimationFrame(()=>{this.$children.style.height=o+"px"})}),this}title(e){return this._title=e,this.$title.textContent=e,this}reset(e=!0){return(e?this.controllersRecursive():this.controllers).forEach(t=>t.reset()),this}onChange(e){return this._onChange=e,this}_callOnChange(e){this.parent&&this.parent._callOnChange(e),this._onChange!==void 0&&this._onChange.call(this,{object:e.object,property:e.property,value:e.getValue(),controller:e})}onFinishChange(e){return this._onFinishChange=e,this}_callOnFinishChange(e){this.parent&&this.parent._callOnFinishChange(e),this._onFinishChange!==void 0&&this._onFinishChange.call(this,{object:e.object,property:e.property,value:e.getValue(),controller:e})}onOpenClose(e){return this._onOpenClose=e,this}_callOnOpenClose(e){this.parent&&this.parent._callOnOpenClose(e),this._onOpenClose!==void 0&&this._onOpenClose.call(this,e)}destroy(){this.parent&&(this.parent.children.splice(this.parent.children.indexOf(this),1),this.parent.folders.splice(this.parent.folders.indexOf(this),1)),this.domElement.parentElement&&this.domElement.parentElement.removeChild(this.domElement),Array.from(this.children).forEach(e=>e.destroy())}controllersRecursive(){let e=Array.from(this.controllers);return this.folders.forEach(i=>{e=e.concat(i.controllersRecursive())}),e}foldersRecursive(){let e=Array.from(this.folders);return this.folders.forEach(i=>{e=e.concat(i.foldersRecursive())}),e}},z=Z;y();y();var E=(()=>{let n=null;return function(i){if(!n){let t=document.createElement("canvas");t.width=1,t.height=1,n=t.getContext("2d")}return n.fillStyle=i,n.fillStyle}})();function ie(n){let e;for(e of n)e()}var _e=["interactive"];function B(n,e,i){let t={id:e.id,__type:e.__type},o=i.addFolder(`${e.type}-${e.id}`);for(let r in e){if(r==="visible"&&o.add(e,r).onChange(l=>{n.updateState(t,{[r]:l})}),r==="color"||r==="hoverColor"){e[r]=E(e[r]),o.addColor(e,r).onChange(l=>{n.updateState(t,{[r]:l})});continue}if(r==="height"){o.add(e,r,0,20,1).onChange(l=>{n.updateState(t,{[r]:l})});continue}if(r==="texture"&&e.texture){o.addFolder("Texture - side").add(e.texture,"url").onChange(s=>{n.updateState(t,{texture:{url:s}})});continue}if(r==="topTexture"&&e.topTexture){o.addFolder("Texture - top").add(e.topTexture,"url").onChange(s=>{n.updateState(t,{topTexture:{url:s}})});continue}if(r==="opacity"){o.add(e,r,0,1,.1).onChange(l=>{n.updateState(t,{[r]:l})});continue}if(r==="altitude"){o.add(e,r,0,100,1).onChange(l=>{n.updateState(t,{[r]:l})});continue}_e.includes(r)&&o.add(e,r).onChange(l=>{n.updateState(t,{[r]:l})})}return e.isInView&&(o.add(e,"isInView").listen().disable(),o.add(e,"isInViewCheck")),{cleanup(){o.destroy()}}}y();y();function Ee(){let n=[];function e(o,r){let l=Object.values(o.getMapData())[0],s=r;if(s&&O.is(s)){let c=l.getByType("enterprise-location")?.find(f=>f.spaces.some(d=>d.id===s.id));c&&(s=c)}return s}async function i(o,r){return r instanceof P?o.Camera.focusOn(r.locations.flatMap(l=>l.spaces),T):r instanceof $?o.Camera.focusOn(r.spaces,T):o.Camera.focusOn(r,T)}function t(o,r,{focus:l=!1}={}){if(!window.enableHighlightCard)return()=>{};let s=e(o,r),c=document.createElement("div");if(c.style.cssText=`
426
+ position: absolute;
427
+ top: 20px;
428
+ left: 20px;
429
+ background-color: rgba(30, 30, 30, 0.95);
430
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
431
+ border-radius: 12px;
432
+ padding: 24px;
433
+ max-width: 320px;
434
+ z-index: 1000;
435
+ font-family: 'Arial', sans-serif;
436
+ transition: all 0.3s ease;
437
+ color: #e0e0e0;
438
+ `,"name"in s){let d=document.createElement("h3");d.textContent=s.name,d.style.cssText=`
439
+ margin: 0 0 16px;
440
+ font-size: 22px;
441
+ font-weight: 600;
442
+ color: #ffffff;
443
+ letter-spacing: -0.5px;
444
+ `,c.appendChild(d)}if(s instanceof $){if(s.description){let d=document.createElement("p");d.textContent=s.description,d.style.cssText=`
445
+ margin: 0 0 16px;
446
+ font-size: 14px;
447
+ color: #b0b0b0;
448
+ line-height: 1.5;
449
+ `,c.appendChild(d)}if(s.tags&&s.tags.length>0){let d=document.createElement("div");d.style.cssText=`
450
+ display: flex;
451
+ flex-wrap: nowrap;
452
+ gap: 8px;
453
+ margin-bottom: 16px;
454
+ overflow-x: hidden;
455
+ max-height: 30px; /* Adjust this value based on your font size and padding */
456
+ `,s.tags.forEach(a=>{let p=document.createElement("span");p.textContent=a,p.style.cssText=`
457
+ background-color: #3a3a3a;
458
+ color: #e0e0e0;
459
+ padding: 6px 12px;
460
+ border-radius: 16px;
461
+ font-size: 12px;
462
+ font-weight: 500;
463
+ text-transform: uppercase;
464
+ white-space: nowrap;
465
+ `,d.appendChild(p)}),c.appendChild(d)}}let f;if(!(r instanceof P)){let d=new z({autoPlace:!1});d.domElement.style.cssText=`
466
+ position: relative;
467
+ overflow-y: auto;
468
+ margin-top: 16px;
469
+ border-top: 1px solid #444;
470
+ padding-top: 16px;
471
+ `;let a=o.getState(r);a&&(B(o,{id:r.id,...a},d),c.appendChild(d.domElement)),f=d}return document.body.appendChild(c),l&&i(o,s),()=>{c.style.opacity="0",c.style.transform="translateY(-10px)",setTimeout(()=>c.remove(),300),f?.destroy()}}return{highlightCard:t,highlight:(o,r,{focus:l=!0}={})=>{n.length>0&&n.forEach(c=>o.Markers.remove(c));let s=e(o,r);if(s instanceof $)l&&o.Camera.focusOn(s.spaces,T),n.push(...s.spaces.map(c=>o.Markers.add(c,`<div style="padding: 15px; background-color: #ffffff; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); max-width: 250px; position: relative;">
472
+ <h3 style="margin: 0 0 10px; color: #333; font-size: 16px; font-weight: 600;">${s.name}</h3>
473
+ ${s.description?`<p style="margin: 0 0 10px; color: #666; font-size: 14px; font-weight: 400;">${s.description}</p>`:""}
474
+ ${s.tags?s.tags.map(f=>`<span style="display: inline-block; padding: 3px 8px; background-color: #e0f2f1; color: #00796b; border-radius: 12px; font-size: 12px;">${f}</span>`).join(" "):""}
475
+ <div style="position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 10px solid #ffffff;"></div>
476
+ </div>`,{rank:"always-visible",placement:"top"})));else if(s instanceof P){l&&o.Camera.focusOn(s.locations.flatMap(d=>d.spaces),T);let c=new Map,f=new Set;s.locations.forEach(d=>{c.has(d.name)||(d.spaces.forEach(a=>{n.push(o.Markers.add(a,`<div style="padding: 12px; background-color: rgba(0, 153, 51, 0.95); border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.3); transform: translateY(-4px); transition: all 0.3s ease;">
477
+ <span style="font-weight: 600; color: #FFFFFF; font-size: 16px; text-shadow: 1px 1px 2px rgba(0,0,0,0.2);">${d.name}</span>
478
+ </div>`,{rank:"always-visible"}))}),c.set(d.name,!0))}),s.locations.forEach(d=>{d.coordinates.forEach(a=>{let p=`${a.latitude},${a.longitude}`;if(!f.has(p)&&!c.has(d.name)){let h=o.Markers.add(a,`<div style="padding: 10px; background-color: rgba(51, 102, 204, 0.9); border-radius: 6px; box-shadow: 0 3px 6px rgba(0,0,0,0.2);">
479
+ <span style="font-weight: 500; color: #FFFFFF; font-size: 16px;">${d.name}</span>
480
+ <br>
481
+ <span style="color: #FFFFFF; font-size: 12px; font-weight: 400;">Node</span>
482
+ </div>`,{rank:"always-visible"});f.add(p),n.push(h)}})})}return()=>{n.forEach(c=>o.Markers.remove(c))}}}}var T={duration:300,easing:"ease-in-out"},H=Ee();y();var w={search:"",results:void 0,options:{places:{fields:{name:!0,description:!0,link:!0,category:!0},limit:5},locations:{fields:{name:!0,tag:!0,description:!0},limit:5},categories:{fields:{name:!0},limit:5}}};function ke(n){n.add(w.options.places.fields,"name").name("Places: Name"),n.add(w.options.places.fields,"description").name("Places: Description"),n.add(w.options.places.fields,"link").name("Places: Link"),n.add(w.options.places.fields,"category").name("Places: Category"),n.add(w.options.places,"limit"),n.add(w.options.locations.fields,"name").name("Locations: Name"),n.add(w.options.locations.fields,"tag").name("Locations: Tag"),n.add(w.options.locations.fields,"description").name("Locations: Description"),n.add(w.options.places,"limit"),n.add(w.options.categories.fields,"name").name("Categories: Name")}function ne(n,e,i){let t=new S,o=i.addFolder("Search");o.open();let r=o.add(w,"search").onChange(async d=>{let a=await e.Search.query(d,w.options);a&&(w.results=a,s(a,t))}),l=document.createElement("div");l.style.marginLeft="10px",r.domElement.parentElement?.appendChild(l);let{renderSearch:s,close:c}=Me(n,e,l,r.$input),f=o.addFolder("Advanced");return f.close(),ke(f),document.addEventListener("keydown",d=>{(d.metaKey||d.ctrlKey)&&d.key==="k"?(d.preventDefault(),o._closed&&o.open(),r.$input.focus()):d.key==="Escape"&&(c(),t.publish("highlight",void 0))}),{pubsub:t}}function Me(n,e,i,t){let o,r;t.addEventListener("input",async s=>{s instanceof InputEvent&&(s.inputType==="insertText"||s.inputType==="insertCompositionText")&&(clearTimeout(o),o=setTimeout(async()=>{let c=await e.Search.suggest(t.value);c&&c.length>0&&l(c[0]?.suggestion)},100))});function l(s){if(!s){t.placeholder="";return}let c=t.value;t.value=s,t.setSelectionRange(c.length,s.length)}return{renderSearch(s,c){if(s.places.length===0&&s.enterpriseCategories?.length===0&&s.enterpriseLocations?.length===0){i.textContent="No results found.";return}r=Le(i,s,n,c)},close(){r.destroy()}}}function Le(n,e,i,t){n.innerHTML="";let o=document.createElement("div");Object.assign(o.style,U.dropdownContainer);let r=document.createElement("ul");r.className="options-list",Object.assign(r.style,U.optionsList),r.style.display="block";let l=[],s=(p,h)=>{if(h&&h.length>0){let g=document.createElement("li");g.textContent=p,Object.assign(g.style,U.sectionHeader),r.appendChild(g),h.forEach((m,v)=>{let u=document.createElement("li");u.textContent=`${"name"in m.item?m.item.name:""} (${m.type})`,Object.assign(u.style,U.option),u.tabIndex=0,u.addEventListener("focus",()=>{f(l.indexOf(u))}),u.addEventListener("mouseover",()=>{u.style.backgroundColor="#f0f0f0"}),u.addEventListener("mouseout",()=>{u.style.backgroundColor=""}),u.addEventListener("click",()=>{}),u.setAttribute("data-type",p),u.setAttribute("data-index",v.toString()),r.appendChild(u),l.push(u)})}};s("enterpriseLocations",e.enterpriseLocations),s("enterpriseCategories",e.enterpriseCategories),s("Places",e.places),o.appendChild(r),n.appendChild(o);let c=[],f=p=>{c.forEach(u=>u()),c=[],l.forEach((u,b)=>{b===p?u.style.backgroundColor="#e0e0e0":u.style.backgroundColor=""});let h=l[p],g=h.getAttribute("data-type"),m=parseInt(h.getAttribute("data-index")||"0",10);if(!g)return;let{item:v}=e[g.toLowerCase()][m];t.publish("highlight",v)},d=p=>{!o.contains(p.target)&&p.target!==n&&a()};document.addEventListener("click",d);let a=()=>{n.innerHTML="",document.removeEventListener("click",d)};return{destroy(){n.innerHTML="",t.publish("highlight",void 0)}}}var U={dropdownContainer:{position:"absolute",color:"#202020"},optionsList:{display:"block",zIndex:"1002",position:"relative",maxHeight:"200px",overflowY:"auto",border:"1px solid #ccc",backgroundColor:"#fff",listStyleType:"none",margin:"0",padding:"0"},sectionHeader:{fontWeight:"bold",padding:"5px",backgroundColor:"#f0f0f0"},option:{padding:"5px",cursor:"pointer"}};function oe(n,e,i){i.domElement.id="interactionPanel";let t=[],{pubsub:o}=ne(n,e,i);o.on("highlight",d=>{if(d){t.forEach(p=>p()),t=[];let a=d instanceof $?d.spaces[0]:d;if(n.Camera.focusOn(d),a&&!O.is(a))return;t.push(H.highlightCard(n,a,{focus:!0}))}else t.forEach(a=>a()),t=[]});let r=i.addFolder("Click \u{1F447}").close(),{sub:l}=$e(n,r);l.on("click",d=>{t.forEach(a=>a()),t=[],d.spaces?.[0]&&(t=[H.highlightCard(n,d.spaces[0])])});let s=i.addFolder("Hover \u{1F681}").close(),{sub:c}=Se(n,s),f;c.on("hover",d=>{d.spaces?.[0]?(f?.(),t.length===0&&(f=H.highlightCard(n,d.spaces[0]))):(f?.(),f=void 0)})}function $e(n,e){let i=new S,t={position:"",hoverColor:E(n.getHoverColor())},o=e.add(t,"position").disable(),r=[];function l(){r.forEach(c=>c()),r.length=0}let s=0;return n.on("click",c=>{let{labels:f,coordinate:d}=c;l(),i.publish("click",c),clearInterval(s),o.load(JSON.stringify([d.longitude,d.latitude]));let a=f?.[0];if(a!=null){let h=F(n,a,e);if(!h)return;r.push(h.destroy),h.labelItemFolder.openAnimated()}let p=c.spaces?.[0]??c.objects?.[0];if(p){let h={...p,...n.getState(p),isInView:!1,isInViewCheck:G(n,p.id)},{cleanup:g}=B(n,h,e);s=setInterval(()=>{h.isInView=n.isInView(a||p)},500),r.push(g)}}),{sub:i}}function Se(n,e){let i=new S;n.setHoverColor("#1f3a7a");let t={position:"",hoverColor:E(n.getHoverColor()),intersected:"",type:"",id:""},o=e.add(t,"position").disable();e.add(t,"id").disable().listen(),e.add(t,"type").disable().listen(),e.addColor(t,"hoverColor").onChange(s=>{n.setHoverColor(s)});let r=[];function l(){r.forEach(s=>s()),r.length=0}return n.on("hover",s=>{let{coordinate:c,spaces:f,objects:d,markers:a,labels:p}=s;l(),i.publish("hover",s),o.load(JSON.stringify([c.longitude,c.latitude]));let h=f?.[0]??d?.[0]??a?.[0]??p?.[0];if(!h)return;let g=n.getState(h);g&&(t.type=g.type,t.id=h.id)}),{sub:i}}function G(n,e){return function(){console.log("isInView",n.isInView(e))}}function re(n,e,i){let t={labels:{},all(){i.Labels.__EXPERIMENTAL__all().forEach(h=>{this.labels[h.id]=h}),c()},removeAllLabels(){i.Labels.removeAll().forEach(h=>{delete this.labels[h.id]}),c()}},{addLabel:o,destroy:r}=Te(n,i);n.add(t,"all"),n.add(t,"removeAllLabels");let l=n.addFolder("Label List");n.close();let s=new Map,{rerender:c}=f();function f(){function p(m){delete t.labels[m.id],s.get(m.id)?.destroy()}function h(m){let v=F(i,m,l,{onRemove:b=>{p(b)}});if(!v)return;let{labelItemFolder:u}=v;s.set(m.id,u)}function g(){l.destroy(),l=n.addFolder("Label");for(let m in t.labels){let v=t.labels[m];h(v)}}return{rerender:g,add:h,remove:p}}n.domElement.classList.add("list-items");let d;i.on("click",({labels:p,coordinate:h})=>{if(!n._closed)if(p?.[0]){d?.close();let g=s.get(p[0].id);if(n.open(),!g)return;g?.open(),g?.domElement.scrollIntoView({block:"start"}),g?.domElement.focus(),d=g}else o(h)});function a(p){for(let h of p)t.labels[h.id]=h;c()}return{populatelabels:a,destroy(){r()}}}function Ie(n,e,i,t,o){let{interactive:r,enabled:l,rank:s,anchor:c,dynamicResize:f,zIndex:d,contentHTML:a,lowPriorityPin:p}=t;if(r==null||l==null)throw new Error("incomplete marker state");let h={interactive:r,enabled:l,rank:s||"medium",anchor:Array.isArray(c)?c.join(", "):c||"center",dynamicResize:f||!1,zIndex:d||0,contentHTML:a||"",lowPriorityPin:{enabled:p?.enabled??!0,size:p?.size??8,color:E(p?.color??"#666")},remove(){n.Markers.remove(e),o?.(e),i.destroy()},isInView:G(n,e.id)};i.onChange(m=>{let v={interactive:h.interactive,enabled:h.enabled,rank:h.rank,dynamicResize:h.dynamicResize,contentHTML:h.contentHTML,lowPriorityPin:{enabled:h.lowPriorityPin.enabled,size:h.lowPriorityPin.size,color:h.lowPriorityPin.color}};h.rank==="always-visible"&&(v.zIndex=h.zIndex),n.updateState(e,v)}),i.add(h,"interactive"),i.add(h,"enabled"),i.add(h,"rank",["medium","high","always-visible","initial"]).name("rank"),i.add(h,"anchor").name("anchor (read-only)").disable(),i.add(h,"dynamicResize").name("dynamic resize"),h.rank==="always-visible"&&i.add(h,"zIndex",0,1e3,1).name("z-index"),i.add(h,"contentHTML").name("content HTML");let g=i.addFolder("Low Priority Pin");g.add(h.lowPriorityPin,"enabled"),g.add(h.lowPriorityPin,"size",1,20,1),g.addColor(h.lowPriorityPin,"color"),g.close(),i.add(h,"isInView"),i.add(h,"remove")}function De(n,e,i,t,o){let{appearance:r,interactive:l}=t;if(!r||r.margin==null||l==null)throw new Error("incomplte label state");let s={text:e.text,interactive:l,appearance:{...r,margin:r.margin||0,pinColor:r.pinColor?E(r.pinColor):"black",textColor:r.textColor?E(r.textColor):"black"},remove(){n.Labels.remove(e),o?.(e),i.destroy()},isInView:G(n,e.id)};i.onChange(c=>{n.updateState(e,{appearance:s.appearance,interactive:s.interactive})}),i.add(s.appearance,"margin",0,20).name("margin"),i.add(s,"text"),i.add(s,"interactive"),i.addColor(s.appearance,"pinColor").name("pin color"),i.addColor(s.appearance,"pinOutlineColor").name("pin outline color"),i.addColor(s.appearance,"textColor").name("text color"),i.addColor(s.appearance,"textOutlineColor").name("text outline color"),i.add(s,"isInView"),i.add(s,"remove")}function F(n,e,i,{onRemove:t}={}){let o=n.getState(e);if(!o)throw new Error(`error getting state for entity: ${e.id}`);let r=o.type===N?e.text?.substring(0,12)||"Label":`Marker ${e.id.toString().substring(0,8)}`,l=i.addFolder(r);if(l.close(),o.type===N)De(n,e,l,o,t);else if(o.type===ee)Ie(n,e,l,o,t);else throw new Error(`unsupported entity type: ${o.type}`);return{labelItemFolder:l,destroy(){l.destroy()}}}function Te(n,e){let i=n.addFolder("Add"),t={onClick:!1,margin:6,text:"New Label!",interactive:!0,marginForegroundColor:E("skyblue"),marginBackgroundColor:E("coral"),textForegroundColor:E("slategray"),textBackgroundColor:E("white")};return i.add(t,"onClick"),i.add(t,"margin"),i.add(t,"interactive"),i.add(t,"text"),{destroy(){i.destroy()},addLabel(o){return i._closed||!t.onClick?void 0:e.Labels.add(o,t.text,{appearance:{margin:t.margin,pinColor:t.marginForegroundColor,pinOutlineColor:t.marginBackgroundColor,textColor:t.textForegroundColor,textOutlineColor:t.textBackgroundColor},interactive:t.interactive})}}}var se={};y();function ae(n,e,i){let t=n.addFolder("Camera \u{1F4F7}"),o=e.Camera.center.toJSON(),r=document.createElement("div");Object.assign(r.style,{display:"none",position:"absolute",left:"0px",zIndex:999,top:"0px",bottom:"0px",right:"0px",backgroundColor:"aqua",pointerEvents:"none",opacity:.5}),e.container.appendChild(r);let l=()=>e.getDimensions(),[s,c,f,d]=i?.padding??[e.Camera.screenOffsets.top,e.Camera.screenOffsets.right,e.Camera.screenOffsets.bottom,e.Camera.screenOffsets.left],a={center_lat:o.latitude,center_lon:o.longitude,zoomLevel:e.Camera.zoomLevel,pitch:e.Camera.pitch,bearing:e.Camera.bearing,minZoomLevel:e.Camera.minZoomLevel,maxZoomLevel:e.Camera.maxZoomLevel,inset_type:i?.padding?"pixel":e.Camera.screenOffsets.type,inset_top:s,inset_left:d,inset_right:c,inset_bottom:f,animateOnLoad:!0,visualizeInset:!!(s||c||f||d),"Focus on click":i?.focusOnClick??!1,"Focus on current floor":()=>{e.Camera.focusOn([e.currentFloor],{screenOffsets:{top:20,left:20,right:20,bottom:20}})}};function p(){a.inset_type=e.Camera.screenOffsets.type,a.inset_left=e.Camera.screenOffsets.left,a.inset_top=e.Camera.screenOffsets.top,a.inset_right=e.Camera.screenOffsets.right,a.inset_bottom=e.Camera.screenOffsets.bottom;let{width:C,height:k}=l();a.inset_type==="portion"?Object.assign(r.style,{left:a.inset_left*C+"px",top:a.inset_top*k+"px",bottom:a.inset_bottom*k+"px",right:a.inset_right*C+"px"}):Object.assign(r.style,{left:a.inset_left+"px",top:a.inset_top+"px",bottom:a.inset_bottom+"px",right:a.inset_right+"px"})}t.add(a,"center_lat").listen().disable(),t.add(a,"center_lon").listen().disable(),t.add(a,"zoomLevel",16,22,.5).listen().disable(),t.add(a,"pitch").listen().disable(),t.add(a,"bearing").listen().disable(),t.add(a,"minZoomLevel",5,22,.5).onChange(C=>{e.Camera.setMinZoomLevel(C)}),t.add(a,"maxZoomLevel",10,22,.5).onChange(C=>{e.Camera.setMaxZoomLevel(C)}),t.add(a,"animateOnLoad"),t.add(a,"visualizeInset").onChange(q),q(a.visualizeInset);let h,g,m,v;function u(){let{width:C,height:k}=l(),R=e.Camera.screenOffsets.type,j=a.inset_type;R!==j&&(j==="portion"&&R==="pixel"?(a.inset_top=C>0?Math.min(a.inset_top/k,1):0,a.inset_bottom=C>0?Math.min(a.inset_bottom/k,1):0,a.inset_left=k>0?Math.min(a.inset_left/C,1):0,a.inset_right=k>0?Math.min(a.inset_right/C,1):0):j==="pixel"&&R==="portion"&&(a.inset_top=Math.round(a.inset_top*k),a.inset_bottom=Math.round(a.inset_bottom*k),a.inset_left=Math.round(a.inset_left*C),a.inset_right=Math.round(a.inset_right*C))),h&&h.destroy(),g&&g.destroy(),m&&m.destroy(),v&&v.destroy(),a.inset_type==="portion"?(h=t.add(a,"inset_top",0,1,.01).onChange(_),g=t.add(a,"inset_bottom",0,1,.01).onChange(_),m=t.add(a,"inset_left",0,1,.01).onChange(_),v=t.add(a,"inset_right",0,1,.01).onChange(_)):(h=t.add(a,"inset_top",0,k,1).onChange(_),g=t.add(a,"inset_bottom",0,k,1).onChange(_),m=t.add(a,"inset_left",0,C,1).onChange(_),v=t.add(a,"inset_right",0,C,1).onChange(_))}t.add(a,"inset_type",["pixel","portion"]).onChange(()=>{u(),_()}),u();let b=Oe(e);t.add(a,"Focus on click").onChange(C=>{C?e.on("click",b):e.off("click",b)}),a["Focus on click"]&&e.on("click",b),t.add(a,"Focus on current floor");let x=C=>{t._closed||(a.center_lat=C.center.latitude,a.center_lon=C.center.longitude,a.zoomLevel=C.zoomLevel,a.bearing=C.bearing,a.pitch=C.pitch)};e.on("camera-change",x);let L=[()=>{e.off("camera-change",x)}];function _(){e.Camera.setScreenOffsets({top:a.inset_top,left:a.inset_left,right:a.inset_right,bottom:a.inset_bottom,type:a.inset_type}),p()}(a.inset_top||a.inset_right||a.inset_bottom||a.inset_left)&&_();function q(C){p(),C?r.style.display="block":r.style.display="none"}return()=>({destroy(){t.destroy(),ie(L)}})}function Oe(n){return function(i){let{spaces:t,objects:o}=i,r=t?.[0]??o?.[0];r&&n.Camera.focusOn(r)}}y();function le(n,e,i){let t={markers:{},removeAllMarkers(){i.Markers.removeAll().forEach(h=>{delete this.markers[h.id]}),c()}},{addMarker:o,destroy:r}=Pe(n,i);n.add(t,"removeAllMarkers");let l=n.addFolder("Marker List");n.close();let s=new Map,{rerender:c}=f();function f(){function p(m){delete t.markers[m.id],s.get(m.id)?.destroy()}function h(m){let v=F(i,m,l,{onRemove:b=>{p(b)}});if(!v)return;let{labelItemFolder:u}=v;s.set(m.id,u)}function g(){l.destroy(),l=n.addFolder("marker");for(let m in t.markers){let v=t.markers[m];h(v)}}return{rerender:g,add:h,remove:p}}n.domElement.classList.add("list-items");let d;i.on("click",({markers:p,coordinate:h})=>{if(!n._closed)if(p?.[0]){d?.close();let g=s.get(p[0].id);if(n.open(),!g)return;g?.open(),g?.domElement.scrollIntoView({block:"start"}),g?.domElement.focus(),d=g}else o(h)});function a(p){for(let h of p)t.markers[h.id]=h;c()}return{populateMarkers:a,destroy(){r()}}}function Pe(n,e){let i=n.addFolder("Add"),t={onClick:!1,interactive:!0,rank:"medium",anchor:"center",dynamicResize:!1,enabled:!0,zIndex:0,lowPriorityPin:{enabled:!0,size:8,color:"#666"},contentHTML:'<div style="padding: 8px; background: white; border: 2px solid #333; border-radius: 4px;">New Marker</div>'};i.add(t,"onClick"),i.add(t,"interactive"),i.add(t,"enabled"),i.add(t,"rank",["medium","high","always-visible","initial"]).name("rank"),i.add(t,"anchor",["center","top","bottom","left","right","top-left","top-right","bottom-left","bottom-right"]).name("anchor"),i.add(t,"dynamicResize").name("dynamic resize"),i.add(t,"zIndex",0,1e3,1).name("z-index (always-visible only)"),i.add(t,"contentHTML").name("content HTML");let o=i.addFolder("Low Priority Pin");return o.add(t.lowPriorityPin,"enabled"),o.add(t.lowPriorityPin,"size",1,20,1),o.addColor(t.lowPriorityPin,"color"),o.close(),{destroy(){i.destroy()},addMarker(r){if(i._closed||!t.onClick)return;let l={interactive:t.interactive,enabled:t.enabled,rank:t.rank,anchor:t.anchor,dynamicResize:t.dynamicResize,lowPriorityPin:{enabled:t.lowPriorityPin.enabled,size:t.lowPriorityPin.size,color:t.lowPriorityPin.color}};return t.rank==="always-visible"&&(l.zIndex=t.zIndex),e.Markers.add(r,t.contentHTML,l)}}}y();function de(n,e){let i=n.addFolder("Walls").close(),t={visible:!0,topColor:"#b1fa87",color:"#e8e8e8",texture:{url:""},topTexture:{url:""}};i.add(t,"visible").onChange(l=>{e.updateState("exterior-walls",{visible:l})}),i.addColor(t,"topColor").onChange(l=>{e.updateState("exterior-walls",{topColor:l})}),i.addColor(t,"color").onChange(l=>{e.updateState("exterior-walls",{color:l})}),i.addFolder("Texture - side").add(t.texture,"url").onFinishChange(l=>{e.updateState("exterior-walls",{texture:{url:l}})}),i.addFolder("Texture - top").add(t.topTexture,"url").onFinishChange(l=>{e.updateState("exterior-walls",{topTexture:{url:l}})}),e.updateState("exterior-walls",{topColor:t.topColor}),e.updateState("exterior-walls",{color:t.color})}y();function ce(n,e,i){n.close();let t={language:i.currentLanguage?.code??"en"},o=i.getByType("enterprise-venue");n.add(t,"language",o?.languages.map(r=>r.code)).onChange(r=>{i.changeLanguage(r)})}y();function he(n,e,i){let t=n.addFolder("Debug");t.close();let o=e.Debug.state,r={showPolygonLabelTextAreaMesh:o.showPolygonLabelTextAreaMesh,showCollisionBoxes:o.showCollisionBoxes,showEnvMap:o.showEnvMap};t.add(r,"showPolygonLabelTextAreaMesh").onChange(l=>{e.Debug.update({showPolygonLabelTextAreaMesh:l})}).name("Show Flat Label Text Area Mesh"),t.add(r,"showCollisionBoxes").onChange(l=>{e.Debug.update({showCollisionBoxes:l})}).name("Show Collision Boxes"),t.add(r,"showEnvMap").onChange(l=>{e.Debug.update({showEnvMap:l})}).name("Show Environment Map"),e.Debug.update(r)}y();function ue(n,e,i){let t=n.addFolder("Text3D").close(),o={all:()=>{e.Text3D.labelAll()},removeAll:()=>{e.Text3D.removeAll()}};t.add(o,"all").name("Show All"),t.add(o,"removeAll").name("Remove All")}y();function pe(n,e,i){let t=n.addFolder("Directions \u{1F5FA}\uFE0F");t.close();let o=localStorage.getItem("directionsMethod"),r=localStorage.getItem("directionsRadius"),l=localStorage.getItem("directionsIncludeDoorBufferNodes")==="true",s={enabled:!1,method:o||"dp-optimal",radius:r?parseFloat(r):.75,includeDoorBufferNodes:l,startCoordinate:"",endCoordinate:"",pathInfo:""},c,f,d;t.add(s,"enabled").name("Enable Click-to-Route").onChange(m=>{m||(c=void 0,f=void 0,s.startCoordinate="",s.endCoordinate="",s.pathInfo="",d&&(e.Paths.remove(d),d=void 0))}),t.add(s,"startCoordinate").name("Start").disable().listen(),t.add(s,"endCoordinate").name("End").disable().listen(),t.add(s,"method",{"Greedy LOS":"greedy-los",RDP:"rdp","DP Optimal":"dp-optimal"}).name("Smoothing Method").onChange(m=>{localStorage.setItem("directionsMethod",m),c&&f&&s.enabled&&h(c,f)}),t.add(s,"radius",.1,5,.1).name("Smoothing Radius").onChange(m=>{localStorage.setItem("directionsRadius",String(m)),c&&f&&s.enabled&&h(c,f)}),t.add(s,"includeDoorBufferNodes").name("Door Buffers").onChange(m=>{localStorage.setItem("directionsIncludeDoorBufferNodes",String(m)),c&&f&&s.enabled&&h(c,f)}),t.add(s,"pathInfo").name("Path Info").disable().listen();let a={clear:()=>p()};t.add(a,"clear").name("Clear Path");function p(){c=void 0,f=void 0,s.startCoordinate="",s.endCoordinate="",s.pathInfo="",d&&(e.Paths.remove(d),d=void 0)}async function h(m,v){d&&(e.Paths.remove(d),d=void 0);try{let u=await e.getDirections(m,v,{smoothing:{enabled:!0,__EXPERIMENTAL_METHOD:s.method,radius:s.radius,__EXPERIMENTAL_INCLUDE_DOOR_BUFFER_NODES:s.includeDoorBufferNodes}});if(u){d=e.Paths.add(u.coordinates,{interactive:!0,color:"green",width:1});let x=u.distance?.toFixed(2)||"N/A";s.pathInfo=`${u.coordinates.length} pts, ${x}m`}else s.pathInfo="No path found"}catch(u){s.pathInfo=`Error: ${u instanceof Error?u.message:"Unknown"}`}}let g=async m=>{if(s.enabled)if(c){let v=m.coordinate;f=v,s.endCoordinate=`${v.latitude.toFixed(6)}, ${v.longitude.toFixed(6)}`,s.pathInfo="Calculating...",await h(c,f),c=void 0,f=void 0}else{let v=m.coordinate;c=v,s.startCoordinate=`${v.latitude.toFixed(6)}, ${v.longitude.toFixed(6)}`,s.pathInfo="Click to set end..."}};return e.on("click",g),{destroy(){e.off("click",g),t.destroy()}}}y();function fe(n,e){let i=n.addFolder("Spaces Open To Below Visual Effect").close(),t=e.getGlobalState().multiFloorView,o={enabled:t.spacesOpenToBelowVisualEffectEnabled,darkenAmount:t.spacesOpenToBelowVisualEffectDarkenAmount,darkenUseDepth:t.spacesOpenToBelowVisualEffectDarkenUseDepth,desaturateAmount:t.spacesOpenToBelowVisualEffectDesaturateAmount,desaturateUseDepth:t.spacesOpenToBelowVisualEffectDesaturateUseDepth,washOutAmount:t.spacesOpenToBelowVisualEffectWashOutAmount,washOutUseDepth:t.spacesOpenToBelowVisualEffectWashOutUseDepth};function r(){e.updateGlobalState({multiFloorView:{spacesOpenToBelowVisualEffectEnabled:o.enabled,spacesOpenToBelowVisualEffectDarkenAmount:o.darkenAmount,spacesOpenToBelowVisualEffectDarkenUseDepth:o.darkenUseDepth,spacesOpenToBelowVisualEffectDesaturateAmount:o.desaturateAmount,spacesOpenToBelowVisualEffectDesaturateUseDepth:o.desaturateUseDepth,spacesOpenToBelowVisualEffectWashOutAmount:o.washOutAmount,spacesOpenToBelowVisualEffectWashOutUseDepth:o.washOutUseDepth}})}i.add(o,"enabled").name("Enabled").onChange(()=>r());let l=i.addFolder("Darken");l.add(o,"darkenAmount",0,1,.01).name("Amount").onChange(()=>r()),l.add(o,"darkenUseDepth").name("Use Depth").onChange(()=>r());let s=i.addFolder("Desaturate");s.add(o,"desaturateAmount",0,1,.01).name("Amount").onChange(()=>r()),s.add(o,"desaturateUseDepth").name("Use Depth").onChange(()=>r());let c=i.addFolder("Wash Out");c.add(o,"washOutAmount",0,1,.01).name("Amount").onChange(()=>r()),c.add(o,"washOutUseDepth").name("Use Depth").onChange(()=>r())}function me(n,e,i){ze();let t=new z({title:"SDK Controls"});t.domElement.classList.add("mappedin-js-inspector"),oe(e,n,t),ae(t,e,i?.camera);let o=t.addFolder("Levels").close(),r=t.addFolder("Scene Controls");r.close();let l=t.addFolder("Labels");ue(t,e,n);let s=t.addFolder("Markers");de(t,e);let c=t.addFolder("misc");he(t,e,n),fe(t,e),pe(t,e,n),ce(c,e,n);let f={level:e.currentFloor.id},{populatelabels:d}=re(l,n,e),{populateMarkers:a}=le(s,n,e),p=n.getByType("floor").reduce((g,m)=>(g[m.name]=m.id,g),{}),h=o.add(f,"level",p).onChange(g=>{e.setFloor(g),f.level=e.currentFloor.id,h.updateDisplay()});return e.on("floor-change-start",g=>{o.controllers[0].setValue(g.floor.id)}),n.getByType("space").forEach(g=>{e.updateState(g,{interactive:!0})}),n.getByType("object").forEach(g=>{e.updateState(g,{interactive:!0})}),n.getByType("object").forEach(g=>{e.updateState(g,{interactive:!0})}),e.setHoverColor("#a2b7e6"),e.Camera.setMaxZoomLevel(20),{populatelabels:d,sceneFolder:r,populateMarkers:a}}var ge="mappedin-sdk-debug-css";function ze(){if(document.getElementById(ge))return;let n=document.createElement("style");n.id=ge,n.textContent=se,document.head.appendChild(n)}var Q=class{_enabled=!1;mv;api;mapData;scenegraphVisualizerMounted=!1;storeStateToLocalStorageEnabled=!1;constructor(e,i){this.mv=e,this.api=i,this.mapData=this.api.getMapData()}setMapData(e){this.mapData=e}async enable(e={}){if(this._enabled)return;if(this._enabled=!0,!this.mapData)throw new Error("Please set mapData before enable debug.");let{sceneFolder:i}=me(this.mapData,this.mv,e);i.onOpenClose(async t=>{if(t===i&&!t._closed&&!this.scenegraphVisualizerMounted){this.scenegraphVisualizerMounted=!0;try{let{mountSceneGraphVisualizer:o}=await import("./src-RKBRVS5G.js");o(this.api.core,i)}catch{}}}),this.api.getMapDataInternal()?.spaces.forEach(t=>{this.mv.updateState(t,{interactive:!0})})}get enabled(){return this._enabled}};export{Q as Inspector};
@@ -0,0 +1 @@
1
+ @charset "UTF-8";:root{--pin-shadow-hover-scale: .9;--pin-shadow-width: 12px;--pin-shadow-height: 5px;--pin-shadow-opacity: .35;--pin-drop-animation-duration-ms: .25s}@keyframes drop-pin{0%{transform:translateY(-200%)}to{transform:translateY(0)}}@keyframes pin-shadow{0%{transform:scale(var(--pin-shadow-hover-scale))}to{transform:scale(1)}}.mappedin-dropped-pin-wrapper{position:relative;width:fit-content;height:fit-content;width:36px;height:42px}.mappedin-dropped-pin-wrapper svg{position:absolute;left:calc(50% - var(--pin-shadow-width));animation:drop-pin var(--pin-drop-animation-duration-ms) ease-in}.mappedin-dropped-pin-wrapper>.pin-shadow{position:absolute;left:calc(50% - var(--pin-shadow-width) / 2);bottom:0;height:var(--pin-shadow-height);width:var(--pin-shadow-width);border-radius:100%;opacity:var(--pin-shadow-opacity);animation:pin-shadow .25s ease-in}@keyframes bounce{0%{transform:translateY(-10px);opacity:0}12.5%{transform:translateY(0);opacity:1}25%{transform:translateY(0)}37.5%{transform:translateY(-10px)}50%{transform:translateY(0)}62.5%{transform:translateY(-10px)}75%{transform:translateY(0)}87.5%{transform:translateY(-10px)}to{transform:translateY(0)}}.mappedin-connection-marker{position:relative;display:flex}.mappedin-connection-marker .bouncey{animation:bounce 2.5s linear}.mappedin-connection-marker .arrow--down{transform:rotate(180deg)}.mappedin-connection-marker .connection-circle{display:flex;box-sizing:border-box;justify-content:center;align-items:center;border-radius:50%;border:2px solid white;box-shadow:0 2px 8px #00000026;background:#595959}.mappedin-annotation-marker{--mappedin-annotation-border-radius: 5px;--mappedin-annotation-border-width: 2px;--mappedin-annotation-background-color: #ffffff;--mappedin-annotation-scale: .7;position:relative;box-sizing:border-box;border-radius:var(--mappedin-annotation-border-radius);border:var(--mappedin-annotation-border-width) solid var(--mappedin-annotation-background-color);transform:scale(var(--mappedin-annotation-scale)) translateY(0);box-shadow:0 2px 8px #00000040}.mappedin-annotation-marker img{position:absolute;image-rendering:crisp-edges;top:0;object-fit:contain;border-radius:calc(var(--mappedin-annotation-border-radius) - var(--mappedin-annotation-border-width))}.mappedin-map .mappedin-interactive{cursor:grab}.mappedin-map .mappedin-interactive:active{cursor:grabbing}.mappedin-map .mappedin-interactive.mappedin-interaction-hover{cursor:pointer}.mappedin-map .mappedin-control-container{position:absolute;inset:0;pointer-events:none;font-family:InterUI-Regular,Helvetica,Arial,sans-serif}.mappedin-map .mappedin-control-container .mappedin-ctrl-top-left,.mappedin-map .mappedin-control-container .mappedin-ctrl-top-right,.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-left,.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-right{position:absolute;pointer-events:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-top-left{top:0;left:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-top-right{top:0;right:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-left{bottom:0;left:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-bottom-right{bottom:0;right:0}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib{display:block;position:relative;pointer-events:auto;font:9px/11px InterUI-Regular,Helvetica,Arial,sans-serif;padding:3px 5px 1px;background-color:#ffffff80;margin:0;min-width:11px;min-height:11px;-webkit-user-select:none;user-select:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib summary.mappedin-ctrl-attrib-button{appearance:none;list-style:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib summary.mappedin-ctrl-attrib-button::-webkit-details-marker{display:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact .mappedin-ctrl-attrib-button,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact-show .mappedin-ctrl-attrib-inner{display:inline-block}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact{background-color:transparent}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib.mappedin-compact-show{min-width:15px;min-height:15px;box-sizing:border-box;background-color:#ffffff80}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-left{float:left;border-bottom-right-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-right{float:right;border-bottom-left-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-left{float:left;border-top-right-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-right{float:right;border-top-left-radius:4px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-left,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-left{padding:3px 5px 1px 20px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner{display:inline-block;margin-right:12px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner a{color:#000000bf;text-decoration:none}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner-bold,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner-bold a{font-weight:700}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-inner a:hover{color:#017ef1;text-decoration:underline;cursor:pointer}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;width:15px;height:15px;box-sizing:border-box;border-radius:50%;top:0;right:2px;border:1px}.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-top-left .mappedin-ctrl-attrib-button,.mappedin-map .mappedin-control-container .mappedin-ctrl-attrib-bottom-left .mappedin-ctrl-attrib-button{left:2px}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media(hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.mappedin-marker{font-family:InterUI-Regular,Helvetica,Arial,sans-serif;font-weight:400;top:0;position:absolute;font-weight:700;color:#000;display:flex;flex-direction:row;will-change:transform,opacity;transition:opacity .15s ease-in-out;justify-content:center;opacity:0}.mappedin-marker[data-animated=false]{transition:none}.mappedin-marker[data-placement=hidden]>.mappedin-marker-content{visibility:hidden}.mappedin-marker:before{content:"";display:none;border-radius:50%;position:relative;width:var(--mappedin-pin-size, 2px);height:var(--mappedin-pin-size, 2px);background-color:var(--pin-color, #666)}.mappedin-marker[data-placement=hidden]:before{display:block}.mappedin__smart-collision-engine__container{position:absolute;inset:0;pointer-events:none;z-index:1;font-family:InterUI-Regular,Helvetica,Arial,sans-serif}.mappedin__smart-collision-engine-debug__container{position:absolute;inset:0;transition:opacity .3s ease-in-out;pointer-events:none;will-change:opacity}.mappedin__smart-collision-engine-debug__container.interacting{opacity:.2}.mappedin-js-inspector .list-items{max-height:600px;overflow-y:scroll;scroll-behavior:smooth}.mappedin-js-inspector .children:focus{border:1px solid blue}.mappedin-js-inspector #interactionPanel{position:absolute;right:0}.mappedin-js-inspector #mainPanel{position:absolute;left:0}.mappedin-js-inspector .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}