@seatlayer/js 0.81.0 → 0.82.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/index.cjs +469 -390
- package/dist/index.d.cts +75 -28
- package/dist/index.d.ts +75 -28
- package/dist/index.js +468 -389
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, AccessibilityType, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AccessibleSectionStep, AvailabilityRefreshOutcome, PickerController, ExpandedSeat, TableSelectionDetails
|
|
1
|
+
import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, AccessibilityType, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AccessibleSectionStep, AvailabilityRefreshOutcome, PickerController, ExpandedSeat, TableSelectionDetails } from '@seatlayer/core';
|
|
2
2
|
export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
|
|
3
3
|
import { T as ThemeMode } from './channelsMode-goczEzyt.cjs';
|
|
4
4
|
export { A as AccessIntentForbidsDetails, a as AccessLinkRecord, b as AccessLinkReveal, c as AccessLinkState, d as AccessLinkStatus, e as AccessLinkStatusRecord, f as ArchiveBlockedDetails, g as AssignmentBuckets, h as AssignmentDropDetails, i as AssignmentResult, B as BucketRow, C as ChannelAccessIntent, j as ChannelAccessSummary, k as ChannelAllocationPage, l as ChannelAttribution, m as ChannelAuditEntry, n as ChannelAuditPage, o as ChannelCounts, p as ChannelListResult, q as ChannelPreviewProjection, r as ChannelRecord, s as ChannelReport, t as ChannelReportLinkRecord, u as ChannelReportLinkReveal, v as ChannelReportResult, w as ChannelReportRow, x as ChannelSeatStatus, y as ChannelState, z as ChannelsCapabilities, D as ChannelsClient, E as ChannelsMode, F as ChannelsModeHost, G as ChannelsRowView, H as ChannelsSeatView, I as ControlRoomActivityEntry, J as ControlRoomSectionMetric, K as ControlRoomSnapshot, L as EventCategoryAssignmentResult, M as EventScopedManageToken, N as EventTableBookingMode, O as EventTableBookingResult, P as IntentSwitchBlockedDetails, Q as InventoryBooking, R as InventoryBookingActivity, S as InventoryBookingDetail, U as InventoryBookingObject, V as InventoryBookingState, W as InventoryBookingsPage, X as InventoryBookingsQuery, Y as LogEntry, Z as LogPage, _ as ManageApi, $ as ManageApiError, a0 as ReportByStatus, a1 as ReportCategoryMeta, a2 as ReportCategoryRow, a3 as ReportResult, a4 as SeatManager, a5 as SeatManagerActionResult, a6 as SeatManagerActivity, a7 as SeatManagerCapability, a8 as SeatManagerConnection, a9 as SeatManagerFilteredSection, aa as SeatManagerMode, ab as SeatManagerOptions, ac as SeatManagerSelectionValidity, ad as SeatManagerTallies, ae as SelectionSourceRow } from './channelsMode-goczEzyt.cjs';
|
|
@@ -1526,6 +1526,15 @@ interface SeatingChartPickerState {
|
|
|
1526
1526
|
rung: LodRung;
|
|
1527
1527
|
/** True only when one semantic zoom-out step can reveal more of the venue. */
|
|
1528
1528
|
canZoomOut: boolean;
|
|
1529
|
+
/**
|
|
1530
|
+
* Is the camera exactly at the whole-venue fit? Present only when the
|
|
1531
|
+
* renderer can answer; a host that reads `canZoomOut` alone re-creates the
|
|
1532
|
+
* dead "−" between the fit and the seats rung (web fix, 2026-09-05), so a
|
|
1533
|
+
* native host should dim its "−"/"fit" controls on THIS, when present.
|
|
1534
|
+
*/
|
|
1535
|
+
atVenueFit?: boolean;
|
|
1536
|
+
/** False only at the zoom ceiling. Present only when the renderer can answer. */
|
|
1537
|
+
canZoomIn?: boolean;
|
|
1529
1538
|
focusedSectionId: string | null;
|
|
1530
1539
|
focusedSection: SectionSummary | null;
|
|
1531
1540
|
viewMode: RendererViewMode;
|
|
@@ -2711,9 +2720,11 @@ declare class EmbeddedDesigner {
|
|
|
2711
2720
|
/**
|
|
2712
2721
|
* pickerLegend — the two places the picker explains its colours.
|
|
2713
2722
|
*
|
|
2714
|
-
* The price LIST (`.sl-price-row`) is the detail view: colour, name,
|
|
2715
|
-
*
|
|
2716
|
-
*
|
|
2723
|
+
* The price LIST (`.sl-price-row`) is the detail view: colour, name, the offer
|
|
2724
|
+
* name, the exact price or spread. (It no longer prints how many are left —
|
|
2725
|
+
* owner call 2026-09-05 — though it still reads the count to dim a sold-out
|
|
2726
|
+
* row.) It lives in the side panel on desktop and behind a disclosure inside
|
|
2727
|
+
* the bottom sheet on a phone.
|
|
2717
2728
|
*
|
|
2718
2729
|
* The price RAIL (`.sl-rc`) is the phone's always-visible legend: colour and
|
|
2719
2730
|
* price, nothing else, pinned above the map. It exists because on a narrow
|
|
@@ -3594,6 +3605,24 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3594
3605
|
/** @internal */ webMcpHost(holds: boolean): WebMcpHost;
|
|
3595
3606
|
/** Wire host chrome after the skeleton exists and before the renderer owns its map host. */
|
|
3596
3607
|
private wireBuyerShell;
|
|
3608
|
+
/**
|
|
3609
|
+
* Open or collapse the phone sheet, and say so.
|
|
3610
|
+
*
|
|
3611
|
+
* The one place `data-sheet` is written together with the chevron's
|
|
3612
|
+
* `aria-expanded` and its label: the two used to drift, and a chevron that
|
|
3613
|
+
* says "Open ticket panel" over an open panel is worse than no label at all.
|
|
3614
|
+
*
|
|
3615
|
+
* @internal
|
|
3616
|
+
*/
|
|
3617
|
+
setSheetOpen(open: boolean): void;
|
|
3618
|
+
/**
|
|
3619
|
+
* The empty phone cart's way in to the best-seats form.
|
|
3620
|
+
*
|
|
3621
|
+
* Still a FORM, not a verb: it reveals quantity/type/zone and picks nothing
|
|
3622
|
+
* for anyone. Opening the sheet is not the same as arriving at the card
|
|
3623
|
+
* either — on a short phone the tray can open scrolled past it.
|
|
3624
|
+
*/
|
|
3625
|
+
private openBestSeatsForm;
|
|
3597
3626
|
/**
|
|
3598
3627
|
* Put the phone sheet back to its peek.
|
|
3599
3628
|
*
|
|
@@ -3635,8 +3664,13 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3635
3664
|
setPanelCollapsed(collapsed: boolean): void;
|
|
3636
3665
|
/** Idempotent DOM apply, also run on every layout flip (inert must lift on narrow). */
|
|
3637
3666
|
private applyPanelCollapsed;
|
|
3638
|
-
/**
|
|
3639
|
-
*
|
|
3667
|
+
/**
|
|
3668
|
+
* Build the ♿ menu (filter + limited view + palette) as the TOP DISC of the
|
|
3669
|
+
* right-hand control column (owner call 2026-09-06). It used to stand alone
|
|
3670
|
+
* in the map's bottom-left corner, which is the minimap's corner, and read
|
|
3671
|
+
* as a stray control facing a stack of them. The menu owns its own state
|
|
3672
|
+
* machine and docks itself first in the column; see the module.
|
|
3673
|
+
*/
|
|
3640
3674
|
private buildAccessibilityMenu;
|
|
3641
3675
|
/**
|
|
3642
3676
|
* Jump to the seats rung when a dimming filter turns on — the dimming only
|
|
@@ -3809,18 +3843,20 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3809
3843
|
/** Reflect the engine's current LOD rung onto the pill group. */
|
|
3810
3844
|
/** @internal */ syncRung(): void;
|
|
3811
3845
|
/**
|
|
3812
|
-
* The phone's
|
|
3846
|
+
* The phone's back-out controls, and whether they still have anywhere to go.
|
|
3813
3847
|
*
|
|
3814
|
-
* On narrow the
|
|
3815
|
-
*
|
|
3816
|
-
* the whole venue
|
|
3817
|
-
*
|
|
3818
|
-
*
|
|
3848
|
+
* On narrow the corner carries "+", "−" and the fit disc (owner call
|
|
3849
|
+
* 2026-09-05). "−" is the ladder — one tap to the section the buyer drilled
|
|
3850
|
+
* into, one more to the whole venue — and the fit disc is that last step on
|
|
3851
|
+
* its own. The ladder itself is `mapZoomOutStep`; this only dresses it, and
|
|
3852
|
+
* only on narrow: wide keeps "+" and "−" undimmed and never shows the disc.
|
|
3819
3853
|
*
|
|
3820
|
-
* DIMMED, NOT GONE. The
|
|
3854
|
+
* DIMMED, NOT GONE. The controls used to appear only once the buyer was deep
|
|
3821
3855
|
* enough to be lost, so the corner grew and shrank a button underneath their
|
|
3822
3856
|
* thumb. A control that stays put and plainly cannot be pressed says "you
|
|
3823
|
-
* are already looking at everything" without moving the target
|
|
3857
|
+
* are already looking at everything" without moving the target — as long as
|
|
3858
|
+
* it dims only when that is TRUE, which is why the reading is the engine's
|
|
3859
|
+
* fit pose and not a guess from whether seats happen to be on screen.
|
|
3824
3860
|
*/
|
|
3825
3861
|
private syncMapStepBack;
|
|
3826
3862
|
/** @internal */ syncProjection(): void;
|
|
@@ -3989,8 +4025,6 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3989
4025
|
/** @internal */ scheduleFit(): void;
|
|
3990
4026
|
private fitTranslatedRows;
|
|
3991
4027
|
private emitSelectionValidity;
|
|
3992
|
-
/** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
|
|
3993
|
-
/** @internal */ renderPeek(count: number, total: number, pendingCount: number, bump?: boolean): void;
|
|
3994
4028
|
/**
|
|
3995
4029
|
* Release one buyer-visible held LINE. That is one label for a seat, and every
|
|
3996
4030
|
* unit label behind a grouped GA line — a buyer who presses × on
|
|
@@ -4026,6 +4060,29 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
4026
4060
|
private showBooked;
|
|
4027
4061
|
/** Take the confirmation down and give the map back. The booking stands. */
|
|
4028
4062
|
private dismissBooked;
|
|
4063
|
+
/**
|
|
4064
|
+
* The seats are BOUGHT. Put the picker back to the state a buyer who has
|
|
4065
|
+
* just arrived would find.
|
|
4066
|
+
*
|
|
4067
|
+
* "Back to map" used to take down the overlay and nothing else, and what it
|
|
4068
|
+
* uncovered was the cart that had paid for the booking: the same tickets
|
|
4069
|
+
* still listed (with padlocks, because the labels now read `booked`), the
|
|
4070
|
+
* same total in the footer, and a CTA frozen on "Opening secure checkout…"
|
|
4071
|
+
* with its spinner — a control that could never finish, over a hold that no
|
|
4072
|
+
* longer existed. The seats still painted as the buyer's own selection, ✕ on
|
|
4073
|
+
* a row did nothing (there is no hold left to release from), and any seat
|
|
4074
|
+
* added next was totalled together with tickets that were already paid for.
|
|
4075
|
+
*
|
|
4076
|
+
* A settled hold is not a hold, so everything that was showing one goes: the
|
|
4077
|
+
* hold and its handoff, the session's remembered hold id, the timer, the
|
|
4078
|
+
* selection behind the cart (which is what repaints those seats as inert
|
|
4079
|
+
* `booked` rather than as picks), the GA quantities, and the CTA phase.
|
|
4080
|
+
* `showBooked` has already fired `onBooked` and stopped the timer — this is
|
|
4081
|
+
* about the surface it left standing, and it runs on the way OUT of the
|
|
4082
|
+
* overlay, so a host that navigates away on `onBooked` (DesiPass) never
|
|
4083
|
+
* reaches it.
|
|
4084
|
+
*/
|
|
4085
|
+
private resetAfterBooking;
|
|
4029
4086
|
/**
|
|
4030
4087
|
* A Performance Group hold settled, told to us by the WRAPPER rather than by
|
|
4031
4088
|
* a socket (§8: this surface has no realtime feed). `detectBooked` waits for
|
|
@@ -4105,18 +4162,10 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
4105
4162
|
* group whose wrapper did not supply the nights.
|
|
4106
4163
|
*/
|
|
4107
4164
|
private nightStripFor;
|
|
4108
|
-
/**
|
|
4109
|
-
* Why a tapped seat cannot be taken, or '' when it can.
|
|
4110
|
-
*
|
|
4111
|
-
* Only the PRESS path asks for this — a mouse already has the status tag and
|
|
4112
|
-
* a card that follows the pointer, so a sentence under every hover would be
|
|
4113
|
-
* noise. A partly-available group seat is excluded: its night strip already
|
|
4114
|
-
* names the exact nights that block it, and "already booked" would flatly
|
|
4115
|
-
* contradict the row underneath saying it is free on Friday.
|
|
4116
|
-
*/
|
|
4117
|
-
private unavailableReason;
|
|
4118
4165
|
private unpinTooltip;
|
|
4119
4166
|
private handleMapPointerDown;
|
|
4167
|
+
/** Close every open ⓘ popover, except `keep`. */
|
|
4168
|
+
private closeInfoPops;
|
|
4120
4169
|
private updateTooltip;
|
|
4121
4170
|
/**
|
|
4122
4171
|
* Push the wrapper's current seat marks at the renderer.
|
|
@@ -4305,8 +4354,6 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
4305
4354
|
/** @internal */ seatViewFor3d(seatId: string): Promise<SeatView | null>;
|
|
4306
4355
|
/** @internal */ onView3dSeatPick(seatId: string): void;
|
|
4307
4356
|
/** @internal */ seatViewCaption(seatId: string): string;
|
|
4308
|
-
/** @internal */ showUnavailable3dSeat(seat: ExpandedSeat, visualState: SeatState3D, status: Exclude<SeatStatus, 'free'>): void;
|
|
4309
|
-
/** @internal */ dismissUnavailable3dSeat(): void;
|
|
4310
4357
|
private saveView3dComparisonSeat;
|
|
4311
4358
|
/** @internal */ clearView3dComparison(): void;
|
|
4312
4359
|
/** @internal */ view3dComparisonSnapshot(seatId: string): {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, AccessibilityType, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AccessibleSectionStep, AvailabilityRefreshOutcome, PickerController, ExpandedSeat, TableSelectionDetails
|
|
1
|
+
import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, AccessibilityType, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AccessibleSectionStep, AvailabilityRefreshOutcome, PickerController, ExpandedSeat, TableSelectionDetails } from '@seatlayer/core';
|
|
2
2
|
export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
|
|
3
3
|
import { T as ThemeMode } from './channelsMode-goczEzyt.js';
|
|
4
4
|
export { A as AccessIntentForbidsDetails, a as AccessLinkRecord, b as AccessLinkReveal, c as AccessLinkState, d as AccessLinkStatus, e as AccessLinkStatusRecord, f as ArchiveBlockedDetails, g as AssignmentBuckets, h as AssignmentDropDetails, i as AssignmentResult, B as BucketRow, C as ChannelAccessIntent, j as ChannelAccessSummary, k as ChannelAllocationPage, l as ChannelAttribution, m as ChannelAuditEntry, n as ChannelAuditPage, o as ChannelCounts, p as ChannelListResult, q as ChannelPreviewProjection, r as ChannelRecord, s as ChannelReport, t as ChannelReportLinkRecord, u as ChannelReportLinkReveal, v as ChannelReportResult, w as ChannelReportRow, x as ChannelSeatStatus, y as ChannelState, z as ChannelsCapabilities, D as ChannelsClient, E as ChannelsMode, F as ChannelsModeHost, G as ChannelsRowView, H as ChannelsSeatView, I as ControlRoomActivityEntry, J as ControlRoomSectionMetric, K as ControlRoomSnapshot, L as EventCategoryAssignmentResult, M as EventScopedManageToken, N as EventTableBookingMode, O as EventTableBookingResult, P as IntentSwitchBlockedDetails, Q as InventoryBooking, R as InventoryBookingActivity, S as InventoryBookingDetail, U as InventoryBookingObject, V as InventoryBookingState, W as InventoryBookingsPage, X as InventoryBookingsQuery, Y as LogEntry, Z as LogPage, _ as ManageApi, $ as ManageApiError, a0 as ReportByStatus, a1 as ReportCategoryMeta, a2 as ReportCategoryRow, a3 as ReportResult, a4 as SeatManager, a5 as SeatManagerActionResult, a6 as SeatManagerActivity, a7 as SeatManagerCapability, a8 as SeatManagerConnection, a9 as SeatManagerFilteredSection, aa as SeatManagerMode, ab as SeatManagerOptions, ac as SeatManagerSelectionValidity, ad as SeatManagerTallies, ae as SelectionSourceRow } from './channelsMode-goczEzyt.js';
|
|
@@ -1526,6 +1526,15 @@ interface SeatingChartPickerState {
|
|
|
1526
1526
|
rung: LodRung;
|
|
1527
1527
|
/** True only when one semantic zoom-out step can reveal more of the venue. */
|
|
1528
1528
|
canZoomOut: boolean;
|
|
1529
|
+
/**
|
|
1530
|
+
* Is the camera exactly at the whole-venue fit? Present only when the
|
|
1531
|
+
* renderer can answer; a host that reads `canZoomOut` alone re-creates the
|
|
1532
|
+
* dead "−" between the fit and the seats rung (web fix, 2026-09-05), so a
|
|
1533
|
+
* native host should dim its "−"/"fit" controls on THIS, when present.
|
|
1534
|
+
*/
|
|
1535
|
+
atVenueFit?: boolean;
|
|
1536
|
+
/** False only at the zoom ceiling. Present only when the renderer can answer. */
|
|
1537
|
+
canZoomIn?: boolean;
|
|
1529
1538
|
focusedSectionId: string | null;
|
|
1530
1539
|
focusedSection: SectionSummary | null;
|
|
1531
1540
|
viewMode: RendererViewMode;
|
|
@@ -2711,9 +2720,11 @@ declare class EmbeddedDesigner {
|
|
|
2711
2720
|
/**
|
|
2712
2721
|
* pickerLegend — the two places the picker explains its colours.
|
|
2713
2722
|
*
|
|
2714
|
-
* The price LIST (`.sl-price-row`) is the detail view: colour, name,
|
|
2715
|
-
*
|
|
2716
|
-
*
|
|
2723
|
+
* The price LIST (`.sl-price-row`) is the detail view: colour, name, the offer
|
|
2724
|
+
* name, the exact price or spread. (It no longer prints how many are left —
|
|
2725
|
+
* owner call 2026-09-05 — though it still reads the count to dim a sold-out
|
|
2726
|
+
* row.) It lives in the side panel on desktop and behind a disclosure inside
|
|
2727
|
+
* the bottom sheet on a phone.
|
|
2717
2728
|
*
|
|
2718
2729
|
* The price RAIL (`.sl-rc`) is the phone's always-visible legend: colour and
|
|
2719
2730
|
* price, nothing else, pinned above the map. It exists because on a narrow
|
|
@@ -3594,6 +3605,24 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3594
3605
|
/** @internal */ webMcpHost(holds: boolean): WebMcpHost;
|
|
3595
3606
|
/** Wire host chrome after the skeleton exists and before the renderer owns its map host. */
|
|
3596
3607
|
private wireBuyerShell;
|
|
3608
|
+
/**
|
|
3609
|
+
* Open or collapse the phone sheet, and say so.
|
|
3610
|
+
*
|
|
3611
|
+
* The one place `data-sheet` is written together with the chevron's
|
|
3612
|
+
* `aria-expanded` and its label: the two used to drift, and a chevron that
|
|
3613
|
+
* says "Open ticket panel" over an open panel is worse than no label at all.
|
|
3614
|
+
*
|
|
3615
|
+
* @internal
|
|
3616
|
+
*/
|
|
3617
|
+
setSheetOpen(open: boolean): void;
|
|
3618
|
+
/**
|
|
3619
|
+
* The empty phone cart's way in to the best-seats form.
|
|
3620
|
+
*
|
|
3621
|
+
* Still a FORM, not a verb: it reveals quantity/type/zone and picks nothing
|
|
3622
|
+
* for anyone. Opening the sheet is not the same as arriving at the card
|
|
3623
|
+
* either — on a short phone the tray can open scrolled past it.
|
|
3624
|
+
*/
|
|
3625
|
+
private openBestSeatsForm;
|
|
3597
3626
|
/**
|
|
3598
3627
|
* Put the phone sheet back to its peek.
|
|
3599
3628
|
*
|
|
@@ -3635,8 +3664,13 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3635
3664
|
setPanelCollapsed(collapsed: boolean): void;
|
|
3636
3665
|
/** Idempotent DOM apply, also run on every layout flip (inert must lift on narrow). */
|
|
3637
3666
|
private applyPanelCollapsed;
|
|
3638
|
-
/**
|
|
3639
|
-
*
|
|
3667
|
+
/**
|
|
3668
|
+
* Build the ♿ menu (filter + limited view + palette) as the TOP DISC of the
|
|
3669
|
+
* right-hand control column (owner call 2026-09-06). It used to stand alone
|
|
3670
|
+
* in the map's bottom-left corner, which is the minimap's corner, and read
|
|
3671
|
+
* as a stray control facing a stack of them. The menu owns its own state
|
|
3672
|
+
* machine and docks itself first in the column; see the module.
|
|
3673
|
+
*/
|
|
3640
3674
|
private buildAccessibilityMenu;
|
|
3641
3675
|
/**
|
|
3642
3676
|
* Jump to the seats rung when a dimming filter turns on — the dimming only
|
|
@@ -3809,18 +3843,20 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3809
3843
|
/** Reflect the engine's current LOD rung onto the pill group. */
|
|
3810
3844
|
/** @internal */ syncRung(): void;
|
|
3811
3845
|
/**
|
|
3812
|
-
* The phone's
|
|
3846
|
+
* The phone's back-out controls, and whether they still have anywhere to go.
|
|
3813
3847
|
*
|
|
3814
|
-
* On narrow the
|
|
3815
|
-
*
|
|
3816
|
-
* the whole venue
|
|
3817
|
-
*
|
|
3818
|
-
*
|
|
3848
|
+
* On narrow the corner carries "+", "−" and the fit disc (owner call
|
|
3849
|
+
* 2026-09-05). "−" is the ladder — one tap to the section the buyer drilled
|
|
3850
|
+
* into, one more to the whole venue — and the fit disc is that last step on
|
|
3851
|
+
* its own. The ladder itself is `mapZoomOutStep`; this only dresses it, and
|
|
3852
|
+
* only on narrow: wide keeps "+" and "−" undimmed and never shows the disc.
|
|
3819
3853
|
*
|
|
3820
|
-
* DIMMED, NOT GONE. The
|
|
3854
|
+
* DIMMED, NOT GONE. The controls used to appear only once the buyer was deep
|
|
3821
3855
|
* enough to be lost, so the corner grew and shrank a button underneath their
|
|
3822
3856
|
* thumb. A control that stays put and plainly cannot be pressed says "you
|
|
3823
|
-
* are already looking at everything" without moving the target
|
|
3857
|
+
* are already looking at everything" without moving the target — as long as
|
|
3858
|
+
* it dims only when that is TRUE, which is why the reading is the engine's
|
|
3859
|
+
* fit pose and not a guess from whether seats happen to be on screen.
|
|
3824
3860
|
*/
|
|
3825
3861
|
private syncMapStepBack;
|
|
3826
3862
|
/** @internal */ syncProjection(): void;
|
|
@@ -3989,8 +4025,6 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3989
4025
|
/** @internal */ scheduleFit(): void;
|
|
3990
4026
|
private fitTranslatedRows;
|
|
3991
4027
|
private emitSelectionValidity;
|
|
3992
|
-
/** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
|
|
3993
|
-
/** @internal */ renderPeek(count: number, total: number, pendingCount: number, bump?: boolean): void;
|
|
3994
4028
|
/**
|
|
3995
4029
|
* Release one buyer-visible held LINE. That is one label for a seat, and every
|
|
3996
4030
|
* unit label behind a grouped GA line — a buyer who presses × on
|
|
@@ -4026,6 +4060,29 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
4026
4060
|
private showBooked;
|
|
4027
4061
|
/** Take the confirmation down and give the map back. The booking stands. */
|
|
4028
4062
|
private dismissBooked;
|
|
4063
|
+
/**
|
|
4064
|
+
* The seats are BOUGHT. Put the picker back to the state a buyer who has
|
|
4065
|
+
* just arrived would find.
|
|
4066
|
+
*
|
|
4067
|
+
* "Back to map" used to take down the overlay and nothing else, and what it
|
|
4068
|
+
* uncovered was the cart that had paid for the booking: the same tickets
|
|
4069
|
+
* still listed (with padlocks, because the labels now read `booked`), the
|
|
4070
|
+
* same total in the footer, and a CTA frozen on "Opening secure checkout…"
|
|
4071
|
+
* with its spinner — a control that could never finish, over a hold that no
|
|
4072
|
+
* longer existed. The seats still painted as the buyer's own selection, ✕ on
|
|
4073
|
+
* a row did nothing (there is no hold left to release from), and any seat
|
|
4074
|
+
* added next was totalled together with tickets that were already paid for.
|
|
4075
|
+
*
|
|
4076
|
+
* A settled hold is not a hold, so everything that was showing one goes: the
|
|
4077
|
+
* hold and its handoff, the session's remembered hold id, the timer, the
|
|
4078
|
+
* selection behind the cart (which is what repaints those seats as inert
|
|
4079
|
+
* `booked` rather than as picks), the GA quantities, and the CTA phase.
|
|
4080
|
+
* `showBooked` has already fired `onBooked` and stopped the timer — this is
|
|
4081
|
+
* about the surface it left standing, and it runs on the way OUT of the
|
|
4082
|
+
* overlay, so a host that navigates away on `onBooked` (DesiPass) never
|
|
4083
|
+
* reaches it.
|
|
4084
|
+
*/
|
|
4085
|
+
private resetAfterBooking;
|
|
4029
4086
|
/**
|
|
4030
4087
|
* A Performance Group hold settled, told to us by the WRAPPER rather than by
|
|
4031
4088
|
* a socket (§8: this surface has no realtime feed). `detectBooked` waits for
|
|
@@ -4105,18 +4162,10 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
4105
4162
|
* group whose wrapper did not supply the nights.
|
|
4106
4163
|
*/
|
|
4107
4164
|
private nightStripFor;
|
|
4108
|
-
/**
|
|
4109
|
-
* Why a tapped seat cannot be taken, or '' when it can.
|
|
4110
|
-
*
|
|
4111
|
-
* Only the PRESS path asks for this — a mouse already has the status tag and
|
|
4112
|
-
* a card that follows the pointer, so a sentence under every hover would be
|
|
4113
|
-
* noise. A partly-available group seat is excluded: its night strip already
|
|
4114
|
-
* names the exact nights that block it, and "already booked" would flatly
|
|
4115
|
-
* contradict the row underneath saying it is free on Friday.
|
|
4116
|
-
*/
|
|
4117
|
-
private unavailableReason;
|
|
4118
4165
|
private unpinTooltip;
|
|
4119
4166
|
private handleMapPointerDown;
|
|
4167
|
+
/** Close every open ⓘ popover, except `keep`. */
|
|
4168
|
+
private closeInfoPops;
|
|
4120
4169
|
private updateTooltip;
|
|
4121
4170
|
/**
|
|
4122
4171
|
* Push the wrapper's current seat marks at the renderer.
|
|
@@ -4305,8 +4354,6 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
4305
4354
|
/** @internal */ seatViewFor3d(seatId: string): Promise<SeatView | null>;
|
|
4306
4355
|
/** @internal */ onView3dSeatPick(seatId: string): void;
|
|
4307
4356
|
/** @internal */ seatViewCaption(seatId: string): string;
|
|
4308
|
-
/** @internal */ showUnavailable3dSeat(seat: ExpandedSeat, visualState: SeatState3D, status: Exclude<SeatStatus, 'free'>): void;
|
|
4309
|
-
/** @internal */ dismissUnavailable3dSeat(): void;
|
|
4310
4357
|
private saveView3dComparisonSeat;
|
|
4311
4358
|
/** @internal */ clearView3dComparison(): void;
|
|
4312
4359
|
/** @internal */ view3dComparisonSnapshot(seatId: string): {
|