@seatlayer/js 0.83.0 → 0.84.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/{chunk-TNTHWQQ2.js → chunk-RZ2VKZ44.js} +1 -1
- package/dist/index.cjs +286 -109
- package/dist/index.d.cts +110 -15
- package/dist/index.d.ts +110 -15
- package/dist/index.js +287 -110
- package/dist/manager.js +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -3274,6 +3274,21 @@ interface CheckoutOrderStatus {
|
|
|
3274
3274
|
pdfUrl?: string;
|
|
3275
3275
|
}
|
|
3276
3276
|
|
|
3277
|
+
/**
|
|
3278
|
+
* THE PHONE SHEET HAS THREE RESTING HEIGHTS, smallest first.
|
|
3279
|
+
*
|
|
3280
|
+
* `mini` is the footer alone — total, CTA, by-line — and hands the map every
|
|
3281
|
+
* pixel the widget can spare. `peek` adds the cart, capped at three cards and
|
|
3282
|
+
* a sliver of the fourth. `open` is the whole panel. Owner, 2026-09-06: two
|
|
3283
|
+
* held seats left the collapsed sheet owning ~45% of a real iPhone with no way
|
|
3284
|
+
* to make it smaller, and the arrow was the control that should have done it.
|
|
3285
|
+
*
|
|
3286
|
+
* Order is load-bearing: `stepSheet` walks this array, so a swipe up is +1 and
|
|
3287
|
+
* a swipe down is -1 with no state table anywhere else.
|
|
3288
|
+
*/
|
|
3289
|
+
declare const SHEET_STATES: readonly ["mini", "peek", "open"];
|
|
3290
|
+
/** @internal */
|
|
3291
|
+
type SheetState = (typeof SHEET_STATES)[number];
|
|
3277
3292
|
declare class SeatPicker implements GaPromptPicker {
|
|
3278
3293
|
/** @internal Read by pickerGaPrompt for the `onGAPrompt` host hook. */
|
|
3279
3294
|
readonly opts: SeatPickerOptions;
|
|
@@ -3490,7 +3505,9 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3490
3505
|
* repaint — see SectionCard.adopt. */
|
|
3491
3506
|
/** @internal */ get lastSection(): SectionSummary | null;
|
|
3492
3507
|
/** @internal */ set lastSection(summary: SectionSummary | null);
|
|
3493
|
-
/** Previous tray ticket count —
|
|
3508
|
+
/** Previous tray ticket count — a 0→n transition pulses the CTA and, on the
|
|
3509
|
+
* phone, decides whether the seat landed in a sheet that was showing the
|
|
3510
|
+
* footer alone (which then stays that way). It never expands the sheet. */
|
|
3494
3511
|
/** @internal */ lastTrayCount: number;
|
|
3495
3512
|
/** The opt-in language switcher, when `languages` named at least two. */
|
|
3496
3513
|
private langSel;
|
|
@@ -3610,11 +3627,69 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3610
3627
|
/** Wire host chrome after the skeleton exists and before the renderer owns its map host. */
|
|
3611
3628
|
private wireBuyerShell;
|
|
3612
3629
|
/**
|
|
3613
|
-
*
|
|
3630
|
+
* Which rung the phone sheet is resting on.
|
|
3631
|
+
*
|
|
3632
|
+
* Anything the DOM does not recognise reads as `peek`, which is the state a
|
|
3633
|
+
* narrow layout is born in (see observeLayout).
|
|
3634
|
+
*
|
|
3635
|
+
* @internal
|
|
3636
|
+
*/
|
|
3637
|
+
sheetState(): SheetState;
|
|
3638
|
+
/**
|
|
3639
|
+
* AN EMPTY CART HAS NO `mini`.
|
|
3640
|
+
*
|
|
3641
|
+
* `mini` exists to get the ticket LIST out of the way; with nothing in the
|
|
3642
|
+
* cart `peek` already hides the tray, so the two states would be the same
|
|
3643
|
+
* pixels with two names — and a chevron that appears to do nothing.
|
|
3644
|
+
*/
|
|
3645
|
+
private sheetHasCards;
|
|
3646
|
+
/**
|
|
3647
|
+
* Put the phone sheet on a named rung, and say so.
|
|
3648
|
+
*
|
|
3649
|
+
* The one place `data-sheet` is written, so the chevron's direction, its
|
|
3650
|
+
* `aria-expanded` and its label can never drift from the state — a chevron
|
|
3651
|
+
* that says "Open ticket panel" over an open panel is worse than no label.
|
|
3652
|
+
*
|
|
3653
|
+
* @internal
|
|
3654
|
+
*/
|
|
3655
|
+
setSheetState(state: SheetState): void;
|
|
3656
|
+
/**
|
|
3657
|
+
* The chevron's whole meaning: "there is still something here to put away".
|
|
3658
|
+
*
|
|
3659
|
+
* DOWN — and `aria-expanded` aside, the label says collapse — whenever a tap
|
|
3660
|
+
* makes the sheet smaller: from `open`, and from `peek` while the cart has
|
|
3661
|
+
* cards to hide. UP in `mini`, and in a `peek` whose cart is empty, because
|
|
3662
|
+
* from there the only way is up. `aria-expanded` is true in `open` alone:
|
|
3663
|
+
* that is the only state where the whole panel is disclosed.
|
|
3664
|
+
*
|
|
3665
|
+
* @internal
|
|
3666
|
+
*/
|
|
3667
|
+
syncSheetAffordance(): void;
|
|
3668
|
+
/**
|
|
3669
|
+
* A TAP ALWAYS DOES WHAT THE CHEVRON SHOWS.
|
|
3670
|
+
*
|
|
3671
|
+
* `open` → `peek` → `mini` → `peek` → … so a buyer who wants the map keeps
|
|
3672
|
+
* tapping the same spot and keeps getting more of it, and one more tap brings
|
|
3673
|
+
* their tickets back. An empty cart skips `mini` entirely: `peek` is already
|
|
3674
|
+
* the footer alone, so its tap opens the panel instead.
|
|
3675
|
+
*
|
|
3676
|
+
* @internal
|
|
3677
|
+
*/
|
|
3678
|
+
cycleSheet(): void;
|
|
3679
|
+
/**
|
|
3680
|
+
* One rung up (+1) or down (-1), clamped at both ends.
|
|
3681
|
+
*
|
|
3682
|
+
* The swipe's counterpart to `cycleSheet`: a drag says which DIRECTION the
|
|
3683
|
+
* buyer wants, so it never wraps the way the tap does.
|
|
3684
|
+
*
|
|
3685
|
+
* @internal
|
|
3686
|
+
*/
|
|
3687
|
+
stepSheet(delta: 1 | -1): void;
|
|
3688
|
+
/**
|
|
3689
|
+
* Open or collapse the phone sheet.
|
|
3614
3690
|
*
|
|
3615
|
-
*
|
|
3616
|
-
*
|
|
3617
|
-
* says "Open ticket panel" over an open panel is worse than no label at all.
|
|
3691
|
+
* Kept as the two-value door for callers that only ever mean "all the way
|
|
3692
|
+
* up" or "back to the cart" — the price disclosure and the best-seats form.
|
|
3618
3693
|
*
|
|
3619
3694
|
* @internal
|
|
3620
3695
|
*/
|
|
@@ -3849,20 +3924,40 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3849
3924
|
/** Reflect the engine's current LOD rung onto the pill group. */
|
|
3850
3925
|
/** @internal */ syncRung(): void;
|
|
3851
3926
|
/**
|
|
3852
|
-
* The
|
|
3927
|
+
* The map's back-out controls, and whether they still have anywhere to go.
|
|
3853
3928
|
*
|
|
3854
3929
|
* On narrow the corner carries "+", "−" and the fit disc (owner call
|
|
3855
3930
|
* 2026-09-05). "−" is the ladder — one tap to the section the buyer drilled
|
|
3856
3931
|
* into, one more to the whole venue — and the fit disc is that last step on
|
|
3857
|
-
* its own. The ladder itself is `mapZoomOutStep`; this only dresses it
|
|
3858
|
-
*
|
|
3859
|
-
*
|
|
3860
|
-
*
|
|
3861
|
-
*
|
|
3862
|
-
*
|
|
3863
|
-
*
|
|
3864
|
-
*
|
|
3865
|
-
*
|
|
3932
|
+
* its own. The ladder itself is `mapZoomOutStep`; this only dresses it. Wide
|
|
3933
|
+
* carries "+" and "−" and never shows the fit disc (CSS, see pickerStyles),
|
|
3934
|
+
* but "−" answers to the same reading there.
|
|
3935
|
+
*
|
|
3936
|
+
* GONE, NOT DIMMED (owner call 2026-09-06, from real-iPhone captures, and
|
|
3937
|
+
* the second time this has been asked for). The previous rationale here was
|
|
3938
|
+
* that a control which stays put and plainly cannot be pressed says "you are
|
|
3939
|
+
* already looking at everything" without moving the target. It does not: two
|
|
3940
|
+
* greyed discs at the arrival view are read as a broken map, and they are
|
|
3941
|
+
* the FIRST thing a buyer sees, before they have any model of the ladder
|
|
3942
|
+
* they are at the top of. Hidden, the column at the whole-venue view is ♿
|
|
3943
|
+
* and "+" — every disc on screen does something — and "−"/fit reappear the
|
|
3944
|
+
* moment there is a step to take, which is the tap that put them there.
|
|
3945
|
+
*
|
|
3946
|
+
* `hidden`, and a CSS rule loud enough to beat the narrow `display:flex` on
|
|
3947
|
+
* the fit disc. display:none, so the column closes the gap rather than
|
|
3948
|
+
* leaving the ♿ floating a disc and a half off the corner — which is also
|
|
3949
|
+
* why the ♿ menu is re-bounded afterwards: its panel is clamped to the room
|
|
3950
|
+
* above a button that has just moved.
|
|
3951
|
+
*
|
|
3952
|
+
* "+" GOES THE SAME WAY AT THE OTHER END (owner, 2026-09-06, from the phone:
|
|
3953
|
+
* "if we already deep where we selecting the seat, plus not make further
|
|
3954
|
+
* sense"). "Deep" is the renderer's own `seatsPickable` — seats drawn big
|
|
3955
|
+
* enough to aim a thumb at — not the numeric zoom ceiling, which sits well
|
|
3956
|
+
* past that and left the disc standing on the very camera the owner was
|
|
3957
|
+
* looking at ("minus icon still showing", same afternoon, meaning the
|
|
3958
|
+
* column had not changed). The ceiling still counts: a press there is a
|
|
3959
|
+
* no-op whatever the seats measure. An engine that cannot answer either
|
|
3960
|
+
* question leaves the disc alone.
|
|
3866
3961
|
*/
|
|
3867
3962
|
private syncMapStepBack;
|
|
3868
3963
|
/** @internal */ syncProjection(): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -3274,6 +3274,21 @@ interface CheckoutOrderStatus {
|
|
|
3274
3274
|
pdfUrl?: string;
|
|
3275
3275
|
}
|
|
3276
3276
|
|
|
3277
|
+
/**
|
|
3278
|
+
* THE PHONE SHEET HAS THREE RESTING HEIGHTS, smallest first.
|
|
3279
|
+
*
|
|
3280
|
+
* `mini` is the footer alone — total, CTA, by-line — and hands the map every
|
|
3281
|
+
* pixel the widget can spare. `peek` adds the cart, capped at three cards and
|
|
3282
|
+
* a sliver of the fourth. `open` is the whole panel. Owner, 2026-09-06: two
|
|
3283
|
+
* held seats left the collapsed sheet owning ~45% of a real iPhone with no way
|
|
3284
|
+
* to make it smaller, and the arrow was the control that should have done it.
|
|
3285
|
+
*
|
|
3286
|
+
* Order is load-bearing: `stepSheet` walks this array, so a swipe up is +1 and
|
|
3287
|
+
* a swipe down is -1 with no state table anywhere else.
|
|
3288
|
+
*/
|
|
3289
|
+
declare const SHEET_STATES: readonly ["mini", "peek", "open"];
|
|
3290
|
+
/** @internal */
|
|
3291
|
+
type SheetState = (typeof SHEET_STATES)[number];
|
|
3277
3292
|
declare class SeatPicker implements GaPromptPicker {
|
|
3278
3293
|
/** @internal Read by pickerGaPrompt for the `onGAPrompt` host hook. */
|
|
3279
3294
|
readonly opts: SeatPickerOptions;
|
|
@@ -3490,7 +3505,9 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3490
3505
|
* repaint — see SectionCard.adopt. */
|
|
3491
3506
|
/** @internal */ get lastSection(): SectionSummary | null;
|
|
3492
3507
|
/** @internal */ set lastSection(summary: SectionSummary | null);
|
|
3493
|
-
/** Previous tray ticket count —
|
|
3508
|
+
/** Previous tray ticket count — a 0→n transition pulses the CTA and, on the
|
|
3509
|
+
* phone, decides whether the seat landed in a sheet that was showing the
|
|
3510
|
+
* footer alone (which then stays that way). It never expands the sheet. */
|
|
3494
3511
|
/** @internal */ lastTrayCount: number;
|
|
3495
3512
|
/** The opt-in language switcher, when `languages` named at least two. */
|
|
3496
3513
|
private langSel;
|
|
@@ -3610,11 +3627,69 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3610
3627
|
/** Wire host chrome after the skeleton exists and before the renderer owns its map host. */
|
|
3611
3628
|
private wireBuyerShell;
|
|
3612
3629
|
/**
|
|
3613
|
-
*
|
|
3630
|
+
* Which rung the phone sheet is resting on.
|
|
3631
|
+
*
|
|
3632
|
+
* Anything the DOM does not recognise reads as `peek`, which is the state a
|
|
3633
|
+
* narrow layout is born in (see observeLayout).
|
|
3634
|
+
*
|
|
3635
|
+
* @internal
|
|
3636
|
+
*/
|
|
3637
|
+
sheetState(): SheetState;
|
|
3638
|
+
/**
|
|
3639
|
+
* AN EMPTY CART HAS NO `mini`.
|
|
3640
|
+
*
|
|
3641
|
+
* `mini` exists to get the ticket LIST out of the way; with nothing in the
|
|
3642
|
+
* cart `peek` already hides the tray, so the two states would be the same
|
|
3643
|
+
* pixels with two names — and a chevron that appears to do nothing.
|
|
3644
|
+
*/
|
|
3645
|
+
private sheetHasCards;
|
|
3646
|
+
/**
|
|
3647
|
+
* Put the phone sheet on a named rung, and say so.
|
|
3648
|
+
*
|
|
3649
|
+
* The one place `data-sheet` is written, so the chevron's direction, its
|
|
3650
|
+
* `aria-expanded` and its label can never drift from the state — a chevron
|
|
3651
|
+
* that says "Open ticket panel" over an open panel is worse than no label.
|
|
3652
|
+
*
|
|
3653
|
+
* @internal
|
|
3654
|
+
*/
|
|
3655
|
+
setSheetState(state: SheetState): void;
|
|
3656
|
+
/**
|
|
3657
|
+
* The chevron's whole meaning: "there is still something here to put away".
|
|
3658
|
+
*
|
|
3659
|
+
* DOWN — and `aria-expanded` aside, the label says collapse — whenever a tap
|
|
3660
|
+
* makes the sheet smaller: from `open`, and from `peek` while the cart has
|
|
3661
|
+
* cards to hide. UP in `mini`, and in a `peek` whose cart is empty, because
|
|
3662
|
+
* from there the only way is up. `aria-expanded` is true in `open` alone:
|
|
3663
|
+
* that is the only state where the whole panel is disclosed.
|
|
3664
|
+
*
|
|
3665
|
+
* @internal
|
|
3666
|
+
*/
|
|
3667
|
+
syncSheetAffordance(): void;
|
|
3668
|
+
/**
|
|
3669
|
+
* A TAP ALWAYS DOES WHAT THE CHEVRON SHOWS.
|
|
3670
|
+
*
|
|
3671
|
+
* `open` → `peek` → `mini` → `peek` → … so a buyer who wants the map keeps
|
|
3672
|
+
* tapping the same spot and keeps getting more of it, and one more tap brings
|
|
3673
|
+
* their tickets back. An empty cart skips `mini` entirely: `peek` is already
|
|
3674
|
+
* the footer alone, so its tap opens the panel instead.
|
|
3675
|
+
*
|
|
3676
|
+
* @internal
|
|
3677
|
+
*/
|
|
3678
|
+
cycleSheet(): void;
|
|
3679
|
+
/**
|
|
3680
|
+
* One rung up (+1) or down (-1), clamped at both ends.
|
|
3681
|
+
*
|
|
3682
|
+
* The swipe's counterpart to `cycleSheet`: a drag says which DIRECTION the
|
|
3683
|
+
* buyer wants, so it never wraps the way the tap does.
|
|
3684
|
+
*
|
|
3685
|
+
* @internal
|
|
3686
|
+
*/
|
|
3687
|
+
stepSheet(delta: 1 | -1): void;
|
|
3688
|
+
/**
|
|
3689
|
+
* Open or collapse the phone sheet.
|
|
3614
3690
|
*
|
|
3615
|
-
*
|
|
3616
|
-
*
|
|
3617
|
-
* says "Open ticket panel" over an open panel is worse than no label at all.
|
|
3691
|
+
* Kept as the two-value door for callers that only ever mean "all the way
|
|
3692
|
+
* up" or "back to the cart" — the price disclosure and the best-seats form.
|
|
3618
3693
|
*
|
|
3619
3694
|
* @internal
|
|
3620
3695
|
*/
|
|
@@ -3849,20 +3924,40 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
3849
3924
|
/** Reflect the engine's current LOD rung onto the pill group. */
|
|
3850
3925
|
/** @internal */ syncRung(): void;
|
|
3851
3926
|
/**
|
|
3852
|
-
* The
|
|
3927
|
+
* The map's back-out controls, and whether they still have anywhere to go.
|
|
3853
3928
|
*
|
|
3854
3929
|
* On narrow the corner carries "+", "−" and the fit disc (owner call
|
|
3855
3930
|
* 2026-09-05). "−" is the ladder — one tap to the section the buyer drilled
|
|
3856
3931
|
* into, one more to the whole venue — and the fit disc is that last step on
|
|
3857
|
-
* its own. The ladder itself is `mapZoomOutStep`; this only dresses it
|
|
3858
|
-
*
|
|
3859
|
-
*
|
|
3860
|
-
*
|
|
3861
|
-
*
|
|
3862
|
-
*
|
|
3863
|
-
*
|
|
3864
|
-
*
|
|
3865
|
-
*
|
|
3932
|
+
* its own. The ladder itself is `mapZoomOutStep`; this only dresses it. Wide
|
|
3933
|
+
* carries "+" and "−" and never shows the fit disc (CSS, see pickerStyles),
|
|
3934
|
+
* but "−" answers to the same reading there.
|
|
3935
|
+
*
|
|
3936
|
+
* GONE, NOT DIMMED (owner call 2026-09-06, from real-iPhone captures, and
|
|
3937
|
+
* the second time this has been asked for). The previous rationale here was
|
|
3938
|
+
* that a control which stays put and plainly cannot be pressed says "you are
|
|
3939
|
+
* already looking at everything" without moving the target. It does not: two
|
|
3940
|
+
* greyed discs at the arrival view are read as a broken map, and they are
|
|
3941
|
+
* the FIRST thing a buyer sees, before they have any model of the ladder
|
|
3942
|
+
* they are at the top of. Hidden, the column at the whole-venue view is ♿
|
|
3943
|
+
* and "+" — every disc on screen does something — and "−"/fit reappear the
|
|
3944
|
+
* moment there is a step to take, which is the tap that put them there.
|
|
3945
|
+
*
|
|
3946
|
+
* `hidden`, and a CSS rule loud enough to beat the narrow `display:flex` on
|
|
3947
|
+
* the fit disc. display:none, so the column closes the gap rather than
|
|
3948
|
+
* leaving the ♿ floating a disc and a half off the corner — which is also
|
|
3949
|
+
* why the ♿ menu is re-bounded afterwards: its panel is clamped to the room
|
|
3950
|
+
* above a button that has just moved.
|
|
3951
|
+
*
|
|
3952
|
+
* "+" GOES THE SAME WAY AT THE OTHER END (owner, 2026-09-06, from the phone:
|
|
3953
|
+
* "if we already deep where we selecting the seat, plus not make further
|
|
3954
|
+
* sense"). "Deep" is the renderer's own `seatsPickable` — seats drawn big
|
|
3955
|
+
* enough to aim a thumb at — not the numeric zoom ceiling, which sits well
|
|
3956
|
+
* past that and left the disc standing on the very camera the owner was
|
|
3957
|
+
* looking at ("minus icon still showing", same afternoon, meaning the
|
|
3958
|
+
* column had not changed). The ceiling still counts: a press there is a
|
|
3959
|
+
* no-op whatever the seats measure. An engine that cannot answer either
|
|
3960
|
+
* question leaves the disc alone.
|
|
3866
3961
|
*/
|
|
3867
3962
|
private syncMapStepBack;
|
|
3868
3963
|
/** @internal */ syncProjection(): void;
|