@seatlayer/core 0.77.2 → 0.79.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/ar-MBXKQCHF.js +1 -0
- package/dist/be-ZUVYQYAI.js +1 -0
- package/dist/bg-62YMMGP4.js +1 -0
- package/dist/ca-6CX2TCFE.js +1 -0
- package/dist/{categoryInventory-IgpsH6KG.d.cts → categoryInventory-BR7noBOD.d.cts} +1 -1
- package/dist/{categoryInventory-C_NIm0jr.d.ts → categoryInventory-CZRNxr1T.d.ts} +1 -1
- package/dist/{chunk-BXU5D2Q5.js → chunk-SSBMTFAV.js} +1 -1
- package/dist/core/chart-ops/index.d.cts +4 -4
- package/dist/core/chart-ops/index.d.ts +4 -4
- package/dist/core/inventory/index.d.cts +5 -34
- package/dist/core/inventory/index.d.ts +5 -34
- package/dist/core/layout/index.d.cts +5 -5
- package/dist/core/layout/index.d.ts +5 -5
- package/dist/core/quality/index.cjs +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 +1 -1
- package/dist/core/render-assets/index.d.ts +1 -1
- package/dist/core/seatConfidence.d.cts +1 -1
- package/dist/core/seatConfidence.d.ts +1 -1
- package/dist/core/sections/index.d.cts +5 -5
- package/dist/core/sections/index.d.ts +5 -5
- package/dist/cs-HPMCEWCG.js +1 -0
- package/dist/cy-NF6Y2W6J.js +1 -0
- package/dist/da-22D72GSM.js +1 -0
- package/dist/de-RPFLEDOZ.js +1 -0
- package/dist/el-FUQRGODC.js +1 -0
- package/dist/es-MCE7ZWGC.js +1 -0
- package/dist/et-GS4LQD5N.js +1 -0
- package/dist/{eventConfigurations-71rHjKl7.d.ts → eventConfigurations-DhGEe6fT.d.ts} +1 -1
- package/dist/{eventConfigurations-vOMFVz7c.d.cts → eventConfigurations-OVlni2ym.d.cts} +1 -1
- package/dist/fa-5MNQP3RH.js +1 -0
- package/dist/fi-5A22IZ6C.js +1 -0
- package/dist/fr-QSMP5CON.js +1 -0
- package/dist/he-ET4VHFSC.js +1 -0
- package/dist/{hr-IMBN4Z7O.js → hr-CEQPLBXQ.js} +1 -1
- package/dist/hu-NWXXZPCO.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +181 -49
- package/dist/index.d.ts +181 -49
- package/dist/index.js +1 -1
- package/dist/it-LJJQ32WS.js +1 -0
- package/dist/ja-JH7SZMXQ.js +1 -0
- package/dist/ku-ZEL3JYZ3.js +1 -0
- package/dist/{labeling-BnjyAEbI.d.ts → labeling-Btg_slmM.d.ts} +1 -1
- package/dist/{labeling-pdEv7UN1.d.cts → labeling-DzPlkJct.d.cts} +1 -1
- package/dist/localeLoaders-CG4DAMUW.js +1 -0
- package/dist/lt-X4GMJWOB.js +1 -0
- package/dist/lv-OORJZFNN.js +1 -0
- package/dist/nl-EIWNKXHE.js +1 -0
- package/dist/no-KE42FJWD.js +1 -0
- package/dist/pl-ATCAGIF2.js +1 -0
- package/dist/pt-5DSXBZNH.js +1 -0
- package/dist/{renderedQuality-DN8SFFjk.d.ts → renderedQuality-C4-5Oy6-.d.ts} +1 -1
- package/dist/{renderedQuality-CRLkEGf8.d.cts → renderedQuality-CHAf5J4i.d.cts} +1 -1
- package/dist/{renderer-B6kkgOHz.d.cts → renderer-Bx0ucRf6.d.ts} +27 -2
- package/dist/{renderer-ByLmyQe_.d.ts → renderer-CuLIU7z1.d.cts} +27 -2
- package/dist/ro-ESUBYINR.js +1 -0
- package/dist/ru-5SYA53AZ.js +1 -0
- package/dist/{sections-CQ0sd37E.d.cts → sections-DUG5M-hF.d.cts} +1 -1
- package/dist/{sections-F6wMlVqx.d.ts → sections-Du9QkrCf.d.ts} +1 -1
- package/dist/{segmentedRowModel-DqFhb-7Q.d.cts → segmentedRowModel-BYSxfsqX.d.cts} +1 -1
- package/dist/{segmentedRowModel-D-CEgxg7.d.ts → segmentedRowModel-N9Z0rnKY.d.ts} +1 -1
- package/dist/sk-QHQ7T2BK.js +1 -0
- package/dist/sl-OQHYGFQ7.js +1 -0
- package/dist/sr-VOVDWZBT.js +1 -0
- package/dist/sv-II3AGEJF.js +1 -0
- package/dist/{tableSizing-B0JegL6B.d.ts → tableSizing-Dr-ksQTq.d.ts} +3 -3
- package/dist/{tableSizing-DKygWd7z.d.cts → tableSizing-tDaLWj54.d.cts} +3 -3
- package/dist/{ticketRestrictions-Bp7ET0j4.d.ts → ticketRestrictions-7HrT6IQM.d.ts} +32 -3
- package/dist/{ticketRestrictions-CvGDnGS8.d.cts → ticketRestrictions-B4eT6vEy.d.cts} +32 -3
- package/dist/tr-EZHEWRQG.js +1 -0
- package/dist/{types-Dq-ipTBG.d.ts → types-eVmh2-Yn.d.cts} +1 -1
- package/dist/{types-Dq-ipTBG.d.cts → types-eVmh2-Yn.d.ts} +1 -1
- package/dist/uk-V3LWALME.js +1 -0
- package/dist/view3d/crossfade/panorama.d.cts +1 -1
- package/dist/view3d/crossfade/panorama.d.ts +1 -1
- package/dist/view3d/index.d.cts +3 -3
- package/dist/view3d/index.d.ts +3 -3
- package/dist/zh-Hans-WG6IMHH2.js +1 -0
- package/dist/zh-Hant-I55RLM6N.js +1 -0
- package/package.json +1 -1
- package/dist/ar-ESLFQEY3.js +0 -1
- package/dist/be-7WI4WG2B.js +0 -1
- package/dist/bg-KKEOOUYL.js +0 -1
- package/dist/ca-L36KKI76.js +0 -1
- package/dist/cs-2IEWVOHA.js +0 -1
- package/dist/cy-A5YBQD5Q.js +0 -1
- package/dist/da-IDXUY3QI.js +0 -1
- package/dist/de-L5PFY4CY.js +0 -1
- package/dist/el-4DPNHJGB.js +0 -1
- package/dist/es-IMADA3UR.js +0 -1
- package/dist/et-G6PPK4SF.js +0 -1
- package/dist/fa-3RYGYXBU.js +0 -1
- package/dist/fi-KRSYZSV4.js +0 -1
- package/dist/fr-FOSKFLMV.js +0 -1
- package/dist/he-RXSGTRSH.js +0 -1
- package/dist/hu-UYWLVBH3.js +0 -1
- package/dist/it-ZAWFQCOM.js +0 -1
- package/dist/ja-QZGXTROI.js +0 -1
- package/dist/ku-ZCTX4KKG.js +0 -1
- package/dist/localeLoaders-BZZWN35C.js +0 -1
- package/dist/lt-N2OMHLDZ.js +0 -1
- package/dist/lv-WLIXXNIX.js +0 -1
- package/dist/nl-LZILGXRW.js +0 -1
- package/dist/no-2OJ4BSZI.js +0 -1
- package/dist/pl-FZUMWN56.js +0 -1
- package/dist/pt-R4XWF7UT.js +0 -1
- package/dist/ro-WK3CNXGW.js +0 -1
- package/dist/ru-AGP7UPXQ.js +0 -1
- package/dist/sk-LNR3ENI4.js +0 -1
- package/dist/sl-UG367TMJ.js +0 -1
- package/dist/sr-IHG5CL3F.js +0 -1
- package/dist/sv-RIFQBC5U.js +0 -1
- package/dist/tr-LWSQYBXN.js +0 -1
- package/dist/uk-ZSWFWCW7.js +0 -1
- package/dist/zh-Hans-P4CJH4VJ.js +0 -1
- package/dist/zh-Hant-X7CHEXML.js +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType,
|
|
2
|
-
export { x as ACCESSIBILITY_RING_COLOR, y as ACCESSIBILITY_TYPES, z as AccessibilityMeta, D as AuthoringObjectState, B as BoothObject, p as Category, E as ChartLayoutConstraint, a as ChartObject, o as ChartReferenceImage, H as ChartTheme, I as ConfidenceEvidenceScope, u as CubicPath, J as DecorImageObject, m as Floor, G as GAAreaObject,
|
|
3
|
-
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-
|
|
4
|
-
export { d as EVENT_CONFIGURATION_EXPORT_SCHEMA, e as EVENT_CONFIGURATION_SCHEMA, f as EventConfigurationBaseVenue, g as EventConfigurationCompatibilityIssue, h as EventConfigurationCompatibilityIssueCode, i as EventConfigurationCompatibilityResult, j as EventConfigurationExportEnvelope, k as EventConfigurationLifecycleStatus, a as EventConfigurationOcclusion, l as EventConfigurationOverlay, m as EventConfigurationParseIssue, n as EventConfigurationParseIssueCode, o as EventConfigurationParseResult, p as EventConfigurationProductionElement, E as EventConfigurationProductionElementKind, q as EventConfigurationVenueSnapshot, r as EventConfigurationVersionParseResult, s as EventConfigurationVersionSummary, L as LegacyEventConfigurationMigrationResult, t as canTransitionEventConfiguration, u as canonicalEventConfigurationJson, v as inspectEventConfigurationCompatibility, w as migrateLegacyEventConfigurations, x as parseEventConfigurationExport, y as parseEventConfigurationVersion, z as resolveEventConfigurationRollback } from './eventConfigurations-
|
|
5
|
-
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 expandBooth, j as expandChart, k as expandRow, l as expandRowSlots, m as expandTable, n as expandTableSlots, o as floorObjects, p as floorStackPlacements, q as floorsOf, r as initialFloorMode, s as layoutFloorStack, t as mainFloorId, u as objectCenter, v as owningSectionForObject, w as pointInPolygon, x as pointInPolygonWithHoles, y as polygonLabelPoint, z as rowInventoryCount, B as rowSeatPositions, D as stackFloors, G as tableInventoryCount, H as tableSeatCountsBySide, I as translateObject } from './tableSizing-
|
|
6
|
-
import {
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY,
|
|
8
|
-
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-
|
|
9
|
-
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-
|
|
10
|
-
import { I as ISeatmapRenderer, b as RendererOptions, S as SeatStatus, c as SeatMark, E as ExpandedSeat, G as GAAreaState, d as RendererViewMode, e as RendererMinimapSnapshot, L as LodRung, R as RendererQualityEvidence, f as RendererCallbacks } from './renderer-
|
|
11
|
-
export { C as CHART_STORAGE_KEY, g as RenderedBookableLabelEvidence, a as RenderedFreeTextEvidence, h as RenderedGAAreaEvidence, i as RenderedHierarchyLabelEvidence, j as RenderedLabelHiddenReason, k as RenderedRowLabelEvidence, l as RendererHoverDetails, m as RendererMinimapSeat, n as RendererMinimapSection, o as SeatMarkKind } from './renderer-
|
|
12
|
-
import './segmentedRowModel-
|
|
1
|
+
import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType, j as CategoryTier, S as SeatCommercialAttributes, w as ChartDeliveryPerformance } from './types-eVmh2-Yn.cjs';
|
|
2
|
+
export { x as ACCESSIBILITY_RING_COLOR, y as ACCESSIBILITY_TYPES, z as AccessibilityMeta, D as AuthoringObjectState, B as BoothObject, p as Category, E as ChartLayoutConstraint, a as ChartObject, o as ChartReferenceImage, H as ChartTheme, I as ConfidenceEvidenceScope, u as CubicPath, J as DecorImageObject, m as Floor, G as GAAreaObject, i as GAInventorySegment, K as LABEL_STYLE_MAX_SIZE, M as LABEL_STYLE_MIN_SIZE, N as LabelPresentation, L as LabelStyle, O as ObjectEditorState, Q as Physical3dEvidence, U as RadialClearanceLayoutConstraint, n as RectTableSeatCounts, l as RectTableSide, V as ReferenceAccessibilitySource, W as ReferenceCalibration, X as ReferenceCategorySource, Y as ReferenceDerivedScale, Z as ReferenceDirectAnnotationSource, _ as ReferenceDirectLandmarkCandidate, $ as ReferenceDirectLandmarkDisposition, a0 as ReferenceDirectLandmarkRole, a1 as ReferenceDirectLandmarkSource, a2 as ReferenceDirectSeatGroup, a3 as ReferenceDirectSeatImportSource, a4 as ReferenceDirectSeatPlan, a5 as ReferenceDirectStageSource, a6 as ReferenceEnrichmentStatus, a7 as ReferenceExtractEmptyReason, a8 as ReferenceExtractEnrichment, a9 as ReferenceExtractInput, aa as ReferenceExtractProposal, ab as ReferenceExtractRegionSeats, ac as ReferenceInventoryExclusionSource, ad as ReferenceInventorySource, ae as ReferenceMatchReport, af as ReferenceScanProposal, ag as ReferenceScanRowProposal, ah as ReferenceScanSectionProposal, ai as ReferenceSeatSeed, aj as ReferenceSectionTraceBatchInput, ak as ReferenceSectionTraceBatchProposal, al as ReferenceSectionTraceInput, am as ReferenceSectionTraceProposal, c as ResolvedSeatConfidenceEvidence, R as RowObject, an as SEAT_COMMERCIAL_MARKS, ao as STAGE_LABEL_STYLE_MAX_SIZE, ap as SURROUNDINGS_SHAPE_ROLES, aq as SeatCommercialMark, ar as SeatCommercialMeta, as as SeatConfidenceCoverage, at as SeatConfidenceEvidence, au as SeatConfidenceModelLevel, av as SeatConfidenceModeledTarget, aw as SeatConfidenceRealityLevel, d as SeatGlyphKind, k as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, ax as SeatViewVariant, h as SectionObject, f as SectionOutlinePath, g as SectionPathSegment, ay as SelectionLayer, q as ShapeLineCap, r as ShapeLineEnding, s as ShapeLineJoin, t as ShapeObject, az as StageLabelStyle, T as TableObject, aA as TextAlignment, aB as TextBackground, v as TextObject, aC as TicketTierApplicability, aD as TicketTierEvidence, aE as TicketTierRestriction, aF as Venue3DMaterialPalette, aG as VenueSurveyRegistrationEvidence, aH as ZoneDef, aI as accessibilityMeta, aJ as accessibilityRingColor, aK as layerOf, aL as seatCommercialMeta } from './types-eVmh2-Yn.cjs';
|
|
3
|
+
import { c as EventConfigurationRef, b as EventConfigurationVersion } from './eventConfigurations-OVlni2ym.cjs';
|
|
4
|
+
export { d as EVENT_CONFIGURATION_EXPORT_SCHEMA, e as EVENT_CONFIGURATION_SCHEMA, f as EventConfigurationBaseVenue, g as EventConfigurationCompatibilityIssue, h as EventConfigurationCompatibilityIssueCode, i as EventConfigurationCompatibilityResult, j as EventConfigurationExportEnvelope, k as EventConfigurationLifecycleStatus, a as EventConfigurationOcclusion, l as EventConfigurationOverlay, m as EventConfigurationParseIssue, n as EventConfigurationParseIssueCode, o as EventConfigurationParseResult, p as EventConfigurationProductionElement, E as EventConfigurationProductionElementKind, q as EventConfigurationVenueSnapshot, r as EventConfigurationVersionParseResult, s as EventConfigurationVersionSummary, L as LegacyEventConfigurationMigrationResult, t as canTransitionEventConfiguration, u as canonicalEventConfigurationJson, v as inspectEventConfigurationCompatibility, w as migrateLegacyEventConfigurations, x as parseEventConfigurationExport, y as parseEventConfigurationVersion, z as resolveEventConfigurationRollback } from './eventConfigurations-OVlni2ym.cjs';
|
|
5
|
+
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 expandBooth, j as expandChart, k as expandRow, l as expandRowSlots, m as expandTable, n as expandTableSlots, o as floorObjects, p as floorStackPlacements, q as floorsOf, r as initialFloorMode, s as layoutFloorStack, t as mainFloorId, u as objectCenter, v as owningSectionForObject, w as pointInPolygon, x as pointInPolygonWithHoles, y as polygonLabelPoint, z as rowInventoryCount, B as rowSeatPositions, D as stackFloors, G as tableInventoryCount, H as tableSeatCountsBySide, I as translateObject } from './tableSizing-tDaLWj54.cjs';
|
|
6
|
+
import { f as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-B4eT6vEy.cjs';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, j as gaAreasOf, k as gaInventorySegments, l as gaUnitLabel, m as gaUnitLabels, o as growJoinedGAInventory, p as isGaUnitLabel, v as validGAInventorySegments } from './ticketRestrictions-B4eT6vEy.cjs';
|
|
8
|
+
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-DUG5M-hF.cjs';
|
|
9
|
+
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-CHAf5J4i.cjs';
|
|
10
|
+
import { I as ISeatmapRenderer, b as RendererOptions, S as SeatStatus, c as SeatMark, E as ExpandedSeat, G as GAAreaState, d as RendererViewMode, e as RendererMinimapSnapshot, L as LodRung, R as RendererQualityEvidence, f as RendererCallbacks } from './renderer-CuLIU7z1.cjs';
|
|
11
|
+
export { C as CHART_STORAGE_KEY, g as RenderedBookableLabelEvidence, a as RenderedFreeTextEvidence, h as RenderedGAAreaEvidence, i as RenderedHierarchyLabelEvidence, j as RenderedLabelHiddenReason, k as RenderedRowLabelEvidence, l as RendererHoverDetails, m as RendererMinimapSeat, n as RendererMinimapSection, o as SeatMarkKind } from './renderer-CuLIU7z1.cjs';
|
|
12
|
+
import './segmentedRowModel-BYSxfsqX.cjs';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Half-width of the band around a legibility threshold, in rendered pixels.
|
|
@@ -273,6 +273,11 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
273
273
|
/** Non-listening visual dim outside the focused section. One overlay replaces
|
|
274
274
|
* descendant opacity mutations across every seat in the venue. */
|
|
275
275
|
private focusDimOverlay;
|
|
276
|
+
/** Does entering a section draw the entrance dim + backdrop? Off for narrow
|
|
277
|
+
* (phone) layouts — see {@link setSectionFocusDim}. */
|
|
278
|
+
private sectionFocusDim;
|
|
279
|
+
/** How many camera moves the BUYER has made — see {@link getCameraGestureCount}. */
|
|
280
|
+
private cameraGestures;
|
|
276
281
|
/** Object id → floor id (multi-floor only) — resolves a deck tap in the 3D stack. */
|
|
277
282
|
private objectFloor;
|
|
278
283
|
/** Seats with no owning section, computed once per chart — see
|
|
@@ -890,6 +895,28 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
890
895
|
* behaviour, the glide is only an entrance.
|
|
891
896
|
*/
|
|
892
897
|
private releaseSectionFocusDim;
|
|
898
|
+
/**
|
|
899
|
+
* Take the entrance dim + backdrop down, leaving every other part of the
|
|
900
|
+
* focus (id, anchor, LOD, camera) alone. Shared by the buyer's first pan and
|
|
901
|
+
* by {@link setSectionFocusDim} switching the treatment off mid-focus.
|
|
902
|
+
*/
|
|
903
|
+
private dropFocusDim;
|
|
904
|
+
/**
|
|
905
|
+
* Should entering a section dim the rest of the venue?
|
|
906
|
+
*
|
|
907
|
+
* On a desktop map the entrance dim says "this is the section you are in"
|
|
908
|
+
* against a bowl that is still mostly on screen. On a phone the focused
|
|
909
|
+
* section fills the viewport, so the same treatment only blackens the strip
|
|
910
|
+
* of edges around it — cost without the message (client report, narrow
|
|
911
|
+
* layout). The picker turns it off for `data-layout="narrow"` and back on
|
|
912
|
+
* for wide.
|
|
913
|
+
*
|
|
914
|
+
* Everything else about a focus is untouched: focusedSectionId, focusAnchor,
|
|
915
|
+
* the LOD pass and the camera glide are the same either way, and
|
|
916
|
+
* `focusedSeatOpacity` is already gated on the overlay existing, so seats and
|
|
917
|
+
* their labels simply stay at full brightness.
|
|
918
|
+
*/
|
|
919
|
+
setSectionFocusDim(enabled: boolean): void;
|
|
893
920
|
/** Clear an AXS section focus — restore full-bowl brightness + drop the backdrop. */
|
|
894
921
|
clearSectionFocus(): void;
|
|
895
922
|
/** The currently AXS-focused section id, or null. */
|
|
@@ -938,6 +965,33 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
938
965
|
/** Minimap drag/click navigation: preserve zoom and move one world point to
|
|
939
966
|
* the viewport centre. Works for flat and projected views via worldToScreen. */
|
|
940
967
|
panToWorld(point: Point): void;
|
|
968
|
+
/**
|
|
969
|
+
* Pan by a screen-space delta — zoom untouched, nothing reframed.
|
|
970
|
+
*
|
|
971
|
+
* `panToWorld` centres a point, which is the wrong instrument when only ONE
|
|
972
|
+
* axis matters: the phone confirm card is a resting bottom sheet, and a seat
|
|
973
|
+
* tapped under it has to be lifted into the clear band above the sheet with
|
|
974
|
+
* its x exactly where the buyer left it. Centring would slide the map
|
|
975
|
+
* sideways as well, which reads as the map running away from the tap.
|
|
976
|
+
*
|
|
977
|
+
* Animated by default with the camera glide's own easing, so the lift is
|
|
978
|
+
* read as the map moving rather than as a cut; `animate: false` and reduced
|
|
979
|
+
* motion both snap.
|
|
980
|
+
*/
|
|
981
|
+
panScreenBy(delta: Point, opts?: {
|
|
982
|
+
animate?: boolean;
|
|
983
|
+
}): void;
|
|
984
|
+
/**
|
|
985
|
+
* How many camera moves the buyer has made with their own hands — a drag, a
|
|
986
|
+
* pinch or a wheel. Monotonic, and it counts GESTURES, not frames: one drag
|
|
987
|
+
* of any length is one.
|
|
988
|
+
*
|
|
989
|
+
* For a host that moved the camera itself and wants to put it back only if
|
|
990
|
+
* the buyer has not since taken over. Comparing camera positions cannot
|
|
991
|
+
* answer that — a programmatic glide is still in flight, and a pan that ends
|
|
992
|
+
* where it started is indistinguishable from no pan at all.
|
|
993
|
+
*/
|
|
994
|
+
getCameraGestureCount(): number;
|
|
941
995
|
/** Legend hover: highlight one category (dim the rest), or null to clear. */
|
|
942
996
|
setCategoryHighlight(key: string | null): void;
|
|
943
997
|
private renderBackground;
|
|
@@ -1953,17 +2007,57 @@ interface PickerAccessNeed {
|
|
|
1953
2007
|
*/
|
|
1954
2008
|
declare function accessNeedsFor(seats: Iterable<ExpandedSeat>, statusOf: (seatId: string) => string): PickerAccessNeed[];
|
|
1955
2009
|
|
|
2010
|
+
/**
|
|
2011
|
+
* WHICH ANSWER ABOUT THE SEAT MAP IS THE YOUNGER ONE.
|
|
2012
|
+
*
|
|
2013
|
+
* The picker's open path runs its reads concurrently: the chart, the compact
|
|
2014
|
+
* inventory snapshot and the live socket all start together, so a buyer sees a
|
|
2015
|
+
* correct map at `max(reads) + parse` instead of at the sum of them. What that
|
|
2016
|
+
* buys in latency it costs in ordering, because three things can now happen
|
|
2017
|
+
* that a strictly serial boot made impossible:
|
|
2018
|
+
*
|
|
2019
|
+
* 1. An authoritative snapshot arrives BEFORE the chart does. The renderer
|
|
2020
|
+
* holds no seats yet, so painting is not an option — but dropping it is
|
|
2021
|
+
* worse, because the next authoritative answer may be seconds away.
|
|
2022
|
+
* 2. A live socket frame overtakes an HTTP body that was already in flight.
|
|
2023
|
+
* The body then lands LAST while describing an EARLIER instant, and
|
|
2024
|
+
* applying it un-sells seats the buyer has already been shown as gone.
|
|
2025
|
+
* 3. Both a buffered snapshot and the boot read are waiting when the chart
|
|
2026
|
+
* finally lands, and exactly one of them has to paint first.
|
|
2027
|
+
*
|
|
2028
|
+
* All three are the same question — which of two answers is younger — so it is
|
|
2029
|
+
* answered once, here, rather than three times inside PickerController where
|
|
2030
|
+
* each answer would be a different `if`. Kept pure (plain records, no renderer,
|
|
2031
|
+
* no controller) for the same reason ./availabilityRefresh is: the rule has to
|
|
2032
|
+
* be readable and testable on its own, and both buyer surfaces reconcile
|
|
2033
|
+
* through it rather than drifting into two orderings.
|
|
2034
|
+
*
|
|
2035
|
+
* The rule itself is one sentence: **a live frame is always younger than an
|
|
2036
|
+
* HTTP body it raced.** The socket does not answer questions, it announces
|
|
2037
|
+
* changes, so its frame describes the state at the moment it was sent; an HTTP
|
|
2038
|
+
* snapshot describes the state at the moment the SERVER read it, which is
|
|
2039
|
+
* necessarily before the response arrived. Where the two disagree, the socket
|
|
2040
|
+
* is the later truth. Where they agree, the ordering is invisible.
|
|
2041
|
+
*/
|
|
2042
|
+
/**
|
|
2043
|
+
* Where an authoritative seat map came from.
|
|
2044
|
+
*
|
|
2045
|
+
* The distinction exists only to order two answers about the same instant.
|
|
2046
|
+
* Nothing downstream renders differently because of it.
|
|
2047
|
+
*/
|
|
2048
|
+
type SnapshotSource = 'http' | 'socket';
|
|
2049
|
+
|
|
1956
2050
|
declare class PickerController {
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
2051
|
+
/** @internal */ readonly opts: PickerOptions;
|
|
2052
|
+
/** @internal */ readonly api: PickerTransport;
|
|
2053
|
+
/** @internal */ readonly key: string;
|
|
1960
2054
|
private maxSelection;
|
|
1961
2055
|
private readonly numberOfPlacesToSelect;
|
|
1962
2056
|
private readonly selectionValidators;
|
|
1963
2057
|
private selectableObjectRefs;
|
|
1964
2058
|
private selectableSeatIds;
|
|
1965
2059
|
private lastSelectionValidity;
|
|
1966
|
-
|
|
2060
|
+
/** @internal */ renderer: ISeatmapRenderer | null;
|
|
1967
2061
|
/** Host-tracked pending GA quantity per area id (the widget cart's chips). */
|
|
1968
2062
|
private gaSelected;
|
|
1969
2063
|
private _doc;
|
|
@@ -1977,7 +2071,7 @@ declare class PickerController {
|
|
|
1977
2071
|
private closedSections;
|
|
1978
2072
|
/** label ⇄ id maps — backend speaks labels, the engine speaks ids. */
|
|
1979
2073
|
private labelToId;
|
|
1980
|
-
|
|
2074
|
+
/** @internal */ labelToSeat: Map<string, ExpandedSeat>;
|
|
1981
2075
|
/** One canonical expansion for buyer-model consumers outside this controller. */
|
|
1982
2076
|
private expandedSeats;
|
|
1983
2077
|
/** seatId → chosen ticket-tier id (absent ⇒ the category's first/default tier). */
|
|
@@ -1989,11 +2083,11 @@ declare class PickerController {
|
|
|
1989
2083
|
private allIds;
|
|
1990
2084
|
/** Model-2 tables are one booking unit whose chairs remain renderer geometry. */
|
|
1991
2085
|
private groupedTablesByObject;
|
|
1992
|
-
|
|
2086
|
+
/** @internal */ groupedTablesByLabel: Map<string, GroupedTableInventoryUnit>;
|
|
1993
2087
|
private groupedTableBySeatId;
|
|
1994
|
-
|
|
2088
|
+
/** @internal */ tableQuantities: Map<string, number>;
|
|
1995
2089
|
/** Variable quantity is a buyer contract, never an inferred default. */
|
|
1996
|
-
|
|
2090
|
+
/** @internal */ confirmedVariableTables: Set<string>;
|
|
1997
2091
|
private groupedSelectionOverhead;
|
|
1998
2092
|
private ws;
|
|
1999
2093
|
/** Standby snapshot pull for a socket that connected and then said nothing. */
|
|
@@ -2002,10 +2096,10 @@ declare class PickerController {
|
|
|
2002
2096
|
private realtime;
|
|
2003
2097
|
private reconnectTimer;
|
|
2004
2098
|
private attempt;
|
|
2005
|
-
|
|
2099
|
+
/** @internal */ closed: boolean;
|
|
2006
2100
|
/** Detach for the tab-regain catch-up listener; null when not attached. */
|
|
2007
2101
|
private detachVisibility;
|
|
2008
|
-
|
|
2102
|
+
/** @internal */ hold_: HoldInfo | null;
|
|
2009
2103
|
private liveStatuses;
|
|
2010
2104
|
/**
|
|
2011
2105
|
* What a label absent from `liveStatuses` is.
|
|
@@ -2018,7 +2112,7 @@ declare class PickerController {
|
|
|
2018
2112
|
*/
|
|
2019
2113
|
private liveDefault;
|
|
2020
2114
|
private currency;
|
|
2021
|
-
|
|
2115
|
+
/** @internal */ expiryTimer: ReturnType<typeof setTimeout> | null;
|
|
2022
2116
|
private readonly snapshots;
|
|
2023
2117
|
constructor(options: PickerOptions);
|
|
2024
2118
|
get doc(): ChartDoc | null;
|
|
@@ -2083,7 +2177,7 @@ declare class PickerController {
|
|
|
2083
2177
|
loadEventConfiguration(): Promise<EventConfigurationVersion | null>;
|
|
2084
2178
|
idForLabel(label: string): string | undefined;
|
|
2085
2179
|
private idsForLabel;
|
|
2086
|
-
|
|
2180
|
+
/** @internal */ idsForLabels(labels: Iterable<string>): string[];
|
|
2087
2181
|
/** Resolve a physical chair id (or table inventory label) to its table unit. */
|
|
2088
2182
|
tableSelection(seatIdOrLabel: string): TableSelectionDetails | null;
|
|
2089
2183
|
/**
|
|
@@ -2151,8 +2245,10 @@ declare class PickerController {
|
|
|
2151
2245
|
private handleRendererSelect;
|
|
2152
2246
|
private handleRendererDeselect;
|
|
2153
2247
|
private resetUnheldTableQuantities;
|
|
2154
|
-
|
|
2155
|
-
|
|
2248
|
+
/** @internal */ resetTableQuantitiesForLabels(labels: Iterable<string>): void;
|
|
2249
|
+
/** @internal */ tableQuantityRequest(seat: PickerSeat | null): {
|
|
2250
|
+
quantity?: number;
|
|
2251
|
+
};
|
|
2156
2252
|
/**
|
|
2157
2253
|
* Hold the current selection (or a given label set). The controller does the
|
|
2158
2254
|
* renderer/hold side (409 → deselect + repaint the taken seats held) and then
|
|
@@ -2219,9 +2315,7 @@ declare class PickerController {
|
|
|
2219
2315
|
ttlMs?: number;
|
|
2220
2316
|
}): Promise<HoldInfo | null>;
|
|
2221
2317
|
/**
|
|
2222
|
-
*
|
|
2223
|
-
* deliberately does not). `bookingRef` MUST be a real reference from the caller.
|
|
2224
|
-
* `labelsArg` lets the caller book its own cart (the live page's confirm-flow
|
|
2318
|
+
* Book the held seats. `labelsArg` names what to book (the SDK/hosted
|
|
2225
2319
|
* cart can hold best-available seats that aren't in the renderer selection);
|
|
2226
2320
|
* defaults to the renderer selection. Reuses an existing exact-match hold, else
|
|
2227
2321
|
* holds first. Returns the labels booked, or null on failure (conflicts painted).
|
|
@@ -2229,15 +2323,11 @@ declare class PickerController {
|
|
|
2229
2323
|
* seats sit held for the host's window rather than the longer server default.
|
|
2230
2324
|
*/
|
|
2231
2325
|
book(bookingRef: string, labelsArg?: string[], ttlMs?: number): Promise<string[] | null>;
|
|
2232
|
-
/** Release the whole open hold
|
|
2326
|
+
/** Release the whole open hold. */
|
|
2233
2327
|
release(): Promise<boolean>;
|
|
2234
|
-
/**
|
|
2235
|
-
* Release just some labels from the open hold, keeping the rest held (used when
|
|
2236
|
-
* a buyer removes one seat chip). Clears the hold entirely once it empties.
|
|
2237
|
-
*/
|
|
2328
|
+
/** Release named labels from the open hold, keeping the rest of it alive. */
|
|
2238
2329
|
releaseLabels(labels: string[]): Promise<boolean>;
|
|
2239
|
-
/**
|
|
2240
|
-
private releaseConfirmed;
|
|
2330
|
+
/** @internal */ releaseConfirmed(result: unknown, requested: string[]): boolean;
|
|
2241
2331
|
setStatus(ids: string[], status: SeatStatus): void;
|
|
2242
2332
|
getStatus(id: string): SeatStatus | undefined;
|
|
2243
2333
|
/** Seat ids whose category the author marked not-for-sale. */
|
|
@@ -2291,6 +2381,9 @@ declare class PickerController {
|
|
|
2291
2381
|
getAccessibilityFilter(): AccessibilityType[] | null;
|
|
2292
2382
|
/** Where {@link focusNextAccessibleSection} last stopped. */
|
|
2293
2383
|
private accessStepAt;
|
|
2384
|
+
/** The camera a price band took from the buyer — see
|
|
2385
|
+
* {@link PickerFocusContext.bandReturnPose}. */
|
|
2386
|
+
private bandReturnPose;
|
|
2294
2387
|
/**
|
|
2295
2388
|
* The state the filter-driven camera rules read and change — see
|
|
2296
2389
|
* ./pickerFocus. Rebuilt per call; the accessor pair keeps the controller
|
|
@@ -2407,7 +2500,7 @@ declare class PickerController {
|
|
|
2407
2500
|
private sectionSummary;
|
|
2408
2501
|
private clearConnectFallback;
|
|
2409
2502
|
destroy(): void;
|
|
2410
|
-
|
|
2503
|
+
/** @internal */ toSeat(s: ExpandedSeat): PickerSeat;
|
|
2411
2504
|
private toTableSeat;
|
|
2412
2505
|
private describeSeat;
|
|
2413
2506
|
private priceFor;
|
|
@@ -2424,8 +2517,8 @@ declare class PickerController {
|
|
|
2424
2517
|
*/
|
|
2425
2518
|
setSeatTier(seatId: string, tierId: string | null): void;
|
|
2426
2519
|
/** PickerSeats (with chosen tier) for a set of held labels. */
|
|
2427
|
-
|
|
2428
|
-
|
|
2520
|
+
/** @internal */ seatsForLabels(labels: string[]): PickerSeat[];
|
|
2521
|
+
/** @internal */ emitSelectionChange(): void;
|
|
2429
2522
|
private emitSelectionValidity;
|
|
2430
2523
|
/** Check explicit tier applicability and companion relationships for the
|
|
2431
2524
|
* current (or supplied) seats. Ticket display names are never semantic input. */
|
|
@@ -2441,13 +2534,15 @@ declare class PickerController {
|
|
|
2441
2534
|
private emitOrphanHint;
|
|
2442
2535
|
/** Toggle colorblind-safe rendering at runtime (see PickerOptions.colorblindSafe). */
|
|
2443
2536
|
setColorblindSafe(on: boolean): void;
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
/**
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2537
|
+
/** @internal */ emitError(err: unknown): void;
|
|
2538
|
+
/** @internal */ holdCovers(labels: string[]): boolean;
|
|
2539
|
+
/** 409 conflict → deselect the taken labels and repaint them held. */
|
|
2540
|
+
/** @internal */ handle409Conflicts(err: unknown): void;
|
|
2541
|
+
/** @internal */ setHold(hold: Omit<HoldInfo, 'seats'> & {
|
|
2542
|
+
seats?: PickerSeat[];
|
|
2543
|
+
}, source?: 'created' | 'restored'): void;
|
|
2544
|
+
/** @internal */ clearHold(): void;
|
|
2545
|
+
/** @internal */ expireActiveHold(): Promise<void>;
|
|
2451
2546
|
/**
|
|
2452
2547
|
* Repaint from an authoritative map of unit statuses.
|
|
2453
2548
|
*
|
|
@@ -2458,7 +2553,7 @@ declare class PickerController {
|
|
|
2458
2553
|
* `free` would paint a sold-out stadium as fully available, so the default is
|
|
2459
2554
|
* a parameter rather than a constant.
|
|
2460
2555
|
*/
|
|
2461
|
-
|
|
2556
|
+
/** @internal */ applySeatsMap(seats: Record<string, string>, defaultStatus?: string, source?: SnapshotSource): void;
|
|
2462
2557
|
/**
|
|
2463
2558
|
* When an authoritative map was last painted, and whether one is recent.
|
|
2464
2559
|
*
|
|
@@ -2469,12 +2564,49 @@ declare class PickerController {
|
|
|
2469
2564
|
* any window in which a silent server could leave the map wrong.
|
|
2470
2565
|
*/
|
|
2471
2566
|
private lastSnapshotAt;
|
|
2567
|
+
/**
|
|
2568
|
+
* Has `renderer.setChart()` run? `this.renderer` is NOT that answer — it is
|
|
2569
|
+
* assigned the moment the stage is created, which is before the chart fetch
|
|
2570
|
+
* is awaited, so a snapshot can reach a renderer that holds no seats.
|
|
2571
|
+
*/
|
|
2572
|
+
private seatsBuilt;
|
|
2573
|
+
/** The authoritative map that arrived before the chart. See ./snapshotOrdering. */
|
|
2574
|
+
private pendingSnapshot;
|
|
2575
|
+
/** Bumped by every LIVE frame applied here. See ./snapshotOrdering. */
|
|
2576
|
+
private socketVersion;
|
|
2472
2577
|
private snapshotIsFresh;
|
|
2473
2578
|
/** The live status of one unit, honouring the projection's default. */
|
|
2474
|
-
|
|
2579
|
+
/** @internal */ statusOf(label: string): string;
|
|
2475
2580
|
private clearBookedHoldIfSettled;
|
|
2476
2581
|
/** Repaint from truth. Coalesced — see snapshotCoalescer.ts. */
|
|
2477
|
-
|
|
2582
|
+
/** @internal */ resnapshot(force?: boolean): Promise<void>;
|
|
2583
|
+
/**
|
|
2584
|
+
* Repaint from truth on a realtime client's behalf — coalesced, never forced.
|
|
2585
|
+
*
|
|
2586
|
+
* The public entry point for a transport-owned socket (the widget's
|
|
2587
|
+
* `BuyerRealtimeClient` and its `createControllerSink`). It used to reach for
|
|
2588
|
+
* `refresh()`, which is the FORCED read, so every connect and every section
|
|
2589
|
+
* frame bypassed the coalescer and issued its own `/objects?compact=1` —
|
|
2590
|
+
* two full snapshots per open on the measured DesiPass boot.
|
|
2591
|
+
*
|
|
2592
|
+
* A socket opening is not evidence that anything changed, so a boot snapshot
|
|
2593
|
+
* this young answers for it. `refresh()` stays the forced call for a caller
|
|
2594
|
+
* that just mutated state and needs the server's answer to its own write.
|
|
2595
|
+
*/
|
|
2596
|
+
resync(opts?: {
|
|
2597
|
+
reason?: 'connect' | 'frame';
|
|
2598
|
+
}): Promise<void>;
|
|
2599
|
+
/**
|
|
2600
|
+
* Paint a COMPLETE authoritative projection handed over by a live socket.
|
|
2601
|
+
*
|
|
2602
|
+
* The frame the server volunteers on connect already contains everything an
|
|
2603
|
+
* `/objects` read would return, so a sink that can take it never needs the
|
|
2604
|
+
* round trip. Public because the widget's socket lives outside this class.
|
|
2605
|
+
*/
|
|
2606
|
+
applyProjection(projection: {
|
|
2607
|
+
default: string;
|
|
2608
|
+
exceptions: Record<string, string>;
|
|
2609
|
+
}): void;
|
|
2478
2610
|
/**
|
|
2479
2611
|
* Re-pull the status snapshot on demand. Live surfaces rarely need this (the
|
|
2480
2612
|
* socket keeps them fresh); local/mock transports with no socket call it
|