@seatlayer/core 0.71.4 → 0.72.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-JP4VPYJ2.js +1 -0
- package/dist/be-ROTFZNMH.js +1 -0
- package/dist/bg-YMQ3B5NS.js +1 -0
- package/dist/ca-L2OMCHWL.js +1 -0
- package/dist/{categoryInventory-r3OfIEQn.d.cts → categoryInventory-BU1j8Q70.d.cts} +1 -1
- package/dist/{categoryInventory-B8CDQtH4.d.ts → categoryInventory-Bt-0psga.d.ts} +1 -1
- package/dist/chunk-4F7VBQCF.js +1 -0
- package/dist/chunk-4V5WYN6O.js +1 -0
- package/dist/{chunk-LR7WIR5Z.js → chunk-ALE2T36W.js} +1 -1
- package/dist/chunk-BLPBTW6I.js +1 -0
- package/dist/{chunk-GXMGOWKB.js → chunk-FMZ6HLDH.js} +1 -1
- package/dist/chunk-HXYWP6NX.js +1 -0
- package/dist/chunk-JBOTRSMY.js +1 -0
- package/dist/{chunk-MR2O5WC7.js → chunk-O5UWBFUT.js} +1 -1
- package/dist/chunk-YW2WGLRM.js +1 -0
- package/dist/chunk-ZOXZWPTL.js +1 -0
- package/dist/core/chart-ops/index.cjs +1 -1
- package/dist/core/chart-ops/index.d.cts +38 -9
- package/dist/core/chart-ops/index.d.ts +38 -9
- package/dist/core/chart-ops/index.js +1 -1
- package/dist/core/color.cjs +1 -1
- package/dist/core/color.d.cts +4 -1
- package/dist/core/color.d.ts +4 -1
- package/dist/core/color.js +1 -1
- package/dist/core/inventory/index.cjs +1 -1
- package/dist/core/inventory/index.d.cts +15 -5
- package/dist/core/inventory/index.d.ts +15 -5
- package/dist/core/inventory/index.js +1 -1
- package/dist/core/layout/index.d.cts +6 -6
- package/dist/core/layout/index.d.ts +6 -6
- 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.cjs +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/render-assets/index.js +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 +7 -7
- package/dist/core/sections/index.d.ts +7 -7
- package/dist/cs-CHBOZAYY.js +1 -0
- package/dist/{cy-KJLPIGNL.js → cy-ZIVBYZBX.js} +1 -1
- package/dist/da-PUY5IIER.js +1 -0
- package/dist/de-ILFIEU77.js +1 -0
- package/dist/el-5EG3QS5T.js +1 -0
- package/dist/es-YXZQB5VZ.js +1 -0
- package/dist/et-FZIUC4FC.js +1 -0
- package/dist/{eventConfigurations-ByU_uPeS.d.cts → eventConfigurations-3uSorYVC.d.cts} +1 -1
- package/dist/{eventConfigurations-0OC43JJY.d.ts → eventConfigurations-DfVUGyCg.d.ts} +1 -1
- package/dist/fa-KKBNUDRE.js +1 -0
- package/dist/fi-B6JSP5Z5.js +1 -0
- package/dist/fr-T5LHFRKG.js +1 -0
- package/dist/he-JF4HU75D.js +1 -0
- package/dist/hr-S5OXZ3NI.js +1 -0
- package/dist/hu-ZZDYG6ZF.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +239 -36
- package/dist/index.d.ts +239 -36
- package/dist/index.js +1 -1
- package/dist/it-A5VCFTQP.js +1 -0
- package/dist/ja-PAJD5HFJ.js +1 -0
- package/dist/ku-KV2AIB6I.js +1 -0
- package/dist/{labeling-DAGq3u0z.d.cts → labeling-9RWWmJhZ.d.cts} +1 -1
- package/dist/{labeling-B05IJwd2.d.ts → labeling-BiWB-8aq.d.ts} +1 -1
- package/dist/{layout-e0Qe7jmM.d.cts → layout-B6iOoPOv.d.cts} +3 -3
- package/dist/{layout-DkDRcXvu.d.ts → layout-B7URbtDR.d.ts} +3 -3
- package/dist/localeLoaders-VULFUGJH.js +1 -0
- package/dist/lt-OSFNYQ2L.js +1 -0
- package/dist/lv-5INNWEN5.js +1 -0
- package/dist/nl-YOLY3DXM.js +1 -0
- package/dist/no-C5MG5NPH.js +1 -0
- package/dist/pl-ERGM2HA3.js +1 -0
- package/dist/pt-S6SBTHES.js +1 -0
- package/dist/{renderedQuality-BaejczsK.d.cts → renderedQuality-BZsq3wDe.d.cts} +1 -1
- package/dist/{renderedQuality-BwwrqYzX.d.ts → renderedQuality-C5dQiq97.d.ts} +1 -1
- package/dist/{renderer-BNicx5sw.d.ts → renderer-6sFRupj0.d.ts} +2 -2
- package/dist/{renderer-Duv1HhQg.d.cts → renderer-CBOo1OZk.d.cts} +2 -2
- package/dist/ro-NQ4LIATX.js +1 -0
- package/dist/ru-ICFP6U3S.js +1 -0
- package/dist/{sections-CrX4vq-m.d.ts → sections-Cn_sk1Sx.d.ts} +1 -1
- package/dist/{sections-BjGjR21N.d.cts → sections-DU6YDYoZ.d.cts} +1 -1
- package/dist/{segmentedRowModel-UO_YIQRB.d.cts → segmentedRowModel-CKmyHvKv.d.cts} +1 -1
- package/dist/{segmentedRowModel-BOO8w9Ng.d.ts → segmentedRowModel-DbP7pWUk.d.ts} +1 -1
- package/dist/sk-VYH6WIZ2.js +1 -0
- package/dist/sl-AA54VE5P.js +1 -0
- package/dist/sr-Z27ZL5ZE.js +1 -0
- package/dist/sv-BT4MNMB5.js +1 -0
- package/dist/{ticketRestrictions-dvlNTwem.d.ts → ticketRestrictions-CvS2oQ8v.d.ts} +2 -2
- package/dist/{ticketRestrictions-DUQrKTpS.d.cts → ticketRestrictions-DkenahW2.d.cts} +2 -2
- package/dist/tr-3TSE3BBR.js +1 -0
- package/dist/{types-0yruRsAj.d.cts → types-D6-wLa-m.d.cts} +200 -20
- package/dist/{types-0yruRsAj.d.ts → types-D6-wLa-m.d.ts} +200 -20
- package/dist/uk-YD2PBENU.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.cjs +27 -27
- 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.cjs +1 -1
- package/dist/view3d/scene/scene.worker.js +1 -1
- package/dist/zh-Hans-VPQE6LWU.js +1 -0
- package/dist/zh-Hant-PUKPX45I.js +1 -0
- package/package.json +1 -1
- package/dist/ar-WXDW7P4F.js +0 -1
- package/dist/be-OZ73MTYV.js +0 -1
- package/dist/bg-NXBQVQ7X.js +0 -1
- package/dist/ca-4J7PKGEP.js +0 -1
- package/dist/chunk-7KS6TAYH.js +0 -1
- package/dist/chunk-CXF32VPG.js +0 -1
- package/dist/chunk-JBGLFOJO.js +0 -1
- package/dist/chunk-NXFDYBZY.js +0 -1
- package/dist/chunk-SKO3DCVB.js +0 -1
- package/dist/chunk-T2LWVOQ3.js +0 -1
- package/dist/chunk-YSVXAUOH.js +0 -1
- package/dist/cs-HOVL5PRG.js +0 -1
- package/dist/da-4YKKGJN6.js +0 -1
- package/dist/de-QYK4NJIH.js +0 -1
- package/dist/el-XLXQE4YH.js +0 -1
- package/dist/es-IXMCGRNZ.js +0 -1
- package/dist/et-HK6GEAPP.js +0 -1
- package/dist/fa-RZT7N54K.js +0 -1
- package/dist/fi-NQN2STMX.js +0 -1
- package/dist/fr-AK5TYGQK.js +0 -1
- package/dist/he-CMVTS5LG.js +0 -1
- package/dist/hr-LVOAM3F2.js +0 -1
- package/dist/hu-KT2PFOAI.js +0 -1
- package/dist/it-IWWDBW67.js +0 -1
- package/dist/ja-QUYO5TKQ.js +0 -1
- package/dist/ku-FVXFA2DX.js +0 -1
- package/dist/localeLoaders-SZP47JPK.js +0 -1
- package/dist/lt-O5OARGHR.js +0 -1
- package/dist/lv-D5PW436N.js +0 -1
- package/dist/nl-VDXV6VTH.js +0 -1
- package/dist/no-YS6QVD44.js +0 -1
- package/dist/pl-NP6YVWU6.js +0 -1
- package/dist/pt-YZLA6LO4.js +0 -1
- package/dist/ro-AOVPSQKL.js +0 -1
- package/dist/ru-4LGHGVZG.js +0 -1
- package/dist/sk-4FRMG7ZG.js +0 -1
- package/dist/sl-FYABQLPI.js +0 -1
- package/dist/sr-W4SGB5AT.js +0 -1
- package/dist/sv-4LK4WE4H.js +0 -1
- package/dist/tr-M5NWILAZ.js +0 -1
- package/dist/uk-REKJ4DVG.js +0 -1
- package/dist/zh-Hans-F32F3VGF.js +0 -1
- package/dist/zh-Hant-NA3TGNDP.js +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { C as ChartDoc, F as FloorLabelStyle, P as Point, A as AccessibilityType, i as CategoryTier, S as SeatCommercialAttributes, w as ChartDeliveryPerformance } from './types-
|
|
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, l as Floor, G as GAAreaObject, h 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, k as RectTableSide, V as ReferenceAccessibilitySource, W as ReferenceCalibration, X as ReferenceCategorySource, Y as ReferenceDerivedScale, Z as
|
|
3
|
-
import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-
|
|
4
|
-
export { b as EVENT_CONFIGURATION_EXPORT_SCHEMA, c as EVENT_CONFIGURATION_SCHEMA, d as EventConfigurationBaseVenue, e as EventConfigurationCompatibilityIssue, f as EventConfigurationCompatibilityIssueCode, g as EventConfigurationCompatibilityResult, h as EventConfigurationExportEnvelope, i as EventConfigurationLifecycleStatus, j as EventConfigurationOcclusion, k as EventConfigurationOverlay, l as EventConfigurationParseIssue, m as EventConfigurationParseIssueCode, n as EventConfigurationParseResult, o as EventConfigurationProductionElement, p 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 { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from './layout-
|
|
6
|
-
import { c as TicketSelectionIssue } from './ticketRestrictions-
|
|
7
|
-
export { M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, v as validGAInventorySegments } from './ticketRestrictions-
|
|
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 { 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, i as CategoryTier, S as SeatCommercialAttributes, w as ChartDeliveryPerformance } from './types-D6-wLa-m.js';
|
|
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, l as Floor, G as GAAreaObject, h 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, k 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 ReferenceDirectSeatGroup, a2 as ReferenceDirectSeatImportSource, a3 as ReferenceDirectSeatPlan, a4 as ReferenceEnrichmentStatus, a5 as ReferenceExtractEmptyReason, a6 as ReferenceExtractEnrichment, a7 as ReferenceExtractInput, a8 as ReferenceExtractProposal, a9 as ReferenceExtractRegionSeats, aa as ReferenceInventoryExclusionSource, ab as ReferenceInventorySource, ac as ReferenceMatchReport, ad as ReferenceScanProposal, ae as ReferenceScanRowProposal, af as ReferenceScanSectionProposal, ag as ReferenceSeatSeed, ah as ReferenceSectionTraceBatchInput, ai as ReferenceSectionTraceBatchProposal, aj as ReferenceSectionTraceInput, ak as ReferenceSectionTraceProposal, c as ResolvedSeatConfidenceEvidence, R as RowObject, al as SEAT_COMMERCIAL_MARKS, am as STAGE_LABEL_STYLE_MAX_SIZE, an as SURROUNDINGS_SHAPE_ROLES, ao as SeatCommercialMark, ap as SeatCommercialMeta, aq as SeatConfidenceCoverage, ar as SeatConfidenceEvidence, as as SeatConfidenceModelLevel, at as SeatConfidenceModeledTarget, au as SeatConfidenceRealityLevel, d as SeatGlyphKind, j as SeatOverride, e as SeatViewCoverage, b as SeatViewMetadata, av as SeatViewVariant, m as SectionObject, f as SectionOutlinePath, g as SectionPathSegment, aw as SelectionLayer, q as ShapeLineCap, r as ShapeLineEnding, s as ShapeLineJoin, t as ShapeObject, ax as StageLabelStyle, T as TableObject, ay as TextAlignment, az as TextBackground, v as TextObject, aA as TicketTierApplicability, aB as TicketTierEvidence, aC as TicketTierRestriction, aD as Venue3DMaterialPalette, aE as VenueSurveyRegistrationEvidence, aF as ZoneDef, aG as accessibilityMeta, aH as accessibilityRingColor, aI as layerOf, aJ as seatCommercialMeta } from './types-D6-wLa-m.js';
|
|
3
|
+
import { E as EventConfigurationRef, a as EventConfigurationVersion } from './eventConfigurations-DfVUGyCg.js';
|
|
4
|
+
export { b as EVENT_CONFIGURATION_EXPORT_SCHEMA, c as EVENT_CONFIGURATION_SCHEMA, d as EventConfigurationBaseVenue, e as EventConfigurationCompatibilityIssue, f as EventConfigurationCompatibilityIssueCode, g as EventConfigurationCompatibilityResult, h as EventConfigurationExportEnvelope, i as EventConfigurationLifecycleStatus, j as EventConfigurationOcclusion, k as EventConfigurationOverlay, l as EventConfigurationParseIssue, m as EventConfigurationParseIssueCode, n as EventConfigurationParseResult, o as EventConfigurationProductionElement, p 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-DfVUGyCg.js';
|
|
5
|
+
export { C as ChartBoundsOptions, E as ExpandChartOptions, F as FLOOR_STACK_GAP_RATIO, a as FLOOR_STACK_MIN_SURFACE_PX, b as FloorStackOptions, c as FloorStackPlacement, R as RowSeatSlot, T as TABLE_SEAT_OFFSET, d as TableSeatSlot, e as allObjects, f as chartBounds, g as expandBooth, h as expandChart, i as expandRow, j as expandRowSlots, k as expandTable, l as expandTableSlots, m as floorObjects, n as floorStackPlacements, o as floorsOf, p as initialFloorMode, q as layoutFloorStack, r as mainFloorId, s as objectCenter, t as owningSectionForObject, u as pointInPolygon, v as pointInPolygonWithHoles, w as polygonLabelPoint, x as rowInventoryCount, y as rowSeatPositions, z as stackFloors, A as tableInventoryCount, B as tableSeatCountsBySide, D as translateObject } from './layout-B7URbtDR.js';
|
|
6
|
+
import { c as TicketSelectionIssue } from './ticketRestrictions-CvS2oQ8v.js';
|
|
7
|
+
export { M as MAX_EVENT_INVENTORY, a as MAX_GA_CAPACITY, g as gaAreasOf, h as gaInventorySegments, i as gaUnitLabel, j as gaUnitLabels, k as growJoinedGAInventory, l as isGaUnitLabel, v as validGAInventorySegments } from './ticketRestrictions-CvS2oQ8v.js';
|
|
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-Cn_sk1Sx.js';
|
|
9
|
+
export { 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-C5dQiq97.js';
|
|
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-6sFRupj0.js';
|
|
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-6sFRupj0.js';
|
|
12
|
+
import './segmentedRowModel-DbP7pWUk.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Host chrome over the canvas, and the box that leaves for camera framing.
|
|
@@ -987,6 +987,173 @@ declare function createRenderer(container: HTMLDivElement, opts?: RendererOption
|
|
|
987
987
|
*/
|
|
988
988
|
declare function compactRowLabel(rowLabel: string, sectionLabel: string | undefined): string;
|
|
989
989
|
|
|
990
|
+
/**
|
|
991
|
+
* The access needs THIS chart actually offers, with live free counts.
|
|
992
|
+
*
|
|
993
|
+
* The accessibility sheet used to render the whole twelve-key taxonomy on
|
|
994
|
+
* every event, so a buyer at a venue with nothing but wheelchair bays was
|
|
995
|
+
* offered "CART live-caption view" and "Sign-language view" — chips that
|
|
996
|
+
* filter to an empty map. Offering a provision that does not exist is worse
|
|
997
|
+
* than a short list: it reads as a venue that has it and has sold out of it.
|
|
998
|
+
*
|
|
999
|
+
* So the list is derived from the seats the chart authored. A key appears
|
|
1000
|
+
* because at least one seat carries it — including a key whose seats are all
|
|
1001
|
+
* gone, which is shown at zero and disabled rather than dropped, so the
|
|
1002
|
+
* difference between "this venue has none" and "this venue's are taken" stays
|
|
1003
|
+
* visible.
|
|
1004
|
+
*
|
|
1005
|
+
* `count` is FREE seats only, and is counted exactly the way
|
|
1006
|
+
* `sectionAccessibleFreeCount` counts them (status `free`, then the seat's own
|
|
1007
|
+
* accommodation set) — one definition of "available accessible seating" across
|
|
1008
|
+
* the overview blocks, the section card and this list.
|
|
1009
|
+
*/
|
|
1010
|
+
|
|
1011
|
+
/** One provision the event offers, and how many of it are still free. */
|
|
1012
|
+
interface PickerAccessNeed {
|
|
1013
|
+
key: AccessibilityType;
|
|
1014
|
+
/** Free seats carrying this accommodation right now. May be 0. */
|
|
1015
|
+
count: number;
|
|
1016
|
+
}
|
|
1017
|
+
/**
|
|
1018
|
+
* The provisions on this chart, in the taxonomy's own order.
|
|
1019
|
+
*
|
|
1020
|
+
* Taxonomy order rather than count order on purpose: the sheet is a stable
|
|
1021
|
+
* control, and a list that reshuffles itself as other buyers take seats is one
|
|
1022
|
+
* the returning buyer has to re-read every time.
|
|
1023
|
+
*/
|
|
1024
|
+
declare function accessNeedsFor(seats: Iterable<ExpandedSeat>, statusOf: (seatId: string) => string): PickerAccessNeed[];
|
|
1025
|
+
|
|
1026
|
+
/**
|
|
1027
|
+
* What an availability refresh means for the buyer who is looking at the map.
|
|
1028
|
+
*
|
|
1029
|
+
* A refresh re-reads OTHER buyers' inventory. It is not a chance to re-decide
|
|
1030
|
+
* what this buyer has: his selection stays selected, his hold keeps its
|
|
1031
|
+
* countdown, his cart total does not move, and the camera never travels. The
|
|
1032
|
+
* only thing a refresh may take away is something that was never his.
|
|
1033
|
+
*
|
|
1034
|
+
* That distinction is the whole reason this is a module rather than three
|
|
1035
|
+
* lines inside `applySeatsMap`. The authoritative snapshot reports a seat the
|
|
1036
|
+
* buyer is holding as `held` — held BY HIM — and a naive reader would mark it
|
|
1037
|
+
* unavailable and drop it out of his own cart on every resume. So the hold's
|
|
1038
|
+
* labels are subtracted first, and only what is left can be lost.
|
|
1039
|
+
*
|
|
1040
|
+
* WHAT ENDS A HOLD IS THE CLOCK, NOT THE SEAT STATUS. `held` on the wire says
|
|
1041
|
+
* nothing about WHO holds it, so it can never prove a hold is still ours — and
|
|
1042
|
+
* reading it as proof is how a buyer kept a DEAD hold with a LIVE countdown and
|
|
1043
|
+
* only found out when checkout failed. The hold carries its own `expiresAt`;
|
|
1044
|
+
* that is authoritative and needs no ownership information at all. Once it has
|
|
1045
|
+
* passed (or the server has told us the session's hold is gone), the hold IS
|
|
1046
|
+
* lapsed whatever the seats read, and availability only decides which of those
|
|
1047
|
+
* seats can be taken back.
|
|
1048
|
+
*
|
|
1049
|
+
* Kept pure (labels and a status lookup, no renderer, no controller) so both
|
|
1050
|
+
* buyer surfaces — the native bridge picker and the web widget — reconcile
|
|
1051
|
+
* through the SAME code and cannot drift into two answers.
|
|
1052
|
+
*/
|
|
1053
|
+
/** What a refresh changed for this buyer, and what he can do about it. */
|
|
1054
|
+
interface AvailabilityRefreshOutcome {
|
|
1055
|
+
/**
|
|
1056
|
+
* Labels the buyer had SELECTED but never held, which somebody else has
|
|
1057
|
+
* since taken. The caller deselects these and surfaces them through whatever
|
|
1058
|
+
* lost-seat path it already has.
|
|
1059
|
+
*/
|
|
1060
|
+
lost: string[];
|
|
1061
|
+
/** The buyer's own hold is gone server-side — it lapsed while he was away. */
|
|
1062
|
+
holdLapsed: boolean;
|
|
1063
|
+
/** The labels that lapsed hold covered. Empty unless {@link holdLapsed}. */
|
|
1064
|
+
lapsedLabels: string[];
|
|
1065
|
+
/**
|
|
1066
|
+
* The lapsed labels that are STILL free — the exact seats a "select them
|
|
1067
|
+
* again" offer may re-take. Always a subset of {@link lapsedLabels}, and
|
|
1068
|
+
* always read from the just-refreshed statuses rather than local memory.
|
|
1069
|
+
*/
|
|
1070
|
+
recoverable: string[];
|
|
1071
|
+
}
|
|
1072
|
+
interface AvailabilityRefreshInput {
|
|
1073
|
+
/** Public labels currently selected on the map. */
|
|
1074
|
+
selection: readonly string[];
|
|
1075
|
+
/** Public labels the buyer's OWN hold covers (empty when he holds nothing). */
|
|
1076
|
+
holdLabels: readonly string[];
|
|
1077
|
+
/** Whether a hold is open locally. `false` short-circuits every hold answer. */
|
|
1078
|
+
holdActive: boolean;
|
|
1079
|
+
/** Live status of one label after the refresh has been applied. */
|
|
1080
|
+
statusOf: (label: string) => string;
|
|
1081
|
+
/**
|
|
1082
|
+
* Epoch ms at which the buyer's OWN hold expires — the authoritative end of
|
|
1083
|
+
* it. Once `now` is past this (plus {@link HOLD_CLOCK_SKEW_MS}) the hold has
|
|
1084
|
+
* lapsed no matter what the seats read. `null`/omitted only when a caller
|
|
1085
|
+
* genuinely has no expiry, and then the clock decides nothing.
|
|
1086
|
+
*/
|
|
1087
|
+
holdExpiresAt?: number | null;
|
|
1088
|
+
/**
|
|
1089
|
+
* The server's own answer to "is this session's hold still open?", for the
|
|
1090
|
+
* surfaces that have one (a snapshot carrying hold ownership, or a 404/410
|
|
1091
|
+
* on the hold id). `false` lapses the hold on its own; `undefined` means
|
|
1092
|
+
* nobody asked, which is not the same as `true`.
|
|
1093
|
+
*/
|
|
1094
|
+
serverHoldActive?: boolean;
|
|
1095
|
+
/** Injectable clock. Defaults to `Date.now()`. */
|
|
1096
|
+
now?: number;
|
|
1097
|
+
}
|
|
1098
|
+
/**
|
|
1099
|
+
* How far past `expiresAt` a hold is still given the benefit of the doubt.
|
|
1100
|
+
*
|
|
1101
|
+
* The buyer's device clock is not the server's. A few seconds of skew must not
|
|
1102
|
+
* turn a hold the server still honours into a lapse notice, and a few seconds
|
|
1103
|
+
* of delay costs a returning buyer nothing — the notice is about a hold that
|
|
1104
|
+
* ended minutes ago in every real case.
|
|
1105
|
+
*/
|
|
1106
|
+
declare const HOLD_CLOCK_SKEW_MS = 5000;
|
|
1107
|
+
declare const EMPTY_AVAILABILITY_REFRESH: AvailabilityRefreshOutcome;
|
|
1108
|
+
/**
|
|
1109
|
+
* Has the buyer's own hold ended? Answered WITHOUT looking at seat status.
|
|
1110
|
+
*
|
|
1111
|
+
* Three sufficient signals, in the order they can be trusted:
|
|
1112
|
+
*
|
|
1113
|
+
* 1. The hold's own expiry has passed (plus {@link HOLD_CLOCK_SKEW_MS}). This
|
|
1114
|
+
* needs no ownership information and is the one that closes the hole: a
|
|
1115
|
+
* lapsed hold whose seats another buyer grabbed reads `held` on every one
|
|
1116
|
+
* of its labels, which used to be read as "still ours".
|
|
1117
|
+
* 2. The server says the session has no open hold.
|
|
1118
|
+
* 3. NOT ONE of its labels still reads `held`. Kept because it is genuinely
|
|
1119
|
+
* right — nobody at all is holding these seats, so neither are we — and it
|
|
1120
|
+
* catches a hold released server-side before its expiry.
|
|
1121
|
+
*
|
|
1122
|
+
* The conservatism that survives is the one that was always correct: while the
|
|
1123
|
+
* expiry has NOT passed and the server has not said otherwise, a label reading
|
|
1124
|
+
* `held` never declares a lapse, because that `held` is most likely us.
|
|
1125
|
+
*/
|
|
1126
|
+
declare function holdHasLapsed(input: AvailabilityRefreshInput): boolean;
|
|
1127
|
+
/**
|
|
1128
|
+
* Read a freshly applied status map on the buyer's behalf.
|
|
1129
|
+
*
|
|
1130
|
+
* Whether the hold ended is {@link holdHasLapsed}'s answer, and it is decided
|
|
1131
|
+
* before a single status is consulted. Availability then only sorts the lapsed
|
|
1132
|
+
* seats: `recoverable` is what is free NOW and can honestly be offered back,
|
|
1133
|
+
* and everything else — booked, or `held` by whoever took it — is simply gone,
|
|
1134
|
+
* which is exactly the "could not be recovered" count the copy reports.
|
|
1135
|
+
*/
|
|
1136
|
+
declare function reconcileAvailability(input: AvailabilityRefreshInput): AvailabilityRefreshOutcome;
|
|
1137
|
+
/** Did anything at all change for this buyer? */
|
|
1138
|
+
declare function refreshChangedSomething(outcome: AvailabilityRefreshOutcome): boolean;
|
|
1139
|
+
/** How a lapsed hold's seats came back — what the buyer is told, in one word. */
|
|
1140
|
+
type HoldRecoveryShape = 'all' | 'partial' | 'none';
|
|
1141
|
+
declare function holdRecoveryShape(outcome: AvailabilityRefreshOutcome): HoldRecoveryShape;
|
|
1142
|
+
/**
|
|
1143
|
+
* Should an expiry poll wait another beat before declaring the hold over?
|
|
1144
|
+
*
|
|
1145
|
+
* `PickerController.expireActiveHold` fires AT the hold's expiry and re-reads
|
|
1146
|
+
* the authoritative snapshot. It used to keep polling for as long as any of
|
|
1147
|
+
* the hold's labels still read `held`, on the same "held without saying by
|
|
1148
|
+
* whom" reasoning — which meant a hold whose seats another buyer took the
|
|
1149
|
+
* instant they were released polled FOREVER, and the countdown never ended.
|
|
1150
|
+
*
|
|
1151
|
+
* Past the expiry, `held` proves nothing and stops earning a delay. All that
|
|
1152
|
+
* is left is {@link HOLD_CLOCK_SKEW_MS} of benefit of the doubt for a device
|
|
1153
|
+
* clock that runs ahead of the server's.
|
|
1154
|
+
*/
|
|
1155
|
+
declare function shouldWaitForHoldExpiry(expiresAt: number, anyStillHeld: boolean, now?: number): boolean;
|
|
1156
|
+
|
|
990
1157
|
/**
|
|
991
1158
|
* Public host contracts for the framework-agnostic buyer picker.
|
|
992
1159
|
*
|
|
@@ -1334,6 +1501,15 @@ interface PickerCallbacks extends RendererCallbacks {
|
|
|
1334
1501
|
onBook?: (bookingRef: string) => void;
|
|
1335
1502
|
/** Any live seat-status change arrived (delta or snapshot) — e.g. to recount "N left". */
|
|
1336
1503
|
onStatusChange?: () => void;
|
|
1504
|
+
/**
|
|
1505
|
+
* An availability refresh finished — what it changed for THIS buyer.
|
|
1506
|
+
*
|
|
1507
|
+
* Fires after {@link PickerController.refreshAvailability} has already
|
|
1508
|
+
* deselected anything lost and cleared a lapsed hold, so a host reads it to
|
|
1509
|
+
* decide what to SAY, never to reconcile state itself. The outcome is empty
|
|
1510
|
+
* on the common path where nothing of the buyer's changed.
|
|
1511
|
+
*/
|
|
1512
|
+
onAvailabilityRefresh?: (outcome: AvailabilityRefreshOutcome) => void;
|
|
1337
1513
|
/**
|
|
1338
1514
|
* Mouse hover moved onto a seat (null on hover-out) — the seat enriched with
|
|
1339
1515
|
* category label/color, resolved price and live status, ready for a tooltip.
|
|
@@ -1535,10 +1711,8 @@ declare class PickerController {
|
|
|
1535
1711
|
private reconnectTimer;
|
|
1536
1712
|
private attempt;
|
|
1537
1713
|
private closed;
|
|
1538
|
-
/**
|
|
1539
|
-
|
|
1540
|
-
* mounts / non-DOM environments). */
|
|
1541
|
-
private onVisibilityChange;
|
|
1714
|
+
/** Detach for the tab-regain catch-up listener; null when not attached. */
|
|
1715
|
+
private detachVisibility;
|
|
1542
1716
|
private hold_;
|
|
1543
1717
|
private liveStatuses;
|
|
1544
1718
|
/**
|
|
@@ -1730,19 +1904,12 @@ declare class PickerController {
|
|
|
1730
1904
|
* flag — gates the buyer widget's "★ Best seats" premium quick-pick (chip is
|
|
1731
1905
|
* present-only, exactly like the accessibility filter chips). */
|
|
1732
1906
|
hasPremiumSeats(): boolean;
|
|
1733
|
-
/** Zones which still own visible buyer inventory
|
|
1907
|
+
/** Zones which still own visible buyer inventory — ./pickerPremiumBlock. */
|
|
1734
1908
|
getBestAvailableZones(): Array<{
|
|
1735
1909
|
id: string;
|
|
1736
1910
|
label: string;
|
|
1737
1911
|
}>;
|
|
1738
|
-
/**
|
|
1739
|
-
* Client-side premium pre-pass: find the best contiguous block of `qty`
|
|
1740
|
-
* PREMIUM-flagged free seats (orphan-avoiding, closest to the focal point)
|
|
1741
|
-
* using the local seat geometry + live availability, mirroring the server's
|
|
1742
|
-
* held-back exclusion via the visible (hidden-stripped) chart and current
|
|
1743
|
-
* seat status. Returns a FULL premium block of `qty`, or null when none
|
|
1744
|
-
* exists (the caller then falls back to the normal server pick).
|
|
1745
|
-
*/
|
|
1912
|
+
/** Client-side premium pre-pass — see ./pickerPremiumBlock. */
|
|
1746
1913
|
private pickPremiumBlock;
|
|
1747
1914
|
/**
|
|
1748
1915
|
* Server-picks `qty` best free seats and holds them atomically. Throws on
|
|
@@ -1990,18 +2157,31 @@ declare class PickerController {
|
|
|
1990
2157
|
*/
|
|
1991
2158
|
refresh(): Promise<void>;
|
|
1992
2159
|
/**
|
|
1993
|
-
*
|
|
1994
|
-
* seat-status deltas that arrived over the WS mutated the scene graph but the
|
|
1995
|
-
* canvas colors never repainted. When the tab becomes visible again we (1)
|
|
1996
|
-
* resnapshot to pull authoritative state for anything the socket may have
|
|
1997
|
-
* missed while backgrounded, then (2) forceDraw() a synchronous repaint so the
|
|
1998
|
-
* seat colors are correct immediately rather than on the next incidental draw.
|
|
2160
|
+
* Re-read OTHER buyers' inventory, without disturbing this buyer's own.
|
|
1999
2161
|
*
|
|
2000
|
-
*
|
|
2001
|
-
*
|
|
2162
|
+
* The refresh a returning buyer gets: seats sold or held by someone else
|
|
2163
|
+
* while he was on the checkout screen stop looking free, so he cannot tap
|
|
2164
|
+
* one that is already gone. What is HIS is untouched — selection, hold
|
|
2165
|
+
* countdown, cart total, camera and rung all stay. His own held seats read
|
|
2166
|
+
* `held` on the wire because HE holds them — so whether HIS hold ended is
|
|
2167
|
+
* decided by its own `expiresAt`, never by a status. See ./availabilityRefresh.
|
|
2168
|
+
*
|
|
2169
|
+
* Coalesced rather than forced: it joins an availability read already in
|
|
2170
|
+
* flight, so every re-entry point a host has (app resume, route resume, tab
|
|
2171
|
+
* regain) can call it without multiplying requests.
|
|
2002
2172
|
*/
|
|
2003
|
-
|
|
2004
|
-
|
|
2173
|
+
refreshAvailability(): Promise<AvailabilityRefreshOutcome>;
|
|
2174
|
+
/** Access needs this chart offers, with live free counts — ./accessNeeds. */
|
|
2175
|
+
getAccessNeeds(): PickerAccessNeed[];
|
|
2176
|
+
/**
|
|
2177
|
+
* Buyer catch-up on tab regain — see ./pickerVisibility for the listener and
|
|
2178
|
+
* why the order (authoritative statuses, then a synchronous draw) matters.
|
|
2179
|
+
*
|
|
2180
|
+
* It goes through {@link refreshAvailability}, not a bare resnapshot, so a
|
|
2181
|
+
* seat another buyer took while the tab was hidden leaves this buyer's
|
|
2182
|
+
* selection rather than repainting under it. Attached once, detached in destroy().
|
|
2183
|
+
*/
|
|
2184
|
+
private attachVisibility;
|
|
2005
2185
|
/**
|
|
2006
2186
|
* The sink a transport-owned v1 client pushes into.
|
|
2007
2187
|
*
|
|
@@ -2024,6 +2204,29 @@ declare class PickerController {
|
|
|
2024
2204
|
private scheduleReconnect;
|
|
2025
2205
|
}
|
|
2026
2206
|
|
|
2207
|
+
/**
|
|
2208
|
+
* Tab-regain catch-up, as a listener the controller owns but does not contain.
|
|
2209
|
+
*
|
|
2210
|
+
* While a tab is hidden Chrome pauses rAF, so seat-status deltas that arrived
|
|
2211
|
+
* over the socket mutated the scene graph while the canvas never repainted.
|
|
2212
|
+
* Coming back visible therefore needs two things in order: authoritative
|
|
2213
|
+
* statuses for whatever the socket missed, then a synchronous draw so the
|
|
2214
|
+
* colours are right immediately rather than at the next incidental paint.
|
|
2215
|
+
*
|
|
2216
|
+
* Extracted from `PickerController` (2026-08-28) so the same attach/detach
|
|
2217
|
+
* discipline can be reused by the web widget's wider "regained attention"
|
|
2218
|
+
* wiring — visibility AND window focus — without a second copy of the
|
|
2219
|
+
* double-attach and non-DOM guards.
|
|
2220
|
+
*/
|
|
2221
|
+
/**
|
|
2222
|
+
* Call `onVisible` each time the document becomes visible again.
|
|
2223
|
+
*
|
|
2224
|
+
* Returns the detach function. In a non-DOM environment (tests, SSR, a native
|
|
2225
|
+
* WebView shim without `document`) nothing is attached and the returned
|
|
2226
|
+
* function is a no-op, so callers need no environment check of their own.
|
|
2227
|
+
*/
|
|
2228
|
+
declare function attachVisibilityCatchUp(onVisible: () => void): () => void;
|
|
2229
|
+
|
|
2027
2230
|
/**
|
|
2028
2231
|
* Synthetic view-from-seat panorama, generated from chart geometry alone.
|
|
2029
2232
|
*
|
|
@@ -2270,4 +2473,4 @@ declare function formatMinor(minor: number, currency?: string, locale?: string):
|
|
|
2270
2473
|
/** Bare symbol for input adornments ("€", "$", "₹"). */
|
|
2271
2474
|
declare function currencySymbol(currency?: string): string;
|
|
2272
2475
|
|
|
2273
|
-
export { AccessibilityType, CURRENCY_CHOICES, CategoryTier, ChartDeliveryPerformance, ChartDoc, DEFAULT_CURRENCY, type Dict, type Direction, EventConfigurationRef, EventConfigurationVersion, ExpandedSeat, FloorLabelStyle, GAAreaState, type HoldConflict, type HoldInfo, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LOCALE_NAMES, type Locale, LodRung, type MoneyFormatOptions, type PanoramaResult, type PickerCallbacks, PickerController, type PickerGAArea, type PickerMapTheme, type PickerOptions, type PickerRealtimeConnection, type PickerRealtimeSink, type PickerRenderPerformanceProfile, type PickerSeat, PickerSelectionError, type PickerSelectionValidator, type PickerSelectionValidity, type PickerSelectionViolation, type PickerStatusChange, type PickerTransport, Point, RendererCallbacks, RendererMinimapSnapshot, RendererOptions, RendererQualityEvidence, RendererViewMode, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatMark, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionSummary, TRANSLATED_LOCALES, type TableSelectionDetails, compactRowLabel, createRenderer, currencyExponent, currencySymbol, formatDate, formatMinor, formatMoney, fromMinorUnits, generateSeatPanorama, generateSeatThumb, getLocale, isLocaleLoaded, loadLocale, localeDirection, resolveLocale, setLocale, setMoneyLocale, setStringOverrides, t, tCount };
|
|
2476
|
+
export { AccessibilityType, type AvailabilityRefreshInput, type AvailabilityRefreshOutcome, CURRENCY_CHOICES, CategoryTier, ChartDeliveryPerformance, ChartDoc, DEFAULT_CURRENCY, type Dict, type Direction, EMPTY_AVAILABILITY_REFRESH, EventConfigurationRef, EventConfigurationVersion, ExpandedSeat, FloorLabelStyle, GAAreaState, HOLD_CLOCK_SKEW_MS, type HoldConflict, type HoldInfo, type HoldRecoveryShape, type HoldSelectionRequest, type HoldServerItem, ISeatmapRenderer, LOCALE_NAMES, type Locale, LodRung, type MoneyFormatOptions, type PanoramaResult, type PickerAccessNeed, type PickerCallbacks, PickerController, type PickerGAArea, type PickerMapTheme, type PickerOptions, type PickerRealtimeConnection, type PickerRealtimeSink, type PickerRenderPerformanceProfile, type PickerSeat, PickerSelectionError, type PickerSelectionValidator, type PickerSelectionValidity, type PickerSelectionViolation, type PickerStatusChange, type PickerTransport, Point, RendererCallbacks, RendererMinimapSnapshot, RendererOptions, RendererQualityEvidence, RendererViewMode, SUPPORTED_LOCALES, SeatCommercialAttributes, type SeatHoverDetails, SeatMark, SeatStatus, SeatmapRenderer, type SectionCategory, type SectionSummary, TRANSLATED_LOCALES, type TableSelectionDetails, accessNeedsFor, attachVisibilityCatchUp, compactRowLabel, createRenderer, currencyExponent, currencySymbol, formatDate, formatMinor, formatMoney, fromMinorUnits, generateSeatPanorama, generateSeatThumb, getLocale, holdHasLapsed, holdRecoveryShape, isLocaleLoaded, loadLocale, localeDirection, reconcileAvailability, refreshChangedSomething, resolveLocale, setLocale, setMoneyLocale, setStringOverrides, shouldWaitForHoldExpiry, t, tCount };
|