@seatlayer/core 0.78.0 → 0.80.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-EZLC3TID.js +1 -0
- package/dist/be-PNW4HSCT.js +1 -0
- package/dist/bg-WWTVMKHN.js +1 -0
- package/dist/ca-7CQTBZHV.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-7LMW7QTP.js +1 -0
- package/dist/chunk-C7MR6CFC.js +1 -0
- package/dist/{chunk-SGYNM3SG.js → chunk-GQLJAU75.js} +1 -1
- package/dist/{chunk-SSBMTFAV.js → chunk-SKMHD76O.js} +1 -1
- package/dist/{chunk-FGMGDTMR.js → chunk-YXOSJLK7.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/chart-ops/index.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +5 -34
- package/dist/core/inventory/index.d.ts +5 -34
- package/dist/core/inventory/index.js +1 -1
- 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 +35 -4
- package/dist/core/quality/index.d.ts +35 -4
- 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-CO6IPOND.js +1 -0
- package/dist/cy-JSKIEF7V.js +1 -0
- package/dist/da-XNN2TLET.js +1 -0
- package/dist/de-T7S7DY4P.js +1 -0
- package/dist/el-SQNQJ6N5.js +1 -0
- package/dist/es-WIEMVIPM.js +1 -0
- package/dist/et-AJ666JLF.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-PA22MNZD.js +1 -0
- package/dist/fi-OIKV7BZB.js +1 -0
- package/dist/fr-K2BPY3ZG.js +1 -0
- package/dist/he-NB5S5QOD.js +1 -0
- package/dist/hr-HB2ZBWCL.js +1 -0
- package/dist/hu-DXONGHET.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +139 -121
- package/dist/index.d.ts +139 -121
- package/dist/index.js +1 -1
- package/dist/it-7YYWICOD.js +1 -0
- package/dist/ja-ROSYSJVY.js +1 -0
- package/dist/ku-3VHLRVJY.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-42CYOXB5.js +1 -0
- package/dist/lt-KOUZG2YJ.js +1 -0
- package/dist/lv-JOK7LYAH.js +1 -0
- package/dist/nl-H7NAUHTK.js +1 -0
- package/dist/no-OJ35WOND.js +1 -0
- package/dist/pl-FD5NFT6Y.js +1 -0
- package/dist/pt-BOCUN4SZ.js +1 -0
- package/dist/{renderedQuality-CXWlCsRS.d.ts → renderedQuality-DObXwisG.d.ts} +1 -1
- package/dist/{renderedQuality-rc4xZnIy.d.cts → renderedQuality-Dz-WTrRc.d.cts} +1 -1
- package/dist/{renderer-Cqd5w55S.d.ts → renderer-BjuHQ0bx.d.cts} +12 -2
- package/dist/{renderer-DW7ejcxk.d.cts → renderer-i_mthe5Z.d.ts} +12 -2
- package/dist/ro-Z44LTOXH.js +1 -0
- package/dist/ru-J4XWPJR6.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-4O4XNGR6.js +1 -0
- package/dist/sl-AHDPSHB6.js +1 -0
- package/dist/sr-B5PADXMB.js +1 -0
- package/dist/sv-KZCOVO3R.js +1 -0
- package/dist/{tableSizing-uVEPXCUD.d.ts → tableSizing-BpRvVdXK.d.ts} +3 -3
- package/dist/{tableSizing-OzEvBirS.d.cts → tableSizing-DnSAiaXL.d.cts} +3 -3
- package/dist/ticketRestrictions-BijtF-Lw.d.ts +141 -0
- package/dist/ticketRestrictions-CvaHRHti.d.cts +141 -0
- package/dist/tr-E5X266RM.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-6RR5RHIY.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/view3d/index.js +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/zh-Hans-GQWICG2Q.js +1 -0
- package/dist/zh-Hant-DTRJKLTS.js +1 -0
- package/package.json +1 -1
- package/dist/ar-U7RQGDKI.js +0 -1
- package/dist/be-AF2KLUPU.js +0 -1
- package/dist/bg-KQXVZFP5.js +0 -1
- package/dist/ca-2Z6OXARI.js +0 -1
- package/dist/chunk-O5UH442K.js +0 -1
- package/dist/chunk-XD2P4ZS4.js +0 -1
- package/dist/cs-OA5PNXZF.js +0 -1
- package/dist/cy-SEZB6CFS.js +0 -1
- package/dist/da-WNYFNHJW.js +0 -1
- package/dist/de-GZ5KABWX.js +0 -1
- package/dist/el-ROWVMGFA.js +0 -1
- package/dist/es-WDEEXPGZ.js +0 -1
- package/dist/et-UZ6PWBEI.js +0 -1
- package/dist/fa-6RECOCDS.js +0 -1
- package/dist/fi-W2NFGTLE.js +0 -1
- package/dist/fr-TGQU57AA.js +0 -1
- package/dist/he-GW4WHBMC.js +0 -1
- package/dist/hr-XYCPPQ2E.js +0 -1
- package/dist/hu-MXARVYEB.js +0 -1
- package/dist/it-AEJ2XXPK.js +0 -1
- package/dist/ja-GEZL7WIS.js +0 -1
- package/dist/ku-X2WS563F.js +0 -1
- package/dist/localeLoaders-YAOADFDS.js +0 -1
- package/dist/lt-O6WX2MFZ.js +0 -1
- package/dist/lv-JQH24NH4.js +0 -1
- package/dist/nl-OYNNCIHM.js +0 -1
- package/dist/no-TJCQIIDH.js +0 -1
- package/dist/pl-WWCEGFPX.js +0 -1
- package/dist/pt-FWBIZXLG.js +0 -1
- package/dist/ro-RHGJMFQQ.js +0 -1
- package/dist/ru-6IAWMJIM.js +0 -1
- package/dist/sk-2NHU34X2.js +0 -1
- package/dist/sl-O2QSGQWN.js +0 -1
- package/dist/sr-XK7AKCDR.js +0 -1
- package/dist/sv-IPA5ZBAA.js +0 -1
- package/dist/ticketRestrictions-BH430to6.d.ts +0 -72
- package/dist/ticketRestrictions-CGD-l3if.d.cts +0 -72
- package/dist/tr-TM3T5KYL.js +0 -1
- package/dist/uk-37NGTGA6.js +0 -1
- package/dist/zh-Hans-QKYGPQQE.js +0 -1
- package/dist/zh-Hant-AUEE5P67.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-DnSAiaXL.cjs';
|
|
6
|
+
import { g as TicketSelectionIssue, b as GroupedTableInventoryUnit } from './ticketRestrictions-CvaHRHti.cjs';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, d as MAX_GA_CAPACITY, l as gaAreasOf, m as gaInventorySegments, n as gaUnitLabel, o as gaUnitLabels, q as growJoinedGAInventory, s as isGaUnitLabel, x as validGAInventorySegments } from './ticketRestrictions-CvaHRHti.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-Dz-WTrRc.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-BjuHQ0bx.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-BjuHQ0bx.cjs';
|
|
12
|
+
import './segmentedRowModel-BYSxfsqX.cjs';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Half-width of the band around a legibility threshold, in rendered pixels.
|
|
@@ -210,9 +210,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
210
210
|
private ownedCache;
|
|
211
211
|
/** The pressable "your seats are in here" marks below the seats rung. */
|
|
212
212
|
private beaconsCache;
|
|
213
|
+
/** Desktop hover card — see render/hoverCard. Mouse only; built on attach. */
|
|
214
|
+
private hoverCardCache;
|
|
213
215
|
/** Held by this picker instance, not by another buyer. */
|
|
214
216
|
private ownedHold;
|
|
215
217
|
private seatMarks;
|
|
218
|
+
/** Built on first paint and kept for the renderer's life — see seatPaintContext. */
|
|
219
|
+
private seatPaintCache;
|
|
216
220
|
/** One selected seat being inspected before it is committed to the cart. */
|
|
217
221
|
private selectionFocusId;
|
|
218
222
|
/** Seats that keep full ink while the confirm card is open — see
|
|
@@ -347,10 +351,7 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
347
351
|
private cached;
|
|
348
352
|
private dpr;
|
|
349
353
|
/** Current chart's buyer-visible image work. Failures are retained until ready(). */
|
|
350
|
-
private
|
|
351
|
-
private assetPromises;
|
|
352
|
-
private assetErrors;
|
|
353
|
-
private assetCancels;
|
|
354
|
+
private readonly assets;
|
|
354
355
|
/**
|
|
355
356
|
* Progressive reveal: what a big chart does instead of appearing all at once.
|
|
356
357
|
*
|
|
@@ -413,6 +414,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
413
414
|
* frame loop.
|
|
414
415
|
*/
|
|
415
416
|
private get breath();
|
|
417
|
+
/** The hover card. One element, reused; the camera decides what it says. */
|
|
418
|
+
private get hoverCard();
|
|
416
419
|
/**
|
|
417
420
|
* The selection beacons. Built on first use, like every other overlay family:
|
|
418
421
|
* a map nobody has picked a seat on allocates nothing and appends no DOM.
|
|
@@ -609,7 +612,13 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
609
612
|
private framingViewport;
|
|
610
613
|
/** The visible band in world space — what "where the buyer is looking" means. */
|
|
611
614
|
private framingWorldRect;
|
|
615
|
+
/** Frame the whole venue. The fit it lands on is render/camera's `fitScale`,
|
|
616
|
+
* which every zoom bound in this renderer is read from. */
|
|
612
617
|
zoomToFit(): void;
|
|
618
|
+
/** Everything render/camera reads and writes here. Built once: `focusRegion`
|
|
619
|
+
* runs a per-frame tween, and a host per frame is a per-frame allocation. */
|
|
620
|
+
private get cameraHost();
|
|
621
|
+
private cameraHostCache;
|
|
613
622
|
/**
|
|
614
623
|
* Reframe after a host/layout resize without throwing away section context.
|
|
615
624
|
* The stage already represents the usable map area (the picker side panel is
|
|
@@ -696,8 +705,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
696
705
|
getViewMode(): RendererViewMode;
|
|
697
706
|
/** Live ISO projection state handed to the `render/projection` free functions. */
|
|
698
707
|
private get isoState();
|
|
699
|
-
/** Iso angle (rad) + y-squash for the current isoT. */
|
|
700
|
-
private isoParams;
|
|
701
708
|
/** Effective vertical scale = stage scale × iso squash — legibility math uses this. */
|
|
702
709
|
private effScale;
|
|
703
710
|
/** Project a world point through the iso affine about the chart centre (→ iso-world). */
|
|
@@ -706,11 +713,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
706
713
|
private isoInverse;
|
|
707
714
|
/** Precompute the Phase-C pinhole camera and every exact seat anchor. */
|
|
708
715
|
private buildPerspectiveProjection;
|
|
709
|
-
/** Apply an affine to a Konva container while keeping `pivot` fixed logically. */
|
|
710
|
-
private setContainerAffine;
|
|
711
|
-
private resetContainerTransform;
|
|
712
|
-
/** Exact raked surface height used for the bounded section tangent plane. */
|
|
713
|
-
private sectionSurfaceHeight;
|
|
714
716
|
/** Desired perspective-space point for a section surface, before Stage pan/zoom. */
|
|
715
717
|
private projectedSectionPoint;
|
|
716
718
|
/** Shared-layer local point which the ground affine paints at `projected`. */
|
|
@@ -722,13 +724,10 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
722
724
|
* the section's resolved real height in world units (Phase B1).
|
|
723
725
|
*/
|
|
724
726
|
private isoLiftLocal;
|
|
725
|
-
/**
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
* while the semantic overview keeps that layer fully transparent. */
|
|
727
|
+
/** The scene-graph half of a projection change — see render/projectionApply. */
|
|
728
|
+
private get projectionHost();
|
|
729
|
+
private projectionHostCache;
|
|
729
730
|
private resetLayerTransforms;
|
|
730
|
-
/** Restore section-owned containers before applying another projection. */
|
|
731
|
-
private resetSectionProjection;
|
|
732
731
|
/** Node/cache context the shared seat-anchor pass reads and updates. */
|
|
733
732
|
/** Cached, unlike its siblings, because it holds only stable references and
|
|
734
733
|
* no camera reading that could go stale; setChart (which reassigns `seats`)
|
|
@@ -739,18 +738,10 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
739
738
|
/** Move native seat/booth hit shapes to or from their exact pinhole anchors. */
|
|
740
739
|
private applyExactSeatAnchors;
|
|
741
740
|
/**
|
|
742
|
-
* Phase C projected 2.5D
|
|
743
|
-
*
|
|
744
|
-
* section. Native Konva shapes move with the anchors, so direct hit testing is
|
|
745
|
-
* the same graph that paints the buyer-visible unit.
|
|
741
|
+
* Phase C projected 2.5D, and the isometric tilt — both live in
|
|
742
|
+
* render/projectionApply, together with the resets they open with.
|
|
746
743
|
*/
|
|
747
744
|
private applyPerspective;
|
|
748
|
-
/**
|
|
749
|
-
* Apply the current isoT to the scene: the base rotate+squash as a decomposed
|
|
750
|
-
* layer transform (so seats/décor/rings project together and Konva's own
|
|
751
|
-
* hit-testing follows), upright counter-transforms on text, and the elevation
|
|
752
|
-
* lift + extruded side faces on elevated sections.
|
|
753
|
-
*/
|
|
754
745
|
private applyIso;
|
|
755
746
|
/** Counter-skew every visible label so it renders upright at its projected anchor. */
|
|
756
747
|
private applyUprightLabels;
|
|
@@ -842,7 +833,16 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
842
833
|
/** Preserve an explicit seat-number swatch exactly; only Automatic follows
|
|
843
834
|
* the state-aware contrast fallback as seat paint changes. */
|
|
844
835
|
private seatLabelInk;
|
|
845
|
-
/**
|
|
836
|
+
/**
|
|
837
|
+
* The per-seat paint context. Built once and kept: `paintSeat` runs per seat
|
|
838
|
+
* per repaint — up to 53k times — so a host per call would be paid for on
|
|
839
|
+
* exactly the device that can least afford it. Every field is an accessor,
|
|
840
|
+
* because the maps and scalars behind them are replaced by `setChart` and by
|
|
841
|
+
* theme changes while this object stays.
|
|
842
|
+
*/
|
|
843
|
+
private get seatPaintContext();
|
|
844
|
+
/** Apply fill/stroke/opacity for a seat's current status + selection.
|
|
845
|
+
* The ordering of every rule that decides it lives in render/seatPaint. */
|
|
846
846
|
private paintSeat;
|
|
847
847
|
/** True when a seat sits in a section/zone currently marked `closed`. */
|
|
848
848
|
private seatInClosedSection;
|
|
@@ -1001,7 +1001,6 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1001
1001
|
* turns the retained failures into one actionable error.
|
|
1002
1002
|
*/
|
|
1003
1003
|
private trackAssetImage;
|
|
1004
|
-
/** Cancel and release every image retained by the previous chart/export. */
|
|
1005
1004
|
private cancelAssetLoads;
|
|
1006
1005
|
/** Organizer floor-plan photo, dimmed, at the very bottom of the bg layer. */
|
|
1007
1006
|
private renderBackgroundImage;
|
|
@@ -1095,66 +1094,33 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1095
1094
|
*/
|
|
1096
1095
|
private sectionBounds;
|
|
1097
1096
|
private sectionFrameScale;
|
|
1098
|
-
/**
|
|
1099
|
-
* Resolve a seat tap: honour the 3D deck-drill and the AXS seat-pick gate,
|
|
1100
|
-
* then toggle. The gate (§4) redirects small on-screen seats to section-focus
|
|
1101
|
-
* to avoid blind mis-picks at overview scales — but ONLY when focusing would
|
|
1102
|
-
* zoom the seat up to a safe size. If we're already focused on the section, or
|
|
1103
|
-
* the section already fills the viewport (a narrow — OR even a wide — container
|
|
1104
|
-
* frames a big section BELOW LABEL_SCALE), redirecting is a no-op that would
|
|
1105
|
-
* leave the seat permanently unpickable (§5 `picking-gate-unreachable`), so we
|
|
1106
|
-
* fall through and PICK. This is the invariant: seats are never unpickable.
|
|
1107
|
-
*/
|
|
1108
|
-
private handleSeatTap;
|
|
1109
1097
|
/** Deck under the pointer in the 3D stacked overview — see screenPicking. */
|
|
1110
1098
|
private deckFloorAt;
|
|
1111
1099
|
/** Nearest selectable seat within `slopPx` of a screen point, or null. */
|
|
1112
1100
|
private nearestSeatToScreen;
|
|
1113
1101
|
private get screenPickingHost();
|
|
1114
1102
|
/**
|
|
1115
|
-
*
|
|
1116
|
-
*
|
|
1117
|
-
* The hover ring and the `pointer` cursor are a promise that a click does
|
|
1118
|
-
* something. Offering both over a SOLD seat and only then answering "Sold" in
|
|
1119
|
-
* the popover is a false affordance (owner, 2026-09-02), so:
|
|
1120
|
-
*
|
|
1121
|
-
* - `full` — a click can take (or give back) this seat: ring + pointer.
|
|
1122
|
-
* - `muted` — someone else's hold. It may come back, so it stays legible as
|
|
1123
|
-
* a seat: a dimmed, dashed ring, but the default cursor.
|
|
1124
|
-
* - `none` — sold, not-for-sale, closed section, filtered out: no ring, no
|
|
1125
|
-
* pointer. The tooltip still fires, so the buyer learns why.
|
|
1103
|
+
* Register the stage/seat-layer listeners. The routing they perform — and the
|
|
1104
|
+
* report behind each rung of it — lives in render/interaction/stageInteraction.
|
|
1126
1105
|
*/
|
|
1127
|
-
private hoverAffordance;
|
|
1128
1106
|
private wireInteraction;
|
|
1107
|
+
/** Resolve a seat tap — see render/interaction/stageInteraction. Kept as a
|
|
1108
|
+
* method because the tap ladder calls it through the host, which is the seam
|
|
1109
|
+
* the marker-tap tests spy on. */
|
|
1110
|
+
private handleSeatTap;
|
|
1111
|
+
private interactionHostCache;
|
|
1112
|
+
private get interactionHost();
|
|
1129
1113
|
/**
|
|
1130
1114
|
* Min is chart-relative (never lose the room); max is absolute so seats
|
|
1131
1115
|
* reach a readable size on any chart, however large the venue.
|
|
1132
1116
|
*/
|
|
1133
1117
|
private zoomBounds;
|
|
1134
|
-
/**
|
|
1135
|
-
* Zoom so `clientPoint` (stage-relative px) stays fixed under the cursor.
|
|
1136
|
-
*
|
|
1137
|
-
* `settle: 'frame'` is the wheel/trackpad path. A fling delivers dozens of
|
|
1138
|
-
* events between two paints and each one ran the whole `afterViewChange`
|
|
1139
|
-
* cascade — retarget, cull, LOD, free text, labels — for a camera the buyer
|
|
1140
|
-
* never saw. It now defers exactly the way the pinch path does: cull and draw
|
|
1141
|
-
* per event (cheap, and required for a correct frame), one settle per frame,
|
|
1142
|
-
* last event wins. The zoom maths and the onViewChange contract are unchanged
|
|
1143
|
-
* — `scheduleViewChange` was already rAF-coalesced.
|
|
1144
|
-
*/
|
|
1145
1118
|
private zoomAbout;
|
|
1146
|
-
/** One `afterViewChange` per animation frame for a burst of wheel events. */
|
|
1147
|
-
private scheduleZoomSettle;
|
|
1148
1119
|
/** Drop a wheel settle that a newer, authoritative view pass supersedes. */
|
|
1149
1120
|
private cancelZoomSettle;
|
|
1150
|
-
/** Zoom + pan so world-rect `b` fills the viewport (with a small margin). */
|
|
1151
|
-
private zoomToBounds;
|
|
1152
1121
|
/**
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1155
|
-
* melt/LOD rides the camera every frame. `prefers-reduced-motion` (or
|
|
1156
|
-
* `opts.animate === false`) snaps via zoomToBounds. A grab (pointer-down) or a
|
|
1157
|
-
* newer glide cancels an in-flight one.
|
|
1122
|
+
* Glide the camera to frame a section (by id) or a world-space bounds rect —
|
|
1123
|
+
* the Slice 5 "glide in". See render/camera for the tween and its rules.
|
|
1158
1124
|
*/
|
|
1159
1125
|
focusRegion(target: string | {
|
|
1160
1126
|
x: number;
|
|
@@ -1188,6 +1154,8 @@ declare class SeatmapRenderer implements ISeatmapRenderer {
|
|
|
1188
1154
|
/** The camera scale every seat label needs to clear the legible floor.
|
|
1189
1155
|
* Derivation in ./render/seatLabelTargetScale. */
|
|
1190
1156
|
private seatLabelTargetScale;
|
|
1157
|
+
/** The buyer pinched back out to the venue: the section focus is over. */
|
|
1158
|
+
private releaseFocusOnPullBack;
|
|
1191
1159
|
/** Recompute LOD (cache/labels) after any pan/zoom settles. */
|
|
1192
1160
|
private afterViewChange;
|
|
1193
1161
|
/**
|
|
@@ -1812,6 +1780,15 @@ interface PickerCallbacks extends RendererCallbacks {
|
|
|
1812
1780
|
* overview() / zoom-to-zones) so the host can show/hide the summary card.
|
|
1813
1781
|
*/
|
|
1814
1782
|
onSectionFocus?: (summary: SectionSummary | null) => void;
|
|
1783
|
+
/**
|
|
1784
|
+
* Does the HOST have its own card open about the seat under the cursor?
|
|
1785
|
+
*
|
|
1786
|
+
* The map draws one hover card. A host that keeps its own — the widget's
|
|
1787
|
+
* pinned card for a seat that cannot be taken, or its confirm card — answers
|
|
1788
|
+
* true while that card is up, and the map's card stands down rather than
|
|
1789
|
+
* saying the same thing beside it.
|
|
1790
|
+
*/
|
|
1791
|
+
hostCardOpen?: () => boolean;
|
|
1815
1792
|
/** A deck was tapped in the 3D all-floors overview — host enters that floor in 2D. */
|
|
1816
1793
|
onDeckTap?: (floorId: string) => void;
|
|
1817
1794
|
/**
|
|
@@ -2007,17 +1984,57 @@ interface PickerAccessNeed {
|
|
|
2007
1984
|
*/
|
|
2008
1985
|
declare function accessNeedsFor(seats: Iterable<ExpandedSeat>, statusOf: (seatId: string) => string): PickerAccessNeed[];
|
|
2009
1986
|
|
|
1987
|
+
/**
|
|
1988
|
+
* WHICH ANSWER ABOUT THE SEAT MAP IS THE YOUNGER ONE.
|
|
1989
|
+
*
|
|
1990
|
+
* The picker's open path runs its reads concurrently: the chart, the compact
|
|
1991
|
+
* inventory snapshot and the live socket all start together, so a buyer sees a
|
|
1992
|
+
* correct map at `max(reads) + parse` instead of at the sum of them. What that
|
|
1993
|
+
* buys in latency it costs in ordering, because three things can now happen
|
|
1994
|
+
* that a strictly serial boot made impossible:
|
|
1995
|
+
*
|
|
1996
|
+
* 1. An authoritative snapshot arrives BEFORE the chart does. The renderer
|
|
1997
|
+
* holds no seats yet, so painting is not an option — but dropping it is
|
|
1998
|
+
* worse, because the next authoritative answer may be seconds away.
|
|
1999
|
+
* 2. A live socket frame overtakes an HTTP body that was already in flight.
|
|
2000
|
+
* The body then lands LAST while describing an EARLIER instant, and
|
|
2001
|
+
* applying it un-sells seats the buyer has already been shown as gone.
|
|
2002
|
+
* 3. Both a buffered snapshot and the boot read are waiting when the chart
|
|
2003
|
+
* finally lands, and exactly one of them has to paint first.
|
|
2004
|
+
*
|
|
2005
|
+
* All three are the same question — which of two answers is younger — so it is
|
|
2006
|
+
* answered once, here, rather than three times inside PickerController where
|
|
2007
|
+
* each answer would be a different `if`. Kept pure (plain records, no renderer,
|
|
2008
|
+
* no controller) for the same reason ./availabilityRefresh is: the rule has to
|
|
2009
|
+
* be readable and testable on its own, and both buyer surfaces reconcile
|
|
2010
|
+
* through it rather than drifting into two orderings.
|
|
2011
|
+
*
|
|
2012
|
+
* The rule itself is one sentence: **a live frame is always younger than an
|
|
2013
|
+
* HTTP body it raced.** The socket does not answer questions, it announces
|
|
2014
|
+
* changes, so its frame describes the state at the moment it was sent; an HTTP
|
|
2015
|
+
* snapshot describes the state at the moment the SERVER read it, which is
|
|
2016
|
+
* necessarily before the response arrived. Where the two disagree, the socket
|
|
2017
|
+
* is the later truth. Where they agree, the ordering is invisible.
|
|
2018
|
+
*/
|
|
2019
|
+
/**
|
|
2020
|
+
* Where an authoritative seat map came from.
|
|
2021
|
+
*
|
|
2022
|
+
* The distinction exists only to order two answers about the same instant.
|
|
2023
|
+
* Nothing downstream renders differently because of it.
|
|
2024
|
+
*/
|
|
2025
|
+
type SnapshotSource = 'http' | 'socket';
|
|
2026
|
+
|
|
2010
2027
|
declare class PickerController {
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2028
|
+
/** @internal */ readonly opts: PickerOptions;
|
|
2029
|
+
/** @internal */ readonly api: PickerTransport;
|
|
2030
|
+
/** @internal */ readonly key: string;
|
|
2014
2031
|
private maxSelection;
|
|
2015
2032
|
private readonly numberOfPlacesToSelect;
|
|
2016
2033
|
private readonly selectionValidators;
|
|
2017
2034
|
private selectableObjectRefs;
|
|
2018
2035
|
private selectableSeatIds;
|
|
2019
2036
|
private lastSelectionValidity;
|
|
2020
|
-
|
|
2037
|
+
/** @internal */ renderer: ISeatmapRenderer | null;
|
|
2021
2038
|
/** Host-tracked pending GA quantity per area id (the widget cart's chips). */
|
|
2022
2039
|
private gaSelected;
|
|
2023
2040
|
private _doc;
|
|
@@ -2031,7 +2048,7 @@ declare class PickerController {
|
|
|
2031
2048
|
private closedSections;
|
|
2032
2049
|
/** label ⇄ id maps — backend speaks labels, the engine speaks ids. */
|
|
2033
2050
|
private labelToId;
|
|
2034
|
-
|
|
2051
|
+
/** @internal */ labelToSeat: Map<string, ExpandedSeat>;
|
|
2035
2052
|
/** One canonical expansion for buyer-model consumers outside this controller. */
|
|
2036
2053
|
private expandedSeats;
|
|
2037
2054
|
/** seatId → chosen ticket-tier id (absent ⇒ the category's first/default tier). */
|
|
@@ -2043,11 +2060,11 @@ declare class PickerController {
|
|
|
2043
2060
|
private allIds;
|
|
2044
2061
|
/** Model-2 tables are one booking unit whose chairs remain renderer geometry. */
|
|
2045
2062
|
private groupedTablesByObject;
|
|
2046
|
-
|
|
2063
|
+
/** @internal */ groupedTablesByLabel: Map<string, GroupedTableInventoryUnit>;
|
|
2047
2064
|
private groupedTableBySeatId;
|
|
2048
|
-
|
|
2065
|
+
/** @internal */ tableQuantities: Map<string, number>;
|
|
2049
2066
|
/** Variable quantity is a buyer contract, never an inferred default. */
|
|
2050
|
-
|
|
2067
|
+
/** @internal */ confirmedVariableTables: Set<string>;
|
|
2051
2068
|
private groupedSelectionOverhead;
|
|
2052
2069
|
private ws;
|
|
2053
2070
|
/** Standby snapshot pull for a socket that connected and then said nothing. */
|
|
@@ -2056,10 +2073,10 @@ declare class PickerController {
|
|
|
2056
2073
|
private realtime;
|
|
2057
2074
|
private reconnectTimer;
|
|
2058
2075
|
private attempt;
|
|
2059
|
-
|
|
2076
|
+
/** @internal */ closed: boolean;
|
|
2060
2077
|
/** Detach for the tab-regain catch-up listener; null when not attached. */
|
|
2061
2078
|
private detachVisibility;
|
|
2062
|
-
|
|
2079
|
+
/** @internal */ hold_: HoldInfo | null;
|
|
2063
2080
|
private liveStatuses;
|
|
2064
2081
|
/**
|
|
2065
2082
|
* What a label absent from `liveStatuses` is.
|
|
@@ -2072,7 +2089,7 @@ declare class PickerController {
|
|
|
2072
2089
|
*/
|
|
2073
2090
|
private liveDefault;
|
|
2074
2091
|
private currency;
|
|
2075
|
-
|
|
2092
|
+
/** @internal */ expiryTimer: ReturnType<typeof setTimeout> | null;
|
|
2076
2093
|
private readonly snapshots;
|
|
2077
2094
|
constructor(options: PickerOptions);
|
|
2078
2095
|
get doc(): ChartDoc | null;
|
|
@@ -2137,7 +2154,7 @@ declare class PickerController {
|
|
|
2137
2154
|
loadEventConfiguration(): Promise<EventConfigurationVersion | null>;
|
|
2138
2155
|
idForLabel(label: string): string | undefined;
|
|
2139
2156
|
private idsForLabel;
|
|
2140
|
-
|
|
2157
|
+
/** @internal */ idsForLabels(labels: Iterable<string>): string[];
|
|
2141
2158
|
/** Resolve a physical chair id (or table inventory label) to its table unit. */
|
|
2142
2159
|
tableSelection(seatIdOrLabel: string): TableSelectionDetails | null;
|
|
2143
2160
|
/**
|
|
@@ -2205,8 +2222,10 @@ declare class PickerController {
|
|
|
2205
2222
|
private handleRendererSelect;
|
|
2206
2223
|
private handleRendererDeselect;
|
|
2207
2224
|
private resetUnheldTableQuantities;
|
|
2208
|
-
|
|
2209
|
-
|
|
2225
|
+
/** @internal */ resetTableQuantitiesForLabels(labels: Iterable<string>): void;
|
|
2226
|
+
/** @internal */ tableQuantityRequest(seat: PickerSeat | null): {
|
|
2227
|
+
quantity?: number;
|
|
2228
|
+
};
|
|
2210
2229
|
/**
|
|
2211
2230
|
* Hold the current selection (or a given label set). The controller does the
|
|
2212
2231
|
* renderer/hold side (409 → deselect + repaint the taken seats held) and then
|
|
@@ -2273,9 +2292,7 @@ declare class PickerController {
|
|
|
2273
2292
|
ttlMs?: number;
|
|
2274
2293
|
}): Promise<HoldInfo | null>;
|
|
2275
2294
|
/**
|
|
2276
|
-
*
|
|
2277
|
-
* deliberately does not). `bookingRef` MUST be a real reference from the caller.
|
|
2278
|
-
* `labelsArg` lets the caller book its own cart (the live page's confirm-flow
|
|
2295
|
+
* Book the held seats. `labelsArg` names what to book (the SDK/hosted
|
|
2279
2296
|
* cart can hold best-available seats that aren't in the renderer selection);
|
|
2280
2297
|
* defaults to the renderer selection. Reuses an existing exact-match hold, else
|
|
2281
2298
|
* holds first. Returns the labels booked, or null on failure (conflicts painted).
|
|
@@ -2283,15 +2300,11 @@ declare class PickerController {
|
|
|
2283
2300
|
* seats sit held for the host's window rather than the longer server default.
|
|
2284
2301
|
*/
|
|
2285
2302
|
book(bookingRef: string, labelsArg?: string[], ttlMs?: number): Promise<string[] | null>;
|
|
2286
|
-
/** Release the whole open hold
|
|
2303
|
+
/** Release the whole open hold. */
|
|
2287
2304
|
release(): Promise<boolean>;
|
|
2288
|
-
/**
|
|
2289
|
-
* Release just some labels from the open hold, keeping the rest held (used when
|
|
2290
|
-
* a buyer removes one seat chip). Clears the hold entirely once it empties.
|
|
2291
|
-
*/
|
|
2305
|
+
/** Release named labels from the open hold, keeping the rest of it alive. */
|
|
2292
2306
|
releaseLabels(labels: string[]): Promise<boolean>;
|
|
2293
|
-
/**
|
|
2294
|
-
private releaseConfirmed;
|
|
2307
|
+
/** @internal */ releaseConfirmed(result: unknown, requested: string[]): boolean;
|
|
2295
2308
|
setStatus(ids: string[], status: SeatStatus): void;
|
|
2296
2309
|
getStatus(id: string): SeatStatus | undefined;
|
|
2297
2310
|
/** Seat ids whose category the author marked not-for-sale. */
|
|
@@ -2348,6 +2361,9 @@ declare class PickerController {
|
|
|
2348
2361
|
/** The camera a price band took from the buyer — see
|
|
2349
2362
|
* {@link PickerFocusContext.bandReturnPose}. */
|
|
2350
2363
|
private bandReturnPose;
|
|
2364
|
+
/** The section a price band took the buyer out of — see
|
|
2365
|
+
* {@link PickerFocusContext.bandReturnSection}. */
|
|
2366
|
+
private bandReturnSection;
|
|
2351
2367
|
/**
|
|
2352
2368
|
* The state the filter-driven camera rules read and change — see
|
|
2353
2369
|
* ./pickerFocus. Rebuilt per call; the accessor pair keeps the controller
|
|
@@ -2464,7 +2480,7 @@ declare class PickerController {
|
|
|
2464
2480
|
private sectionSummary;
|
|
2465
2481
|
private clearConnectFallback;
|
|
2466
2482
|
destroy(): void;
|
|
2467
|
-
|
|
2483
|
+
/** @internal */ toSeat(s: ExpandedSeat): PickerSeat;
|
|
2468
2484
|
private toTableSeat;
|
|
2469
2485
|
private describeSeat;
|
|
2470
2486
|
private priceFor;
|
|
@@ -2481,8 +2497,8 @@ declare class PickerController {
|
|
|
2481
2497
|
*/
|
|
2482
2498
|
setSeatTier(seatId: string, tierId: string | null): void;
|
|
2483
2499
|
/** PickerSeats (with chosen tier) for a set of held labels. */
|
|
2484
|
-
|
|
2485
|
-
|
|
2500
|
+
/** @internal */ seatsForLabels(labels: string[]): PickerSeat[];
|
|
2501
|
+
/** @internal */ emitSelectionChange(): void;
|
|
2486
2502
|
private emitSelectionValidity;
|
|
2487
2503
|
/** Check explicit tier applicability and companion relationships for the
|
|
2488
2504
|
* current (or supplied) seats. Ticket display names are never semantic input. */
|
|
@@ -2498,13 +2514,15 @@ declare class PickerController {
|
|
|
2498
2514
|
private emitOrphanHint;
|
|
2499
2515
|
/** Toggle colorblind-safe rendering at runtime (see PickerOptions.colorblindSafe). */
|
|
2500
2516
|
setColorblindSafe(on: boolean): void;
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
/**
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2517
|
+
/** @internal */ emitError(err: unknown): void;
|
|
2518
|
+
/** @internal */ holdCovers(labels: string[]): boolean;
|
|
2519
|
+
/** 409 conflict → deselect the taken labels and repaint them held. */
|
|
2520
|
+
/** @internal */ handle409Conflicts(err: unknown): void;
|
|
2521
|
+
/** @internal */ setHold(hold: Omit<HoldInfo, 'seats'> & {
|
|
2522
|
+
seats?: PickerSeat[];
|
|
2523
|
+
}, source?: 'created' | 'restored'): void;
|
|
2524
|
+
/** @internal */ clearHold(): void;
|
|
2525
|
+
/** @internal */ expireActiveHold(): Promise<void>;
|
|
2508
2526
|
/**
|
|
2509
2527
|
* Repaint from an authoritative map of unit statuses.
|
|
2510
2528
|
*
|
|
@@ -2515,7 +2533,7 @@ declare class PickerController {
|
|
|
2515
2533
|
* `free` would paint a sold-out stadium as fully available, so the default is
|
|
2516
2534
|
* a parameter rather than a constant.
|
|
2517
2535
|
*/
|
|
2518
|
-
|
|
2536
|
+
/** @internal */ applySeatsMap(seats: Record<string, string>, defaultStatus?: string, source?: SnapshotSource): void;
|
|
2519
2537
|
/**
|
|
2520
2538
|
* When an authoritative map was last painted, and whether one is recent.
|
|
2521
2539
|
*
|
|
@@ -2538,10 +2556,10 @@ declare class PickerController {
|
|
|
2538
2556
|
private socketVersion;
|
|
2539
2557
|
private snapshotIsFresh;
|
|
2540
2558
|
/** The live status of one unit, honouring the projection's default. */
|
|
2541
|
-
|
|
2559
|
+
/** @internal */ statusOf(label: string): string;
|
|
2542
2560
|
private clearBookedHoldIfSettled;
|
|
2543
2561
|
/** Repaint from truth. Coalesced — see snapshotCoalescer.ts. */
|
|
2544
|
-
|
|
2562
|
+
/** @internal */ resnapshot(force?: boolean): Promise<void>;
|
|
2545
2563
|
/**
|
|
2546
2564
|
* Repaint from truth on a realtime client's behalf — coalesced, never forced.
|
|
2547
2565
|
*
|