@seatlayer/js 0.75.2 → 0.77.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 +179 -66
- package/dist/index.d.cts +88 -72
- package/dist/index.d.ts +88 -72
- package/dist/index.js +178 -65
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -3,6 +3,7 @@ export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelection
|
|
|
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';
|
|
5
5
|
import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
|
|
6
|
+
import { SeatConfidenceDisclosure } from '@seatlayer/core/core/seatConfidence';
|
|
6
7
|
import { Venue3DHandle } from '@seatlayer/core/view3d';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -1437,9 +1438,10 @@ interface SeatingChartPickerState {
|
|
|
1437
1438
|
selection: {
|
|
1438
1439
|
/**
|
|
1439
1440
|
* The selected seats, each carrying where it currently IS on screen when
|
|
1440
|
-
* the renderer can say — see {@link SeatScreenPoint}
|
|
1441
|
+
* the renderer can say — see {@link SeatScreenPoint} — and what a card may
|
|
1442
|
+
* honestly show of the view from it, see {@link SeatViewThumbnail}.
|
|
1441
1443
|
*/
|
|
1442
|
-
seats: Array<SelectedSeat & SeatScreenPoint>;
|
|
1444
|
+
seats: Array<SelectedSeat & SeatScreenPoint & SeatViewThumbnail>;
|
|
1443
1445
|
validity: PickerSelectionValidity | null;
|
|
1444
1446
|
maxSelection: number;
|
|
1445
1447
|
};
|
|
@@ -1469,6 +1471,39 @@ interface SeatScreenPoint {
|
|
|
1469
1471
|
y: number;
|
|
1470
1472
|
};
|
|
1471
1473
|
}
|
|
1474
|
+
/**
|
|
1475
|
+
* What a shell may honestly put on its own confirm card about the view from a
|
|
1476
|
+
* seat. `capability: seat-view-thumbnail-v1`.
|
|
1477
|
+
*
|
|
1478
|
+
* ALL THREE FIELDS ARE PRESENT-ONLY, and each absence means something specific:
|
|
1479
|
+
*
|
|
1480
|
+
* - `seatViewThumb` — the organizer's real view photo, as the REFERENCE the
|
|
1481
|
+
* host resolves through the authenticated buyer-asset transport (never a
|
|
1482
|
+
* plain URL a native `<img>` could fetch on its own: the Event's bearer does
|
|
1483
|
+
* not travel on an image request). It appears only when the same predicate
|
|
1484
|
+
* the web card uses says the media policy will actually hand the bytes back,
|
|
1485
|
+
* so a native card cannot promise a frame that then empties itself. There is
|
|
1486
|
+
* no second `kind`: with no uploaded photo the field is simply absent (owner
|
|
1487
|
+
* call 2026-09-02 — a generated stand-in read as a dummy picture, so the web
|
|
1488
|
+
* card stopped offering one and native must not reintroduce it).
|
|
1489
|
+
*
|
|
1490
|
+
* - `sightlineMetres` — distance from the seat to the stage, the number the web
|
|
1491
|
+
* card prints as its sightline line, from the same measurement. Absent on a
|
|
1492
|
+
* chart with no stage shape, because every chart has a bare `focalPoint` and
|
|
1493
|
+
* its presence alone never justifies a "to stage" claim.
|
|
1494
|
+
*
|
|
1495
|
+
* - `seatViewConfidence` — the seat confidence passport's summary, present only
|
|
1496
|
+
* for a seat that actually carries evidence. It describes supplied evidence
|
|
1497
|
+
* and known limits; it is not a guarantee about the real view.
|
|
1498
|
+
*/
|
|
1499
|
+
interface SeatViewThumbnail {
|
|
1500
|
+
seatViewThumb?: {
|
|
1501
|
+
reference: string;
|
|
1502
|
+
kind: 'real';
|
|
1503
|
+
};
|
|
1504
|
+
sightlineMetres?: number;
|
|
1505
|
+
seatViewConfidence?: SeatConfidenceDisclosure;
|
|
1506
|
+
}
|
|
1472
1507
|
|
|
1473
1508
|
/**
|
|
1474
1509
|
* SeatingChart — the embeddable buyer picker.
|
|
@@ -2748,7 +2783,11 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2748
2783
|
private tipPinned;
|
|
2749
2784
|
private tipMarkedHoverLabel;
|
|
2750
2785
|
private lastPointerType;
|
|
2751
|
-
/** @internal
|
|
2786
|
+
/** @internal The mounted confirm card. A facade over ConfirmCard in both
|
|
2787
|
+
* directions — the widget's own callers, its tests and the toast placer all
|
|
2788
|
+
* read and assign it as the plain field it used to be. */
|
|
2789
|
+
/** @internal */ get confirmEl(): HTMLDivElement | null;
|
|
2790
|
+
/** @internal */ set confirmEl(el: HTMLDivElement | null);
|
|
2752
2791
|
/** Light / dark / auto, or null when the widget is not managing a mode at
|
|
2753
2792
|
* all — which is the default, and is byte-for-byte the old behaviour. */
|
|
2754
2793
|
private themeMode;
|
|
@@ -2758,7 +2797,11 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2758
2797
|
* the closure that says so once the render facts exist to say it with. */
|
|
2759
2798
|
private seatsRevealed;
|
|
2760
2799
|
private seatsRevealedReport;
|
|
2761
|
-
|
|
2800
|
+
/** The seat the confirm card is about — the same facade as `confirmEl`. */
|
|
2801
|
+
private get confirmSeat();
|
|
2802
|
+
private set confirmSeat(value);
|
|
2803
|
+
/** The confirm card owns its element and its candidate seat. */
|
|
2804
|
+
private confirmCardCache;
|
|
2762
2805
|
private suppressConfirmationSeatId;
|
|
2763
2806
|
private tableDialogEl;
|
|
2764
2807
|
private tableDialog;
|
|
@@ -2881,28 +2924,7 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2881
2924
|
private framedFs;
|
|
2882
2925
|
/** Last height (px) posted to a host frame; dedupes redundant reports. */
|
|
2883
2926
|
private lastPostedHeight;
|
|
2884
|
-
/**
|
|
2885
|
-
* Every chart has a `focalPoint` (a bare look-at coordinate), so its presence
|
|
2886
|
-
* alone never justifies a "to stage" claim; only an actual stage does. */
|
|
2887
|
-
private chartHasStage;
|
|
2888
|
-
/**
|
|
2889
|
-
* Eager sightline preview for the confirm card: the organizer's real view
|
|
2890
|
-
* photo, or — only when the chart has an actual stage to look at — a generated
|
|
2891
|
-
* forward view plus an approximate distance-to-stage line. On a stageless
|
|
2892
|
-
* chart both the distance claim and the generic stage silhouette are
|
|
2893
|
-
* invented promises, so we suppress them; a real attached photo always shows.
|
|
2894
|
-
* (OV-52)
|
|
2895
|
-
*/
|
|
2896
|
-
private confirmThumbHtml;
|
|
2897
|
-
/**
|
|
2898
|
-
* The reference the card's thumbnail would load, or null when there is none
|
|
2899
|
-
* the buyer-media policy will hand back.
|
|
2900
|
-
*
|
|
2901
|
-
* The same predicate `BuyerAssetObjectUrls.resolve` applies, asked BEFORE the
|
|
2902
|
-
* markup is built rather than after the fetch fails — which is the difference
|
|
2903
|
-
* between a card that never shows a frame and one that shows a frame and then
|
|
2904
|
-
* takes it away.
|
|
2905
|
-
*/
|
|
2927
|
+
/** See `./seatViewThumb`, which the native bridge answers from as well. */
|
|
2906
2928
|
private deliverableViewReference;
|
|
2907
2929
|
/** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
|
|
2908
2930
|
private isFramed;
|
|
@@ -3010,6 +3032,17 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3010
3032
|
* seats the buyer cannot see.
|
|
3011
3033
|
*/
|
|
3012
3034
|
private focusSeatsForFilter;
|
|
3035
|
+
/**
|
|
3036
|
+
* Say what just happened when the camera could not say it.
|
|
3037
|
+
*
|
|
3038
|
+
* Fifteen wheelchair spaces in fifteen sections around a bowl have no "there"
|
|
3039
|
+
* to fly to: the framing call frames the whole venue, which is the view the
|
|
3040
|
+
* buyer was already looking at, so from their side the map dimmed and nothing
|
|
3041
|
+
* else changed. The overview now marks the sections that carry them; this is
|
|
3042
|
+
* the sentence that tells the buyer to look for those marks. Said only for
|
|
3043
|
+
* that shape — a tight cluster is dived into and explains itself.
|
|
3044
|
+
*/
|
|
3045
|
+
private explainAccessibilitySpread;
|
|
3013
3046
|
/** Turn the buyer's accessibility filter on or off from host code. Mirrors
|
|
3014
3047
|
* the bridge command and the menu, so the three never diverge. */
|
|
3015
3048
|
setAccessibilityFilter(types: AccessibilityType[] | null): void;
|
|
@@ -3194,59 +3227,27 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3194
3227
|
private confirmTableDialog;
|
|
3195
3228
|
private cancelTableDialog;
|
|
3196
3229
|
private dismissTableDialog;
|
|
3197
|
-
/** @internal */ showConfirm(seat: ExpandedSeat): void;
|
|
3198
3230
|
/**
|
|
3199
|
-
*
|
|
3200
|
-
*
|
|
3201
|
-
* The confirm card arrives with two buttons and nothing saying which one
|
|
3202
|
-
* carries the decision. So the commit button shimmers shortly after the card
|
|
3203
|
-
* lands and then breathes — and stops at the first sign of a person touching
|
|
3204
|
-
* the card at all, not after a fixed count. An invitation that keeps being
|
|
3205
|
-
* made after it has been received is nagging, which is why the stop is bound
|
|
3206
|
-
* to three different first-contacts rather than to a timer.
|
|
3231
|
+
* The confirm card, built on first use.
|
|
3207
3232
|
*
|
|
3208
|
-
*
|
|
3209
|
-
*
|
|
3210
|
-
*
|
|
3233
|
+
* Every host member is a function that calls back through `this`, never a
|
|
3234
|
+
* captured value: the widget's tests replace `dismissConfirm`,
|
|
3235
|
+
* `reducedMotion`, `scheduleMotion`, `syncTray`, `canOffer3d`, `enter3d` and
|
|
3236
|
+
* `buyerAssetUrls` on the INSTANCE, and the card has to see those.
|
|
3211
3237
|
*/
|
|
3212
|
-
private
|
|
3213
|
-
/**
|
|
3214
|
-
* What the confirm card's commit button says.
|
|
3215
|
-
*
|
|
3216
|
-
* "Select" named the mechanism, not the act — on a card already showing Row,
|
|
3217
|
-
* Seat and a price, the one control that decides the purchase was the least
|
|
3218
|
-
* specific thing on it. It names the act instead.
|
|
3219
|
-
*
|
|
3220
|
-
* NO PRICE ON THE BUTTON (owner call 2026-09-02). "Add seat · $180" was tried
|
|
3221
|
-
* and wrapped the button to two lines beside a one-line Cancel on a 310px
|
|
3222
|
-
* phone card. The amount is already the largest thing in the band directly
|
|
3223
|
-
* above, so putting it on the button bought a second copy of a fact the
|
|
3224
|
-
* buyer is looking at and cost the row its shape.
|
|
3225
|
-
*
|
|
3226
|
-
* A seat only. A booth, a table or a general-admission line keeps the
|
|
3227
|
-
* existing wording rather than being told it is adding a "seat" — those
|
|
3228
|
-
* surfaces have their own nouns (the table dialog says "Select whole table"),
|
|
3229
|
-
* and a wrong noun is worse than a general verb.
|
|
3230
|
-
*/
|
|
3231
|
-
private addSeatLabel;
|
|
3238
|
+
private get confirmCard();
|
|
3239
|
+
/** @internal */ showConfirm(seat: ExpandedSeat): void;
|
|
3232
3240
|
private reanchorConfirm;
|
|
3233
3241
|
private dismissConfirm;
|
|
3234
|
-
/**
|
|
3235
|
-
*
|
|
3236
|
-
|
|
3237
|
-
* STATE FIRST, ALWAYS. The cart, the totals and the 3D snapshot update on the
|
|
3238
|
-
* same tick as the click; nothing below defers a fact. What IS sequenced is
|
|
3239
|
-
* the card's departure: the button sweeps its accent left to right while the
|
|
3240
|
-
* tick draws and the label turns to "Added", and only then does the card
|
|
3241
|
-
* leave and the seat fly to the tray. Dismissing on the click cut that sweep
|
|
3242
|
-
* off after about one frame — the widget was animating a moment nobody could
|
|
3243
|
-
* see, which is worse than not animating it.
|
|
3244
|
-
*
|
|
3245
|
-
* Reduced motion takes the old path exactly: no sweep, no wait.
|
|
3246
|
-
*/
|
|
3247
|
-
private commitConfirm;
|
|
3242
|
+
/** @internal The card's own button calls the card; this is the seam the
|
|
3243
|
+
* widget's tests press. */
|
|
3244
|
+
/** @internal */ commitConfirm(): Promise<void>;
|
|
3248
3245
|
private cancelConfirm;
|
|
3249
3246
|
private closeConfirm;
|
|
3247
|
+
/** See `./pickerConfirmCard`; kept as members because the widget's tests
|
|
3248
|
+
* call and replace both on the instance. */
|
|
3249
|
+
private inviteCommit;
|
|
3250
|
+
private addSeatLabel;
|
|
3250
3251
|
private seatViewEnabled;
|
|
3251
3252
|
/** Every bookable seat (cached) — neighbor heads for the generated panorama. */
|
|
3252
3253
|
/** @internal */ allSeats(): ExpandedSeat[];
|
|
@@ -3317,6 +3318,21 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3317
3318
|
/** A live delta took one of OUR selected (not yet held) seats — evict + tell the buyer. */
|
|
3318
3319
|
private evictTakenSelections;
|
|
3319
3320
|
/** @internal */ syncTray(): void;
|
|
3321
|
+
/**
|
|
3322
|
+
* Re-fit every block whose width is decided by a translated string.
|
|
3323
|
+
*
|
|
3324
|
+
* ONE pass over the whole widget rather than a fit call bolted onto each
|
|
3325
|
+
* renderer, because the three blocks share a cause: a language the layout has
|
|
3326
|
+
* never seen. Wiring them separately is how a fourth block ships without one.
|
|
3327
|
+
*
|
|
3328
|
+
* Coalesced into a single animation frame, and deliberately not run inline:
|
|
3329
|
+
* every caller here has just written innerHTML, and `scrollWidth` read in the
|
|
3330
|
+
* same tick reports the box the browser has not laid out yet. The frame is
|
|
3331
|
+
* also where a web font that changed the metrics has landed.
|
|
3332
|
+
*/
|
|
3333
|
+
private fitScheduled;
|
|
3334
|
+
/** @internal */ scheduleFit(): void;
|
|
3335
|
+
private fitTranslatedRows;
|
|
3320
3336
|
private emitSelectionValidity;
|
|
3321
3337
|
/** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
|
|
3322
3338
|
private renderPeek;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelection
|
|
|
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';
|
|
5
5
|
import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
|
|
6
|
+
import { SeatConfidenceDisclosure } from '@seatlayer/core/core/seatConfidence';
|
|
6
7
|
import { Venue3DHandle } from '@seatlayer/core/view3d';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -1437,9 +1438,10 @@ interface SeatingChartPickerState {
|
|
|
1437
1438
|
selection: {
|
|
1438
1439
|
/**
|
|
1439
1440
|
* The selected seats, each carrying where it currently IS on screen when
|
|
1440
|
-
* the renderer can say — see {@link SeatScreenPoint}
|
|
1441
|
+
* the renderer can say — see {@link SeatScreenPoint} — and what a card may
|
|
1442
|
+
* honestly show of the view from it, see {@link SeatViewThumbnail}.
|
|
1441
1443
|
*/
|
|
1442
|
-
seats: Array<SelectedSeat & SeatScreenPoint>;
|
|
1444
|
+
seats: Array<SelectedSeat & SeatScreenPoint & SeatViewThumbnail>;
|
|
1443
1445
|
validity: PickerSelectionValidity | null;
|
|
1444
1446
|
maxSelection: number;
|
|
1445
1447
|
};
|
|
@@ -1469,6 +1471,39 @@ interface SeatScreenPoint {
|
|
|
1469
1471
|
y: number;
|
|
1470
1472
|
};
|
|
1471
1473
|
}
|
|
1474
|
+
/**
|
|
1475
|
+
* What a shell may honestly put on its own confirm card about the view from a
|
|
1476
|
+
* seat. `capability: seat-view-thumbnail-v1`.
|
|
1477
|
+
*
|
|
1478
|
+
* ALL THREE FIELDS ARE PRESENT-ONLY, and each absence means something specific:
|
|
1479
|
+
*
|
|
1480
|
+
* - `seatViewThumb` — the organizer's real view photo, as the REFERENCE the
|
|
1481
|
+
* host resolves through the authenticated buyer-asset transport (never a
|
|
1482
|
+
* plain URL a native `<img>` could fetch on its own: the Event's bearer does
|
|
1483
|
+
* not travel on an image request). It appears only when the same predicate
|
|
1484
|
+
* the web card uses says the media policy will actually hand the bytes back,
|
|
1485
|
+
* so a native card cannot promise a frame that then empties itself. There is
|
|
1486
|
+
* no second `kind`: with no uploaded photo the field is simply absent (owner
|
|
1487
|
+
* call 2026-09-02 — a generated stand-in read as a dummy picture, so the web
|
|
1488
|
+
* card stopped offering one and native must not reintroduce it).
|
|
1489
|
+
*
|
|
1490
|
+
* - `sightlineMetres` — distance from the seat to the stage, the number the web
|
|
1491
|
+
* card prints as its sightline line, from the same measurement. Absent on a
|
|
1492
|
+
* chart with no stage shape, because every chart has a bare `focalPoint` and
|
|
1493
|
+
* its presence alone never justifies a "to stage" claim.
|
|
1494
|
+
*
|
|
1495
|
+
* - `seatViewConfidence` — the seat confidence passport's summary, present only
|
|
1496
|
+
* for a seat that actually carries evidence. It describes supplied evidence
|
|
1497
|
+
* and known limits; it is not a guarantee about the real view.
|
|
1498
|
+
*/
|
|
1499
|
+
interface SeatViewThumbnail {
|
|
1500
|
+
seatViewThumb?: {
|
|
1501
|
+
reference: string;
|
|
1502
|
+
kind: 'real';
|
|
1503
|
+
};
|
|
1504
|
+
sightlineMetres?: number;
|
|
1505
|
+
seatViewConfidence?: SeatConfidenceDisclosure;
|
|
1506
|
+
}
|
|
1472
1507
|
|
|
1473
1508
|
/**
|
|
1474
1509
|
* SeatingChart — the embeddable buyer picker.
|
|
@@ -2748,7 +2783,11 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2748
2783
|
private tipPinned;
|
|
2749
2784
|
private tipMarkedHoverLabel;
|
|
2750
2785
|
private lastPointerType;
|
|
2751
|
-
/** @internal
|
|
2786
|
+
/** @internal The mounted confirm card. A facade over ConfirmCard in both
|
|
2787
|
+
* directions — the widget's own callers, its tests and the toast placer all
|
|
2788
|
+
* read and assign it as the plain field it used to be. */
|
|
2789
|
+
/** @internal */ get confirmEl(): HTMLDivElement | null;
|
|
2790
|
+
/** @internal */ set confirmEl(el: HTMLDivElement | null);
|
|
2752
2791
|
/** Light / dark / auto, or null when the widget is not managing a mode at
|
|
2753
2792
|
* all — which is the default, and is byte-for-byte the old behaviour. */
|
|
2754
2793
|
private themeMode;
|
|
@@ -2758,7 +2797,11 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2758
2797
|
* the closure that says so once the render facts exist to say it with. */
|
|
2759
2798
|
private seatsRevealed;
|
|
2760
2799
|
private seatsRevealedReport;
|
|
2761
|
-
|
|
2800
|
+
/** The seat the confirm card is about — the same facade as `confirmEl`. */
|
|
2801
|
+
private get confirmSeat();
|
|
2802
|
+
private set confirmSeat(value);
|
|
2803
|
+
/** The confirm card owns its element and its candidate seat. */
|
|
2804
|
+
private confirmCardCache;
|
|
2762
2805
|
private suppressConfirmationSeatId;
|
|
2763
2806
|
private tableDialogEl;
|
|
2764
2807
|
private tableDialog;
|
|
@@ -2881,28 +2924,7 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2881
2924
|
private framedFs;
|
|
2882
2925
|
/** Last height (px) posted to a host frame; dedupes redundant reports. */
|
|
2883
2926
|
private lastPostedHeight;
|
|
2884
|
-
/**
|
|
2885
|
-
* Every chart has a `focalPoint` (a bare look-at coordinate), so its presence
|
|
2886
|
-
* alone never justifies a "to stage" claim; only an actual stage does. */
|
|
2887
|
-
private chartHasStage;
|
|
2888
|
-
/**
|
|
2889
|
-
* Eager sightline preview for the confirm card: the organizer's real view
|
|
2890
|
-
* photo, or — only when the chart has an actual stage to look at — a generated
|
|
2891
|
-
* forward view plus an approximate distance-to-stage line. On a stageless
|
|
2892
|
-
* chart both the distance claim and the generic stage silhouette are
|
|
2893
|
-
* invented promises, so we suppress them; a real attached photo always shows.
|
|
2894
|
-
* (OV-52)
|
|
2895
|
-
*/
|
|
2896
|
-
private confirmThumbHtml;
|
|
2897
|
-
/**
|
|
2898
|
-
* The reference the card's thumbnail would load, or null when there is none
|
|
2899
|
-
* the buyer-media policy will hand back.
|
|
2900
|
-
*
|
|
2901
|
-
* The same predicate `BuyerAssetObjectUrls.resolve` applies, asked BEFORE the
|
|
2902
|
-
* markup is built rather than after the fetch fails — which is the difference
|
|
2903
|
-
* between a card that never shows a frame and one that shows a frame and then
|
|
2904
|
-
* takes it away.
|
|
2905
|
-
*/
|
|
2927
|
+
/** See `./seatViewThumb`, which the native bridge answers from as well. */
|
|
2906
2928
|
private deliverableViewReference;
|
|
2907
2929
|
/** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
|
|
2908
2930
|
private isFramed;
|
|
@@ -3010,6 +3032,17 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3010
3032
|
* seats the buyer cannot see.
|
|
3011
3033
|
*/
|
|
3012
3034
|
private focusSeatsForFilter;
|
|
3035
|
+
/**
|
|
3036
|
+
* Say what just happened when the camera could not say it.
|
|
3037
|
+
*
|
|
3038
|
+
* Fifteen wheelchair spaces in fifteen sections around a bowl have no "there"
|
|
3039
|
+
* to fly to: the framing call frames the whole venue, which is the view the
|
|
3040
|
+
* buyer was already looking at, so from their side the map dimmed and nothing
|
|
3041
|
+
* else changed. The overview now marks the sections that carry them; this is
|
|
3042
|
+
* the sentence that tells the buyer to look for those marks. Said only for
|
|
3043
|
+
* that shape — a tight cluster is dived into and explains itself.
|
|
3044
|
+
*/
|
|
3045
|
+
private explainAccessibilitySpread;
|
|
3013
3046
|
/** Turn the buyer's accessibility filter on or off from host code. Mirrors
|
|
3014
3047
|
* the bridge command and the menu, so the three never diverge. */
|
|
3015
3048
|
setAccessibilityFilter(types: AccessibilityType[] | null): void;
|
|
@@ -3194,59 +3227,27 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3194
3227
|
private confirmTableDialog;
|
|
3195
3228
|
private cancelTableDialog;
|
|
3196
3229
|
private dismissTableDialog;
|
|
3197
|
-
/** @internal */ showConfirm(seat: ExpandedSeat): void;
|
|
3198
3230
|
/**
|
|
3199
|
-
*
|
|
3200
|
-
*
|
|
3201
|
-
* The confirm card arrives with two buttons and nothing saying which one
|
|
3202
|
-
* carries the decision. So the commit button shimmers shortly after the card
|
|
3203
|
-
* lands and then breathes — and stops at the first sign of a person touching
|
|
3204
|
-
* the card at all, not after a fixed count. An invitation that keeps being
|
|
3205
|
-
* made after it has been received is nagging, which is why the stop is bound
|
|
3206
|
-
* to three different first-contacts rather than to a timer.
|
|
3231
|
+
* The confirm card, built on first use.
|
|
3207
3232
|
*
|
|
3208
|
-
*
|
|
3209
|
-
*
|
|
3210
|
-
*
|
|
3233
|
+
* Every host member is a function that calls back through `this`, never a
|
|
3234
|
+
* captured value: the widget's tests replace `dismissConfirm`,
|
|
3235
|
+
* `reducedMotion`, `scheduleMotion`, `syncTray`, `canOffer3d`, `enter3d` and
|
|
3236
|
+
* `buyerAssetUrls` on the INSTANCE, and the card has to see those.
|
|
3211
3237
|
*/
|
|
3212
|
-
private
|
|
3213
|
-
/**
|
|
3214
|
-
* What the confirm card's commit button says.
|
|
3215
|
-
*
|
|
3216
|
-
* "Select" named the mechanism, not the act — on a card already showing Row,
|
|
3217
|
-
* Seat and a price, the one control that decides the purchase was the least
|
|
3218
|
-
* specific thing on it. It names the act instead.
|
|
3219
|
-
*
|
|
3220
|
-
* NO PRICE ON THE BUTTON (owner call 2026-09-02). "Add seat · $180" was tried
|
|
3221
|
-
* and wrapped the button to two lines beside a one-line Cancel on a 310px
|
|
3222
|
-
* phone card. The amount is already the largest thing in the band directly
|
|
3223
|
-
* above, so putting it on the button bought a second copy of a fact the
|
|
3224
|
-
* buyer is looking at and cost the row its shape.
|
|
3225
|
-
*
|
|
3226
|
-
* A seat only. A booth, a table or a general-admission line keeps the
|
|
3227
|
-
* existing wording rather than being told it is adding a "seat" — those
|
|
3228
|
-
* surfaces have their own nouns (the table dialog says "Select whole table"),
|
|
3229
|
-
* and a wrong noun is worse than a general verb.
|
|
3230
|
-
*/
|
|
3231
|
-
private addSeatLabel;
|
|
3238
|
+
private get confirmCard();
|
|
3239
|
+
/** @internal */ showConfirm(seat: ExpandedSeat): void;
|
|
3232
3240
|
private reanchorConfirm;
|
|
3233
3241
|
private dismissConfirm;
|
|
3234
|
-
/**
|
|
3235
|
-
*
|
|
3236
|
-
|
|
3237
|
-
* STATE FIRST, ALWAYS. The cart, the totals and the 3D snapshot update on the
|
|
3238
|
-
* same tick as the click; nothing below defers a fact. What IS sequenced is
|
|
3239
|
-
* the card's departure: the button sweeps its accent left to right while the
|
|
3240
|
-
* tick draws and the label turns to "Added", and only then does the card
|
|
3241
|
-
* leave and the seat fly to the tray. Dismissing on the click cut that sweep
|
|
3242
|
-
* off after about one frame — the widget was animating a moment nobody could
|
|
3243
|
-
* see, which is worse than not animating it.
|
|
3244
|
-
*
|
|
3245
|
-
* Reduced motion takes the old path exactly: no sweep, no wait.
|
|
3246
|
-
*/
|
|
3247
|
-
private commitConfirm;
|
|
3242
|
+
/** @internal The card's own button calls the card; this is the seam the
|
|
3243
|
+
* widget's tests press. */
|
|
3244
|
+
/** @internal */ commitConfirm(): Promise<void>;
|
|
3248
3245
|
private cancelConfirm;
|
|
3249
3246
|
private closeConfirm;
|
|
3247
|
+
/** See `./pickerConfirmCard`; kept as members because the widget's tests
|
|
3248
|
+
* call and replace both on the instance. */
|
|
3249
|
+
private inviteCommit;
|
|
3250
|
+
private addSeatLabel;
|
|
3250
3251
|
private seatViewEnabled;
|
|
3251
3252
|
/** Every bookable seat (cached) — neighbor heads for the generated panorama. */
|
|
3252
3253
|
/** @internal */ allSeats(): ExpandedSeat[];
|
|
@@ -3317,6 +3318,21 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3317
3318
|
/** A live delta took one of OUR selected (not yet held) seats — evict + tell the buyer. */
|
|
3318
3319
|
private evictTakenSelections;
|
|
3319
3320
|
/** @internal */ syncTray(): void;
|
|
3321
|
+
/**
|
|
3322
|
+
* Re-fit every block whose width is decided by a translated string.
|
|
3323
|
+
*
|
|
3324
|
+
* ONE pass over the whole widget rather than a fit call bolted onto each
|
|
3325
|
+
* renderer, because the three blocks share a cause: a language the layout has
|
|
3326
|
+
* never seen. Wiring them separately is how a fourth block ships without one.
|
|
3327
|
+
*
|
|
3328
|
+
* Coalesced into a single animation frame, and deliberately not run inline:
|
|
3329
|
+
* every caller here has just written innerHTML, and `scrollWidth` read in the
|
|
3330
|
+
* same tick reports the box the browser has not laid out yet. The frame is
|
|
3331
|
+
* also where a web font that changed the metrics has landed.
|
|
3332
|
+
*/
|
|
3333
|
+
private fitScheduled;
|
|
3334
|
+
/** @internal */ scheduleFit(): void;
|
|
3335
|
+
private fitTranslatedRows;
|
|
3320
3336
|
private emitSelectionValidity;
|
|
3321
3337
|
/** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
|
|
3322
3338
|
private renderPeek;
|