@seatlayer/js 0.62.0 → 0.63.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 +21 -7
- package/dist/index.d.cts +156 -4
- package/dist/index.d.ts +156 -4
- package/dist/index.js +20 -6
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PickerSeat, PickerGAArea, PickerSelectionValidator, RendererViewMode, SeatHoverDetails, PickerSelectionValidity,
|
|
1
|
+
import { PickerSeat, PickerGAArea, PickerSelectionValidator, RendererViewMode, SeatHoverDetails, PickerSelectionValidity, PickerMapTheme, PickerTransport } from '@seatlayer/core';
|
|
2
2
|
export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
|
|
3
3
|
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, T as InventoryBookingObject, U as InventoryBookingState, V as InventoryBookingsPage, W as InventoryBookingsQuery, X as LogEntry, Y as LogPage, Z as ManageApi, _ as ManageApiError, $ as ReportByStatus, a0 as ReportCategoryMeta, a1 as ReportCategoryRow, a2 as ReportResult, a3 as SeatManager, a4 as SeatManagerActionResult, a5 as SeatManagerActivity, a6 as SeatManagerCapability, a7 as SeatManagerConnection, a8 as SeatManagerFilteredSection, a9 as SeatManagerMode, aa as SeatManagerOptions, ab as SeatManagerSelectionValidity, ac as SeatManagerTallies, ad as SelectionSourceRow } from './channelsMode-2z9HBOAX.cjs';
|
|
4
4
|
|
|
@@ -7,7 +7,8 @@ export { A as AccessIntentForbidsDetails, a as AccessLinkRecord, b as AccessLink
|
|
|
7
7
|
* (`docs/sales-channels-integration-guide-2026-08-01.md` §6, §9, §10).
|
|
8
8
|
*
|
|
9
9
|
* A promoter's own backend mints a short-lived, opaque buyer-access session
|
|
10
|
-
* (`bse_…`
|
|
10
|
+
* (`bse_…` for one Event or `bsg_…` for one Performance Group) that grants a
|
|
11
|
+
* bounded private inventory scope. That bearer
|
|
11
12
|
* reaches the browser, and only the browser — this module is where it lives,
|
|
12
13
|
* and the rules it enforces are the ones the guide states outright:
|
|
13
14
|
*
|
|
@@ -46,7 +47,7 @@ type BuyerAccessRefreshReason =
|
|
|
46
47
|
/** What a `buyerAccessTokenProvider` resolves to — the response body of the
|
|
47
48
|
* host's own mint endpoint, unchanged. */
|
|
48
49
|
interface BuyerAccessToken {
|
|
49
|
-
/** The opaque
|
|
50
|
+
/** The opaque buyer-access session bearer (`bse_…` or `bsg_…`). */
|
|
50
51
|
token: string;
|
|
51
52
|
/** Epoch ms. Optional — absent means "trust the server", and the SDK then
|
|
52
53
|
* refreshes only reactively on a 401. */
|
|
@@ -71,6 +72,8 @@ type BuyerAccessUnavailableReason =
|
|
|
71
72
|
| 'origin_mismatch'
|
|
72
73
|
/** 403 `buyer_access_event_mismatch`. */
|
|
73
74
|
| 'event_mismatch'
|
|
75
|
+
/** 403 `buyer_access_group_mismatch`. */
|
|
76
|
+
| 'group_mismatch'
|
|
74
77
|
/** 403 `buyer_access_mode_mismatch` (test bearer on a live event or v.v.). */
|
|
75
78
|
| 'mode_mismatch'
|
|
76
79
|
/** 403 `channel_access_denied`. */
|
|
@@ -1975,6 +1978,7 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
1975
1978
|
private lastSelectionValidity;
|
|
1976
1979
|
/** Original host pricing, kept separate from live server offer overrides. */
|
|
1977
1980
|
private readonly hostPricing;
|
|
1981
|
+
private readonly performanceGroup;
|
|
1978
1982
|
/** @internal */ root: HTMLDivElement | null;
|
|
1979
1983
|
private mapHost;
|
|
1980
1984
|
private rendered;
|
|
@@ -2554,6 +2558,8 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2554
2558
|
deselectObjects(objects: string[]): void;
|
|
2555
2559
|
/** Clear every unheld selection. */
|
|
2556
2560
|
clearSelection(): void;
|
|
2561
|
+
/** @internal */ refreshAvailability(): Promise<void>;
|
|
2562
|
+
/** @internal */ refreshPerformanceGroupComposition(): void;
|
|
2557
2563
|
/** Select every selectable object in the named categories. */
|
|
2558
2564
|
selectCategories(categoryKeys: string[]): PickerSeat[];
|
|
2559
2565
|
/** Deselect every selected object in the named categories. */
|
|
@@ -2768,6 +2774,152 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2768
2774
|
destroy(): void;
|
|
2769
2775
|
}
|
|
2770
2776
|
|
|
2777
|
+
/** Buyer transport for one fixed-inclusion Performance Group. */
|
|
2778
|
+
|
|
2779
|
+
type PerformanceGroupOperationState = 'preparing' | 'commit_pending' | 'committed' | 'abort_pending' | 'aborted' | 'expire_pending' | 'expired' | 'booked';
|
|
2780
|
+
interface PerformanceGroupDescriptor {
|
|
2781
|
+
key: string;
|
|
2782
|
+
name: string;
|
|
2783
|
+
state: 'active' | 'closing' | 'closed' | 'archived';
|
|
2784
|
+
mode: 'live' | 'test';
|
|
2785
|
+
currency: string;
|
|
2786
|
+
venue: string;
|
|
2787
|
+
timezone: string | null;
|
|
2788
|
+
inventoryModelVersion: 2;
|
|
2789
|
+
performanceCount: number;
|
|
2790
|
+
performances: Array<{
|
|
2791
|
+
position: number;
|
|
2792
|
+
eventKey: string;
|
|
2793
|
+
name: string;
|
|
2794
|
+
startsAt: number;
|
|
2795
|
+
endsAt: number | null;
|
|
2796
|
+
venue: string;
|
|
2797
|
+
timezone: string | null;
|
|
2798
|
+
salesState: string;
|
|
2799
|
+
}>;
|
|
2800
|
+
}
|
|
2801
|
+
interface PerformanceGroupHold {
|
|
2802
|
+
operationId: string;
|
|
2803
|
+
holdId: string;
|
|
2804
|
+
expiresAt: number;
|
|
2805
|
+
items: HoldLineItem[];
|
|
2806
|
+
}
|
|
2807
|
+
type PerformanceGroupSelectionMode = 'same_seat' | 'per_performance';
|
|
2808
|
+
interface PerformanceGroupHoldAllocation {
|
|
2809
|
+
eventKey: string;
|
|
2810
|
+
items: HoldLineItem[];
|
|
2811
|
+
}
|
|
2812
|
+
interface PerformanceGroupOperationEvent {
|
|
2813
|
+
operationId: string;
|
|
2814
|
+
state: PerformanceGroupOperationState;
|
|
2815
|
+
decision: 'commit' | 'abort' | null;
|
|
2816
|
+
}
|
|
2817
|
+
|
|
2818
|
+
interface PerformanceGroupSeatAllocation {
|
|
2819
|
+
eventKey: string;
|
|
2820
|
+
seatLabels: string[];
|
|
2821
|
+
}
|
|
2822
|
+
interface PerformanceGroupCheckoutHandoff {
|
|
2823
|
+
operationId: string;
|
|
2824
|
+
holdId: string;
|
|
2825
|
+
expiresAt: number;
|
|
2826
|
+
performanceGroup: PerformanceGroupDescriptor;
|
|
2827
|
+
selectionMode: PerformanceGroupSelectionMode;
|
|
2828
|
+
/** Logical booking identities only. Re-inspect the opaque hold on your server. */
|
|
2829
|
+
seatLabels: string[];
|
|
2830
|
+
/** Present for per-performance selection. Prices and child hold IDs remain server-only. */
|
|
2831
|
+
allocations?: PerformanceGroupSeatAllocation[];
|
|
2832
|
+
}
|
|
2833
|
+
interface PerformanceGroupPickerOptions {
|
|
2834
|
+
container: string | HTMLElement;
|
|
2835
|
+
performanceGroup: string;
|
|
2836
|
+
/** `same_seat` renders one shared choice; `per_performance` renders one chart with date tabs. */
|
|
2837
|
+
selectionMode?: PerformanceGroupSelectionMode;
|
|
2838
|
+
apiBase?: string;
|
|
2839
|
+
buyerAccessTokenProvider?: BuyerAccessTokenProvider;
|
|
2840
|
+
buyerAccessToken?: string | BuyerAccessToken;
|
|
2841
|
+
maxSelection?: number;
|
|
2842
|
+
selectedObjects?: string[];
|
|
2843
|
+
selectableObjects?: string[] | null;
|
|
2844
|
+
numberOfPlacesToSelect?: number;
|
|
2845
|
+
selectionValidators?: PickerSelectionValidator[];
|
|
2846
|
+
locale?: string;
|
|
2847
|
+
messages?: Record<string, string>;
|
|
2848
|
+
languages?: string[];
|
|
2849
|
+
colorblindSafe?: boolean;
|
|
2850
|
+
initialView?: RendererViewMode;
|
|
2851
|
+
enable3D?: boolean;
|
|
2852
|
+
max3DSeats?: number;
|
|
2853
|
+
onBuyerViewChange?: (state: {
|
|
2854
|
+
view: SeatPickerBuyerView;
|
|
2855
|
+
seatId?: string;
|
|
2856
|
+
}) => void;
|
|
2857
|
+
hideBadge?: boolean;
|
|
2858
|
+
theme?: SeatPickerTheme;
|
|
2859
|
+
holdTtlMs?: number;
|
|
2860
|
+
initialHoldId?: string;
|
|
2861
|
+
initialOperationId?: string;
|
|
2862
|
+
restoreHold?: boolean;
|
|
2863
|
+
confirmSelection?: boolean;
|
|
2864
|
+
seatView?: boolean;
|
|
2865
|
+
onSelectionChange?: (seats: PickerSeat[]) => void;
|
|
2866
|
+
onSelectionValidityChange?: (state: PickerSelectionValidity) => void;
|
|
2867
|
+
onSelectionValid?: (seats: PickerSeat[]) => void;
|
|
2868
|
+
onSelectionInvalid?: (state: PickerSelectionValidity) => void;
|
|
2869
|
+
onSelectionLimit?: (maxSelection: number) => void;
|
|
2870
|
+
onHold?: (handoff: PerformanceGroupCheckoutHandoff) => void;
|
|
2871
|
+
onHoldChange?: (handoff: PerformanceGroupCheckoutHandoff | null) => void;
|
|
2872
|
+
onCheckout?: (handoff: PerformanceGroupCheckoutHandoff) => void;
|
|
2873
|
+
onHoldExpired?: () => void;
|
|
2874
|
+
onAccessExpired?: (event: BuyerAccessExpiredEvent) => void;
|
|
2875
|
+
onAccessUnavailable?: (event: BuyerAccessUnavailableEvent) => void;
|
|
2876
|
+
onError?: (error: unknown) => void;
|
|
2877
|
+
}
|
|
2878
|
+
declare class PerformanceGroupPicker {
|
|
2879
|
+
private readonly options;
|
|
2880
|
+
private readonly access;
|
|
2881
|
+
private readonly api;
|
|
2882
|
+
private descriptorValue;
|
|
2883
|
+
private picker;
|
|
2884
|
+
private root;
|
|
2885
|
+
private innerHost;
|
|
2886
|
+
private tabsHost;
|
|
2887
|
+
private heldSummary;
|
|
2888
|
+
private live;
|
|
2889
|
+
private rendered;
|
|
2890
|
+
private destroyed;
|
|
2891
|
+
private continued;
|
|
2892
|
+
private switchingPerformance;
|
|
2893
|
+
private operationPending;
|
|
2894
|
+
private activePerformanceKey;
|
|
2895
|
+
private readonly selectionsByEvent;
|
|
2896
|
+
private readonly validByEvent;
|
|
2897
|
+
private refreshingComposition;
|
|
2898
|
+
private activeHandoff;
|
|
2899
|
+
constructor(options: PerformanceGroupPickerOptions);
|
|
2900
|
+
get descriptor(): PerformanceGroupDescriptor | null;
|
|
2901
|
+
get currentHold(): PerformanceGroupCheckoutHandoff | null;
|
|
2902
|
+
render(): Promise<this>;
|
|
2903
|
+
release(): Promise<void>;
|
|
2904
|
+
close(): void;
|
|
2905
|
+
destroy(): void;
|
|
2906
|
+
private copy;
|
|
2907
|
+
private performanceTabs;
|
|
2908
|
+
private submissionState;
|
|
2909
|
+
private selectionChanged;
|
|
2910
|
+
private selectionValidityChanged;
|
|
2911
|
+
private refreshComposition;
|
|
2912
|
+
private tabState;
|
|
2913
|
+
private updateTabs;
|
|
2914
|
+
private switchPerformance;
|
|
2915
|
+
private operationChanged;
|
|
2916
|
+
private handoff;
|
|
2917
|
+
private renderHeldAllocations;
|
|
2918
|
+
private resetPerPerformanceSelection;
|
|
2919
|
+
private holdChanged;
|
|
2920
|
+
private checkout;
|
|
2921
|
+
}
|
|
2922
|
+
|
|
2771
2923
|
/**
|
|
2772
2924
|
* Host-side helper for embedding the SeatLayer picker as an iframe.
|
|
2773
2925
|
*
|
|
@@ -2807,4 +2959,4 @@ interface AttachPickerFrameOptions {
|
|
|
2807
2959
|
*/
|
|
2808
2960
|
declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
|
|
2809
2961
|
|
|
2810
|
-
export { ApiError, type AttachPickerFrameOptions, type BestAvailableResult, BuyerAccessContext, type BuyerAccessExpiredEvent, type BuyerAccessRefreshReason, type BuyerAccessToken, type BuyerAccessTokenProvider, BuyerAccessUnavailableError, type BuyerAccessUnavailableEvent, type BuyerAccessUnavailableReason, BuyerRealtimeClient, type BuyerRealtimeOptions, type CheckoutHandoff, type CheckoutLineItem, type CheckoutSessionResult, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type GAPromptRequest, type GaPromptTier, type HoldConflict, type HoldLineItem, type HoldResult, type OrderStatusResult, type PaymentOptionsReason, type PaymentOptionsResult, type PaymentProviderName, type Projection, type PubApiOptions, type RealtimeSink, type ResumedHoldResult, SEATING_CHART_CALLBACK_PROPS, SEATING_CHART_HANDLE_METHODS, SEATING_CHART_IDENTITY_PROPS, SEATING_CHART_VALUE_PROPS, type SaleState, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, SeatingChart, type SeatingChartCallbackProp, type SeatingChartCallbacks, type SeatingChartHandle, type SeatingChartHandleMethod, type SeatingChartIdentityProp, type SeatingChartOptions, type SeatingChartValueProp, type SeatingChartValues, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, ticketOfferPrices };
|
|
2962
|
+
export { ApiError, type AttachPickerFrameOptions, type BestAvailableResult, BuyerAccessContext, type BuyerAccessExpiredEvent, type BuyerAccessRefreshReason, type BuyerAccessToken, type BuyerAccessTokenProvider, BuyerAccessUnavailableError, type BuyerAccessUnavailableEvent, type BuyerAccessUnavailableReason, BuyerRealtimeClient, type BuyerRealtimeOptions, type CheckoutHandoff, type CheckoutLineItem, type CheckoutSessionResult, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type GAPromptRequest, type GaPromptTier, type HoldConflict, type HoldLineItem, type HoldResult, type OrderStatusResult, type PaymentOptionsReason, type PaymentOptionsResult, type PaymentProviderName, type PerformanceGroupCheckoutHandoff, type PerformanceGroupDescriptor, type PerformanceGroupHold, type PerformanceGroupHoldAllocation, type PerformanceGroupOperationEvent, type PerformanceGroupOperationState, PerformanceGroupPicker, type PerformanceGroupPickerOptions, type PerformanceGroupSeatAllocation, type PerformanceGroupSelectionMode, type Projection, type PubApiOptions, type RealtimeSink, type ResumedHoldResult, SEATING_CHART_CALLBACK_PROPS, SEATING_CHART_HANDLE_METHODS, SEATING_CHART_IDENTITY_PROPS, SEATING_CHART_VALUE_PROPS, type SaleState, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, SeatingChart, type SeatingChartCallbackProp, type SeatingChartCallbacks, type SeatingChartHandle, type SeatingChartHandleMethod, type SeatingChartIdentityProp, type SeatingChartOptions, type SeatingChartValueProp, type SeatingChartValues, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, ticketOfferPrices };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PickerSeat, PickerGAArea, PickerSelectionValidator, RendererViewMode, SeatHoverDetails, PickerSelectionValidity,
|
|
1
|
+
import { PickerSeat, PickerGAArea, PickerSelectionValidator, RendererViewMode, SeatHoverDetails, PickerSelectionValidity, PickerMapTheme, PickerTransport } from '@seatlayer/core';
|
|
2
2
|
export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
|
|
3
3
|
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, T as InventoryBookingObject, U as InventoryBookingState, V as InventoryBookingsPage, W as InventoryBookingsQuery, X as LogEntry, Y as LogPage, Z as ManageApi, _ as ManageApiError, $ as ReportByStatus, a0 as ReportCategoryMeta, a1 as ReportCategoryRow, a2 as ReportResult, a3 as SeatManager, a4 as SeatManagerActionResult, a5 as SeatManagerActivity, a6 as SeatManagerCapability, a7 as SeatManagerConnection, a8 as SeatManagerFilteredSection, a9 as SeatManagerMode, aa as SeatManagerOptions, ab as SeatManagerSelectionValidity, ac as SeatManagerTallies, ad as SelectionSourceRow } from './channelsMode-2z9HBOAX.js';
|
|
4
4
|
|
|
@@ -7,7 +7,8 @@ export { A as AccessIntentForbidsDetails, a as AccessLinkRecord, b as AccessLink
|
|
|
7
7
|
* (`docs/sales-channels-integration-guide-2026-08-01.md` §6, §9, §10).
|
|
8
8
|
*
|
|
9
9
|
* A promoter's own backend mints a short-lived, opaque buyer-access session
|
|
10
|
-
* (`bse_…`
|
|
10
|
+
* (`bse_…` for one Event or `bsg_…` for one Performance Group) that grants a
|
|
11
|
+
* bounded private inventory scope. That bearer
|
|
11
12
|
* reaches the browser, and only the browser — this module is where it lives,
|
|
12
13
|
* and the rules it enforces are the ones the guide states outright:
|
|
13
14
|
*
|
|
@@ -46,7 +47,7 @@ type BuyerAccessRefreshReason =
|
|
|
46
47
|
/** What a `buyerAccessTokenProvider` resolves to — the response body of the
|
|
47
48
|
* host's own mint endpoint, unchanged. */
|
|
48
49
|
interface BuyerAccessToken {
|
|
49
|
-
/** The opaque
|
|
50
|
+
/** The opaque buyer-access session bearer (`bse_…` or `bsg_…`). */
|
|
50
51
|
token: string;
|
|
51
52
|
/** Epoch ms. Optional — absent means "trust the server", and the SDK then
|
|
52
53
|
* refreshes only reactively on a 401. */
|
|
@@ -71,6 +72,8 @@ type BuyerAccessUnavailableReason =
|
|
|
71
72
|
| 'origin_mismatch'
|
|
72
73
|
/** 403 `buyer_access_event_mismatch`. */
|
|
73
74
|
| 'event_mismatch'
|
|
75
|
+
/** 403 `buyer_access_group_mismatch`. */
|
|
76
|
+
| 'group_mismatch'
|
|
74
77
|
/** 403 `buyer_access_mode_mismatch` (test bearer on a live event or v.v.). */
|
|
75
78
|
| 'mode_mismatch'
|
|
76
79
|
/** 403 `channel_access_denied`. */
|
|
@@ -1975,6 +1978,7 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
1975
1978
|
private lastSelectionValidity;
|
|
1976
1979
|
/** Original host pricing, kept separate from live server offer overrides. */
|
|
1977
1980
|
private readonly hostPricing;
|
|
1981
|
+
private readonly performanceGroup;
|
|
1978
1982
|
/** @internal */ root: HTMLDivElement | null;
|
|
1979
1983
|
private mapHost;
|
|
1980
1984
|
private rendered;
|
|
@@ -2554,6 +2558,8 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2554
2558
|
deselectObjects(objects: string[]): void;
|
|
2555
2559
|
/** Clear every unheld selection. */
|
|
2556
2560
|
clearSelection(): void;
|
|
2561
|
+
/** @internal */ refreshAvailability(): Promise<void>;
|
|
2562
|
+
/** @internal */ refreshPerformanceGroupComposition(): void;
|
|
2557
2563
|
/** Select every selectable object in the named categories. */
|
|
2558
2564
|
selectCategories(categoryKeys: string[]): PickerSeat[];
|
|
2559
2565
|
/** Deselect every selected object in the named categories. */
|
|
@@ -2768,6 +2774,152 @@ declare class SeatPicker implements GaPromptPicker {
|
|
|
2768
2774
|
destroy(): void;
|
|
2769
2775
|
}
|
|
2770
2776
|
|
|
2777
|
+
/** Buyer transport for one fixed-inclusion Performance Group. */
|
|
2778
|
+
|
|
2779
|
+
type PerformanceGroupOperationState = 'preparing' | 'commit_pending' | 'committed' | 'abort_pending' | 'aborted' | 'expire_pending' | 'expired' | 'booked';
|
|
2780
|
+
interface PerformanceGroupDescriptor {
|
|
2781
|
+
key: string;
|
|
2782
|
+
name: string;
|
|
2783
|
+
state: 'active' | 'closing' | 'closed' | 'archived';
|
|
2784
|
+
mode: 'live' | 'test';
|
|
2785
|
+
currency: string;
|
|
2786
|
+
venue: string;
|
|
2787
|
+
timezone: string | null;
|
|
2788
|
+
inventoryModelVersion: 2;
|
|
2789
|
+
performanceCount: number;
|
|
2790
|
+
performances: Array<{
|
|
2791
|
+
position: number;
|
|
2792
|
+
eventKey: string;
|
|
2793
|
+
name: string;
|
|
2794
|
+
startsAt: number;
|
|
2795
|
+
endsAt: number | null;
|
|
2796
|
+
venue: string;
|
|
2797
|
+
timezone: string | null;
|
|
2798
|
+
salesState: string;
|
|
2799
|
+
}>;
|
|
2800
|
+
}
|
|
2801
|
+
interface PerformanceGroupHold {
|
|
2802
|
+
operationId: string;
|
|
2803
|
+
holdId: string;
|
|
2804
|
+
expiresAt: number;
|
|
2805
|
+
items: HoldLineItem[];
|
|
2806
|
+
}
|
|
2807
|
+
type PerformanceGroupSelectionMode = 'same_seat' | 'per_performance';
|
|
2808
|
+
interface PerformanceGroupHoldAllocation {
|
|
2809
|
+
eventKey: string;
|
|
2810
|
+
items: HoldLineItem[];
|
|
2811
|
+
}
|
|
2812
|
+
interface PerformanceGroupOperationEvent {
|
|
2813
|
+
operationId: string;
|
|
2814
|
+
state: PerformanceGroupOperationState;
|
|
2815
|
+
decision: 'commit' | 'abort' | null;
|
|
2816
|
+
}
|
|
2817
|
+
|
|
2818
|
+
interface PerformanceGroupSeatAllocation {
|
|
2819
|
+
eventKey: string;
|
|
2820
|
+
seatLabels: string[];
|
|
2821
|
+
}
|
|
2822
|
+
interface PerformanceGroupCheckoutHandoff {
|
|
2823
|
+
operationId: string;
|
|
2824
|
+
holdId: string;
|
|
2825
|
+
expiresAt: number;
|
|
2826
|
+
performanceGroup: PerformanceGroupDescriptor;
|
|
2827
|
+
selectionMode: PerformanceGroupSelectionMode;
|
|
2828
|
+
/** Logical booking identities only. Re-inspect the opaque hold on your server. */
|
|
2829
|
+
seatLabels: string[];
|
|
2830
|
+
/** Present for per-performance selection. Prices and child hold IDs remain server-only. */
|
|
2831
|
+
allocations?: PerformanceGroupSeatAllocation[];
|
|
2832
|
+
}
|
|
2833
|
+
interface PerformanceGroupPickerOptions {
|
|
2834
|
+
container: string | HTMLElement;
|
|
2835
|
+
performanceGroup: string;
|
|
2836
|
+
/** `same_seat` renders one shared choice; `per_performance` renders one chart with date tabs. */
|
|
2837
|
+
selectionMode?: PerformanceGroupSelectionMode;
|
|
2838
|
+
apiBase?: string;
|
|
2839
|
+
buyerAccessTokenProvider?: BuyerAccessTokenProvider;
|
|
2840
|
+
buyerAccessToken?: string | BuyerAccessToken;
|
|
2841
|
+
maxSelection?: number;
|
|
2842
|
+
selectedObjects?: string[];
|
|
2843
|
+
selectableObjects?: string[] | null;
|
|
2844
|
+
numberOfPlacesToSelect?: number;
|
|
2845
|
+
selectionValidators?: PickerSelectionValidator[];
|
|
2846
|
+
locale?: string;
|
|
2847
|
+
messages?: Record<string, string>;
|
|
2848
|
+
languages?: string[];
|
|
2849
|
+
colorblindSafe?: boolean;
|
|
2850
|
+
initialView?: RendererViewMode;
|
|
2851
|
+
enable3D?: boolean;
|
|
2852
|
+
max3DSeats?: number;
|
|
2853
|
+
onBuyerViewChange?: (state: {
|
|
2854
|
+
view: SeatPickerBuyerView;
|
|
2855
|
+
seatId?: string;
|
|
2856
|
+
}) => void;
|
|
2857
|
+
hideBadge?: boolean;
|
|
2858
|
+
theme?: SeatPickerTheme;
|
|
2859
|
+
holdTtlMs?: number;
|
|
2860
|
+
initialHoldId?: string;
|
|
2861
|
+
initialOperationId?: string;
|
|
2862
|
+
restoreHold?: boolean;
|
|
2863
|
+
confirmSelection?: boolean;
|
|
2864
|
+
seatView?: boolean;
|
|
2865
|
+
onSelectionChange?: (seats: PickerSeat[]) => void;
|
|
2866
|
+
onSelectionValidityChange?: (state: PickerSelectionValidity) => void;
|
|
2867
|
+
onSelectionValid?: (seats: PickerSeat[]) => void;
|
|
2868
|
+
onSelectionInvalid?: (state: PickerSelectionValidity) => void;
|
|
2869
|
+
onSelectionLimit?: (maxSelection: number) => void;
|
|
2870
|
+
onHold?: (handoff: PerformanceGroupCheckoutHandoff) => void;
|
|
2871
|
+
onHoldChange?: (handoff: PerformanceGroupCheckoutHandoff | null) => void;
|
|
2872
|
+
onCheckout?: (handoff: PerformanceGroupCheckoutHandoff) => void;
|
|
2873
|
+
onHoldExpired?: () => void;
|
|
2874
|
+
onAccessExpired?: (event: BuyerAccessExpiredEvent) => void;
|
|
2875
|
+
onAccessUnavailable?: (event: BuyerAccessUnavailableEvent) => void;
|
|
2876
|
+
onError?: (error: unknown) => void;
|
|
2877
|
+
}
|
|
2878
|
+
declare class PerformanceGroupPicker {
|
|
2879
|
+
private readonly options;
|
|
2880
|
+
private readonly access;
|
|
2881
|
+
private readonly api;
|
|
2882
|
+
private descriptorValue;
|
|
2883
|
+
private picker;
|
|
2884
|
+
private root;
|
|
2885
|
+
private innerHost;
|
|
2886
|
+
private tabsHost;
|
|
2887
|
+
private heldSummary;
|
|
2888
|
+
private live;
|
|
2889
|
+
private rendered;
|
|
2890
|
+
private destroyed;
|
|
2891
|
+
private continued;
|
|
2892
|
+
private switchingPerformance;
|
|
2893
|
+
private operationPending;
|
|
2894
|
+
private activePerformanceKey;
|
|
2895
|
+
private readonly selectionsByEvent;
|
|
2896
|
+
private readonly validByEvent;
|
|
2897
|
+
private refreshingComposition;
|
|
2898
|
+
private activeHandoff;
|
|
2899
|
+
constructor(options: PerformanceGroupPickerOptions);
|
|
2900
|
+
get descriptor(): PerformanceGroupDescriptor | null;
|
|
2901
|
+
get currentHold(): PerformanceGroupCheckoutHandoff | null;
|
|
2902
|
+
render(): Promise<this>;
|
|
2903
|
+
release(): Promise<void>;
|
|
2904
|
+
close(): void;
|
|
2905
|
+
destroy(): void;
|
|
2906
|
+
private copy;
|
|
2907
|
+
private performanceTabs;
|
|
2908
|
+
private submissionState;
|
|
2909
|
+
private selectionChanged;
|
|
2910
|
+
private selectionValidityChanged;
|
|
2911
|
+
private refreshComposition;
|
|
2912
|
+
private tabState;
|
|
2913
|
+
private updateTabs;
|
|
2914
|
+
private switchPerformance;
|
|
2915
|
+
private operationChanged;
|
|
2916
|
+
private handoff;
|
|
2917
|
+
private renderHeldAllocations;
|
|
2918
|
+
private resetPerPerformanceSelection;
|
|
2919
|
+
private holdChanged;
|
|
2920
|
+
private checkout;
|
|
2921
|
+
}
|
|
2922
|
+
|
|
2771
2923
|
/**
|
|
2772
2924
|
* Host-side helper for embedding the SeatLayer picker as an iframe.
|
|
2773
2925
|
*
|
|
@@ -2807,4 +2959,4 @@ interface AttachPickerFrameOptions {
|
|
|
2807
2959
|
*/
|
|
2808
2960
|
declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
|
|
2809
2961
|
|
|
2810
|
-
export { ApiError, type AttachPickerFrameOptions, type BestAvailableResult, BuyerAccessContext, type BuyerAccessExpiredEvent, type BuyerAccessRefreshReason, type BuyerAccessToken, type BuyerAccessTokenProvider, BuyerAccessUnavailableError, type BuyerAccessUnavailableEvent, type BuyerAccessUnavailableReason, BuyerRealtimeClient, type BuyerRealtimeOptions, type CheckoutHandoff, type CheckoutLineItem, type CheckoutSessionResult, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type GAPromptRequest, type GaPromptTier, type HoldConflict, type HoldLineItem, type HoldResult, type OrderStatusResult, type PaymentOptionsReason, type PaymentOptionsResult, type PaymentProviderName, type Projection, type PubApiOptions, type RealtimeSink, type ResumedHoldResult, SEATING_CHART_CALLBACK_PROPS, SEATING_CHART_HANDLE_METHODS, SEATING_CHART_IDENTITY_PROPS, SEATING_CHART_VALUE_PROPS, type SaleState, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, SeatingChart, type SeatingChartCallbackProp, type SeatingChartCallbacks, type SeatingChartHandle, type SeatingChartHandleMethod, type SeatingChartIdentityProp, type SeatingChartOptions, type SeatingChartValueProp, type SeatingChartValues, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, ticketOfferPrices };
|
|
2962
|
+
export { ApiError, type AttachPickerFrameOptions, type BestAvailableResult, BuyerAccessContext, type BuyerAccessExpiredEvent, type BuyerAccessRefreshReason, type BuyerAccessToken, type BuyerAccessTokenProvider, BuyerAccessUnavailableError, type BuyerAccessUnavailableEvent, type BuyerAccessUnavailableReason, BuyerRealtimeClient, type BuyerRealtimeOptions, type CheckoutHandoff, type CheckoutLineItem, type CheckoutSessionResult, EmbeddedDesigner, type EmbeddedDesignerEventType, type EmbeddedDesignerMessage, type EmbeddedDesignerOptions, type GAAreaAvailability, type GAPromptRequest, type GaPromptTier, type HoldConflict, type HoldLineItem, type HoldResult, type OrderStatusResult, type PaymentOptionsReason, type PaymentOptionsResult, type PaymentProviderName, type PerformanceGroupCheckoutHandoff, type PerformanceGroupDescriptor, type PerformanceGroupHold, type PerformanceGroupHoldAllocation, type PerformanceGroupOperationEvent, type PerformanceGroupOperationState, PerformanceGroupPicker, type PerformanceGroupPickerOptions, type PerformanceGroupSeatAllocation, type PerformanceGroupSelectionMode, type Projection, type PubApiOptions, type RealtimeSink, type ResumedHoldResult, SEATING_CHART_CALLBACK_PROPS, SEATING_CHART_HANDLE_METHODS, SEATING_CHART_IDENTITY_PROPS, SEATING_CHART_VALUE_PROPS, type SaleState, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, SeatingChart, type SeatingChartCallbackProp, type SeatingChartCallbacks, type SeatingChartHandle, type SeatingChartHandleMethod, type SeatingChartIdentityProp, type SeatingChartOptions, type SeatingChartValueProp, type SeatingChartValues, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, ticketOfferPrices };
|