@seatlayer/core 0.97.0 → 0.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{categoryInventory-4XH7dMDH.d.ts → categoryInventory-DdJdJ4Og.d.ts} +1 -1
- package/dist/{categoryInventory-C-bfH2av.d.cts → categoryInventory-DuOez0-4.d.cts} +1 -1
- package/dist/{chunk-M5VINTGE.js → chunk-23OTKCJU.js} +1 -1
- package/dist/{chunk-CUACREZL.js → chunk-CTIGUXXK.js} +1 -1
- package/dist/{chunk-P4C24CIZ.js → chunk-D723OZEY.js} +1 -1
- package/dist/chunk-FYJJSWEM.js +1 -0
- package/dist/chunk-GLGXP5I7.js +1 -0
- package/dist/{chunk-FLMKHAUT.js → chunk-HO4MFTVX.js} +1 -1
- package/dist/chunk-HYEZPOZU.js +1 -0
- package/dist/chunk-K22SISYC.js +1 -0
- package/dist/{chunk-YPESNMTC.js → chunk-KFVUBZMK.js} +1 -1
- package/dist/{chunk-OLGPAFXW.js → chunk-L34T3APU.js} +1 -1
- package/dist/{chunk-IW7QZIMF.js → chunk-N4J4CT6P.js} +1 -1
- package/dist/{chunk-2P72QUJR.js → chunk-UIMDB6GZ.js} +1 -1
- package/dist/chunk-UISTXRO5.js +1 -0
- package/dist/{chunk-ASIIXY5M.js → chunk-VWT44HBR.js} +1 -1
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +6 -4
- package/dist/core/chart-ops/index.d.ts +6 -4
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +4 -4
- package/dist/core/inventory/index.d.ts +4 -4
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.cjs +1 -1
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/layout/index.js +1 -1
- package/dist/core/quality/index.d.cts +3 -3
- package/dist/core/quality/index.d.ts +3 -3
- package/dist/core/quality/index.js +1 -1
- package/dist/core/render-assets/index.d.cts +2 -2
- package/dist/core/render-assets/index.d.ts +2 -2
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/sections/index.cjs +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/core/sections/index.js +1 -1
- package/dist/{eventConfigurations-BEyHDxBT.d.ts → eventConfigurations-BISNREZL.d.ts} +1 -1
- package/dist/{eventConfigurations-BE0rFmbQ.d.cts → eventConfigurations-DYn5XP3J.d.cts} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +13 -13
- package/dist/index.d.ts +13 -13
- package/dist/index.js +1 -1
- package/dist/{labeling-HWSKKrX8.d.ts → labeling-CzuSxAkr.d.ts} +1 -1
- package/dist/{labeling-SURRJh5u.d.cts → labeling-owTTG6e0.d.cts} +1 -1
- package/dist/{openPanorama-6FMXAJ6O.js → openPanorama-VD6PE3YZ.js} +2 -2
- package/dist/{renderedQuality-CZNfpB1H.d.ts → renderedQuality-BMSbVkwu.d.ts} +1 -1
- package/dist/{renderedQuality-QWHMvOej.d.cts → renderedQuality-Bl1Kq_XO.d.cts} +1 -1
- package/dist/{renderer-DEnthjgs.d.cts → renderer-Ccv8ZDZS.d.cts} +1 -1
- package/dist/{renderer-CuXYGgR3.d.ts → renderer-njHDbIqI.d.ts} +1 -1
- package/dist/{seatTypeIcons-BAyWebjw.d.cts → seatTypeIcons-QwEebl3k.d.cts} +1 -1
- package/dist/{seatTypeIcons-CqLiEH9C.d.ts → seatTypeIcons-dy3XQVWN.d.ts} +1 -1
- package/dist/{sections-DOk8zxm5.d.ts → sections-C8VTe6BN.d.ts} +1 -1
- package/dist/{sections-BlCiPWJJ.d.cts → sections-DSIfnBJY.d.cts} +1 -1
- package/dist/{segmentedRowModel-BbHdWqJy.d.cts → segmentedRowModel-CDvvJJ4-.d.cts} +1 -1
- package/dist/{segmentedRowModel-oVUtwW87.d.ts → segmentedRowModel-I8eYUQft.d.ts} +1 -1
- package/dist/{tableSizing-ExOrUwtX.d.ts → tableSizing-BLtQ-KV0.d.ts} +20 -13
- package/dist/{tableSizing-DaEXRHYs.d.cts → tableSizing-CB8g2Fs0.d.cts} +20 -13
- package/dist/{ticketRestrictions-BvG_INSV.d.cts → ticketRestrictions-BvlWLw10.d.cts} +2 -2
- package/dist/{ticketRestrictions-BHUMet7N.d.ts → ticketRestrictions-DUjN2bZn.d.ts} +2 -2
- package/dist/{types-BbqhOJ5L.d.ts → types-DWx32xXH.d.cts} +10 -1
- package/dist/{types-BbqhOJ5L.d.cts → types-DWx32xXH.d.ts} +10 -1
- package/dist/view3d/crossfade/panorama.cjs +1 -1
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/crossfade/panorama.js +1 -1
- package/dist/view3d/index.cjs +144 -46
- package/dist/view3d/index.d.cts +27 -4
- package/dist/view3d/index.d.ts +27 -4
- package/dist/view3d/index.js +142 -44
- package/dist/view3d/scene/scene.worker.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-NGZXKXOY.js +0 -1
- package/dist/chunk-QEPYNCBJ.js +0 -1
- package/dist/chunk-SPM2LMKI.js +0 -1
- package/dist/chunk-VAI2VDQR.js +0 -1
- package/dist/chunk-Z43H6AWN.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-
|
|
1
|
+
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-DWx32xXH.js';
|
|
2
2
|
|
|
3
3
|
declare function sectionPathSegmentEnd(segment: SectionPathSegment): Point;
|
|
4
4
|
/** Validate finite, continuous closed-path geometry without trusting renderer
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-
|
|
1
|
+
import { g as SectionOutlinePath, P as Point, h as SectionPathSegment } from './types-DWx32xXH.cjs';
|
|
2
2
|
|
|
3
3
|
declare function sectionPathSegmentEnd(segment: SectionPathSegment): Point;
|
|
4
4
|
/** Validate finite, continuous closed-path geometry without trusting renderer
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as $,c as K,d as Q,e as O,j as Z,k as J}from"./chunk-
|
|
1
|
+
import{a as $,c as K,d as Q,e as O,j as Z,k as J}from"./chunk-FYJJSWEM.js";import{c as N,d as Y,e as X,f as j}from"./chunk-5BGP7S3Q.js";import{Geometry as oe,Mesh as ae,Program as ie,Texture as se}from"ogl";var le=64,ce=32,me=500;function ue(m=le,i=ce,t=me){let o=m+1,f=i+1,u=o*f,a=new Float32Array(u*3),p=new Float32Array(u*2);for(let b=0;b<f;b++){let L=b/i,M=L*Math.PI,c=Math.sin(M),S=Math.cos(M);for(let g=0;g<o;g++){let y=g/m,r=(y-.5)*Math.PI*2,x=b*o+g;a[x*3]=t*c*Math.sin(r),a[x*3+1]=t*S,a[x*3+2]=-t*c*Math.cos(r),p[x*2]=y,p[x*2+1]=L}}let l=new Uint16Array(m*i*6),s=0;for(let b=0;b<i;b++)for(let L=0;L<m;L++){let M=b*o+L,c=M+o;l[s++]=M,l[s++]=c,l[s++]=M+1,l[s++]=M+1,l[s++]=c,l[s++]=c+1}return{position:a,uv:p,index:l}}function ee(m,i){let t=m*Math.PI/180,o=i*Math.PI/180,f=Math.cos(o);return[f*Math.sin(t),Math.sin(o),-f*Math.cos(t)]}var pe=`#version 300 es
|
|
2
2
|
precision highp float;
|
|
3
3
|
in vec3 position;
|
|
4
4
|
in vec2 uv;
|
|
@@ -17,4 +17,4 @@ out vec4 fragColor;
|
|
|
17
17
|
void main() {
|
|
18
18
|
vec3 rgb = texture(uPano, vUv).rgb;
|
|
19
19
|
fragColor = vec4(rgb, uOpacity);
|
|
20
|
-
}`;function te(m,i){let{position:t,uv:o,index:f}=ue(),u=new oe(m,{position:{size:3,data:t},uv:{size:2,data:o},index:{data:f}}),a=new se(m,{image:i,wrapS:m.CLAMP_TO_EDGE,wrapT:m.CLAMP_TO_EDGE,generateMipmaps:!0,flipY:!1}),p=new ie(m,{vertex:pe,fragment:de,uniforms:{uPano:{value:a},uOpacity:{value:0}},transparent:!0,depthTest:!1,depthWrite:!1}),l=new ae(m,{geometry:u,program:p});return{mesh:l,setOpacity(s){p.uniforms.uOpacity.value=Math.max(0,Math.min(1,s))},setImage(s){a.image=s,a.needsUpdate=!0},dispose(){l.setParent(null),u.remove(),a.texture&&m.deleteTexture(a.texture),p.remove()}}}var re=.15;async function ne(m,i,t,o={}){let f=o.fadeMs??400,u=i?.initialBearingDeg??0,a=Math.max(-O,Math.min(O,i?.initialPitchDeg??0)),p=K,l=!1,s=new AbortController,b=()=>s.abort();o.signal?.addEventListener("abort",b,{once:!0});let L=()=>{},M=[t.camera.position.x,t.camera.position.y,t.camera.position.z];if(!i&&t.cameraOriginWorld&&t.camera.position.set(t.cameraOriginWorld[0],t.cameraOriginWorld[1],t.cameraOriginWorld[2]),!i&&t.focalWorld){let e=t.camera.position,n=t.focalWorld[0]-e.x,E=t.focalWorld[1]-e.y,w=t.focalWorld[2]-e.z,P=Math.hypot(n,w);P>.001&&(u=Math.atan2(n,-w)*180/Math.PI,a=Math.max(-O,Math.min(O,Math.atan2(E,P)*180/Math.PI)))}let c=null;if(i){let e=t.gl.getParameter(t.gl.MAX_TEXTURE_SIZE),n=Y(i,N(e)),E;try{let w=i.resolveUrl?await i.resolveUrl(n.initialUrl):n.initialUrl;if(!w)throw new Error("panorama_asset_unavailable");E=await X(w,s.signal)}catch{return o.signal?.removeEventListener("abort",b),null}try{c=te(t.gl,E)}catch{return s.abort(),o.signal?.removeEventListener("abort",b),null}c.mesh.renderOrder=999,c.mesh.setParent(t.scene),n.upgradeUrl&&(L=j(()=>{(i.resolveUrl?i.resolveUrl(n.upgradeUrl):Promise.resolve(n.upgradeUrl)).then(P=>!P||s.signal.aborted?null:X(P,s.signal)).then(P=>{P&&(l||s.signal.aborted||(c?.setImage(P),t.requestRender()))}).catch(()=>{})}))}let S=t.camera.fov;t.camera.perspective({fov:p,aspect:t.camera.aspect});let g=t.camera.quaternion.slice(),y=()=>{let e=t.camera.position;c?.mesh.position.set(e.x,e.y,e.z);let[n,E,w]=ee(u,a);t.camera.lookAt([e.x+n,e.y+E,e.z+w]),t.requestRender()};y();let r=document.createElement("div"),x=document.activeElement instanceof HTMLElement?document.activeElement:null;r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),r.setAttribute("aria-label",o.seatLabel?`View from ${o.seatLabel}`:"View from seat"),r.tabIndex=-1,Object.assign(r.style,{position:"absolute",inset:"0",zIndex:"10",cursor:"grab",touchAction:"none"});let h=document.createElement("button");if(h.type="button",h.setAttribute("aria-label","Close"),h.textContent="\u2715",Object.assign(h.style,{position:"absolute",top:"12px",right:"12px",zIndex:"2",width:"44px",height:"44px",borderRadius:"999px",cursor:"pointer",border:"1px solid rgba(255,255,255,0.25)",background:"rgba(8,12,18,0.6)",color:"#e6edf3",fontSize:"15px",lineHeight:"1"}),r.appendChild(h),o.disclosure){let e=document.createElement("div");e.textContent=`${o.disclosurePrefix??"360\xB0 panorama"} \xB7 ${o.disclosure}`,Object.assign(e.style,{position:"absolute",top:"calc(12px + var(--sl-3d-top-inset, 0px))",left:"12px",zIndex:"2",maxWidth:"calc(100% - 88px)",padding:"8px 11px",borderRadius:"999px",overflow:"hidden",color:"#dce6f8",background:"rgba(8,12,18,0.68)",font:"600 11px/1.2 ui-sans-serif, system-ui, sans-serif",textOverflow:"ellipsis",whiteSpace:"nowrap",pointerEvents:"none",backdropFilter:"blur(6px)"}),r.appendChild(e)}let _=document.createElement("div");_.textContent=Z(o.lookAroundHint),Object.assign(_.style,{position:"absolute",bottom:"12px",left:"0",right:"0",textAlign:"center",color:"rgba(230,237,243,0.7)",font:"12px ui-sans-serif, system-ui, sans-serif",pointerEvents:"none"}),r.appendChild(_),m.appendChild(r),h.focus({preventScroll:!0});let
|
|
20
|
+
}`;function te(m,i){let{position:t,uv:o,index:f}=ue(),u=new oe(m,{position:{size:3,data:t},uv:{size:2,data:o},index:{data:f}}),a=new se(m,{image:i,wrapS:m.CLAMP_TO_EDGE,wrapT:m.CLAMP_TO_EDGE,generateMipmaps:!0,flipY:!1}),p=new ie(m,{vertex:pe,fragment:de,uniforms:{uPano:{value:a},uOpacity:{value:0}},transparent:!0,depthTest:!1,depthWrite:!1}),l=new ae(m,{geometry:u,program:p});return{mesh:l,setOpacity(s){p.uniforms.uOpacity.value=Math.max(0,Math.min(1,s))},setImage(s){a.image=s,a.needsUpdate=!0},dispose(){l.setParent(null),u.remove(),a.texture&&m.deleteTexture(a.texture),p.remove()}}}var re=.15;async function ne(m,i,t,o={}){let f=o.fadeMs??400,u=i?.initialBearingDeg??0,a=Math.max(-O,Math.min(O,i?.initialPitchDeg??0)),p=K,l=!1,s=new AbortController,b=()=>s.abort();o.signal?.addEventListener("abort",b,{once:!0});let L=()=>{},M=[t.camera.position.x,t.camera.position.y,t.camera.position.z];if(!i&&t.cameraOriginWorld&&t.camera.position.set(t.cameraOriginWorld[0],t.cameraOriginWorld[1],t.cameraOriginWorld[2]),!i&&t.focalWorld){let e=t.camera.position,n=t.focalWorld[0]-e.x,E=t.focalWorld[1]-e.y,w=t.focalWorld[2]-e.z,P=Math.hypot(n,w);P>.001&&(u=Math.atan2(n,-w)*180/Math.PI,a=Math.max(-O,Math.min(O,Math.atan2(E,P)*180/Math.PI)))}let c=null;if(i){let e=t.gl.getParameter(t.gl.MAX_TEXTURE_SIZE),n=Y(i,N(e)),E;try{let w=i.resolveUrl?await i.resolveUrl(n.initialUrl):n.initialUrl;if(!w)throw new Error("panorama_asset_unavailable");E=await X(w,s.signal)}catch{return o.signal?.removeEventListener("abort",b),null}try{c=te(t.gl,E)}catch{return s.abort(),o.signal?.removeEventListener("abort",b),null}c.mesh.renderOrder=999,c.mesh.setParent(t.scene),n.upgradeUrl&&(L=j(()=>{(i.resolveUrl?i.resolveUrl(n.upgradeUrl):Promise.resolve(n.upgradeUrl)).then(P=>!P||s.signal.aborted?null:X(P,s.signal)).then(P=>{P&&(l||s.signal.aborted||(c?.setImage(P),t.requestRender()))}).catch(()=>{})}))}let S=t.camera.fov;t.camera.perspective({fov:p,aspect:t.camera.aspect});let g=t.camera.quaternion.slice(),y=()=>{let e=t.camera.position;c?.mesh.position.set(e.x,e.y,e.z);let[n,E,w]=ee(u,a);t.camera.lookAt([e.x+n,e.y+E,e.z+w]),t.requestRender()};y();let r=document.createElement("div"),x=document.activeElement instanceof HTMLElement?document.activeElement:null;r.setAttribute("role","dialog"),r.setAttribute("aria-modal","true"),r.setAttribute("aria-label",o.seatLabel?`View from ${o.seatLabel}`:"View from seat"),r.tabIndex=-1,Object.assign(r.style,{position:"absolute",inset:"0",zIndex:"10",cursor:"grab",touchAction:"none"});let h=document.createElement("button");if(h.type="button",h.setAttribute("aria-label","Close"),h.textContent="\u2715",Object.assign(h.style,{position:"absolute",top:"12px",right:"12px",zIndex:"2",width:"44px",height:"44px",borderRadius:"999px",cursor:"pointer",border:"1px solid rgba(255,255,255,0.25)",background:"rgba(8,12,18,0.6)",color:"#e6edf3",fontSize:"15px",lineHeight:"1"}),r.appendChild(h),o.disclosure){let e=document.createElement("div");e.textContent=`${o.disclosurePrefix??"360\xB0 panorama"} \xB7 ${o.disclosure}`,Object.assign(e.style,{position:"absolute",top:"calc(12px + var(--sl-3d-top-inset, 0px))",left:"12px",zIndex:"2",maxWidth:"calc(100% - 88px)",padding:"8px 11px",borderRadius:"999px",overflow:"hidden",color:"#dce6f8",background:"rgba(8,12,18,0.68)",font:"600 11px/1.2 ui-sans-serif, system-ui, sans-serif",textOverflow:"ellipsis",whiteSpace:"nowrap",pointerEvents:"none",backdropFilter:"blur(6px)"}),r.appendChild(e)}let _=document.createElement("div");_.textContent=Z(o.lookAroundHint),Object.assign(_.style,{position:"absolute",bottom:"12px",left:"0",right:"0",textAlign:"center",color:"rgba(230,237,243,0.7)",font:"12px ui-sans-serif, system-ui, sans-serif",pointerEvents:"none"}),r.appendChild(_),m.appendChild(r),h.focus({preventScroll:!0});let D=!1,I=0,H=0,V=0,A=new Map,R=()=>{let[e,n]=[...A.values()];return e&&n?Math.hypot(e.x-n.x,e.y-n.y):0},v=e=>{let n=Q(e);n!==p&&(p=n,t.camera.perspective({fov:p,aspect:t.camera.aspect}),y())},B=e=>{e.target!==h&&(A.set(e.pointerId,{x:e.clientX,y:e.clientY}),D=A.size===1,I=e.clientX,H=e.clientY,A.size===2&&(V=R()),r.setPointerCapture?.(e.pointerId),r.style.cursor="grabbing")},k=e=>{if(A.has(e.pointerId)){if(A.set(e.pointerId,{x:e.clientX,y:e.clientY}),A.size>=2){let n=R();V>0&&n>0&&v(p*(V/n)),V=n,D=!1;return}D&&(u+=(e.clientX-I)*re,a=Math.max(-O,Math.min(O,a+(e.clientY-H)*re)),I=e.clientX,H=e.clientY,y())}},d=e=>{A.delete(e.pointerId),V=A.size===2?R():0;let n=A.values().next().value;D=A.size===1,n?(I=n.x,H=n.y):r.style.cursor="grab";try{r.releasePointerCapture?.(e.pointerId)}catch{}},q=e=>{e.preventDefault(),v(p+e.deltaY*.04)};r.addEventListener("pointerdown",B),r.addEventListener("pointermove",k),r.addEventListener("pointerup",d),r.addEventListener("pointercancel",d),r.addEventListener("wheel",q,{passive:!1});let z=e=>{if(!l){if(e.key==="Tab"){e.preventDefault(),h.focus({preventScroll:!0});return}if(e.key==="Escape"){e.stopPropagation(),F.close();return}if(e.key==="ArrowLeft"||e.key==="ArrowRight")u+=e.key==="ArrowLeft"?-4:4;else if(e.key==="ArrowUp"||e.key==="ArrowDown")a=Math.max(-O,Math.min(O,a+(e.key==="ArrowUp"?4:-4)));else if(e.key==="+"||e.key==="="){v(p-5),e.preventDefault();return}else if(e.key==="-"){v(p+5),e.preventDefault();return}else return;e.preventDefault(),y()}};window.addEventListener("keydown",z);let C=0,G=(e,n)=>{if(!c){n?.();return}let E=e===1?0:1,w=performance.now(),P=()=>{if(l)return;let U=f<=0?1:Math.min(1,(performance.now()-w)/f);c?.setOpacity(E+(e-E)*U),t.requestRender(),U<1?C=requestAnimationFrame(P):n?.()};C=requestAnimationFrame(P)};G(1);let T=()=>{l||(l=!0,L(),s.abort(),o.signal?.removeEventListener("abort",b),cancelAnimationFrame(C),r.removeEventListener("pointerdown",B),r.removeEventListener("pointermove",k),r.removeEventListener("pointerup",d),r.removeEventListener("pointercancel",d),r.removeEventListener("wheel",q),window.removeEventListener("keydown",z),r.remove(),x?.isConnected&&x.focus({preventScroll:!0}),c?.dispose(),t.camera.position.set(M[0],M[1],M[2]),t.camera.perspective({fov:S,aspect:t.camera.aspect}),t.camera.quaternion.set(g[0],g[1],g[2],g[3]),t.requestRender())},F={close(){if(l)return;let e=()=>{T(),o.onClose?.()};cancelAnimationFrame(C),G(0,e)},dispose:T};return h.addEventListener("click",()=>F.close()),F}function Ae(m){let{container:i,model:t,opts:o,analytics:f,orbit:u,loop:a,seatsById:p,ensureSeatView:l,resolvedSeatViewPose:s,gpu:b,gl:L,isContextLost:M,isDisposed:c,flightGen:S,setPanorama:g,getLoadAbort:y,setLoadAbort:r,setPanoramaSphereVisible:x,setFrozen:h,raisePanoramaLayer:_,restorePanoramaLayer:D,getOverviewChip:I,labelOverlay:H,reducedMotion:V,removeArriveChip:A,showArriveChip:R}=m;return async(v,B,k)=>{y()?.abort();let d=new AbortController;r(d);let q=t.seats.idToIndex.get(v);if(q===void 0){u.syncFromCamera();return}let z=p.get(v)?.label??v,C=s(v,q),G=l(v);if(!G){d.abort(),y()===d&&r(null),u.syncFromCamera();return}h(!0),a.stop();let T;try{T=await G}catch{if(y()===d&&r(null),f.panoramaFailed(v,"source"),!c()&&k===S()){h(!1),u.resumeAfterFlight(C.focal),a.requestRender();let W=R(v,k,!0);requestAnimationFrame(()=>W?.querySelector("[data-panorama-trigger]")?.focus())}return}if(c()||k!==S()){d.abort(),y()===d&&r(null);return}A();let F=I(),e=()=>{d.abort(),y()===d&&r(null),g(null),x(!1),D(),F.style.display="",H.setVisible(!o.arriveAtSeatEye),h(!1),f.panoramaClosed(),u.resumeAfterFlight(C.focal),a.requestRender();let W=R(v,S());requestAnimationFrame(()=>W?.querySelector("[data-panorama-trigger]")?.focus())},n=T.generated===!0,E=$(T);_(),x(!n),F.style.display="none";let w=V()?0:B,P=b(),U=P&&!M()?await ne(i,n?null:T,{gl:L,scene:P.main,camera:u.camera,requestRender:()=>a.requestRender(),cameraOriginWorld:n?C.eye:void 0,focalWorld:C.focal},{fadeMs:w,seatLabel:z,disclosure:E,disclosurePrefix:n?"Live 3D view":"360\xB0 panorama",lookAroundHint:o.lookAroundHint,onClose:e,signal:d.signal}):null;if(c()||k!==S()){d.abort(),x(!1),y()===d&&r(null),U?.dispose(),F.style.display="",D();return}if(U)u.syncFromCamera(),H.setVisible(!1),h(!1),a.requestRender(),g(U);else if(n){D(),F.style.display="",h(!1),u.resumeAfterFlight(C.focal),a.requestRender(),g(null),x(!1),f.panoramaFailed(v,"mount");let W=R(v,S(),!0);requestAnimationFrame(()=>W?.querySelector("[data-panorama-trigger]")?.focus()),y()===d&&r(null);return}else x(!1),f.panoramaFallback(v),g(J(i,T,{fadeMs:w,seatLabel:z,disclosure:E,onClose:e,signal:d.signal,lookAroundHint:o.lookAroundHint}));f.panoramaOpened()}}export{Ae as createOpenPanorama};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-
|
|
1
|
+
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-DWx32xXH.cjs';
|
|
2
2
|
|
|
3
3
|
interface ExpandedSeat {
|
|
4
4
|
/** Stable id: `${rowId}:${index}` */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-
|
|
1
|
+
import { P as Point, A as AccessibilityType, b as SeatCommercialAttributes, c as SeatViewMetadata, d as ResolvedSeatConfidenceEvidence, L as LabelStyle, e as SeatGlyphKind, C as ChartDoc, F as FloorLabelStyle } from './types-DWx32xXH.js';
|
|
2
2
|
|
|
3
3
|
interface ExpandedSeat {
|
|
4
4
|
/** Stable id: `${rowId}:${index}` */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, j as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, k as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, l as Floor, i as SectionObject, m as RectTableSeatCounts } from './types-
|
|
2
|
-
import { S as SegmentedRowPlacement } from './segmentedRowModel-
|
|
3
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, j as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, k as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, l as Floor, i as SectionObject, m as RectTableSeatCounts } from './types-DWx32xXH.js';
|
|
2
|
+
import { S as SegmentedRowPlacement } from './segmentedRowModel-I8eYUQft.js';
|
|
3
|
+
import { E as ExpandedSeat } from './renderer-njHDbIqI.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The buyer's "All floors" view: one venue, read bottom to top.
|
|
@@ -89,22 +89,29 @@ declare function layoutCombinedFloorPlan(doc: ChartDoc): ChartDoc;
|
|
|
89
89
|
*/
|
|
90
90
|
declare function mainFloorId(doc: ChartDoc): string | null;
|
|
91
91
|
/**
|
|
92
|
-
* The narrowest surface the
|
|
92
|
+
* The narrowest surface the picker used to open the whole stack on.
|
|
93
93
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
94
|
+
* @deprecated No longer used: every surface opens a multi-floor venue on all
|
|
95
|
+
* floors (see {@link initialFloorMode}). Kept, at its old value, because it is
|
|
96
|
+
* part of the published `@seatlayer/core` API and removing it would break an
|
|
97
|
+
* integrator that imported it. Remove in the next breaking release.
|
|
98
98
|
*/
|
|
99
99
|
declare const FLOOR_STACK_MIN_SURFACE_PX = 640;
|
|
100
100
|
/**
|
|
101
|
-
* What a freshly-rendered chart should show: the whole
|
|
102
|
-
*
|
|
101
|
+
* What a freshly-rendered chart should show: the whole venue, or nothing to
|
|
102
|
+
* decide (single-floor venue).
|
|
103
103
|
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
104
|
+
* Every surface opens on ALL floors (owner, 2026-09-24: "default it must load
|
|
105
|
+
* all floors"). A phone used to open on the main floor only, which hid the
|
|
106
|
+
* other levels behind a dropdown the buyer had no reason to open. The stack
|
|
107
|
+
* is vertical, so a portrait phone holds it well; the floor chips still take
|
|
108
|
+
* the buyer into one level.
|
|
109
|
+
*
|
|
110
|
+
* Returned as `'all'` or `null`, so the caller is one branch and the RULE
|
|
111
|
+
* lives here with the projection it governs. `surfaceWidthPx` is kept for
|
|
112
|
+
* callers; the rule no longer depends on it.
|
|
106
113
|
*/
|
|
107
|
-
declare function initialFloorMode(doc: ChartDoc,
|
|
114
|
+
declare function initialFloorMode(doc: ChartDoc, _surfaceWidthPx?: number): 'all' | string | null;
|
|
108
115
|
|
|
109
116
|
/**
|
|
110
117
|
* Pure geometry helpers — no Konva, no DOM. Turns the parametric chart
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, j as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, k as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, l as Floor, i as SectionObject, m as RectTableSeatCounts } from './types-
|
|
2
|
-
import { S as SegmentedRowPlacement } from './segmentedRowModel-
|
|
3
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { F as FloorLabelStyle, P as Point, C as ChartDoc, A as AccessibilityType, j as SeatOverride, R as RowObject, e as SeatGlyphKind, c as SeatViewMetadata, L as LabelStyle, k as RectTableSide, a as ChartObject, B as BoothObject, T as TableObject, l as Floor, i as SectionObject, m as RectTableSeatCounts } from './types-DWx32xXH.cjs';
|
|
2
|
+
import { S as SegmentedRowPlacement } from './segmentedRowModel-CDvvJJ4-.cjs';
|
|
3
|
+
import { E as ExpandedSeat } from './renderer-Ccv8ZDZS.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* The buyer's "All floors" view: one venue, read bottom to top.
|
|
@@ -89,22 +89,29 @@ declare function layoutCombinedFloorPlan(doc: ChartDoc): ChartDoc;
|
|
|
89
89
|
*/
|
|
90
90
|
declare function mainFloorId(doc: ChartDoc): string | null;
|
|
91
91
|
/**
|
|
92
|
-
* The narrowest surface the
|
|
92
|
+
* The narrowest surface the picker used to open the whole stack on.
|
|
93
93
|
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
94
|
+
* @deprecated No longer used: every surface opens a multi-floor venue on all
|
|
95
|
+
* floors (see {@link initialFloorMode}). Kept, at its old value, because it is
|
|
96
|
+
* part of the published `@seatlayer/core` API and removing it would break an
|
|
97
|
+
* integrator that imported it. Remove in the next breaking release.
|
|
98
98
|
*/
|
|
99
99
|
declare const FLOOR_STACK_MIN_SURFACE_PX = 640;
|
|
100
100
|
/**
|
|
101
|
-
* What a freshly-rendered chart should show: the whole
|
|
102
|
-
*
|
|
101
|
+
* What a freshly-rendered chart should show: the whole venue, or nothing to
|
|
102
|
+
* decide (single-floor venue).
|
|
103
103
|
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
104
|
+
* Every surface opens on ALL floors (owner, 2026-09-24: "default it must load
|
|
105
|
+
* all floors"). A phone used to open on the main floor only, which hid the
|
|
106
|
+
* other levels behind a dropdown the buyer had no reason to open. The stack
|
|
107
|
+
* is vertical, so a portrait phone holds it well; the floor chips still take
|
|
108
|
+
* the buyer into one level.
|
|
109
|
+
*
|
|
110
|
+
* Returned as `'all'` or `null`, so the caller is one branch and the RULE
|
|
111
|
+
* lives here with the projection it governs. `surfaceWidthPx` is kept for
|
|
112
|
+
* callers; the rule no longer depends on it.
|
|
106
113
|
*/
|
|
107
|
-
declare function initialFloorMode(doc: ChartDoc,
|
|
114
|
+
declare function initialFloorMode(doc: ChartDoc, _surfaceWidthPx?: number): 'all' | string | null;
|
|
108
115
|
|
|
109
116
|
/**
|
|
110
117
|
* Pure geometry helpers — no Konva, no DOM. Turns the parametric chart
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, G as GAAreaObject, v as GAInventorySegment, w as CategoryTier } from './types-
|
|
2
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { C as ChartDoc, G as GAAreaObject, v as GAInventorySegment, w as CategoryTier } from './types-DWx32xXH.cjs';
|
|
2
|
+
import { E as ExpandedSeat } from './renderer-Ccv8ZDZS.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* General-admission unit labels, kept free of imports so a buyer surface can
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as ChartDoc, G as GAAreaObject, v as GAInventorySegment, w as CategoryTier } from './types-
|
|
2
|
-
import { E as ExpandedSeat } from './renderer-
|
|
1
|
+
import { C as ChartDoc, G as GAAreaObject, v as GAInventorySegment, w as CategoryTier } from './types-DWx32xXH.js';
|
|
2
|
+
import { E as ExpandedSeat } from './renderer-njHDbIqI.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* General-admission unit labels, kept free of imports so a buyer surface can
|
|
@@ -9,7 +9,16 @@ interface StageLabelStyle {
|
|
|
9
9
|
bold?: boolean;
|
|
10
10
|
italic?: boolean;
|
|
11
11
|
underline?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Which way the caption reads. Absent means `horizontal`: the caption the
|
|
14
|
+
* organizer sees in the Designer is the caption the buyer gets (owner,
|
|
15
|
+
* 2026-09-24 — a tall side stage had silently turned vertical in the picker
|
|
16
|
+
* only). `vertical` reads top to bottom; `auto` follows the stage's long
|
|
17
|
+
* side, the 2026-09-07 side-stage rule, now opt-in.
|
|
18
|
+
*/
|
|
19
|
+
direction?: StageLabelDirection;
|
|
12
20
|
}
|
|
21
|
+
type StageLabelDirection = 'horizontal' | 'vertical' | 'auto';
|
|
13
22
|
/** Stages are large focal objects and need the same useful size range as Text. */
|
|
14
23
|
declare const STAGE_LABEL_STYLE_MAX_SIZE = 72;
|
|
15
24
|
|
|
@@ -1972,4 +1981,4 @@ interface ChartDoc {
|
|
|
1972
1981
|
derivedRestrictedView?: boolean;
|
|
1973
1982
|
}
|
|
1974
1983
|
|
|
1975
|
-
export { type ReferenceDirectLandmarkCandidate as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type AuthoringObjectState as D, type ChartDeliveryPerformance as E, type FloorLabelStyle as F, type GAAreaObject as G, type ChartLayoutConstraint as H, type ChartTheme as I, type ConfidenceEvidenceScope as J, type DecorImageObject as K, type LabelStyle as L, LABEL_STYLE_MAX_SIZE as M, LABEL_STYLE_MIN_SIZE as N, type LabelPresentation as O, type Point as P, type ObjectEditorState as Q, type RowObject as R, type SeatCommercialMark as S, type TableObject as T, type Physical3dEvidence as U, type RadialClearanceLayoutConstraint as V, type ReferenceAccessibilitySource as W, type ReferenceCalibration as X, type ReferenceCategorySource as Y, type ReferenceDerivedScale as Z, type ReferenceDirectAnnotationSource as _, type ChartObject as a, type ReferenceDirectLandmarkDisposition as a0, type ReferenceDirectLandmarkRole as a1, type ReferenceDirectLandmarkSource as a2, type ReferenceDirectSeatGroup as a3, type ReferenceDirectSeatImportSource as a4, type ReferenceDirectSeatPlan as a5, type ReferenceDirectStageSource as a6, type ReferenceEnrichmentStatus as a7, type ReferenceExtractEmptyReason as a8, type ReferenceExtractEnrichment as a9, type
|
|
1984
|
+
export { type ReferenceDirectLandmarkCandidate as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type AuthoringObjectState as D, type ChartDeliveryPerformance as E, type FloorLabelStyle as F, type GAAreaObject as G, type ChartLayoutConstraint as H, type ChartTheme as I, type ConfidenceEvidenceScope as J, type DecorImageObject as K, type LabelStyle as L, LABEL_STYLE_MAX_SIZE as M, LABEL_STYLE_MIN_SIZE as N, type LabelPresentation as O, type Point as P, type ObjectEditorState as Q, type RowObject as R, type SeatCommercialMark as S, type TableObject as T, type Physical3dEvidence as U, type RadialClearanceLayoutConstraint as V, type ReferenceAccessibilitySource as W, type ReferenceCalibration as X, type ReferenceCategorySource as Y, type ReferenceDerivedScale as Z, type ReferenceDirectAnnotationSource as _, type ChartObject as a, type ReferenceDirectLandmarkDisposition as a0, type ReferenceDirectLandmarkRole as a1, type ReferenceDirectLandmarkSource as a2, type ReferenceDirectSeatGroup as a3, type ReferenceDirectSeatImportSource as a4, type ReferenceDirectSeatPlan as a5, type ReferenceDirectStageSource as a6, type ReferenceEnrichmentStatus as a7, type ReferenceExtractEmptyReason as a8, type ReferenceExtractEnrichment as a9, type StageLabelStyle as aA, type TextAlignment as aB, type TextBackground as aC, type TicketTierApplicability as aD, type TicketTierEvidence as aE, type TicketTierRestriction as aF, type Venue3DMaterialPalette as aG, type VenueSurveyRegistrationEvidence as aH, type ZoneDef as aI, accessibilityMeta as aJ, accessibilityRingColor as aK, layerOf as aL, seatCommercialMeta as aM, type ReferenceExtractInput as aa, type ReferenceExtractProposal as ab, type ReferenceExtractRegionSeats as ac, type ReferenceInventoryExclusionSource as ad, type ReferenceInventorySource as ae, type ReferenceMatchReport as af, type ReferenceScanProposal as ag, type ReferenceScanRowProposal as ah, type ReferenceScanSectionProposal as ai, type ReferenceSeatSeed as aj, type ReferenceSectionTraceBatchInput as ak, type ReferenceSectionTraceBatchProposal as al, type ReferenceSectionTraceInput as am, type ReferenceSectionTraceProposal as an, SEAT_COMMERCIAL_MARKS as ao, STAGE_LABEL_STYLE_MAX_SIZE as ap, SURROUNDINGS_SHAPE_ROLES as aq, type SeatCommercialMeta as ar, type SeatConfidenceCoverage as as, type SeatConfidenceEvidence as at, type SeatConfidenceModelLevel as au, type SeatConfidenceModeledTarget as av, type SeatConfidenceRealityLevel as aw, type SeatViewVariant as ax, type SelectionLayer as ay, type StageLabelDirection as az, type SeatCommercialAttributes as b, type SeatViewMetadata as c, type ResolvedSeatConfidenceEvidence as d, type SeatGlyphKind as e, type SeatViewCoverage as f, type SectionOutlinePath as g, type SectionPathSegment as h, type SectionObject as i, type SeatOverride as j, type RectTableSide as k, type Floor as l, type RectTableSeatCounts as m, type ChartReferenceImage as n, type Category as o, type ShapeLineCap as p, type ShapeLineEnding as q, type ShapeLineJoin as r, type ShapeObject as s, type CubicPath as t, type TextObject as u, type GAInventorySegment as v, type CategoryTier as w, ACCESSIBILITY_RING_COLOR as x, ACCESSIBILITY_TYPES as y, type AccessibilityMeta as z };
|
|
@@ -9,7 +9,16 @@ interface StageLabelStyle {
|
|
|
9
9
|
bold?: boolean;
|
|
10
10
|
italic?: boolean;
|
|
11
11
|
underline?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Which way the caption reads. Absent means `horizontal`: the caption the
|
|
14
|
+
* organizer sees in the Designer is the caption the buyer gets (owner,
|
|
15
|
+
* 2026-09-24 — a tall side stage had silently turned vertical in the picker
|
|
16
|
+
* only). `vertical` reads top to bottom; `auto` follows the stage's long
|
|
17
|
+
* side, the 2026-09-07 side-stage rule, now opt-in.
|
|
18
|
+
*/
|
|
19
|
+
direction?: StageLabelDirection;
|
|
12
20
|
}
|
|
21
|
+
type StageLabelDirection = 'horizontal' | 'vertical' | 'auto';
|
|
13
22
|
/** Stages are large focal objects and need the same useful size range as Text. */
|
|
14
23
|
declare const STAGE_LABEL_STYLE_MAX_SIZE = 72;
|
|
15
24
|
|
|
@@ -1972,4 +1981,4 @@ interface ChartDoc {
|
|
|
1972
1981
|
derivedRestrictedView?: boolean;
|
|
1973
1982
|
}
|
|
1974
1983
|
|
|
1975
|
-
export { type ReferenceDirectLandmarkCandidate as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type AuthoringObjectState as D, type ChartDeliveryPerformance as E, type FloorLabelStyle as F, type GAAreaObject as G, type ChartLayoutConstraint as H, type ChartTheme as I, type ConfidenceEvidenceScope as J, type DecorImageObject as K, type LabelStyle as L, LABEL_STYLE_MAX_SIZE as M, LABEL_STYLE_MIN_SIZE as N, type LabelPresentation as O, type Point as P, type ObjectEditorState as Q, type RowObject as R, type SeatCommercialMark as S, type TableObject as T, type Physical3dEvidence as U, type RadialClearanceLayoutConstraint as V, type ReferenceAccessibilitySource as W, type ReferenceCalibration as X, type ReferenceCategorySource as Y, type ReferenceDerivedScale as Z, type ReferenceDirectAnnotationSource as _, type ChartObject as a, type ReferenceDirectLandmarkDisposition as a0, type ReferenceDirectLandmarkRole as a1, type ReferenceDirectLandmarkSource as a2, type ReferenceDirectSeatGroup as a3, type ReferenceDirectSeatImportSource as a4, type ReferenceDirectSeatPlan as a5, type ReferenceDirectStageSource as a6, type ReferenceEnrichmentStatus as a7, type ReferenceExtractEmptyReason as a8, type ReferenceExtractEnrichment as a9, type
|
|
1984
|
+
export { type ReferenceDirectLandmarkCandidate as $, type AccessibilityType as A, type BoothObject as B, type ChartDoc as C, type AuthoringObjectState as D, type ChartDeliveryPerformance as E, type FloorLabelStyle as F, type GAAreaObject as G, type ChartLayoutConstraint as H, type ChartTheme as I, type ConfidenceEvidenceScope as J, type DecorImageObject as K, type LabelStyle as L, LABEL_STYLE_MAX_SIZE as M, LABEL_STYLE_MIN_SIZE as N, type LabelPresentation as O, type Point as P, type ObjectEditorState as Q, type RowObject as R, type SeatCommercialMark as S, type TableObject as T, type Physical3dEvidence as U, type RadialClearanceLayoutConstraint as V, type ReferenceAccessibilitySource as W, type ReferenceCalibration as X, type ReferenceCategorySource as Y, type ReferenceDerivedScale as Z, type ReferenceDirectAnnotationSource as _, type ChartObject as a, type ReferenceDirectLandmarkDisposition as a0, type ReferenceDirectLandmarkRole as a1, type ReferenceDirectLandmarkSource as a2, type ReferenceDirectSeatGroup as a3, type ReferenceDirectSeatImportSource as a4, type ReferenceDirectSeatPlan as a5, type ReferenceDirectStageSource as a6, type ReferenceEnrichmentStatus as a7, type ReferenceExtractEmptyReason as a8, type ReferenceExtractEnrichment as a9, type StageLabelStyle as aA, type TextAlignment as aB, type TextBackground as aC, type TicketTierApplicability as aD, type TicketTierEvidence as aE, type TicketTierRestriction as aF, type Venue3DMaterialPalette as aG, type VenueSurveyRegistrationEvidence as aH, type ZoneDef as aI, accessibilityMeta as aJ, accessibilityRingColor as aK, layerOf as aL, seatCommercialMeta as aM, type ReferenceExtractInput as aa, type ReferenceExtractProposal as ab, type ReferenceExtractRegionSeats as ac, type ReferenceInventoryExclusionSource as ad, type ReferenceInventorySource as ae, type ReferenceMatchReport as af, type ReferenceScanProposal as ag, type ReferenceScanRowProposal as ah, type ReferenceScanSectionProposal as ai, type ReferenceSeatSeed as aj, type ReferenceSectionTraceBatchInput as ak, type ReferenceSectionTraceBatchProposal as al, type ReferenceSectionTraceInput as am, type ReferenceSectionTraceProposal as an, SEAT_COMMERCIAL_MARKS as ao, STAGE_LABEL_STYLE_MAX_SIZE as ap, SURROUNDINGS_SHAPE_ROLES as aq, type SeatCommercialMeta as ar, type SeatConfidenceCoverage as as, type SeatConfidenceEvidence as at, type SeatConfidenceModelLevel as au, type SeatConfidenceModeledTarget as av, type SeatConfidenceRealityLevel as aw, type SeatViewVariant as ax, type SelectionLayer as ay, type StageLabelDirection as az, type SeatCommercialAttributes as b, type SeatViewMetadata as c, type ResolvedSeatConfidenceEvidence as d, type SeatGlyphKind as e, type SeatViewCoverage as f, type SectionOutlinePath as g, type SectionPathSegment as h, type SectionObject as i, type SeatOverride as j, type RectTableSide as k, type Floor as l, type RectTableSeatCounts as m, type ChartReferenceImage as n, type Category as o, type ShapeLineCap as p, type ShapeLineEnding as q, type ShapeLineJoin as r, type ShapeObject as s, type CubicPath as t, type TextObject as u, type GAInventorySegment as v, type CategoryTier as w, ACCESSIBILITY_RING_COLOR as x, ACCESSIBILITY_TYPES as y, type AccessibilityMeta as z };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var W=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var
|
|
1
|
+
"use strict";var W=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var ue=Object.prototype.hasOwnProperty;var de=(e,r)=>{for(var o in r)W(e,o,{get:r[o],enumerable:!0})},ce=(e,r,o,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of le(r))!ue.call(e,s)&&s!==o&&W(e,s,{get:()=>r[s],enumerable:!(a=se(r,s))||a.enumerable});return e};var me=e=>ce(W({},"__esModule",{value:!0}),e);var we={};de(we,{MAX_PITCH_DEG:()=>Z,VFOV_DEG:()=>O,bearingToOffsetPx:()=>ee,clampPanoramaFov:()=>Q,clampPitchPx:()=>E,horizonOffsetPy:()=>z,isAuthoredSeatView:()=>be,lookAroundHintText:()=>re,mountPanorama:()=>ye,seatViewDisclosure:()=>ve,windowedBgHeight:()=>te});module.exports=me(we);function pe(e,r){return!Number.isFinite(e)||!Number.isFinite(r)||e<=0||r<=0?0:Math.ceil(e*r*4*(4/3))}function ge(e){return(e!==void 0&&e<=2?32:e!==void 0&&e>=8?192:96)*1024*1024}function j(e){let r=typeof navigator>"u"?void 0:navigator;return{saveData:r?.connection?.saveData===!0,maxTextureSize:e,maxDecodedBytes:ge(r?.deviceMemory)}}function q(e,r={}){let o=e.previewUrl?.trim();if(!o||o===e.url)return{initialUrl:e.url,initialWidth:e.sourceWidth,initialHeight:e.sourceHeight,reason:"full-only"};let a={initialUrl:o,initialWidth:e.previewWidth,initialHeight:e.previewHeight};if(r.saveData)return{...a,reason:"save-data"};let s=[...e.variants??[],...e.sourceWidth!==void 0&&e.sourceHeight!==void 0?[{url:e.url,width:e.sourceWidth,height:e.sourceHeight}]:[]].filter(n=>n.url.trim()&&n.url!==o&&Number.isFinite(n.width)&&n.width>0&&Number.isFinite(n.height)&&n.height>0).sort((n,g)=>n.width*n.height-g.width*g.height);if(!s.length)return{...a,upgradeUrl:e.url,reason:"progressive"};let d=s.filter(n=>r.maxTextureSize===void 0||Math.max(n.width,n.height)<=r.maxTextureSize);if(!d.length)return{...a,reason:"texture-limit"};let c=d.filter(n=>r.maxDecodedBytes===void 0||pe(n.width,n.height)<=r.maxDecodedBytes);if(!c.length)return{...a,reason:"memory-limit"};let p=c[c.length-1];return{...a,upgradeUrl:p.url,reason:"progressive"}}function Y(){return new DOMException("Panorama image load aborted","AbortError")}function G(e,r){return new Promise((o,a)=>{if(r?.aborted){a(Y());return}let s=new Image;s.crossOrigin="anonymous";let d=!1,c=()=>{s.onload=null,s.onerror=null,r?.removeEventListener("abort",n)},p=g=>{d||(d=!0,c(),g?a(g):o(s))},n=()=>{s.src="",p(Y())};s.onload=()=>{(typeof s.decode=="function"?s.decode():Promise.resolve()).then(()=>p(),()=>p())},s.onerror=()=>p(new Error("panorama_image_failed")),r?.addEventListener("abort",n,{once:!0}),s.src=e})}function J(e){let r=globalThis;if(r.requestIdleCallback){let a=r.requestIdleCallback(e,{timeout:1200});return()=>r.cancelIdleCallback?.(a)}let o=globalThis.setTimeout(e,32);return()=>globalThis.clearTimeout(o)}function ve(e){if(e.generated||e.mediaKind==="model")return"built from the chart";let r=e.mediaKind==="demo-render",o=r?e.coverage==="exact-seat"?"AI-generated exact-seat demo":e.coverage==="row-representative"?"AI-generated representative row demo":e.coverage==="section-representative"?"AI-generated representative section demo":e.coverage==="floor-representative"?"AI-generated representative floor demo":"AI-generated illustrative venue demo":e.coverage==="exact-seat"?"Exact seat photo":e.coverage==="row-representative"?"Representative row view":e.coverage==="section-representative"?"Representative section view":e.coverage==="floor-representative"?"Representative floor view":e.coverage==="venue-representative"?"Representative venue view":"Venue photo",a=e.capturedAt&&/^\d{4}/.test(e.capturedAt)?e.capturedAt.slice(0,4):"";return[o,a?`${r?"created":"captured"} ${a}`:"",e.sourceLabel??""].filter(Boolean).join(" \xB7 ")}function be(e){if(e.generated||e.mediaKind==="model"||e.mediaKind==="demo-render")return!1;let r=e.sourceLabel?.trim()??"";return!/^(?:AI[- ]generated|generated\s+(?:demo|preview))/i.test(r)}var O=70,fe=35,he=90;function Q(e){return Math.max(fe,Math.min(he,e))}var Z=35;function ee(e,r,o){let a=(.5+e/360)*o;return r/2-a}function te(e,r=O){return e*(180/r)}function z(e,r,o){return(e-r)/2+E(o,r)}function E(e,r){let o=Z/180*r;return Math.max(-o,Math.min(o,e))}function xe(){if(typeof window>"u")return!1;try{if(typeof window.matchMedia=="function"&&window.matchMedia("(pointer: coarse)").matches)return!0}catch{}return"ontouchstart"in window}function re(e){return e||(xe()?"Drag to look \xB7 pinch to zoom \xB7 tap \u2715 to close":"Drag to look \xB7 pinch or scroll to zoom \xB7 Esc to close")}function ye(e,r,o={}){let a=o.fadeMs??400,s=r.initialBearingDeg??0,d=q(r,j()),c=new AbortController,p=()=>c.abort();o.signal?.addEventListener("abort",p,{once:!0});let n=document.createElement("div"),g=document.activeElement instanceof HTMLElement?document.activeElement:null;n.setAttribute("role","dialog"),n.setAttribute("aria-modal","true"),n.setAttribute("aria-label",o.seatLabel?`View from ${o.seatLabel}`:"View from seat"),n.tabIndex=-1,Object.assign(n.style,{position:"absolute",inset:"0",zIndex:"10",opacity:"0",transition:`opacity ${a}ms ease`,background:"#05070c",overflow:"hidden",touchAction:"none"});let l=document.createElement("div");Object.assign(l.style,{position:"absolute",inset:"0",backgroundImage:`url("${d.initialUrl}")`,backgroundRepeat:"repeat-x",cursor:"grab"}),n.appendChild(l);let b=document.createElement("button");if(b.type="button",b.setAttribute("aria-label","Close"),b.textContent="\u2715",Object.assign(b.style,{position:"absolute",top:"12px",right:"12px",zIndex:"2",width:"44px",height:"44px",borderRadius:"999px",cursor:"pointer",border:"1px solid rgba(255,255,255,0.25)",background:"rgba(8,12,18,0.6)",color:"#e6edf3",fontSize:"15px",lineHeight:"1"}),n.appendChild(b),o.disclosure){let t=document.createElement("div");t.textContent=`${o.disclosurePrefix??"360\xB0 panorama"} \xB7 ${o.disclosure}`,Object.assign(t.style,{position:"absolute",top:"calc(12px + var(--sl-3d-top-inset, 0px))",left:"12px",zIndex:"2",maxWidth:"calc(100% - 88px)",padding:"8px 11px",borderRadius:"999px",overflow:"hidden",color:"#dce6f8",background:"rgba(8,12,18,0.68)",font:"600 11px/1.2 ui-sans-serif, system-ui, sans-serif",textOverflow:"ellipsis",whiteSpace:"nowrap",pointerEvents:"none",backdropFilter:"blur(6px)"}),n.appendChild(t)}let L=document.createElement("div");L.textContent=re(o.lookAroundHint),Object.assign(L.style,{position:"absolute",bottom:"12px",left:"0",right:"0",textAlign:"center",color:"rgba(230,237,243,0.7)",font:"12px ui-sans-serif, system-ui, sans-serif",pointerEvents:"none"}),n.appendChild(L),e.appendChild(n),b.focus({preventScroll:!0});let x=0,u=0,f=0,v=0,h=O,D=()=>{let t=n.clientHeight||1,i=n.clientWidth||1,V=y.naturalWidth||i*2,oe=y.naturalHeight||t,ie=x>0?(i/2-f)/x:0,ae=u>0?v/u:0;u=te(t,h),x=u*(V/oe),l.style.backgroundSize=`${x}px ${u}px`,F?f=i/2-ie*x:(f=ee(s,i,x),v=E((r.initialPitchDeg??0)/180*u,u),F=!0),v=E(ae*u,u),l.style.backgroundPosition=`${f}px ${z(t,u,v)}px`},F=!1,$=()=>{let t=n.clientHeight||1;v=E(v,u),l.style.backgroundPosition=`${f}px ${z(t,u,v)}px`},y=new Image;y.onload=D,y.src=d.initialUrl;let B=()=>{};d.upgradeUrl&&(B=J(()=>{(r.resolveUrl?r.resolveUrl(d.upgradeUrl):Promise.resolve(d.upgradeUrl)).then(i=>!i||c.signal.aborted?null:G(i,c.signal).then(V=>({full:V,url:i}))).then(i=>{i&&(M||c.signal.aborted||(y=i.full,l.style.backgroundImage=`url("${i.url}")`,D()))}).catch(()=>{})})),requestAnimationFrame(D);let A=!1,S=0,C=0,w=0,m=new Map,H=()=>{let[t,i]=[...m.values()];return t&&i?Math.hypot(t.x-i.x,t.y-i.y):0},k=t=>{let i=Q(t);i!==h&&(h=i,D())},R=t=>{m.set(t.pointerId,{x:t.clientX,y:t.clientY}),A=m.size===1,S=t.clientX,C=t.clientY,m.size===2&&(w=H()),l.style.cursor="grabbing";try{l.setPointerCapture?.(t.pointerId)}catch{}},X=t=>{if(m.has(t.pointerId)){if(m.set(t.pointerId,{x:t.clientX,y:t.clientY}),m.size>=2){let i=H();w>0&&i>0&&k(h*(w/i)),w=i,A=!1;return}A&&(f+=t.clientX-S,v+=t.clientY-C,S=t.clientX,C=t.clientY,$())}},I=t=>{m.delete(t.pointerId),w=m.size===2?H():0;let i=m.values().next().value;A=m.size===1,i?(S=i.x,C=i.y):l.style.cursor="grab";try{l.releasePointerCapture?.(t.pointerId)}catch{}},_=t=>{t.preventDefault(),k(h+t.deltaY*.04)};l.addEventListener("pointerdown",R),l.addEventListener("pointermove",X),l.addEventListener("pointerup",I),l.addEventListener("pointercancel",I),l.addEventListener("wheel",_,{passive:!1});let U=!1,M=!1,P=0,ne=()=>{l.removeEventListener("pointerdown",R),l.removeEventListener("pointermove",X),l.removeEventListener("pointerup",I),l.removeEventListener("pointercancel",I),l.removeEventListener("wheel",_),window.removeEventListener("keydown",K)},N=()=>{B(),c.abort(),o.signal?.removeEventListener("abort",p),P&&(window.clearTimeout(P),P=0),ne(),n.parentNode&&n.parentNode.removeChild(n),g?.isConnected&&g.focus({preventScroll:!0})},T=()=>{if(U)return;U=!0,n.style.opacity="0";let t=()=>{P=0,!M&&(N(),o.onClose?.())};P=window.setTimeout(t,a)},K=t=>{if(t.key==="Tab"){t.preventDefault(),b.focus({preventScroll:!0});return}if(t.key==="Escape"){t.stopPropagation(),T();return}if(t.key==="ArrowLeft"||t.key==="ArrowRight")f+=t.key==="ArrowLeft"?-32:32;else if(t.key==="ArrowUp"||t.key==="ArrowDown")v+=(t.key==="ArrowUp"?4:-4)*(u/180);else if(t.key==="+"||t.key==="="){k(h-5),t.preventDefault();return}else if(t.key==="-"){k(h+5),t.preventDefault();return}else return;t.preventDefault(),$()};return window.addEventListener("keydown",K),b.addEventListener("click",T),requestAnimationFrame(()=>{n.style.opacity="1"}),{close:T,dispose(){U=!0,M=!0,N()}}}0&&(module.exports={MAX_PITCH_DEG,VFOV_DEG,bearingToOffsetPx,clampPanoramaFov,clampPitchPx,horizonOffsetPy,isAuthoredSeatView,lookAroundHintText,mountPanorama,seatViewDisclosure,windowedBgHeight});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i,j,k}from"../../chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j,k}from"../../chunk-FYJJSWEM.js";import"../../chunk-5BGP7S3Q.js";export{e as MAX_PITCH_DEG,c as VFOV_DEG,f as bearingToOffsetPx,d as clampPanoramaFov,i as clampPitchPx,h as horizonOffsetPy,b as isAuthoredSeatView,j as lookAroundHintText,k as mountPanorama,a as seatViewDisclosure,g as windowedBgHeight};
|