@seatlayer/core 0.85.2 → 0.86.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/{chunk-HEYENCES.js → chunk-D5M3SNMM.js} +1 -1
- package/dist/chunk-GI7ZTQ7C.js +1 -0
- package/dist/chunk-W53J4FJS.js +1 -0
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +2 -2
- package/dist/core/inventory/index.d.ts +2 -2
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.d.cts +2 -2
- package/dist/core/layout/index.d.ts +2 -2
- package/dist/core/quality/index.cjs +1 -1
- package/dist/core/quality/index.d.cts +11 -3
- package/dist/core/quality/index.d.ts +11 -3
- package/dist/core/quality/index.js +1 -1
- package/dist/core/sections/index.d.cts +1 -1
- package/dist/core/sections/index.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +66 -7
- package/dist/index.d.ts +66 -7
- package/dist/index.js +1 -1
- package/dist/{renderedQuality-CkrbA7iV.d.ts → renderedQuality-Dy7LBzNF.d.ts} +1 -1
- package/dist/{renderedQuality-DL9Nfka1.d.cts → renderedQuality-yRjbcxVe.d.cts} +1 -1
- package/dist/{renderer-D9kIJYmd.d.cts → renderer-DbDQtwIH.d.cts} +2 -0
- package/dist/{renderer-DUko-vky.d.ts → renderer-xE1rZCGy.d.ts} +2 -0
- package/dist/{tableSizing-BGl1e6Bi.d.ts → tableSizing-B3SHwhya.d.ts} +1 -1
- package/dist/{tableSizing-CJbozzMS.d.cts → tableSizing-sUnI2XGD.d.cts} +1 -1
- package/dist/{ticketRestrictions-BD5hvqtL.d.ts → ticketRestrictions-7N9PC4Q6.d.ts} +1 -1
- package/dist/{ticketRestrictions-BEkiPPYg.d.cts → ticketRestrictions-Dtybkrpp.d.cts} +1 -1
- package/dist/view3d/index.cjs +21 -21
- package/dist/view3d/index.d.cts +1 -1
- package/dist/view3d/index.d.ts +1 -1
- package/dist/view3d/index.js +19 -19
- package/package.json +1 -1
- package/dist/chunk-APMDM2YC.js +0 -1
- package/dist/chunk-FQ2MMJMH.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { P as Point, A as AccessibilityType, C as ChartDoc, R as RowObject } from '../../types-B97dNRwl.cjs';
|
|
2
|
-
import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-
|
|
2
|
+
import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-DbDQtwIH.cjs';
|
|
3
3
|
export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-B7amHjdA.cjs';
|
|
4
|
-
export { C as ClientInventoryModelVersion, a as CompanionSelectionIssue, G as GroupedTableBookingMode, b as GroupedTableInventoryUnit, c as GroupedTableProjectionError, M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, R as RestrictionChartDoc, e as RestrictionSeat, T as TicketOptionApplicabilityIssue, f as TicketSelection, g as TicketSelectionIssue, h as TicketSelectionOptions, i as TicketTierResolution, j as applicableTicketTiers, k as companionSelectionIssue, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, p as groupedTableInventory, q as growJoinedGAInventory, r as isFullChartDoc, s as isGaUnitLabel, t as resolveTicketTierForSeat, u as ticketOptionNotApplicableIssue, v as ticketSelectionIssue, w as ticketTierAppliesToSeat, x as validGAInventorySegments } from '../../ticketRestrictions-
|
|
4
|
+
export { C as ClientInventoryModelVersion, a as CompanionSelectionIssue, G as GroupedTableBookingMode, b as GroupedTableInventoryUnit, c as GroupedTableProjectionError, M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, R as RestrictionChartDoc, e as RestrictionSeat, T as TicketOptionApplicabilityIssue, f as TicketSelection, g as TicketSelectionIssue, h as TicketSelectionOptions, i as TicketTierResolution, j as applicableTicketTiers, k as companionSelectionIssue, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, p as groupedTableInventory, q as growJoinedGAInventory, r as isFullChartDoc, s as isGaUnitLabel, t as resolveTicketTierForSeat, u as ticketOptionNotApplicableIssue, v as ticketSelectionIssue, w as ticketTierAppliesToSeat, x as validGAInventorySegments } from '../../ticketRestrictions-Dtybkrpp.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Best-available seat selection — a PURE, fully unit-testable ranking function.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { P as Point, A as AccessibilityType, C as ChartDoc, R as RowObject } from '../../types-B97dNRwl.js';
|
|
2
|
-
import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-
|
|
2
|
+
import { E as ExpandedSeat, S as SeatStatus } from '../../renderer-xE1rZCGy.js';
|
|
3
3
|
export { C as CATEGORY_INVENTORY_FAMILIES, a as CategoryInventoryClone, b as CategoryInventoryConflict, c as CategoryInventoryFamily, d as CategoryInventoryFamilyUsage, e as CategoryInventoryObjectType, f as CategoryInventoryReassignment, g as CategoryInventoryRemediationChange, h as CategoryInventoryRemediationResult, i as CategoryInventoryTarget, j as describeCategoryInventoryConflict, k as effectiveSeatOwnerCategoryCounts, l as inspectCategoryInventoryConflicts, r as remediateCategoryInventoryConflicts } from '../../categoryInventory-CthzF9K9.js';
|
|
4
|
-
export { C as ClientInventoryModelVersion, a as CompanionSelectionIssue, G as GroupedTableBookingMode, b as GroupedTableInventoryUnit, c as GroupedTableProjectionError, M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, R as RestrictionChartDoc, e as RestrictionSeat, T as TicketOptionApplicabilityIssue, f as TicketSelection, g as TicketSelectionIssue, h as TicketSelectionOptions, i as TicketTierResolution, j as applicableTicketTiers, k as companionSelectionIssue, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, p as groupedTableInventory, q as growJoinedGAInventory, r as isFullChartDoc, s as isGaUnitLabel, t as resolveTicketTierForSeat, u as ticketOptionNotApplicableIssue, v as ticketSelectionIssue, w as ticketTierAppliesToSeat, x as validGAInventorySegments } from '../../ticketRestrictions-
|
|
4
|
+
export { C as ClientInventoryModelVersion, a as CompanionSelectionIssue, G as GroupedTableBookingMode, b as GroupedTableInventoryUnit, c as GroupedTableProjectionError, M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, N as NotForSaleSelectionIssue, R as RestrictionChartDoc, e as RestrictionSeat, T as TicketOptionApplicabilityIssue, f as TicketSelection, g as TicketSelectionIssue, h as TicketSelectionOptions, i as TicketTierResolution, j as applicableTicketTiers, k as companionSelectionIssue, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, p as groupedTableInventory, q as growJoinedGAInventory, r as isFullChartDoc, s as isGaUnitLabel, t as resolveTicketTierForSeat, u as ticketOptionNotApplicableIssue, v as ticketSelectionIssue, w as ticketTierAppliesToSeat, x as validGAInventorySegments } from '../../ticketRestrictions-7N9PC4Q6.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Best-available seat selection — a PURE, fully unit-testable ranking function.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as it,b as st,c as ct,d as lt,e as ut,f as pt,g as ft,h as mt,i as yt,j as dt,k as ht,l as bt}from"../../chunk-7LMW7QTP.js";import{a as xt,b as Mt,c as gt,d as wt,e as Ct,f as B,h as N}from"../../chunk-
|
|
1
|
+
import{a as it,b as st,c as ct,d as lt,e as ut,f as pt,g as ft,h as mt,i as yt,j as dt,k as ht,l as bt}from"../../chunk-7LMW7QTP.js";import{a as xt,b as Mt,c as gt,d as wt,e as Ct,f as B,h as N}from"../../chunk-D5M3SNMM.js";import"../../chunk-BT2KJXQC.js";import"../../chunk-W53J4FJS.js";import"../../chunk-TQN2VWQO.js";import"../../chunk-NJTU4QK7.js";import{a as H,b as V,c as Z,d as tt,e as et,f as ot,g as rt,h as nt,i as at}from"../../chunk-Q3U3F4YJ.js";import"../../chunk-BS37TGPX.js";import"../../chunk-4I2VWFJY.js";import{Ea as S,Ga as v,Ha as P,I as O,Ja as j,Ka as _,Pa as I,x as R}from"../../chunk-24O23MNB.js";import"../../chunk-JBOTRSMY.js";import"../../chunk-CRCGO52K.js";function g(t){return t.floors?.length?t.floors.flatMap(e=>e.objects):t.objects}function k(t){return g(t).reduce((e,r)=>r.type==="row"?e+S(r):r.type==="table"?e+j(r):r.type==="gaArea"?e+Math.max(0,Math.floor(r.capacity)):r.type==="booth"?e+1:e,0)}function Pt(t){let e={};for(let o of t.categories??[])e[o.key]=0;let r=(o,n)=>{n>0&&(e[o]=(e[o]??0)+n)};for(let o of g(t))if(o.type==="row")for(let n of v(o))r(n.categoryKey,1);else if(o.type==="table")if(o.bookAsWhole||o.variableOccupancy)r(o.categoryKey,Math.max(0,Math.round(o.seatCount)));else for(let n of _(o))r(n.categoryKey,1);else o.type==="gaArea"?r(o.categoryKey,Math.max(0,Math.floor(o.capacity))):o.type==="booth"&&r(o.categoryKey,1);return e}function z(t){if(!t.template)return null;let e=g(t),r=e.filter(u=>u.type==="row"||u.type==="table"||u.type==="gaArea");if(!r.length)return null;let n=e.filter(u=>u.type==="booth").length+r.reduce((u,f)=>u+(f.type==="table"?2:1),0),i=k(t),c=Math.max(n+1,Math.min(5e4,i*4)),l=[.5,1,1.5,2].map(u=>O(Math.round(i*u),n,c));return{family:t.template.family,display:t.template.family.replace(/-/g," ").replace(/\b\w/g,u=>u.toUpperCase()),min:n,max:c,presets:["S","M","L","XL"].map((u,f)=>({size:u,seats:l[f]}))}}function A(t){let e=v(t);return e.length?R(e):{...t.origin}}function jt(t,e){let r=z(t);if(!r)return structuredClone(t);let o=structuredClone(t),n=g(o),i=n.filter(a=>a.type==="row"||a.type==="table"||a.type==="gaArea"),c=n.filter(a=>a.type==="booth").length,l=Math.max(r.min,Math.min(r.max,Math.round(e))),u=l-c,f=i.map((a,s)=>{let m=a.type==="gaArea"?Math.max(0,Math.floor(a.capacity)):a.seatCount,x=a.type==="table"?2:1;return{object:a,index:s,current:m,minimum:x,value:x,fraction:0}}),K=f.reduce((a,s)=>a+s.minimum,0),w=Math.max(0,u-K),L=f.reduce((a,s)=>a+Math.max(1,s.current-s.minimum),0);for(let a of f){let s=w*Math.max(1,a.current-a.minimum)/L,m=Math.floor(s);a.value+=m,a.fraction=s-m}w=u-f.reduce((a,s)=>a+s.value,0),f.sort((a,s)=>s.fraction-a.fraction||a.index-s.index);for(let a=0;a<w;a++)f[a%f.length].value++;f.sort((a,s)=>a.index-s.index);for(let a of f)if(a.object.type==="row"){let s=A(a.object);a.object.seatCount=a.value;let m=A(a.object);a.object.origin.x+=s.x-m.x,a.object.origin.y+=s.y-m.y}else if(a.object.type==="table"){let s=a.object;if(s.seatCountsBySide){let m=["top","bottom","left","right"],x=P(s),F=m.reduce((p,y)=>p+x[y],0)||1,d=m.map((p,y)=>{let C=a.value*x[p]/F;return{side:p,index:y,value:Math.floor(C),fraction:C-Math.floor(C)}}),X=a.value-d.reduce((p,y)=>p+y.value,0);d.sort((p,y)=>y.fraction-p.fraction||p.index-y.index);for(let p=0;p<X;p++)d[p%d.length].value+=1;d.sort((p,y)=>p.index-y.index),s.seatCountsBySide={top:d[0].value,bottom:d[1].value,left:d[2].value,right:d[3].value},s.sides=m.filter(p=>s.seatCountsBySide[p]>0)}s.seatCount=a.value,s.overrides&&(s.overrides=s.overrides.filter(m=>m.index<a.value),s.overrides.length||delete s.overrides)}else a.object.capacity=a.value;return o.floors?.length&&(o.objects=o.floors[0].objects),o.template={family:o.template.family,targetSeats:l},o=N(o).doc,o.template={family:t.template.family,targetSeats:k(o)},o}var W=1,T=100;function J(t,e){if(!Number.isInteger(e)||e<W||e>T)return null;let r=t.rotation*Math.PI/180,o={x:Math.cos(r),y:Math.sin(r)},n={x:-o.y,y:o.x};return Array.from({length:e},(i,c)=>{let l=t.style==="intertwined"&&c%2===1?t.seatSpacing/2:0;return{type:"row",id:`__block_preview_${c}`,label:"",origin:{x:t.origin.x+n.x*c*t.rowGap+o.x*l,y:t.origin.y+n.y*c*t.rowGap+o.y*l},rotation:t.rotation,curve:t.curve,seatCount:t.seatsPerRow,seatSpacing:t.seatSpacing,categoryKey:"__preview__"}})}function G(t,e=t.rowCount){let r=J(t,e);return r?.length?I(r[r.length-1]):null}function Bt(t,e){if(!Number.isFinite(e.x)||!Number.isFinite(e.y)||t.rowGap<=0)return null;let r=G(t,1);if(!r)return null;let o=t.rotation*Math.PI/180,n={x:-Math.sin(o),y:Math.cos(o)},i=(e.x-r.x)*n.x+(e.y-r.y)*n.y,c=Math.max(W,Math.min(T,Math.round(i/t.rowGap)+1)),l=G(t,c);return l?{rowCount:c,edgePoint:l}:null}function Nt(t,e){return t.length!==e.rowCount?!1:[...t].sort((o,n)=>(o.rowBlockGeneration?.rowIndex??1/0)-(n.rowBlockGeneration?.rowIndex??1/0)).every((o,n)=>{let i=o.rowBlockGeneration;return i?.kind==="row-block-v1"&&i.groupId===e.groupId&&i.rowIndex===n&&i.signature===e.signature&&JSON.stringify(i)===JSON.stringify({...e,rowIndex:n})})}var h=1,b=300,D=330;function M(t){return t.seatCount>1?t.curve/(t.seatCount-1):0}function E(t,e){let r=t.rotation*Math.PI/180,o=M(t)*Math.PI/180,n,i;if(Math.abs(o)<1e-9)n=e*t.seatSpacing,i=0;else{let c=t.seatSpacing/(2*Math.sin(Math.abs(o)/2)),l=o*e;n=c*Math.sin(l),i=-c+c*Math.cos(l)}return{x:t.origin.x+n*Math.cos(r)-i*Math.sin(r),y:t.origin.y+n*Math.sin(r)+i*Math.cos(r)}}function Q(t,e,r){let o=(t??[]).map(n=>({...n,index:n.index+e})).filter(n=>n.index>=0&&n.index<r);return o.length?o:void 0}function U(t,e){if(t.path||!Number.isInteger(e)||e<h||e>b)return null;let r=M(t);return{...t,seatCount:e,curve:r*(e-1)}}function Y(t,e){if(t.path||!Number.isInteger(e)||e<h||e>b)return null;let r=M(t),o=t.seatCount-e,n=-o;return{...t,origin:E(t,o),rotation:B(t.rotation-r*o),seatCount:e,curve:r*(e-1),overrides:Q(t.overrides,n,e)}}function $(t,e=t.seatCount){let r=U(t,e);return r?E(r,e-1):null}function q(t,e=t.seatCount){return Y(t,e)?.origin??null}function Gt(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=M(t),o=Math.abs(r)<1e-9?b:Math.min(b,Math.floor(D/Math.abs(r))+1),n=null;for(let i=h;i<=Math.max(h,o);i+=1){let c=$(t,i);if(!c)continue;let l=Math.hypot(c.x-e.x,c.y-e.y),u=r*(i-1);(!n||l<n.distance||l===n.distance&&i<n.seatCount)&&(n={seatCount:i,curve:u,endpoint:c,distance:l})}return n}function Wt(t,e){if(t.path||!Number.isFinite(e.x)||!Number.isFinite(e.y))return null;let r=M(t),o=Math.abs(r)<1e-9?b:Math.min(b,Math.floor(D/Math.abs(r))+1),n=null;for(let i=h;i<=Math.max(h,o);i+=1){let c=q(t,i);if(!c)continue;let l=Math.hypot(c.x-e.x,c.y-e.y),u=r*(i-1);(!n||l<n.distance||l===n.distance&&i<n.seatCount)&&(n={seatCount:i,curve:u,endpoint:c,distance:l})}return n}export{xt as CATEGORY_INVENTORY_FAMILIES,ht as GroupedTableProjectionError,D as MAX_DIRECT_ROW_SWEEP,V as MAX_EVENT_INVENTORY,H as MAX_GA_CAPACITY,T as MAX_ROW_BLOCK_ROWS,b as MAX_ROW_SEATS,W as MIN_ROW_BLOCK_ROWS,h as MIN_ROW_SEATS,ut as applicableTicketTiers,z as capacityControl,Pt as categoryCapacity,k as chartCapacity,ft as companionSelectionIssue,wt as describeCategoryInventoryConflict,Mt as effectiveSeatOwnerCategoryCounts,nt as gaAreasOf,et as gaInventorySegments,Z as gaUnitLabel,ot as gaUnitLabels,bt as groupedTableInventory,rt as growJoinedGAInventory,gt as inspectCategoryInventoryConflicts,Nt as intactRowBlockMembers,st as isFullChartDoc,at as isGaUnitLabel,yt as pickBestAvailable,dt as pickBestAvailableInventory,Ct as remediateCategoryInventoryConflicts,jt as resizeChartCapacity,Bt as resolveRowBlockCount,Wt as resolveRowStartCapacity,Gt as resolveRowTerminalCapacity,pt as resolveTicketTierForSeat,G as rowBlockEdgePoint,J as rowBlockPreviewRows,q as rowStartEndpoint,$ as rowTerminalEndpoint,Y as rowWithStartCapacity,U as rowWithTerminalCapacity,it as strandedSingles,ct as ticketOptionNotApplicableIssue,mt as ticketSelectionIssue,lt as ticketTierAppliesToSeat,tt as validGAInventorySegments};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { P as Point, v as CubicPath, w as TextObject } from '../../types-B97dNRwl.cjs';
|
|
2
2
|
export { F as FloorLabelStyle } from '../../types-B97dNRwl.cjs';
|
|
3
|
-
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from '../../tableSizing-
|
|
3
|
+
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from '../../tableSizing-sUnI2XGD.cjs';
|
|
4
4
|
export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-uu0WfRIz.cjs';
|
|
5
|
-
import { E as ExpandedSeat } from '../../renderer-
|
|
5
|
+
import { E as ExpandedSeat } from '../../renderer-DbDQtwIH.cjs';
|
|
6
6
|
|
|
7
7
|
type SectionShellMode = 'auto' | 'rectangle' | 'tapered' | 'bezier';
|
|
8
8
|
declare function cubicPoint(path: CubicPath, t: number): Point;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { P as Point, v as CubicPath, w as TextObject } from '../../types-B97dNRwl.js';
|
|
2
2
|
export { F as FloorLabelStyle } from '../../types-B97dNRwl.js';
|
|
3
|
-
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from '../../tableSizing-
|
|
3
|
+
export { A as AUTOMATIC_ROUND_TABLE_RADIUS_MAX, a as AUTOMATIC_ROUND_TABLE_RADIUS_MIN, C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, b as FLOOR_STACK_MIN_SURFACE_PX, c as FloorStackOptions, d as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, e as TableSeatSlot, f as allObjects, g as automaticRoundTableRadius, h as chartBounds, i as combinedFloorZoneId, j as expandBooth, k as expandChart, l as expandRow, m as expandRowSlots, n as expandTable, o as expandTableSlots, p as floorObjects, q as floorStackPlacements, r as floorsOf, s as initialFloorMode, t as layoutCombinedFloorPlan, u as layoutFloorStack, v as mainFloorId, w as objectCenter, x as owningSectionForObject, y as pointInPolygon, z as pointInPolygonWithHoles, B as polygonLabelPoint, D as rowInventoryCount, G as rowSeatPositions, H as stackFloors, I as tableInventoryCount, J as tableSeatCountsBySide, K as translateObject } from '../../tableSizing-B3SHwhya.js';
|
|
4
4
|
export { a as SegmentedRowComponent, S as SegmentedRowPlacement, r as resolveSegmentedRowGroups, s as segmentedRowComponentSeats, b as segmentedRowComponents, c as segmentedRowSeatTotal } from '../../segmentedRowModel-NH_qhgic.js';
|
|
5
|
-
import { E as ExpandedSeat } from '../../renderer-
|
|
5
|
+
import { E as ExpandedSeat } from '../../renderer-xE1rZCGy.js';
|
|
6
6
|
|
|
7
7
|
type SectionShellMode = 'auto' | 'rectangle' | 'tapered' | 'bezier';
|
|
8
8
|
declare function cubicPoint(path: CubicPath, t: number): Point;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Z=Object.defineProperty;var ve=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var Se=Object.prototype.hasOwnProperty;var we=(t,r)=>{for(var i in r)Z(t,i,{get:r[i],enumerable:!0})},Ie=(t,r,i,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of Le(r))!Se.call(t,l)&&l!==i&&Z(t,l,{get:()=>r[l],enumerable:!(a=ve(r,l))||a.enumerable});return t};var Re=t=>Ie(Z({},"__esModule",{value:!0}),t);var nt={};we(nt,{ACCESS_GLYPH_PATH:()=>Ke,ACCESS_GLYPH_VIEWBOX:()=>je,ACCESS_TYPE_GLYPH_PATHS:()=>U,AUTHORED_LABEL_MIN_CONTRAST:()=>$e,BOOTH_LABEL_FONT_SIZE:()=>_e,DARK_BOOKABLE_LABEL_INK:()=>f,DARK_NEUTRAL_SECTION_FILL:()=>be,GA_CAPACITY_LABEL_FONT_SIZE:()=>Fe,GA_FILL_OPACITY:()=>Ve,GA_LABEL_FONT_SIZE:()=>Oe,LARGE_TEXT_CONTRAST:()=>ce,LIGHT_BOOKABLE_LABEL_INK:()=>y,LIGHT_NEUTRAL_SECTION_FILL:()=>de,MIN_POINTER_TARGET_PX:()=>X,MIN_VISIBLE_BOOKABLE_LABEL_PX:()=>T,RENDERED_QUALITY_REPORT_VERSION:()=>me,ROW_LABEL_FONT_SIZE:()=>Be,SEAT_LABEL_FONT_SIZE:()=>Pe,SMALL_TEXT_CONTRAST:()=>L,accessGlyphInk:()=>Je,accessGlyphPath:()=>He,accessibilityRingInk:()=>Ze,bookableMarkerLabel:()=>Qe,categoryBandInk:()=>Xe,compositeHexOver:()=>Ue,explicitOrStateAwareLabelInk:()=>Ye,inspectRenderedQualityEvidence:()=>rt,isBookableLabelLegibleAtScale:()=>Ge,isLightFill:()=>ue,mapSeparatingInk:()=>le,minimumTextContrast:()=>Ne,neutralSectionFill:()=>qe,renderedTextContrast:()=>d,stateAwareBookableLabelInk:()=>$,summarizeLabelInkContrast:()=>et});module.exports=Re(nt);var Ce=[{key:"wheelchair",label:"Wheelchair space",short:"Wheelchair",icon:"\u267F"},{key:"companion",label:"Companion seat",short:"Companion",icon:"\u{1F9D1}\u200D\u{1F91D}\u200D\u{1F9D1}"},{key:"semi-ambulatory",label:"Semi-ambulatory (limited mobility)",short:"Limited mobility",icon:"\u{1F9AF}"},{key:"designated-aisle",label:"Designated aisle / transfer seat",short:"Aisle transfer",icon:"AS"},{key:"step-free",label:"Step-free accessible seat",short:"Step-free",icon:"SF"},{key:"hearing",label:"Assistive listening",short:"Hearing",icon:"\u{1F9BB}"},{key:"cart",label:"CART live-caption view",short:"CART captions",icon:"CC"},{key:"sign-language",label:"Sign-language view",short:"Sign language",icon:"\u{1F91F}"},{key:"low-vision",label:"Blind / low-vision viewing",short:"Low vision",icon:"LV"},{key:"sensory-friendly",label:"Quiet / sensory-friendly seating",short:"Sensory-friendly",icon:"QS"},{key:"plus-size",label:"Plus-size seat",short:"Plus-size",icon:"\u{1F4BA}"},{key:"lift-armrest",label:"Lift-up armrest",short:"Lift armrest",icon:"\u2195\uFE0F"}],ot=new Map(Ce.map(t=>[t.key,t]));var ke={wheelchair:"#3b82f6",companion:"#8b5cf6","semi-ambulatory":"#0ea5e9","designated-aisle":"#0284c7","step-free":"#16a34a",hearing:"#14b8a6",cart:"#7c3aed","sign-language":"#f59e0b","low-vision":"#d97706","sensory-friendly":"#6366f1","plus-size":"#ec4899","lift-armrest":"#22c55e"};function oe(t){let r=t?.[0];return r&&ke[r]||"#3b82f6"}var Ae=[{key:"obstructedView",label:"Obstructed view",short:"Obstructed",icon:"\u26D4"},{key:"restrictedView",label:"Restricted view",short:"Restricted",icon:"\u{1F441}"},{key:"premium",label:"Premium seat",short:"Premium",icon:"\u2605"}],at=new Map(Ae.map(t=>[t.key,t]));var Te=["reference-focal","bar","entrance","exit","restroom","screen","sound","concession","coat","wall","rail","suite","obstruction"],st=new Set(Te);var Ee=/^#?([\da-f]{3}|[\da-f]{6})$/i;function v(t){let r=Ee.exec((t??"").trim());if(!r)return null;let i=r[1].length===3?r[1].split("").map(l=>l+l).join(""):r[1],a=parseInt(i,16);return[a>>16&255,a>>8&255,a&255]}function Q(t){let r=t/255;return r<=.04045?r/12.92:((r+.055)/1.055)**2.4}function V(t){return .2126*Q(t[0])+.7152*Q(t[1])+.0722*Q(t[2])}function ae(t,r){let i=v(t),a=v(r);if(!i||!a)return null;let l=V(i),u=V(a);return(Math.max(l,u)+.05)/(Math.min(l,u)+.05)}function Me(t){let r=t.trim();if(r.startsWith("#")){let a=v(r);return a?(.2126*a[0]+.7152*a[1]+.0722*a[2])/255:NaN}let i=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/.exec(r);return i?(.2126*+i[1]+.7152*+i[2]+.0722*+i[3])/255:NaN}function z(t,r=.6){let i=Me(t);return!Number.isNaN(i)&&i>r}var Pe=7,Be=10,_e=10,Oe=15,Fe=11,Ve=.85,T=12,L=4.5,ce=3,f="#000000",y="#ffffff",ze=24,De=18.67;function Ne(t,r=400){return t>=ze||r>=700&&t>=De?ce:L}function Ge(t,r){return t*r>=T}var je=24,U={wheelchair:"M7.8 4.5a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0zM8 7L10.5 7L10.5 15L8 15ZM8 12.5L18 12.5L18 15L8 15ZM16 15L18 15L18 18L16 18ZM5.5 16a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0zM8 16a3 3 0 1 1 6 0a3 3 0 1 1 -6 0z",companion:"M5.5 6.5a3 3 0 1 0 6 0a3 3 0 1 0 -6 0zM4.5 18.5L6 11.5L11 11.5L12.5 18.5ZM12.5 7.5a3 3 0 1 0 6 0a3 3 0 1 0 -6 0zM11.5 19L13 12.5L18 12.5L19.5 19Z","semi-ambulatory":"M8.3 3.8a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0zM9 6.2L12 6.6L11 13.5L8.6 13L9 6.2ZM8.6 13L11 13L9.5 21L7 21ZM10.4 13L12.6 13L13.6 21L11.2 21ZM11.2 7.2L14 8L14.6 9.6L11.9 8.9ZM14.4 6.8L15.9 6.8L16.4 21L14.8 21Z","designated-aisle":"M3 5L6 5L6 14L3 14ZM3 12L13 12L13 15L3 15ZM5 15L7 15L7 20L5 20ZM11 15L13 15L13 20L11 20ZM13 7L20 7L17 4L19 4L23 8.5L19 13L17 13L20 10L13 10Z","step-free":"M4 4.5a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0zM4.4 7L7.5 7L7.5 13L11 15L9.5 17L5 14L4.4 7ZM2 19L8 19L17 10L22 10L22 13L18 13L10 21L2 21Z",hearing:"M15.5 3.5C9 2.2 5.5 6 5.5 11.5C5.5 16 8 19.5 10.5 21C13.2 22.6 16.4 20.8 15.4 18C14.8 16.4 12.9 16.1 13 14C13.1 11.9 15.8 11.4 15.8 8.5C15.8 5.4 13 4 15.5 3.5Z",cart:"M5.5 6L18.5 6a2.5 2.5 0 0 1 2.5 2.5L21 15.5a2.5 2.5 0 0 1 -2.5 2.5L11 18L7 20.5L7.5 18L5.5 18a2.5 2.5 0 0 1 -2.5 -2.5L3 8.5a2.5 2.5 0 0 1 2.5 -2.5zM6.5 11L17.5 11L17.5 12.6L6.5 12.6zM6.5 14L17.5 14L17.5 15.6L6.5 15.6z","sign-language":"M7 11L17 11L17 18a2 2 0 0 1 -2 2L9 20a2 2 0 0 1 -2 -2zM7.6 5L9.4 5L9.4 12L7.6 12zM9.9 3.5L11.7 3.5L11.7 12L9.9 12zM12.3 3.5L14.1 3.5L14.1 12L12.3 12zM14.6 5L16.4 5L16.4 12L14.6 12zM7.2 12.5L5 10.2L6.4 8.9L8.6 11.2Z","low-vision":"M2.5 12C6 6 18 6 21.5 12C18 18 6 18 2.5 12ZM9 12a3 3 0 1 0 6 0a3 3 0 1 0 -6 0zM17.5 3L19 3L19 6L17.5 6ZM19 4L22 4L22 5.5L19 5.5Z","sensory-friendly":"M4 11C4 5 7 2.5 12 2.5S20 5 20 11L17 11C17 7 15.5 5.5 12 5.5S7 7 7 11ZM3 10L8 10L8 19L5 19a2 2 0 0 1 -2 -2ZM16 10L21 10L21 17a2 2 0 0 1 -2 2L16 19ZM9 12L15 12L15 14L9 14ZM10 16L14 16L14 18L10 18Z","plus-size":"M9.4 4.3a2.6 2.6 0 1 0 5.2 0a2.6 2.6 0 1 0 -5.2 0zM5 20L4 13C4 10.5 7 9.5 12 9.5C17 9.5 20 10.5 20 13L19 20Z","lift-armrest":"M5 6L8 6L8 19L5 19zM5 16L18 16L18 19L5 19zM8 12L17 12L17 14.5L8 14.5zM14 7L16 7L16 12L14 12zM12 7L18 7L15 3Z"},Ke=U.wheelchair;function He(t){if(!t?.length)return null;let r=t.includes("wheelchair")?"wheelchair":t[0];return U[r]??null}function Ze(t,r){return r.colorblind?le(r.canvasBackground):oe(t)}function Qe(t){return/-(\d{1,5})$/.exec(t)?.[1]??t}var d=ae;function Ue(t,r,i){let a=v(t),l=v(r);if(!a||!l)return r;let u=Math.max(0,Math.min(1,i));return`#${a.map((m,M)=>Math.round(m*u+l[M]*(1-u))).map(m=>m.toString(16).padStart(2,"0")).join("")}`}var $e=3;function Xe(t){let r=d(y,t)??0,i=d(f,t)??0;return r>=L?y:i>=L&&z(t)||z(t)?f:y}function le(t){return z(t)?f:y}function $(t,r,i=L){let a=d(r,t);if(a!=null&&a>=i)return r;let l=d(f,t)??0,u=d(y,t)??0;return l===0&&u===0?r:l>=u?f:y}function Ye(t,r,i,a=L){return r??$(t,i,a)}var We=3;function Je(t){let r=d("#ffffff",t);if(r!=null&&r>=We)return"#ffffff";let i=d(f,t)??0,a=d(y,t)??0;return i===0&&a===0?"#ffffff":i>=a?f:y}var se=/^#[0-9a-f]{6}$/i;function ue(t){let r=v(t);return r!=null&&V(r)>.5}var de="#e5e7eb",be="#273142";function qe(t){return ue(t)?de:be}function et(t,r,i=L){let a=se.test(t.trim()),l=t.trim().toLowerCase(),u=0,g=0,m=null;for(let P of r){if(!a||!se.test(P.trim()))continue;u+=1;let B=$(P,t,i);B.toLowerCase()!==l&&(g+=1,m=B)}return{total:u,overridden:g,status:u===0?"none":g===0?"applies":g===u?"overridden":"mixed",overrideInk:m}}var me=3,k=4.5,D=3,X=24,tt=20;function N(t){return t.filter(r=>r.visible&&!!r.screenBox)}function S(t,r){return t.x<r.x+r.width&&t.x+t.width>r.x&&t.y<r.y+r.height&&t.y+t.height>r.y}function h(t){return t.length?Math.round(Math.min(...t)*100)/100:null}function c(t,r,i){return i.length?{code:t,message:r,count:i.length,samples:i.slice(0,tt)}:null}function E(t,r,i){return{primaryId:t.seatId,primaryLabel:t.label,...r==null?{}:{measured:Math.round(r*100)/100},...i==null?{}:{minimum:i}}}function G(t,r,i){return{primaryId:t.id,primaryLabel:t.label,...r==null?{}:{measured:Math.round(r*100)/100},...i==null?{}:{minimum:i}}}function ge(t,r,i){return{primaryId:t.objectId,primaryLabel:t.text,...r==null?{}:{measured:Math.round(r*100)/100},...i==null?{}:{minimum:i}}}function w(t,r,i,a){return{primaryId:t,primaryLabel:r,secondaryId:i,secondaryLabel:a}}function rt(t,r="overview",i=null){let a=N(t.labels),l=N(t.hierarchyLabels),u=N(t.freeTextLabels),g=N(t.rowLabels),m=t.gaAreas.filter(e=>e.visible),M=a.map(e=>d(e.ink,e.fill)??0),P=l.map(e=>d(e.ink,e.fill)??0),B=u.map(e=>d(e.ink,e.background)??0),pe=m.map(e=>d(e.effectiveBackground,t.canvasBackground)??0),b=i?t.labels.filter(e=>e.categoryKey===i):t.labels,I=i?t.gaAreas.filter(e=>e.categoryKey===i):t.gaAreas,x=b.filter(e=>e.selected),R=b.filter(e=>e.status==="held"),C=b.filter(e=>e.status==="booked"),_=b.filter(e=>e.pointerTarget.active),Y=new Set([...t.labels.filter(e=>e.visible&&(e.opacity>.25||e.selected||e.status!=="free")).map(e=>e.categoryKey),...t.gaAreas.filter(e=>e.visible&&e.opacity>.1).map(e=>e.categoryKey)]),O=x.length?h(x.map(e=>d(e.selectionRingColor??t.selectionRingColor,e.fill)??0)):null,s=[],A=(e,n)=>Array.from({length:e},(p,F)=>({primaryId:`overview:${F+1}`,primaryLabel:n}));r==="overview"&&t.rung==="sections"&&(s.push(c("overview-section-category-paint","Section overview shells must use the neutral hierarchy palette, not category paint",A(t.overviewStyle.categoryPaintedSectionShells,"category-painted section shell"))),s.push(c("overview-category-detail-visible","Category-tinted section detail must wait until section focus or seat zoom",A(t.overviewStyle.visibleCategoryDetailOutlines,"category detail outline"))),s.push(c("overview-row-hints-visible","Row and seat patterns must not clutter the section overview",A(t.overviewStyle.visibleSectionRowHints,"section row hint"))),s.push(c("overview-availability-clutter","Live availability counts belong in focused detail, not on section overview shells",A(t.overviewStyle.visibleSectionAvailabilityLabels,"section availability label"))),s.push(c("overview-ga-detail-visible","Section-contained standing paint belongs in focused detail, not on section overview shells",A(t.overviewStyle.visibleSectionGADetails,"section-contained GA detail")))),s.push(c("bookable-label-undersized","Visible bookable labels must meet the rendered small-text size floor",a.filter(e=>e.renderedFontPx<t.minimumVisibleLabelPx).map(e=>E(e,e.renderedFontPx,t.minimumVisibleLabelPx)))),s.push(c("bookable-label-viewport-clipped","Visible interaction labels must remain fully inside the buyer viewport",r==="interaction"?a.filter(e=>e.screenBox.x<0||e.screenBox.y<0||e.screenBox.x+e.screenBox.width>t.viewport.width||e.screenBox.y+e.screenBox.height>t.viewport.height).map(e=>E(e)):[])),s.push(c("row-label-viewport-clipped","Visible interaction row labels must remain fully inside the buyer viewport",r==="interaction"?g.flatMap((e,n)=>{let p=e.screenBox;return p.x<0||p.y<0||p.x+p.width>t.viewport.width||p.y+p.height>t.viewport.height?[{primaryId:`row-label-${n}`,primaryLabel:e.text}]:[]}):[]));let W=[];if(r==="interaction")for(let e=0;e<g.length;e+=1)for(let n=0;n<e;n+=1)S(g[e].screenBox,g[n].screenBox)&&W.push(w(`row-label-${n}`,g[n].text,`row-label-${e}`,g[e].text));if(s.push(c("row-label-collision","Visible interaction row labels must not overlap",W)),r==="interaction"){let e=b.length>0,n=I.length>0,p=e||n,F=I.filter(o=>o.visible),fe=new Set([...b.flatMap(o=>o.sectionId?[o.sectionId]:[]),...I.flatMap(o=>o.sectionId?[o.sectionId]:[])]),ye=new Set([...t.labels.map(o=>o.categoryKey),...t.gaAreas.map(o=>o.categoryKey)]),j=o=>o.screenCenter.x>=0&&o.screenCenter.x<=t.viewport.width&&o.screenCenter.y>=0&&o.screenCenter.y<=t.viewport.height;s.push(c("detail-rung-missing","Interaction evidence with bookable inventory must render the seat-detail rung",p&&t.rung!=="seats"?[{primaryId:"renderer",primaryLabel:t.rung}]:[])),s.push(c("detail-inventory-not-visible","Interaction evidence must frame at least one real bookable unit",p&&!b.some(j)&&!F.length?[{primaryId:"renderer",primaryLabel:"no target inventory in viewport"}]:[])),s.push(c("pointer-target-inactive","Interaction evidence must expose a live production pointer target",e&&!_.some(j)||!e&&n&&!F.some(o=>o.interactive)?[{primaryId:"renderer",primaryLabel:"no active pointer target in viewport"}]:[])),s.push(c("pointer-target-undersized","Every active production pointer target must reach at least 24 CSS pixels",_.filter(o=>j(o)&&o.pointerTarget.effectiveMinimumPx<X).map(o=>E(o,o.pointerTarget.effectiveMinimumPx,X)))),s.push(c("selected-state-missing","Interaction evidence must paint a selected unit and its renderer-owned ring",e&&(!x.length||!x.some(o=>t.selectionRingSeatIds.includes(o.seatId)))?[{primaryId:"renderer",primaryLabel:"selected state"}]:[])),s.push(c("selected-state-contrast-low","The selected-state ring must maintain 3:1 graphical contrast with the seat paint",x.length&&(O??0)<D?[{primaryId:x[0].seatId,primaryLabel:x[0].label,measured:Math.round((O??0)*100)/100,minimum:D}]:[])),s.push(c("held-state-missing","Interaction evidence must paint a held state when the floor has at least two status-managed units",b.length>=2&&!R.length?[{primaryId:"renderer",primaryLabel:"held state"}]:[])),s.push(c("booked-state-missing","Interaction evidence must paint a taken state when the floor has at least three status-managed units",b.length>=3&&!C.length?[{primaryId:"renderer",primaryLabel:"booked state"}]:[]));let he=new Set(R.map(o=>`${o.fill.toLowerCase()}:${o.opacity}`)),xe=new Set(C.map(o=>`${o.fill.toLowerCase()}:${o.opacity}`));s.push(c("status-state-indistinct","Held and taken evidence must resolve to distinct renderer paint",R.length&&C.length&&[...he].some(o=>xe.has(o))?[{primaryId:R[0].seatId,primaryLabel:R[0].label,secondaryId:C[0].seatId,secondaryLabel:C[0].label}]:[])),s.push(c("section-focus-missing","Interaction evidence must exercise section focus and its backdrop when section membership exists",fe.size&&(!t.focusedSectionId||!t.focusBackdropVisible)?[{primaryId:"renderer",primaryLabel:"section focus"}]:[])),s.push(c("category-filter-missing","Interaction evidence must exercise a category filter when multiple categories exist",ye.size>=2&&(!t.categoryFilterKeys||!t.categoryFilterKeys.length)?[{primaryId:"renderer",primaryLabel:"category filter"}]:[]));let K=t.labels.filter(o=>o.status==="free"&&!o.selected&&t.categoryFilterKeys!=null&&!t.categoryFilterKeys.includes(o.categoryKey)),H=t.gaAreas.filter(o=>t.categoryFilterKeys!=null&&!t.categoryFilterKeys.includes(o.categoryKey));s.push(c("category-filter-ineffective","The active category filter must visibly dim excluded free inventory",(K.length||H.length)&&!K.some(o=>o.opacity<=.25)&&!H.some(o=>o.opacity<=.1)?[...K.map(o=>E(o,o.opacity)),...H.map(o=>({primaryId:o.areaId,primaryLabel:o.label,measured:o.opacity}))]:[])),s.push(c("target-category-not-visible","A category-specific interaction scene must visibly paint its exact target category",i&&!Y.has(i)?[{primaryId:i,primaryLabel:i}]:[])),s.push(c("target-category-filter-mismatch","A category-specific interaction scene must bind its filter to only the exact target category",i&&(t.categoryFilterKeys?.length!==1||t.categoryFilterKeys[0]!==i)?[{primaryId:i,primaryLabel:i}]:[]))}s.push(c("bookable-label-contrast-low","Visible bookable labels must meet 4.5:1 contrast against their actual paint",a.flatMap(e=>{let n=d(e.ink,e.fill)??0;return n<k?[E(e,n,k)]:[]})));let J=[];for(let e=0;e<a.length;e+=1)for(let n=0;n<e;n+=1)S(a[e].screenBox,a[n].screenBox)&&J.push(w(a[n].seatId,a[n].label,a[e].seatId,a[e].label));s.push(c("bookable-label-collision","Visible bookable labels must not overlap",J)),s.push(c("hierarchy-label-undersized","Visible section and zone labels must meet the rendered small-text size floor",l.filter(e=>e.renderedFontPx<(e.sizeFloorPx??T)).map(e=>G(e,e.renderedFontPx,e.sizeFloorPx??T)))),s.push(c("hierarchy-label-contrast-low","Visible section and zone labels must meet 4.5:1 contrast against their backing paint",l.flatMap(e=>{let n=d(e.ink,e.fill)??0;return n<k?[G(e,n,k)]:[]}))),s.push(c("hierarchy-label-viewport-clipped","Visible overview hierarchy labels must remain fully inside the buyer viewport",r==="overview"?l.filter(e=>e.screenBox.x<0||e.screenBox.y<0||e.screenBox.x+e.screenBox.width>t.viewport.width||e.screenBox.y+e.screenBox.height>t.viewport.height).map(e=>G(e)):[])),s.push(c("hierarchy-label-outside-section","Visible section labels must remain inside the filled section surface and outside holes",l.filter(e=>e.kind==="section"&&e.fitsContainer===!1).map(e=>G(e))));let q=[];for(let e=0;e<l.length;e+=1)for(let n=0;n<e;n+=1)S(l[e].screenBox,l[n].screenBox)&&q.push(w(l[n].id,l[n].label,l[e].id,l[e].label));s.push(c("hierarchy-label-collision","Visible hierarchy labels must not overlap each other",q));let ee=[];for(let e of l)for(let n of a)S(e.screenBox,n.screenBox)&&ee.push(w(e.id,e.label,n.seatId,n.label));s.push(c("hierarchy-bookable-collision","Visible hierarchy labels must not overlap bookable labels",ee)),s.push(c("free-text-undersized","Visible chart text must meet the rendered small-text size floor",u.filter(e=>e.renderedFontPx<t.minimumVisibleLabelPx).map(e=>ge(e,e.renderedFontPx,t.minimumVisibleLabelPx)))),s.push(c("free-text-contrast-low","Visible chart text must meet 4.5:1 contrast against its measured background",u.flatMap(e=>{let n=d(e.ink,e.background)??0;return n<k?[ge(e,n,k)]:[]})));let te=[];for(let e=0;e<u.length;e+=1)for(let n=0;n<e;n+=1)S(u[e].screenBox,u[n].screenBox)&&te.push(w(u[n].objectId,u[n].text,u[e].objectId,u[e].text));s.push(c("free-text-collision","Visible chart text labels must not overlap each other",te));let re=[];for(let e of u)for(let n of a)S(e.screenBox,n.screenBox)&&re.push(w(e.objectId,e.text,n.seatId,n.label));s.push(c("free-text-bookable-collision","Visible chart text must not overlap bookable labels",re));let ne=[];for(let e of u)for(let n of l)S(e.screenBox,n.screenBox)&&ne.push(w(e.objectId,e.text,n.id,n.label));s.push(c("free-text-hierarchy-collision","Visible chart text must not overlap hierarchy labels",ne)),s.push(c("ga-contrast-low","Visible GA surfaces must maintain 3:1 graphical contrast with the canvas",m.flatMap(e=>{let n=d(e.effectiveBackground,t.canvasBackground)??0;return n<D?[{primaryId:e.areaId,primaryLabel:e.label,measured:Math.round(n*100)/100,minimum:D}]:[]})));let ie=s.filter(e=>!!e);return{version:me,passed:ie.length===0,state:r,targetCategoryKey:i,resolvedRules:["rendered-overview-label-size","rendered-overview-label-contrast","rendered-overview-label-collision","rendered-overview-hierarchy-viewport","rendered-overview-hierarchy-containment","rendered-overview-section-first-style","rendered-overview-ga-contrast",...r==="interaction"?["rendered-detail-label-viewport","rendered-detail-inventory","rendered-pointer-target","rendered-selected-held-taken-states","rendered-section-focus","rendered-category-filter"]:[]],viewport:t.viewport,canvasBackground:t.canvasBackground,effectiveScale:t.effectiveScale,rung:t.rung,inventory:{totalBookableUnits:t.totalBookableUnits,totalLabelledBookableUnits:t.totalLabelledBookableUnits,visibleBookableLabels:a.length,hiddenBookableLabels:t.hiddenLabels,visibleHierarchyLabels:l.length,visibleFreeTextLabels:u.length,visibleGAAreas:m.length},overviewStyle:t.overviewStyle,composition:{hierarchy:t.hierarchyLabels.filter(e=>e.role==="name").map(e=>({id:e.id,kind:e.kind,label:e.label,visible:e.visible})).sort((e,n)=>e.kind.localeCompare(n.kind)||e.id.localeCompare(n.id)),labelledObjects:t.freeTextLabels.map(e=>({objectId:e.objectId,kind:e.kind,text:e.text,visible:e.visible})).sort((e,n)=>e.objectId.localeCompare(n.objectId)||e.kind.localeCompare(n.kind)),gaAreas:t.gaAreas.map(e=>({areaId:e.areaId,label:e.label,categoryKey:e.categoryKey,...e.sectionId?{sectionId:e.sectionId}:{},visible:e.visible})).sort((e,n)=>e.areaId.localeCompare(n.areaId)),bookableSectionIds:[...new Set(t.labels.flatMap(e=>e.sectionId?[e.sectionId]:[]))].sort(),categoryKeys:[...new Set([...t.labels.map(e=>e.categoryKey),...t.gaAreas.map(e=>e.categoryKey)])].sort(),activeCategoryKeys:[...Y].sort()},metrics:{minimumRenderedBookableLabelPx:h(a.map(e=>e.renderedFontPx)),minimumBookableLabelContrast:h(M),minimumRenderedHierarchyLabelPx:h(l.map(e=>e.renderedFontPx)),minimumHierarchyLabelContrast:h(P),minimumRenderedFreeTextPx:h(u.map(e=>e.renderedFontPx)),minimumFreeTextContrast:h(B),minimumGAContrast:h(pe),minimumEffectivePointerTargetPx:h(_.map(e=>e.pointerTarget.effectiveMinimumPx)),selectedRingContrast:O==null?null:Math.round(O*100)/100},interaction:{applicable:{detail:b.length>0||I.length>0,pointer:b.length>0||I.length>0,held:b.length>=2,booked:b.length>=3,sectionFocus:b.some(e=>!!e.sectionId)||I.some(e=>!!e.sectionId),categoryFilter:new Set([...t.labels.map(e=>e.categoryKey),...t.gaAreas.map(e=>e.categoryKey)]).size>=2},selectedUnits:x.length,heldUnits:R.length,bookedUnits:C.length,activePointerTargets:_.length,focusedSectionId:t.focusedSectionId,focusBackdropVisible:t.focusBackdropVisible,categoryFilterKeys:t.categoryFilterKeys},findings:ie}}0&&(module.exports={ACCESS_GLYPH_PATH,ACCESS_GLYPH_VIEWBOX,ACCESS_TYPE_GLYPH_PATHS,AUTHORED_LABEL_MIN_CONTRAST,BOOTH_LABEL_FONT_SIZE,DARK_BOOKABLE_LABEL_INK,DARK_NEUTRAL_SECTION_FILL,GA_CAPACITY_LABEL_FONT_SIZE,GA_FILL_OPACITY,GA_LABEL_FONT_SIZE,LARGE_TEXT_CONTRAST,LIGHT_BOOKABLE_LABEL_INK,LIGHT_NEUTRAL_SECTION_FILL,MIN_POINTER_TARGET_PX,MIN_VISIBLE_BOOKABLE_LABEL_PX,RENDERED_QUALITY_REPORT_VERSION,ROW_LABEL_FONT_SIZE,SEAT_LABEL_FONT_SIZE,SMALL_TEXT_CONTRAST,accessGlyphInk,accessGlyphPath,accessibilityRingInk,bookableMarkerLabel,categoryBandInk,compositeHexOver,explicitOrStateAwareLabelInk,inspectRenderedQualityEvidence,isBookableLabelLegibleAtScale,isLightFill,mapSeparatingInk,minimumTextContrast,neutralSectionFill,renderedTextContrast,stateAwareBookableLabelInk,summarizeLabelInkContrast});
|
|
1
|
+
"use strict";var Z=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Se=Object.getOwnPropertyNames;var we=Object.prototype.hasOwnProperty;var Ie=(t,r)=>{for(var i in r)Z(t,i,{get:r[i],enumerable:!0})},Re=(t,r,i,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of Se(r))!we.call(t,l)&&l!==i&&Z(t,l,{get:()=>r[l],enumerable:!(a=Le(r,l))||a.enumerable});return t};var Ce=t=>Re(Z({},"__esModule",{value:!0}),t);var it={};Ie(it,{ACCESS_GLYPH_PATH:()=>He,ACCESS_GLYPH_VIEWBOX:()=>Ke,ACCESS_TYPE_GLYPH_PATHS:()=>$,AUTHORED_LABEL_MIN_CONTRAST:()=>Xe,BOOTH_LABEL_FONT_SIZE:()=>Oe,DARK_BOOKABLE_LABEL_INK:()=>f,DARK_NEUTRAL_SECTION_FILL:()=>ge,GA_CAPACITY_LABEL_FONT_SIZE:()=>Ve,GA_FILL_OPACITY:()=>ze,GA_LABEL_FONT_SIZE:()=>Fe,LARGE_TEXT_CONTRAST:()=>le,LIGHT_BOOKABLE_LABEL_INK:()=>y,LIGHT_NEUTRAL_SECTION_FILL:()=>be,MIN_POINTER_TARGET_PX:()=>Y,MIN_VISIBLE_BOOKABLE_LABEL_PX:()=>A,RENDERED_QUALITY_REPORT_VERSION:()=>pe,ROW_LABEL_FONT_SIZE:()=>_e,SEAT_LABEL_FONT_SIZE:()=>Be,SECTION_NAME_CONTRAST:()=>U,SMALL_TEXT_CONTRAST:()=>L,accessGlyphInk:()=>qe,accessGlyphPath:()=>Ze,accessibilityRingInk:()=>Qe,bookableMarkerLabel:()=>Ue,categoryBandInk:()=>Ye,compositeHexOver:()=>$e,explicitOrStateAwareLabelInk:()=>We,inspectRenderedQualityEvidence:()=>nt,isBookableLabelLegibleAtScale:()=>je,isLightFill:()=>de,mapSeparatingInk:()=>ue,minimumTextContrast:()=>Ge,neutralSectionFill:()=>et,renderedTextContrast:()=>d,stateAwareBookableLabelInk:()=>X,summarizeLabelInkContrast:()=>tt});module.exports=Ce(it);var ke=[{key:"wheelchair",label:"Wheelchair space",short:"Wheelchair",icon:"\u267F"},{key:"companion",label:"Companion seat",short:"Companion",icon:"\u{1F9D1}\u200D\u{1F91D}\u200D\u{1F9D1}"},{key:"semi-ambulatory",label:"Semi-ambulatory (limited mobility)",short:"Limited mobility",icon:"\u{1F9AF}"},{key:"designated-aisle",label:"Designated aisle / transfer seat",short:"Aisle transfer",icon:"AS"},{key:"step-free",label:"Step-free accessible seat",short:"Step-free",icon:"SF"},{key:"hearing",label:"Assistive listening",short:"Hearing",icon:"\u{1F9BB}"},{key:"cart",label:"CART live-caption view",short:"CART captions",icon:"CC"},{key:"sign-language",label:"Sign-language view",short:"Sign language",icon:"\u{1F91F}"},{key:"low-vision",label:"Blind / low-vision viewing",short:"Low vision",icon:"LV"},{key:"sensory-friendly",label:"Quiet / sensory-friendly seating",short:"Sensory-friendly",icon:"QS"},{key:"plus-size",label:"Plus-size seat",short:"Plus-size",icon:"\u{1F4BA}"},{key:"lift-armrest",label:"Lift-up armrest",short:"Lift armrest",icon:"\u2195\uFE0F"}],at=new Map(ke.map(t=>[t.key,t]));var Ae={wheelchair:"#3b82f6",companion:"#8b5cf6","semi-ambulatory":"#0ea5e9","designated-aisle":"#0284c7","step-free":"#16a34a",hearing:"#14b8a6",cart:"#7c3aed","sign-language":"#f59e0b","low-vision":"#d97706","sensory-friendly":"#6366f1","plus-size":"#ec4899","lift-armrest":"#22c55e"};function ae(t){let r=t?.[0];return r&&Ae[r]||"#3b82f6"}var Te=[{key:"obstructedView",label:"Obstructed view",short:"Obstructed",icon:"\u26D4"},{key:"restrictedView",label:"Restricted view",short:"Restricted",icon:"\u{1F441}"},{key:"premium",label:"Premium seat",short:"Premium",icon:"\u2605"}],st=new Map(Te.map(t=>[t.key,t]));var Ee=["reference-focal","bar","entrance","exit","restroom","screen","sound","concession","coat","wall","rail","suite","obstruction"],ct=new Set(Ee);var Me=/^#?([\da-f]{3}|[\da-f]{6})$/i;function v(t){let r=Me.exec((t??"").trim());if(!r)return null;let i=r[1].length===3?r[1].split("").map(l=>l+l).join(""):r[1],a=parseInt(i,16);return[a>>16&255,a>>8&255,a&255]}function Q(t){let r=t/255;return r<=.04045?r/12.92:((r+.055)/1.055)**2.4}function V(t){return .2126*Q(t[0])+.7152*Q(t[1])+.0722*Q(t[2])}function se(t,r){let i=v(t),a=v(r);if(!i||!a)return null;let l=V(i),u=V(a);return(Math.max(l,u)+.05)/(Math.min(l,u)+.05)}function Pe(t){let r=t.trim();if(r.startsWith("#")){let a=v(r);return a?(.2126*a[0]+.7152*a[1]+.0722*a[2])/255:NaN}let i=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/.exec(r);return i?(.2126*+i[1]+.7152*+i[2]+.0722*+i[3])/255:NaN}function z(t,r=.6){let i=Pe(t);return!Number.isNaN(i)&&i>r}var Be=7,_e=10,Oe=10,Fe=15,Ve=11,ze=.85,A=12,L=4.5,U=3,le=3,f="#000000",y="#ffffff",Ne=24,De=18.67;function Ge(t,r=400){return t>=Ne||r>=700&&t>=De?le:L}function je(t,r){return t*r>=A}var Ke=24,$={wheelchair:"M7.8 4.5a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0zM8 7L10.5 7L10.5 15L8 15ZM8 12.5L18 12.5L18 15L8 15ZM16 15L18 15L18 18L16 18ZM5.5 16a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0zM8 16a3 3 0 1 1 6 0a3 3 0 1 1 -6 0z",companion:"M5.5 6.5a3 3 0 1 0 6 0a3 3 0 1 0 -6 0zM4.5 18.5L6 11.5L11 11.5L12.5 18.5ZM12.5 7.5a3 3 0 1 0 6 0a3 3 0 1 0 -6 0zM11.5 19L13 12.5L18 12.5L19.5 19Z","semi-ambulatory":"M8.3 3.8a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0zM9 6.2L12 6.6L11 13.5L8.6 13L9 6.2ZM8.6 13L11 13L9.5 21L7 21ZM10.4 13L12.6 13L13.6 21L11.2 21ZM11.2 7.2L14 8L14.6 9.6L11.9 8.9ZM14.4 6.8L15.9 6.8L16.4 21L14.8 21Z","designated-aisle":"M3 5L6 5L6 14L3 14ZM3 12L13 12L13 15L3 15ZM5 15L7 15L7 20L5 20ZM11 15L13 15L13 20L11 20ZM13 7L20 7L17 4L19 4L23 8.5L19 13L17 13L20 10L13 10Z","step-free":"M4 4.5a2.2 2.2 0 1 0 4.4 0a2.2 2.2 0 1 0 -4.4 0zM4.4 7L7.5 7L7.5 13L11 15L9.5 17L5 14L4.4 7ZM2 19L8 19L17 10L22 10L22 13L18 13L10 21L2 21Z",hearing:"M15.5 3.5C9 2.2 5.5 6 5.5 11.5C5.5 16 8 19.5 10.5 21C13.2 22.6 16.4 20.8 15.4 18C14.8 16.4 12.9 16.1 13 14C13.1 11.9 15.8 11.4 15.8 8.5C15.8 5.4 13 4 15.5 3.5Z",cart:"M5.5 6L18.5 6a2.5 2.5 0 0 1 2.5 2.5L21 15.5a2.5 2.5 0 0 1 -2.5 2.5L11 18L7 20.5L7.5 18L5.5 18a2.5 2.5 0 0 1 -2.5 -2.5L3 8.5a2.5 2.5 0 0 1 2.5 -2.5zM6.5 11L17.5 11L17.5 12.6L6.5 12.6zM6.5 14L17.5 14L17.5 15.6L6.5 15.6z","sign-language":"M7 11L17 11L17 18a2 2 0 0 1 -2 2L9 20a2 2 0 0 1 -2 -2zM7.6 5L9.4 5L9.4 12L7.6 12zM9.9 3.5L11.7 3.5L11.7 12L9.9 12zM12.3 3.5L14.1 3.5L14.1 12L12.3 12zM14.6 5L16.4 5L16.4 12L14.6 12zM7.2 12.5L5 10.2L6.4 8.9L8.6 11.2Z","low-vision":"M2.5 12C6 6 18 6 21.5 12C18 18 6 18 2.5 12ZM9 12a3 3 0 1 0 6 0a3 3 0 1 0 -6 0zM17.5 3L19 3L19 6L17.5 6ZM19 4L22 4L22 5.5L19 5.5Z","sensory-friendly":"M4 11C4 5 7 2.5 12 2.5S20 5 20 11L17 11C17 7 15.5 5.5 12 5.5S7 7 7 11ZM3 10L8 10L8 19L5 19a2 2 0 0 1 -2 -2ZM16 10L21 10L21 17a2 2 0 0 1 -2 2L16 19ZM9 12L15 12L15 14L9 14ZM10 16L14 16L14 18L10 18Z","plus-size":"M9.4 4.3a2.6 2.6 0 1 0 5.2 0a2.6 2.6 0 1 0 -5.2 0zM5 20L4 13C4 10.5 7 9.5 12 9.5C17 9.5 20 10.5 20 13L19 20Z","lift-armrest":"M5 6L8 6L8 19L5 19zM5 16L18 16L18 19L5 19zM8 12L17 12L17 14.5L8 14.5zM14 7L16 7L16 12L14 12zM12 7L18 7L15 3Z"},He=$.wheelchair;function Ze(t){if(!t?.length)return null;let r=t.includes("wheelchair")?"wheelchair":t[0];return $[r]??null}function Qe(t,r){return r.colorblind?ue(r.canvasBackground):ae(t)}function Ue(t){return/-(\d{1,5})$/.exec(t)?.[1]??t}var d=se;function $e(t,r,i){let a=v(t),l=v(r);if(!a||!l)return r;let u=Math.max(0,Math.min(1,i));return`#${a.map((p,M)=>Math.round(p*u+l[M]*(1-u))).map(p=>p.toString(16).padStart(2,"0")).join("")}`}var Xe=3;function Ye(t){let r=d(y,t)??0,i=d(f,t)??0;return r>=L?y:i>=L&&z(t)||z(t)?f:y}function ue(t){return z(t)?f:y}function X(t,r,i=L){let a=d(r,t);if(a!=null&&a>=i)return r;let l=d(f,t)??0,u=d(y,t)??0;return l===0&&u===0?r:l>=u?f:y}function We(t,r,i,a=L){return r??X(t,i,a)}var Je=3;function qe(t){let r=d("#ffffff",t);if(r!=null&&r>=Je)return"#ffffff";let i=d(f,t)??0,a=d(y,t)??0;return i===0&&a===0?"#ffffff":i>=a?f:y}var ce=/^#[0-9a-f]{6}$/i;function de(t){let r=v(t);return r!=null&&V(r)>.5}var be="#e5e7eb",ge="#273142";function et(t){return de(t)?be:ge}function tt(t,r,i=L){let a=ce.test(t.trim()),l=t.trim().toLowerCase(),u=0,m=0,p=null;for(let P of r){if(!a||!ce.test(P.trim()))continue;u+=1;let B=X(P,t,i);B.toLowerCase()!==l&&(m+=1,p=B)}return{total:u,overridden:m,status:u===0?"none":m===0?"applies":m===u?"overridden":"mixed",overrideInk:p}}var pe=3,T=4.5,N=3,Y=24,rt=20;function D(t){return t.filter(r=>r.visible&&!!r.screenBox)}function S(t,r){return t.x<r.x+r.width&&t.x+t.width>r.x&&t.y<r.y+r.height&&t.y+t.height>r.y}function h(t){return t.length?Math.round(Math.min(...t)*100)/100:null}function c(t,r,i){return i.length?{code:t,message:r,count:i.length,samples:i.slice(0,rt)}:null}function E(t,r,i){return{primaryId:t.seatId,primaryLabel:t.label,...r==null?{}:{measured:Math.round(r*100)/100},...i==null?{}:{minimum:i}}}function G(t,r,i){return{primaryId:t.id,primaryLabel:t.label,...r==null?{}:{measured:Math.round(r*100)/100},...i==null?{}:{minimum:i}}}function me(t,r,i){return{primaryId:t.objectId,primaryLabel:t.text,...r==null?{}:{measured:Math.round(r*100)/100},...i==null?{}:{minimum:i}}}function w(t,r,i,a){return{primaryId:t,primaryLabel:r,secondaryId:i,secondaryLabel:a}}function nt(t,r="overview",i=null){let a=D(t.labels),l=D(t.hierarchyLabels),u=D(t.freeTextLabels),m=D(t.rowLabels),p=t.gaAreas.filter(e=>e.visible),M=a.map(e=>d(e.ink,e.fill)??0),P=l.map(e=>d(e.ink,e.fill)??0),B=u.map(e=>d(e.ink,e.background)??0),fe=p.map(e=>d(e.effectiveBackground,t.canvasBackground)??0),b=i?t.labels.filter(e=>e.categoryKey===i):t.labels,I=i?t.gaAreas.filter(e=>e.categoryKey===i):t.gaAreas,x=b.filter(e=>e.selected),R=b.filter(e=>e.status==="held"),C=b.filter(e=>e.status==="booked"),_=b.filter(e=>e.pointerTarget.active),W=new Set([...t.labels.filter(e=>e.visible&&(e.opacity>.25||e.selected||e.status!=="free")).map(e=>e.categoryKey),...t.gaAreas.filter(e=>e.visible&&e.opacity>.1).map(e=>e.categoryKey)]),O=x.length?h(x.map(e=>d(e.selectionRingColor??t.selectionRingColor,e.fill)??0)):null,s=[],k=(e,n)=>Array.from({length:e},(g,F)=>({primaryId:`overview:${F+1}`,primaryLabel:n}));r==="overview"&&t.rung==="sections"&&(s.push(c("overview-section-category-paint","Section overview shells must use the neutral hierarchy palette, not category paint",k(t.overviewStyle.categoryPaintedSectionShells,"category-painted section shell"))),s.push(c("overview-category-detail-visible","Category-tinted section detail must wait until section focus or seat zoom",k(t.overviewStyle.visibleCategoryDetailOutlines,"category detail outline"))),s.push(c("overview-row-hints-visible","Row and seat patterns must not clutter the section overview",k(t.overviewStyle.visibleSectionRowHints,"section row hint"))),s.push(c("overview-availability-clutter","Live availability counts belong in focused detail, not on section overview shells",k(t.overviewStyle.visibleSectionAvailabilityLabels,"section availability label"))),s.push(c("overview-ga-detail-visible","Section-contained standing paint belongs in focused detail, not on section overview shells",k(t.overviewStyle.visibleSectionGADetails,"section-contained GA detail")))),s.push(c("bookable-label-undersized","Visible bookable labels must meet the rendered small-text size floor",a.filter(e=>e.renderedFontPx<t.minimumVisibleLabelPx).map(e=>E(e,e.renderedFontPx,t.minimumVisibleLabelPx)))),s.push(c("bookable-label-viewport-clipped","Visible interaction labels must remain fully inside the buyer viewport",r==="interaction"?a.filter(e=>e.screenBox.x<0||e.screenBox.y<0||e.screenBox.x+e.screenBox.width>t.viewport.width||e.screenBox.y+e.screenBox.height>t.viewport.height).map(e=>E(e)):[])),s.push(c("row-label-viewport-clipped","Visible interaction row labels must remain fully inside the buyer viewport",r==="interaction"?m.flatMap((e,n)=>{let g=e.screenBox;return g.x<0||g.y<0||g.x+g.width>t.viewport.width||g.y+g.height>t.viewport.height?[{primaryId:`row-label-${n}`,primaryLabel:e.text}]:[]}):[]));let J=[];if(r==="interaction")for(let e=0;e<m.length;e+=1)for(let n=0;n<e;n+=1)S(m[e].screenBox,m[n].screenBox)&&J.push(w(`row-label-${n}`,m[n].text,`row-label-${e}`,m[e].text));if(s.push(c("row-label-collision","Visible interaction row labels must not overlap",J)),r==="interaction"){let e=b.length>0,n=I.length>0,g=e||n,F=I.filter(o=>o.visible),ye=new Set([...b.flatMap(o=>o.sectionId?[o.sectionId]:[]),...I.flatMap(o=>o.sectionId?[o.sectionId]:[])]),he=new Set([...t.labels.map(o=>o.categoryKey),...t.gaAreas.map(o=>o.categoryKey)]),j=o=>o.screenCenter.x>=0&&o.screenCenter.x<=t.viewport.width&&o.screenCenter.y>=0&&o.screenCenter.y<=t.viewport.height;s.push(c("detail-rung-missing","Interaction evidence with bookable inventory must render the seat-detail rung",g&&t.rung!=="seats"?[{primaryId:"renderer",primaryLabel:t.rung}]:[])),s.push(c("detail-inventory-not-visible","Interaction evidence must frame at least one real bookable unit",g&&!b.some(j)&&!F.length?[{primaryId:"renderer",primaryLabel:"no target inventory in viewport"}]:[])),s.push(c("pointer-target-inactive","Interaction evidence must expose a live production pointer target",e&&!_.some(j)||!e&&n&&!F.some(o=>o.interactive)?[{primaryId:"renderer",primaryLabel:"no active pointer target in viewport"}]:[])),s.push(c("pointer-target-undersized","Every active production pointer target must reach at least 24 CSS pixels",_.filter(o=>j(o)&&o.pointerTarget.effectiveMinimumPx<Y).map(o=>E(o,o.pointerTarget.effectiveMinimumPx,Y)))),s.push(c("selected-state-missing","Interaction evidence must paint a selected unit and its renderer-owned ring",e&&(!x.length||!x.some(o=>t.selectionRingSeatIds.includes(o.seatId)))?[{primaryId:"renderer",primaryLabel:"selected state"}]:[])),s.push(c("selected-state-contrast-low","The selected-state ring must maintain 3:1 graphical contrast with the seat paint",x.length&&(O??0)<N?[{primaryId:x[0].seatId,primaryLabel:x[0].label,measured:Math.round((O??0)*100)/100,minimum:N}]:[])),s.push(c("held-state-missing","Interaction evidence must paint a held state when the floor has at least two status-managed units",b.length>=2&&!R.length?[{primaryId:"renderer",primaryLabel:"held state"}]:[])),s.push(c("booked-state-missing","Interaction evidence must paint a taken state when the floor has at least three status-managed units",b.length>=3&&!C.length?[{primaryId:"renderer",primaryLabel:"booked state"}]:[]));let xe=new Set(R.map(o=>`${o.fill.toLowerCase()}:${o.opacity}`)),ve=new Set(C.map(o=>`${o.fill.toLowerCase()}:${o.opacity}`));s.push(c("status-state-indistinct","Held and taken evidence must resolve to distinct renderer paint",R.length&&C.length&&[...xe].some(o=>ve.has(o))?[{primaryId:R[0].seatId,primaryLabel:R[0].label,secondaryId:C[0].seatId,secondaryLabel:C[0].label}]:[])),s.push(c("section-focus-missing","Interaction evidence must exercise section focus and its backdrop when section membership exists",ye.size&&(!t.focusedSectionId||!t.focusBackdropVisible)?[{primaryId:"renderer",primaryLabel:"section focus"}]:[])),s.push(c("category-filter-missing","Interaction evidence must exercise a category filter when multiple categories exist",he.size>=2&&(!t.categoryFilterKeys||!t.categoryFilterKeys.length)?[{primaryId:"renderer",primaryLabel:"category filter"}]:[]));let K=t.labels.filter(o=>o.status==="free"&&!o.selected&&t.categoryFilterKeys!=null&&!t.categoryFilterKeys.includes(o.categoryKey)),H=t.gaAreas.filter(o=>t.categoryFilterKeys!=null&&!t.categoryFilterKeys.includes(o.categoryKey));s.push(c("category-filter-ineffective","The active category filter must visibly dim excluded free inventory",(K.length||H.length)&&!K.some(o=>o.opacity<=.25)&&!H.some(o=>o.opacity<=.1)?[...K.map(o=>E(o,o.opacity)),...H.map(o=>({primaryId:o.areaId,primaryLabel:o.label,measured:o.opacity}))]:[])),s.push(c("target-category-not-visible","A category-specific interaction scene must visibly paint its exact target category",i&&!W.has(i)?[{primaryId:i,primaryLabel:i}]:[])),s.push(c("target-category-filter-mismatch","A category-specific interaction scene must bind its filter to only the exact target category",i&&(t.categoryFilterKeys?.length!==1||t.categoryFilterKeys[0]!==i)?[{primaryId:i,primaryLabel:i}]:[]))}s.push(c("bookable-label-contrast-low","Visible bookable labels must meet 4.5:1 contrast against their actual paint",a.flatMap(e=>{let n=d(e.ink,e.fill)??0;return n<T?[E(e,n,T)]:[]})));let q=[];for(let e=0;e<a.length;e+=1)for(let n=0;n<e;n+=1)S(a[e].screenBox,a[n].screenBox)&&q.push(w(a[n].seatId,a[n].label,a[e].seatId,a[e].label));s.push(c("bookable-label-collision","Visible bookable labels must not overlap",q)),s.push(c("hierarchy-label-undersized","Visible section and zone labels must meet the rendered small-text size floor",l.filter(e=>e.renderedFontPx<(e.sizeFloorPx??A)).map(e=>G(e,e.renderedFontPx,e.sizeFloorPx??A)))),s.push(c("hierarchy-label-contrast-low","Visible section and zone labels must meet 4.5:1 contrast against their backing paint",l.flatMap(e=>{let n=d(e.ink,e.fill)??0,g=e.kind==="section"&&e.role==="name"?U:T;return n<g?[G(e,n,g)]:[]}))),s.push(c("hierarchy-label-viewport-clipped","Visible overview hierarchy labels must remain fully inside the buyer viewport",r==="overview"?l.filter(e=>e.screenBox.x<0||e.screenBox.y<0||e.screenBox.x+e.screenBox.width>t.viewport.width||e.screenBox.y+e.screenBox.height>t.viewport.height).map(e=>G(e)):[])),s.push(c("hierarchy-label-outside-section","Visible section labels must remain inside the filled section surface and outside holes",l.filter(e=>e.kind==="section"&&e.fitsContainer===!1).map(e=>G(e))));let ee=[];for(let e=0;e<l.length;e+=1)for(let n=0;n<e;n+=1)S(l[e].screenBox,l[n].screenBox)&&ee.push(w(l[n].id,l[n].label,l[e].id,l[e].label));s.push(c("hierarchy-label-collision","Visible hierarchy labels must not overlap each other",ee));let te=[];for(let e of l)for(let n of a)S(e.screenBox,n.screenBox)&&te.push(w(e.id,e.label,n.seatId,n.label));s.push(c("hierarchy-bookable-collision","Visible hierarchy labels must not overlap bookable labels",te)),s.push(c("free-text-undersized","Visible chart text must meet the rendered small-text size floor",u.filter(e=>e.renderedFontPx<t.minimumVisibleLabelPx).map(e=>me(e,e.renderedFontPx,t.minimumVisibleLabelPx)))),s.push(c("free-text-contrast-low","Visible chart text must meet 4.5:1 contrast against its measured background",u.flatMap(e=>{let n=d(e.ink,e.background)??0;return n<T?[me(e,n,T)]:[]})));let re=[];for(let e=0;e<u.length;e+=1)for(let n=0;n<e;n+=1)S(u[e].screenBox,u[n].screenBox)&&re.push(w(u[n].objectId,u[n].text,u[e].objectId,u[e].text));s.push(c("free-text-collision","Visible chart text labels must not overlap each other",re));let ne=[];for(let e of u)for(let n of a)S(e.screenBox,n.screenBox)&&ne.push(w(e.objectId,e.text,n.seatId,n.label));s.push(c("free-text-bookable-collision","Visible chart text must not overlap bookable labels",ne));let ie=[];for(let e of u)for(let n of l)S(e.screenBox,n.screenBox)&&ie.push(w(e.objectId,e.text,n.id,n.label));s.push(c("free-text-hierarchy-collision","Visible chart text must not overlap hierarchy labels",ie)),s.push(c("ga-contrast-low","Visible GA surfaces must maintain 3:1 graphical contrast with the canvas",p.flatMap(e=>{let n=d(e.effectiveBackground,t.canvasBackground)??0;return n<N?[{primaryId:e.areaId,primaryLabel:e.label,measured:Math.round(n*100)/100,minimum:N}]:[]})));let oe=s.filter(e=>!!e);return{version:pe,passed:oe.length===0,state:r,targetCategoryKey:i,resolvedRules:["rendered-overview-label-size","rendered-overview-label-contrast","rendered-overview-label-collision","rendered-overview-hierarchy-viewport","rendered-overview-hierarchy-containment","rendered-overview-section-first-style","rendered-overview-ga-contrast",...r==="interaction"?["rendered-detail-label-viewport","rendered-detail-inventory","rendered-pointer-target","rendered-selected-held-taken-states","rendered-section-focus","rendered-category-filter"]:[]],viewport:t.viewport,canvasBackground:t.canvasBackground,effectiveScale:t.effectiveScale,rung:t.rung,inventory:{totalBookableUnits:t.totalBookableUnits,totalLabelledBookableUnits:t.totalLabelledBookableUnits,visibleBookableLabels:a.length,hiddenBookableLabels:t.hiddenLabels,visibleHierarchyLabels:l.length,visibleFreeTextLabels:u.length,visibleGAAreas:p.length},overviewStyle:t.overviewStyle,composition:{hierarchy:t.hierarchyLabels.filter(e=>e.role==="name").map(e=>({id:e.id,kind:e.kind,label:e.label,visible:e.visible})).sort((e,n)=>e.kind.localeCompare(n.kind)||e.id.localeCompare(n.id)),labelledObjects:t.freeTextLabels.map(e=>({objectId:e.objectId,kind:e.kind,text:e.text,visible:e.visible})).sort((e,n)=>e.objectId.localeCompare(n.objectId)||e.kind.localeCompare(n.kind)),gaAreas:t.gaAreas.map(e=>({areaId:e.areaId,label:e.label,categoryKey:e.categoryKey,...e.sectionId?{sectionId:e.sectionId}:{},visible:e.visible})).sort((e,n)=>e.areaId.localeCompare(n.areaId)),bookableSectionIds:[...new Set(t.labels.flatMap(e=>e.sectionId?[e.sectionId]:[]))].sort(),categoryKeys:[...new Set([...t.labels.map(e=>e.categoryKey),...t.gaAreas.map(e=>e.categoryKey)])].sort(),activeCategoryKeys:[...W].sort()},metrics:{minimumRenderedBookableLabelPx:h(a.map(e=>e.renderedFontPx)),minimumBookableLabelContrast:h(M),minimumRenderedHierarchyLabelPx:h(l.map(e=>e.renderedFontPx)),minimumHierarchyLabelContrast:h(P),minimumRenderedFreeTextPx:h(u.map(e=>e.renderedFontPx)),minimumFreeTextContrast:h(B),minimumGAContrast:h(fe),minimumEffectivePointerTargetPx:h(_.map(e=>e.pointerTarget.effectiveMinimumPx)),selectedRingContrast:O==null?null:Math.round(O*100)/100},interaction:{applicable:{detail:b.length>0||I.length>0,pointer:b.length>0||I.length>0,held:b.length>=2,booked:b.length>=3,sectionFocus:b.some(e=>!!e.sectionId)||I.some(e=>!!e.sectionId),categoryFilter:new Set([...t.labels.map(e=>e.categoryKey),...t.gaAreas.map(e=>e.categoryKey)]).size>=2},selectedUnits:x.length,heldUnits:R.length,bookedUnits:C.length,activePointerTargets:_.length,focusedSectionId:t.focusedSectionId,focusBackdropVisible:t.focusBackdropVisible,categoryFilterKeys:t.categoryFilterKeys},findings:oe}}0&&(module.exports={ACCESS_GLYPH_PATH,ACCESS_GLYPH_VIEWBOX,ACCESS_TYPE_GLYPH_PATHS,AUTHORED_LABEL_MIN_CONTRAST,BOOTH_LABEL_FONT_SIZE,DARK_BOOKABLE_LABEL_INK,DARK_NEUTRAL_SECTION_FILL,GA_CAPACITY_LABEL_FONT_SIZE,GA_FILL_OPACITY,GA_LABEL_FONT_SIZE,LARGE_TEXT_CONTRAST,LIGHT_BOOKABLE_LABEL_INK,LIGHT_NEUTRAL_SECTION_FILL,MIN_POINTER_TARGET_PX,MIN_VISIBLE_BOOKABLE_LABEL_PX,RENDERED_QUALITY_REPORT_VERSION,ROW_LABEL_FONT_SIZE,SEAT_LABEL_FONT_SIZE,SECTION_NAME_CONTRAST,SMALL_TEXT_CONTRAST,accessGlyphInk,accessGlyphPath,accessibilityRingInk,bookableMarkerLabel,categoryBandInk,compositeHexOver,explicitOrStateAwareLabelInk,inspectRenderedQualityEvidence,isBookableLabelLegibleAtScale,isLightFill,mapSeparatingInk,minimumTextContrast,neutralSectionFill,renderedTextContrast,stateAwareBookableLabelInk,summarizeLabelInkContrast});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A as AccessibilityType } from '../../types-B97dNRwl.cjs';
|
|
2
2
|
import { contrastRatioOrNull } from '../color.cjs';
|
|
3
|
-
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-
|
|
4
|
-
import '../../renderer-
|
|
3
|
+
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-yRjbcxVe.cjs';
|
|
4
|
+
import '../../renderer-DbDQtwIH.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Rendering constants that quality inspection must agree with.
|
|
@@ -36,6 +36,14 @@ declare const GA_FILL_OPACITY = 0.85;
|
|
|
36
36
|
declare const MIN_VISIBLE_BOOKABLE_LABEL_PX = 12;
|
|
37
37
|
/** WCAG contrast for normal/small text. */
|
|
38
38
|
declare const SMALL_TEXT_CONTRAST = 4.5;
|
|
39
|
+
/**
|
|
40
|
+
* The section NAME at the overview is a wayfinding tag, not text a buyer reads
|
|
41
|
+
* to decide (owner call, 2026-09-07: "grey, so it has less focus"). It is held
|
|
42
|
+
* to the 3:1 bar for UI components and large-scale text, not the 4.5:1 bar for
|
|
43
|
+
* body copy — the same distinction the accessibility glyphs already draw. The
|
|
44
|
+
* ink is still contrast-repaired against the block at THIS bar.
|
|
45
|
+
*/
|
|
46
|
+
declare const SECTION_NAME_CONTRAST = 3;
|
|
39
47
|
/** WCAG contrast for genuinely large text. */
|
|
40
48
|
declare const LARGE_TEXT_CONTRAST = 3;
|
|
41
49
|
/** Dark/light label candidates used only when a transient rendered state
|
|
@@ -199,4 +207,4 @@ interface LabelInkContrastSummary {
|
|
|
199
207
|
*/
|
|
200
208
|
declare function summarizeLabelInkContrast(preferred: string, backgrounds: Iterable<string>, minContrast?: number): LabelInkContrastSummary;
|
|
201
209
|
|
|
202
|
-
export { ACCESS_GLYPH_PATH, ACCESS_GLYPH_VIEWBOX, ACCESS_TYPE_GLYPH_PATHS, AUTHORED_LABEL_MIN_CONTRAST, type AccessibilityRingInkOptions, BOOTH_LABEL_FONT_SIZE, DARK_BOOKABLE_LABEL_INK, DARK_NEUTRAL_SECTION_FILL, GA_CAPACITY_LABEL_FONT_SIZE, GA_FILL_OPACITY, GA_LABEL_FONT_SIZE, LARGE_TEXT_CONTRAST, LIGHT_BOOKABLE_LABEL_INK, LIGHT_NEUTRAL_SECTION_FILL, type LabelInkContrastSummary, MIN_VISIBLE_BOOKABLE_LABEL_PX, ROW_LABEL_FONT_SIZE, SEAT_LABEL_FONT_SIZE, SMALL_TEXT_CONTRAST, accessGlyphInk, accessGlyphPath, accessibilityRingInk, bookableMarkerLabel, categoryBandInk, compositeHexOver, explicitOrStateAwareLabelInk, isBookableLabelLegibleAtScale, isLightFill, mapSeparatingInk, minimumTextContrast, neutralSectionFill, renderedTextContrast, stateAwareBookableLabelInk, summarizeLabelInkContrast };
|
|
210
|
+
export { ACCESS_GLYPH_PATH, ACCESS_GLYPH_VIEWBOX, ACCESS_TYPE_GLYPH_PATHS, AUTHORED_LABEL_MIN_CONTRAST, type AccessibilityRingInkOptions, BOOTH_LABEL_FONT_SIZE, DARK_BOOKABLE_LABEL_INK, DARK_NEUTRAL_SECTION_FILL, GA_CAPACITY_LABEL_FONT_SIZE, GA_FILL_OPACITY, GA_LABEL_FONT_SIZE, LARGE_TEXT_CONTRAST, LIGHT_BOOKABLE_LABEL_INK, LIGHT_NEUTRAL_SECTION_FILL, type LabelInkContrastSummary, MIN_VISIBLE_BOOKABLE_LABEL_PX, ROW_LABEL_FONT_SIZE, SEAT_LABEL_FONT_SIZE, SECTION_NAME_CONTRAST, SMALL_TEXT_CONTRAST, accessGlyphInk, accessGlyphPath, accessibilityRingInk, bookableMarkerLabel, categoryBandInk, compositeHexOver, explicitOrStateAwareLabelInk, isBookableLabelLegibleAtScale, isLightFill, mapSeparatingInk, minimumTextContrast, neutralSectionFill, renderedTextContrast, stateAwareBookableLabelInk, summarizeLabelInkContrast };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A as AccessibilityType } from '../../types-B97dNRwl.js';
|
|
2
2
|
import { contrastRatioOrNull } from '../color.js';
|
|
3
|
-
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-
|
|
4
|
-
import '../../renderer-
|
|
3
|
+
export { M as MIN_POINTER_TARGET_PX, R as RENDERED_QUALITY_REPORT_VERSION, a as RenderedEvidenceState, b as RenderedQualityFinding, c as RenderedQualityFindingCode, d as RenderedQualityReport, e as RenderedQualitySample, i as inspectRenderedQualityEvidence } from '../../renderedQuality-Dy7LBzNF.js';
|
|
4
|
+
import '../../renderer-xE1rZCGy.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Rendering constants that quality inspection must agree with.
|
|
@@ -36,6 +36,14 @@ declare const GA_FILL_OPACITY = 0.85;
|
|
|
36
36
|
declare const MIN_VISIBLE_BOOKABLE_LABEL_PX = 12;
|
|
37
37
|
/** WCAG contrast for normal/small text. */
|
|
38
38
|
declare const SMALL_TEXT_CONTRAST = 4.5;
|
|
39
|
+
/**
|
|
40
|
+
* The section NAME at the overview is a wayfinding tag, not text a buyer reads
|
|
41
|
+
* to decide (owner call, 2026-09-07: "grey, so it has less focus"). It is held
|
|
42
|
+
* to the 3:1 bar for UI components and large-scale text, not the 4.5:1 bar for
|
|
43
|
+
* body copy — the same distinction the accessibility glyphs already draw. The
|
|
44
|
+
* ink is still contrast-repaired against the block at THIS bar.
|
|
45
|
+
*/
|
|
46
|
+
declare const SECTION_NAME_CONTRAST = 3;
|
|
39
47
|
/** WCAG contrast for genuinely large text. */
|
|
40
48
|
declare const LARGE_TEXT_CONTRAST = 3;
|
|
41
49
|
/** Dark/light label candidates used only when a transient rendered state
|
|
@@ -199,4 +207,4 @@ interface LabelInkContrastSummary {
|
|
|
199
207
|
*/
|
|
200
208
|
declare function summarizeLabelInkContrast(preferred: string, backgrounds: Iterable<string>, minContrast?: number): LabelInkContrastSummary;
|
|
201
209
|
|
|
202
|
-
export { ACCESS_GLYPH_PATH, ACCESS_GLYPH_VIEWBOX, ACCESS_TYPE_GLYPH_PATHS, AUTHORED_LABEL_MIN_CONTRAST, type AccessibilityRingInkOptions, BOOTH_LABEL_FONT_SIZE, DARK_BOOKABLE_LABEL_INK, DARK_NEUTRAL_SECTION_FILL, GA_CAPACITY_LABEL_FONT_SIZE, GA_FILL_OPACITY, GA_LABEL_FONT_SIZE, LARGE_TEXT_CONTRAST, LIGHT_BOOKABLE_LABEL_INK, LIGHT_NEUTRAL_SECTION_FILL, type LabelInkContrastSummary, MIN_VISIBLE_BOOKABLE_LABEL_PX, ROW_LABEL_FONT_SIZE, SEAT_LABEL_FONT_SIZE, SMALL_TEXT_CONTRAST, accessGlyphInk, accessGlyphPath, accessibilityRingInk, bookableMarkerLabel, categoryBandInk, compositeHexOver, explicitOrStateAwareLabelInk, isBookableLabelLegibleAtScale, isLightFill, mapSeparatingInk, minimumTextContrast, neutralSectionFill, renderedTextContrast, stateAwareBookableLabelInk, summarizeLabelInkContrast };
|
|
210
|
+
export { ACCESS_GLYPH_PATH, ACCESS_GLYPH_VIEWBOX, ACCESS_TYPE_GLYPH_PATHS, AUTHORED_LABEL_MIN_CONTRAST, type AccessibilityRingInkOptions, BOOTH_LABEL_FONT_SIZE, DARK_BOOKABLE_LABEL_INK, DARK_NEUTRAL_SECTION_FILL, GA_CAPACITY_LABEL_FONT_SIZE, GA_FILL_OPACITY, GA_LABEL_FONT_SIZE, LARGE_TEXT_CONTRAST, LIGHT_BOOKABLE_LABEL_INK, LIGHT_NEUTRAL_SECTION_FILL, type LabelInkContrastSummary, MIN_VISIBLE_BOOKABLE_LABEL_PX, ROW_LABEL_FONT_SIZE, SEAT_LABEL_FONT_SIZE, SECTION_NAME_CONTRAST, SMALL_TEXT_CONTRAST, accessGlyphInk, accessGlyphPath, accessibilityRingInk, bookableMarkerLabel, categoryBandInk, compositeHexOver, explicitOrStateAwareLabelInk, isBookableLabelLegibleAtScale, isLightFill, mapSeparatingInk, minimumTextContrast, neutralSectionFill, renderedTextContrast, stateAwareBookableLabelInk, summarizeLabelInkContrast };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as H,b as I,c as J}from"../../chunk-GI7ZTQ7C.js";import{A,B,C,D,E,F,G,a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c,l as d,m as g,n as h,o as i,p as j,q as k,r as l,s as n,t as q,u as s,v as u,w as v,x as w,y,z}from"../../chunk-W53J4FJS.js";import"../../chunk-4I2VWFJY.js";import"../../chunk-JBOTRSMY.js";export{k as ACCESS_GLYPH_PATH,i as ACCESS_GLYPH_VIEWBOX,j as ACCESS_TYPE_GLYPH_PATHS,v as AUTHORED_LABEL_MIN_CONTRAST,e as BOOTH_LABEL_FONT_SIZE,c as DARK_BOOKABLE_LABEL_INK,E as DARK_NEUTRAL_SECTION_FILL,m as GA_CAPACITY_LABEL_FONT_SIZE,p as GA_FILL_OPACITY,f as GA_LABEL_FONT_SIZE,b as LARGE_TEXT_CONTRAST,d as LIGHT_BOOKABLE_LABEL_INK,D as LIGHT_NEUTRAL_SECTION_FILL,I as MIN_POINTER_TARGET_PX,t as MIN_VISIBLE_BOOKABLE_LABEL_PX,H as RENDERED_QUALITY_REPORT_VERSION,r as ROW_LABEL_FONT_SIZE,o as SEAT_LABEL_FONT_SIZE,a as SECTION_NAME_CONTRAST,x as SMALL_TEXT_CONTRAST,B as accessGlyphInk,l as accessGlyphPath,n as accessibilityRingInk,q as bookableMarkerLabel,w as categoryBandInk,u as compositeHexOver,A as explicitOrStateAwareLabelInk,J as inspectRenderedQualityEvidence,h as isBookableLabelLegibleAtScale,C as isLightFill,y as mapSeparatingInk,g as minimumTextContrast,F as neutralSectionFill,s as renderedTextContrast,z as stateAwareBookableLabelInk,G as summarizeLabelInkContrast};
|
|
@@ -3,7 +3,7 @@ export { D as DEFAULT_SECTION_CORNER_SMOOTHING, M as MAX_EDGE_SAGITTA_RATIO, R a
|
|
|
3
3
|
export { SeatConfidenceDisclosure, seatConfidenceDisclosure } from '../seatConfidence.cjs';
|
|
4
4
|
import { S as SegmentedRowPlacement } from '../../segmentedRowModel-uu0WfRIz.cjs';
|
|
5
5
|
export { A as AvailabilityRule, S as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID, a as applyHidden, c as computeSections, h as hiddenObjectIds, i as isSectionHidden, s as sectionGeometry } from '../../sections-B1DzCiqs.cjs';
|
|
6
|
-
import { E as ExpandedSeat } from '../../renderer-
|
|
6
|
+
import { E as ExpandedSeat } from '../../renderer-DbDQtwIH.cjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* THE bowl resolver — whether a floor's stands wrap a centre, and the smooth
|
|
@@ -3,7 +3,7 @@ export { D as DEFAULT_SECTION_CORNER_SMOOTHING, M as MAX_EDGE_SAGITTA_RATIO, R a
|
|
|
3
3
|
export { SeatConfidenceDisclosure, seatConfidenceDisclosure } from '../seatConfidence.js';
|
|
4
4
|
import { S as SegmentedRowPlacement } from '../../segmentedRowModel-NH_qhgic.js';
|
|
5
5
|
export { A as AvailabilityRule, S as SectionNode, T as TIER_HEIGHT_M, U as UNGROUPED_ID, a as applyHidden, c as computeSections, h as hiddenObjectIds, i as isSectionHidden, s as sectionGeometry } from '../../sections-DcD6uNuO.js';
|
|
6
|
-
import { E as ExpandedSeat } from '../../renderer-
|
|
6
|
+
import { E as ExpandedSeat } from '../../renderer-xE1rZCGy.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* THE bowl resolver — whether a floor's stands wrap a centre, and the smooth
|