@seatlayer/js 0.63.1 → 0.65.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.d.cts CHANGED
@@ -115,6 +115,22 @@ interface SelectedObjectUnavailableEvent {
115
115
  | 'exhausted';
116
116
  code?: string;
117
117
  }
118
+ /**
119
+ * Observed when the held bearer is replaced by a newly minted one.
120
+ *
121
+ * Exists for exactly one caller today: a Performance Group session owns the
122
+ * holds it created, so a re-mint has to ADOPT them onto the new session before
123
+ * anything else is allowed to speak to the group. See
124
+ * `PerformanceGroupApi`'s adopt handshake.
125
+ */
126
+ interface BuyerAccessRenewalEvent {
127
+ /** The bearer that was in hand before the renewal. Never null when observed. */
128
+ previousToken: string;
129
+ /** The bearer that just replaced it. */
130
+ token: string;
131
+ reason: BuyerAccessRefreshReason;
132
+ }
133
+ type BuyerAccessRenewalObserver = (event: BuyerAccessRenewalEvent) => void | Promise<void>;
118
134
  interface BuyerAccessContextOptions {
119
135
  provider?: BuyerAccessTokenProvider;
120
136
  /** One-shot escape hatch for hosts that already own the token lifecycle. */
@@ -152,6 +168,21 @@ declare class BuyerAccessContext {
152
168
  * held `configured` true. Found against a live worker in the M9 pass.
153
169
  */
154
170
  get configured(): boolean;
171
+ /**
172
+ * Observe bearer rotation: "the token changed from X to Y".
173
+ *
174
+ * The observer is awaited INSIDE `#renew`, which is single-flight, so no
175
+ * `authorization()` caller can obtain the new bearer until the observer has
176
+ * settled. That serialization is the whole point — a Performance Group must
177
+ * finish adopting its holds onto the new session before any other group
178
+ * request goes out on it.
179
+ *
180
+ * The observer never sees the very first acquisition (there is no previous
181
+ * token to inherit from) and never sees a no-op re-issue of the same string.
182
+ * Its rejection is swallowed here: it belongs to the caller that registered
183
+ * it, and that caller latches its own terminal state.
184
+ */
185
+ onRenewed(observer: BuyerAccessRenewalObserver | undefined): void;
155
186
  /** Set once a state arrives that refreshing cannot clear. */
156
187
  get unavailable(): BuyerAccessUnavailableEvent | null;
157
188
  /** True while a usable bearer is held (ignores skew). */
@@ -1979,6 +2010,8 @@ declare class SeatPicker implements GaPromptPicker {
1979
2010
  /** Original host pricing, kept separate from live server offer overrides. */
1980
2011
  private readonly hostPricing;
1981
2012
  private readonly performanceGroup;
2013
+ /** Structural (not CSS) removal of per-performance money — see pickerInternal. */
2014
+ private readonly suppressPricing;
1982
2015
  /** @internal */ root: HTMLDivElement | null;
1983
2016
  private mapHost;
1984
2017
  private rendered;
@@ -2038,6 +2071,9 @@ declare class SeatPicker implements GaPromptPicker {
2038
2071
  private lastMapPoint;
2039
2072
  private tipEl;
2040
2073
  private tipPos;
2074
+ /** True while a TAPPED seat card is held open (touch has no hover to lose). */
2075
+ private tipPinned;
2076
+ private lastPointerType;
2041
2077
  private confirmEl;
2042
2078
  private confirmSeat;
2043
2079
  private tableDialogEl;
@@ -2340,8 +2376,6 @@ declare class SeatPicker implements GaPromptPicker {
2340
2376
  /** Complete buyer-visible price range, including every ticket tier and
2341
2377
  * tier-specific host override. */
2342
2378
  private catPriceRange;
2343
- /** Derive category price bands without hiding the upper end of tier ranges. */
2344
- private priceBands;
2345
2379
  /** Build the compact price selector in the panel header. Choosing a band both
2346
2380
  * filters availability and smoothly frames the matching seats on the map. */
2347
2381
  private buildPriceFilter;
@@ -2389,6 +2423,13 @@ declare class SeatPicker implements GaPromptPicker {
2389
2423
  private sectionCardOnView;
2390
2424
  /** Fraction of the focused section's on-screen bbox covered by the card. */
2391
2425
  private sectionCardCoverage;
2426
+ /**
2427
+ * The polite-live sentence for a partly-available seat, or '' for any other.
2428
+ *
2429
+ * Focus is the only moment a keyboard buyer gets: the night strip lives on a
2430
+ * hover surface they never reach, so the same facts arrive here as prose.
2431
+ */
2432
+ private markedSeatAnnouncement;
2392
2433
  /** aria-live readout when keyboard focus lands on a seat. */
2393
2434
  private announceSeat;
2394
2435
  private showTableDialog;
@@ -2499,6 +2540,16 @@ declare class SeatPicker implements GaPromptPicker {
2499
2540
  */
2500
2541
  private detectBooked;
2501
2542
  private showBooked;
2543
+ /**
2544
+ * A Performance Group hold settled, told to us by the WRAPPER rather than by
2545
+ * a socket (§8: this surface has no realtime feed). `detectBooked` waits for
2546
+ * the controller's own hold to settle and for a group it never does — the
2547
+ * collapsed projection only speaks free/blocked — so a booking completed on
2548
+ * the host's server was invisible and the picker sat on "Continue to
2549
+ * checkout" forever. `booked` runs the ordinary success path (overlay +
2550
+ * `onBooked`); `lost` is the reset a hold expiry does. Either way the hold is
2551
+ * dropped, so the CTA cannot offer a checkout that cannot happen. */
2552
+ /** @internal */ notifyGroupSettled(outcome: 'booked' | 'lost'): void;
2502
2553
  /**
2503
2554
  * The seats are held. Send the buyer wherever this picker's `checkout` option
2504
2555
  * says they go.
@@ -2540,17 +2591,27 @@ declare class SeatPicker implements GaPromptPicker {
2540
2591
  }): void;
2541
2592
  private placeTooltip;
2542
2593
  /**
2543
- * Row label without the redundant section prefix. Charts commonly name row
2544
- * objects "104-A" while the Section column already shows "104" — so the Row
2545
- * cell repeats the section and, in the compact hover card, truncates to
2546
- * "10…". Strip a leading "<section><sep>" so Row reads a clean "A". Only when
2547
- * the prefix is exact (won't touch "1040-A" under section "104"); otherwise
2548
- * the label is shown verbatim.
2594
+ * The Performance Group night strip for a two-tone seat.
2595
+ *
2596
+ * A marked seat is server-status blocked and stays unselectable the mark is
2597
+ * the only place the buyer can learn that it is blocked by ONE night rather
2598
+ * than by all of them, and which one. '' for every other seat, and for a
2599
+ * group whose wrapper did not supply the nights.
2549
2600
  */
2550
- /** Buyer-facing type word for the row/table key label — the designer's
2551
- * per-object "Displayed type" override, or the default "Row". */
2552
- private rowTypeWord;
2601
+ private nightStripFor;
2602
+ /** Close a tapped-open card. Safe to call when nothing is pinned. */
2603
+ private unpinTooltip;
2553
2604
  private updateTooltip;
2605
+ /**
2606
+ * Push the wrapper's current seat marks at the renderer.
2607
+ *
2608
+ * PULLED from the seam rather than pushed into the widget, and called
2609
+ * immediately AFTER a status batch has been applied — the two must land on
2610
+ * the same tick, in that order, or a repaint from the status pass wipes the
2611
+ * two-tone paint. Labels are resolved here because only the controller knows
2612
+ * the label→id mapping, and the wrapper must never learn engine ids.
2613
+ */
2614
+ private syncSeatMarks;
2554
2615
  getSelection(): PickerSeat[];
2555
2616
  /** Select free objects by engine id or public label. */
2556
2617
  selectObjects(objects: string[]): PickerSeat[];
@@ -2558,8 +2619,19 @@ declare class SeatPicker implements GaPromptPicker {
2558
2619
  deselectObjects(objects: string[]): void;
2559
2620
  /** Clear every unheld selection. */
2560
2621
  clearSelection(): void;
2622
+ /** @internal Display colour of the first sellable category. ASKED OF THE RENDERER: colourblind-safe mode remaps hues there and never touches the document. */ categoryLegendColor(): string;
2561
2623
  /** @internal */ refreshAvailability(): Promise<void>;
2562
2624
  /** @internal */ refreshPerformanceGroupComposition(): void;
2625
+ /**
2626
+ * @internal Adopt a hold this picker did not create.
2627
+ *
2628
+ * The Performance Group wrapper recovers an operation id from storage on
2629
+ * reload and learns the hold behind it BEFORE this picker's own
2630
+ * remembered-hold path could know one exists. Nothing happens when a hold is
2631
+ * already live — the two restore paths must not race each other into a
2632
+ * double resume.
2633
+ */
2634
+ adoptRestoredHold(holdId: string): Promise<void>;
2563
2635
  /** Select every selectable object in the named categories. */
2564
2636
  selectCategories(categoryKeys: string[]): PickerSeat[];
2565
2637
  /** Deselect every selected object in the named categories. */
@@ -2770,7 +2842,6 @@ declare class SeatPicker implements GaPromptPicker {
2770
2842
  */
2771
2843
  private showAccessPanel;
2772
2844
  private dismissAccessPanel;
2773
- private accessCopy;
2774
2845
  destroy(): void;
2775
2846
  }
2776
2847
 
@@ -2787,6 +2858,8 @@ interface PerformanceGroupDescriptor {
2787
2858
  timezone: string | null;
2788
2859
  inventoryModelVersion: 2;
2789
2860
  performanceCount: number;
2861
+ /** Present when the server versions the inclusion set. See {@link PerformanceGroupAvailability}. */
2862
+ revision?: string;
2790
2863
  performances: Array<{
2791
2864
  position: number;
2792
2865
  eventKey: string;
@@ -2814,6 +2887,60 @@ interface PerformanceGroupOperationEvent {
2814
2887
  state: PerformanceGroupOperationState;
2815
2888
  decision: 'commit' | 'abort' | null;
2816
2889
  }
2890
+ /**
2891
+ * What the wrapper needs to render §12's recovery wording without inventing
2892
+ * its own state machine. `pending` is inert-and-wait; `failed` is the terminal
2893
+ * state whose ABSENCE used to leave the picker aria-busy forever (H7).
2894
+ */
2895
+ type PerformanceGroupRecoveryState = {
2896
+ kind: 'idle';
2897
+ } | {
2898
+ kind: 'pending';
2899
+ operationId: string;
2900
+ phase: PerformanceGroupOperationState | 'unknown';
2901
+ /** True once the recovery has run long enough to owe the buyer an explanation. */
2902
+ longRunning: boolean;
2903
+ reference: string;
2904
+ } | {
2905
+ kind: 'failed';
2906
+ operationId: string;
2907
+ reference: string;
2908
+ reason: 'deadline' | 'request_failed' | 'session_adopt_failed';
2909
+ /** False when the same operation can no longer be polled (adopt failure). */
2910
+ retryable: boolean;
2911
+ };
2912
+ /** Group-level sale state, surfaced from `/objects` rather than dropped (M11). */
2913
+ interface PerformanceGroupAvailability {
2914
+ state: 'active' | 'closing' | 'closed' | 'archived';
2915
+ salesClosed: boolean;
2916
+ revision: string | null;
2917
+ /** True when this read's revision differs from the one first observed. */
2918
+ revisionChanged: boolean;
2919
+ /**
2920
+ * Same-seat only: for every seat that is free on SOME performances, the
2921
+ * eventKeys (chronological) where it is NOT. Seats free everywhere or nowhere
2922
+ * are absent, which is what keeps this small on a 20,000-seat chart.
2923
+ *
2924
+ * The collapsed `seats` map still says `blocked` for all of these — the map
2925
+ * must never offer a seat the buyer cannot have on every night. This is the
2926
+ * EXPLANATION for that "no", and nothing more.
2927
+ */
2928
+ partial: Record<string, string[]>;
2929
+ /** How many seats the collapsed view reports as bookable on every night. */
2930
+ freeCount: number;
2931
+ /** How many are blocked on every night — i.e. not explained by `partial`. */
2932
+ blockedCount: number;
2933
+ }
2934
+ /** Raised instead of speaking to the network after `destroy()`. */
2935
+ declare class PerformanceGroupDestroyedError extends Error {
2936
+ constructor();
2937
+ }
2938
+ /**
2939
+ * The "short operation reference" §12 asks us to read out loud. It has to be
2940
+ * sayable over the phone, so it is the tail of the id, upper-cased — never the
2941
+ * whole `pghop_…` uuid.
2942
+ */
2943
+ declare function shortOperationReference(operationId: string): string;
2817
2944
 
2818
2945
  interface PerformanceGroupSeatAllocation {
2819
2946
  eventKey: string;
@@ -2829,12 +2956,39 @@ interface PerformanceGroupCheckoutHandoff {
2829
2956
  seatLabels: string[];
2830
2957
  /** Present for per-performance selection. Prices and child hold IDs remain server-only. */
2831
2958
  allocations?: PerformanceGroupSeatAllocation[];
2959
+ /**
2960
+ * `held` until the coordinator says otherwise; `booked` once the operation
2961
+ * settles that way. A group has no socket (§8), so this only ever becomes
2962
+ * `booked` through the transport's settlement watch.
2963
+ */
2964
+ bookingState?: 'held' | 'booked';
2965
+ }
2966
+ /** What the wrapper is showing the buyer right now, for host telemetry. */
2967
+ interface PerformanceGroupStatusEvent {
2968
+ kind: 'idle' | 'pending' | 'recovery_failed' | 'sales_closed' | 'revision_changed';
2969
+ message: string;
2970
+ /** The short operation reference from §12, when one applies. */
2971
+ reference?: string;
2832
2972
  }
2833
2973
  interface PerformanceGroupPickerOptions {
2834
2974
  container: string | HTMLElement;
2835
2975
  performanceGroup: string;
2836
2976
  /** `same_seat` renders one shared choice; `per_performance` renders one chart with date tabs. */
2837
2977
  selectionMode?: PerformanceGroupSelectionMode;
2978
+ /**
2979
+ * Offer the buyer a way out of same-seat selection.
2980
+ *
2981
+ * Default false. A same-seat map hides a real outcome: a seat free on two of
2982
+ * three nights is shown as unavailable, and without this option the only
2983
+ * thing to say about it is "pick a different seat". With it on, the seat's
2984
+ * card and the "Your seats" pane carry one quiet action that re-opens the
2985
+ * same group as a night-by-night choice, in place.
2986
+ *
2987
+ * Requires `numberOfPlacesToSelect`, because per-performance selection is
2988
+ * defined by a party size and the switch must not land the buyer in a mode
2989
+ * the transport cannot submit.
2990
+ */
2991
+ allowSelectionModeSwitch?: boolean;
2838
2992
  apiBase?: string;
2839
2993
  buyerAccessTokenProvider?: BuyerAccessTokenProvider;
2840
2994
  buyerAccessToken?: string | BuyerAccessToken;
@@ -2871,8 +3025,16 @@ interface PerformanceGroupPickerOptions {
2871
3025
  onHoldChange?: (handoff: PerformanceGroupCheckoutHandoff | null) => void;
2872
3026
  onCheckout?: (handoff: PerformanceGroupCheckoutHandoff) => void;
2873
3027
  onHoldExpired?: () => void;
3028
+ /**
3029
+ * The whole package is booked. Fires ONCE, from the settlement watch, with
3030
+ * the same handoff shape plus `bookingState: 'booked'`.
3031
+ */
3032
+ onBooked?: (handoff: PerformanceGroupCheckoutHandoff) => void;
2874
3033
  onAccessExpired?: (event: BuyerAccessExpiredEvent) => void;
2875
3034
  onAccessUnavailable?: (event: BuyerAccessUnavailableEvent) => void;
3035
+ onStatusChange?: (event: PerformanceGroupStatusEvent) => void;
3036
+ /** Fired after the buyer moves between selection modes in place. */
3037
+ onSelectionModeChange?: (mode: PerformanceGroupSelectionMode) => void;
2876
3038
  onError?: (error: unknown) => void;
2877
3039
  }
2878
3040
  declare class PerformanceGroupPicker {
@@ -2884,35 +3046,189 @@ declare class PerformanceGroupPicker {
2884
3046
  private root;
2885
3047
  private innerHost;
2886
3048
  private tabsHost;
3049
+ private prevButton;
3050
+ private nextButton;
2887
3051
  private heldSummary;
2888
3052
  private live;
3053
+ private statusHost;
3054
+ private statusCopy;
3055
+ private statusAction;
2889
3056
  private rendered;
2890
3057
  private destroyed;
2891
3058
  private continued;
2892
3059
  private switchingPerformance;
2893
3060
  private operationPending;
3061
+ private recovery;
3062
+ private availability;
2894
3063
  private activePerformanceKey;
2895
3064
  private readonly selectionsByEvent;
2896
3065
  private readonly validByEvent;
2897
3066
  private refreshingComposition;
2898
3067
  private activeHandoff;
3068
+ private readonly panelId;
3069
+ private selectionModeValue;
3070
+ private progressHost;
3071
+ private legendHost;
3072
+ private paneHost;
3073
+ /** Labels pushed at the renderer on the last pull, so departures clear. */
3074
+ private markedLabels;
3075
+ private holdTicker;
3076
+ private switchingMode;
3077
+ /** Latched at the first `booked`, so the callback and the copy fire once. */
3078
+ private booked;
2899
3079
  constructor(options: PerformanceGroupPickerOptions);
3080
+ /**
3081
+ * The mode the buyer is ACTUALLY in.
3082
+ *
3083
+ * Not `options.selectionMode`: with `allowSelectionModeSwitch` the buyer can
3084
+ * change it, and every derived surface — tabs, pane, submission state, the
3085
+ * handoff's `selectionMode` — has to follow the live value or the wrapper
3086
+ * starts describing a session that no longer exists.
3087
+ */
3088
+ private get mode();
3089
+ get selectionMode(): PerformanceGroupSelectionMode;
2900
3090
  get descriptor(): PerformanceGroupDescriptor | null;
2901
3091
  get currentHold(): PerformanceGroupCheckoutHandoff | null;
2902
3092
  render(): Promise<this>;
3093
+ /**
3094
+ * Everything around the map.
3095
+ *
3096
+ * Rebuilt wholesale when the buyer switches selection mode, because the
3097
+ * difference between the two modes is not a class on one element — the tab
3098
+ * bar appears, the summary and the map helper change what they claim, and the
3099
+ * "Your selection" pane changes what it is a list OF. Patching those in place
3100
+ * is how a surface ends up half-describing the mode it used to be in.
3101
+ */
3102
+ private buildChrome;
3103
+ private mountPicker;
3104
+ private performanceCards;
3105
+ /** Chronological nights with the SAME date formatting the chrome uses. */
3106
+ private nights;
3107
+ /**
3108
+ * The marks the picker should be showing right now.
3109
+ *
3110
+ * Pulled by SeatPicker straight after it applies a status batch. Every label
3111
+ * currently in `partial` gets its mark; every label that has LEFT `partial`
3112
+ * since the last pull gets an explicit null, because `setSeatMarks` merges
3113
+ * and a dropped label would otherwise keep its two-tone paint forever.
3114
+ */
3115
+ private seatMarks;
3116
+ /**
3117
+ * The night the tray's seat cards belong to.
3118
+ *
3119
+ * Same formatter as the nights list and the night strip, so the eyebrow on a
3120
+ * card can never name a date differently from the row above it. Null in
3121
+ * same-seat mode: there the cards ARE every night, and labelling them with
3122
+ * one would be false.
3123
+ */
3124
+ private activePerformanceLabel;
3125
+ /** Per-night picks for the picker's "Your seats" pane (per-performance). */
3126
+ private nightSummary;
3127
+ /**
3128
+ * What the buyer has chosen across the WHOLE run.
3129
+ *
3130
+ * The picker can only count the chart in front of it, and for a package that
3131
+ * chart is one night. "1 selected" over a four-night run is the wrong number
3132
+ * in the one place a buyer checks before paying, so the counts come from here
3133
+ * — the only place that knows about the other nights.
3134
+ */
3135
+ private groupSelectionSummary;
3136
+ /**
3137
+ * The three-step strip. "Review" becomes current the moment a hold commits —
3138
+ * that is the only point at which there is something to review, and it is the
3139
+ * point the buyer most needs told that the seats are actually theirs.
3140
+ */
3141
+ private syncProgress;
3142
+ /** The map's ONE availability key. Hidden with the map when the sale is shut. */
3143
+ private syncLegend;
3144
+ /**
3145
+ * The colour the "available" swatch has to match.
3146
+ *
3147
+ * Asked of the RENDERER, not the document: colourblind-safe mode remaps hues
3148
+ * inside the renderer and never touches `doc.categories[].color`, so reading
3149
+ * the document would print a key that disagrees with the map for exactly the
3150
+ * buyers who most depend on the key.
3151
+ */
3152
+ private categoryColor;
3153
+ /**
3154
+ * "Your selection" — one line per performance, and a total ONLY once the
3155
+ * server has committed a hold and told us what it costs.
3156
+ */
3157
+ private syncPane;
3158
+ /**
3159
+ * The package total, from the SERVER's own hold lines.
3160
+ *
3161
+ * Null until a hold commits. There is no browser-side per-performance price
3162
+ * for a group (the transport suppresses single-event pricing on purpose), so
3163
+ * anything computed before commit would be a quote we invented — and a quote
3164
+ * the buyer could reasonably hold us to.
3165
+ */
3166
+ private heldTotal;
3167
+ /** One tick a second while a hold is live, so the countdown line is true. */
3168
+ private syncHoldTicker;
3169
+ /**
3170
+ * Re-open the same group in the other selection mode, in place.
3171
+ *
3172
+ * Refused while an operation is undecided or a hold exists: §12 forbids a
3173
+ * competing action over an outcome the coordinator still owns, and the
3174
+ * transport refuses too, so this is belt and braces on the same rule.
3175
+ */
3176
+ private switchSelectionMode;
2903
3177
  release(): Promise<void>;
2904
3178
  close(): void;
2905
3179
  destroy(): void;
3180
+ /**
3181
+ * Every buyer-facing string in this wrapper, through the shared catalog.
3182
+ *
3183
+ * A host `messages` entry still wins — it is checked first here AND it is
3184
+ * installed as a global override — so integrator copy keeps working while
3185
+ * the default is a real translation rather than a hard-coded English literal.
3186
+ */
2906
3187
  private copy;
2907
3188
  private performanceTabs;
3189
+ private tabButtons;
3190
+ private tabKeydown;
3191
+ private stepPerformance;
2908
3192
  private submissionState;
3193
+ /** §12: no second HOLD action while an outcome is unknown or sale is shut. */
3194
+ private holdBlocked;
2909
3195
  private selectionChanged;
2910
3196
  private selectionValidityChanged;
2911
3197
  private refreshComposition;
2912
3198
  private tabState;
2913
3199
  private updateTabs;
2914
3200
  private switchPerformance;
3201
+ /**
3202
+ * Lock without `inert`.
3203
+ *
3204
+ * `inert` removes the whole subtree from the a11y tree AND blurs whatever the
3205
+ * buyer had focused, so a screen-reader user mid-selection was dropped to the
3206
+ * top of the document with no announcement. `aria-disabled` plus a
3207
+ * pointer-events block keeps the focused seat where it is and readable, and
3208
+ * the status region below carries the reason.
3209
+ */
3210
+ private setInteractionLocked;
3211
+ private announce;
3212
+ private showStatus;
3213
+ private clearStatus;
2915
3214
  private operationChanged;
3215
+ /**
3216
+ * The package is booked.
3217
+ *
3218
+ * Everything that was true only while a hold was RUNNING stops: the clock,
3219
+ * the "held together · mm:ss" line, and the checkout the buyer has already
3220
+ * been through. What stays is the per-night summary — the answer to "what did
3221
+ * I actually buy?" is the last thing to take away at the moment it becomes
3222
+ * the only question left.
3223
+ */
3224
+ private bookingSettled;
3225
+ /** The hold went away before it was booked — expiry, or an organizer release. */
3226
+ private holdLost;
3227
+ private recoveryChanged;
3228
+ private retryRecovery;
3229
+ private restoreOperation;
3230
+ private availabilityChanged;
3231
+ private reloadDescriptor;
2916
3232
  private handoff;
2917
3233
  private renderHeldAllocations;
2918
3234
  private resetPerPerformanceSelection;
@@ -2959,4 +3275,4 @@ interface AttachPickerFrameOptions {
2959
3275
  */
2960
3276
  declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
2961
3277
 
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 };
3278
+ 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 PerformanceGroupAvailability, type PerformanceGroupCheckoutHandoff, type PerformanceGroupDescriptor, PerformanceGroupDestroyedError, type PerformanceGroupHold, type PerformanceGroupHoldAllocation, type PerformanceGroupOperationEvent, type PerformanceGroupOperationState, PerformanceGroupPicker, type PerformanceGroupPickerOptions, type PerformanceGroupRecoveryState, type PerformanceGroupSeatAllocation, type PerformanceGroupSelectionMode, type PerformanceGroupStatusEvent, 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, shortOperationReference, ticketOfferPrices };