@seatlayer/js 0.51.0 → 0.53.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/LICENSE +16 -17
- package/README.md +2 -2
- package/dist/channelsMode-BX7s9bUl.d.cts +2241 -0
- package/dist/channelsMode-BX7s9bUl.d.ts +2241 -0
- package/dist/channelsMode-RUNPEHKD.js +1 -0
- package/dist/chunk-7F6RSJRL.js +695 -0
- package/dist/chunk-OSZ7DOEH.js +1 -0
- package/dist/hostedCheckout-3NTOVIZG.js +35 -0
- package/dist/index.cjs +103 -7371
- package/dist/index.d.cts +187 -96
- package/dist/index.d.ts +187 -96
- package/dist/index.js +102 -6992
- package/dist/manager.cjs +298 -5656
- package/dist/manager.d.cts +8 -2261
- package/dist/manager.d.ts +8 -2261
- package/dist/manager.js +71 -2418
- package/package.json +3 -8
- package/dist/channelsMode-S4GEWCWS.js +0 -12
- package/dist/channelsMode-S4GEWCWS.js.map +0 -1
- package/dist/chunk-5URCWBHM.js +0 -3683
- package/dist/chunk-5URCWBHM.js.map +0 -1
- package/dist/chunk-HMLY7DHA.js +0 -16
- package/dist/chunk-HMLY7DHA.js.map +0 -1
- package/dist/hostedCheckout-GVS6UKYA.js +0 -370
- package/dist/hostedCheckout-GVS6UKYA.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/manager.cjs.map +0 -1
- package/dist/manager.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PickerSeat, RendererViewMode, SeatHoverDetails, PickerTransport, PickerMapTheme } from '@seatlayer/core';
|
|
2
2
|
export { ExpandedSeat, PickerMapTheme, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
|
|
3
|
-
export { AccessIntentForbidsDetails, AccessLinkRecord, AccessLinkReveal, AccessLinkState, AccessLinkStatus, AccessLinkStatusRecord, ArchiveBlockedDetails, AssignmentBuckets, AssignmentDropDetails, AssignmentResult, BucketRow, ChannelAccessIntent, ChannelAccessSummary, ChannelAllocationPage, ChannelAttribution, ChannelAuditEntry, ChannelAuditPage, ChannelCounts, ChannelListResult, ChannelPreviewProjection, ChannelRecord, ChannelReport, ChannelReportLinkRecord, ChannelReportLinkReveal, ChannelReportResult, ChannelReportRow, ChannelSeatStatus, ChannelState, ChannelsCapabilities, ChannelsClient, ChannelsMode, ChannelsModeHost, ChannelsRowView, ChannelsSeatView, ControlRoomActivityEntry, ControlRoomSectionMetric, ControlRoomSnapshot, EventScopedManageToken, IntentSwitchBlockedDetails, InventoryBooking, InventoryBookingActivity, InventoryBookingDetail, InventoryBookingObject, InventoryBookingState, InventoryBookingsPage, InventoryBookingsQuery, LogEntry, LogPage, ManageApi, ManageApiError, ReportByStatus, ReportCategoryMeta, ReportCategoryRow, ReportResult, SeatManager, SeatManagerActionResult, SeatManagerActivity, SeatManagerCapability, SeatManagerConnection, SeatManagerMode, SeatManagerOptions, SeatManagerTallies, SelectionSourceRow } from './
|
|
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 EventScopedManageToken, M as IntentSwitchBlockedDetails, N as InventoryBooking, O as InventoryBookingActivity, P as InventoryBookingDetail, Q as InventoryBookingObject, R as InventoryBookingState, S as InventoryBookingsPage, T as InventoryBookingsQuery, U as LogEntry, V as LogPage, W as ManageApi, X as ManageApiError, Y as ReportByStatus, Z as ReportCategoryMeta, _ as ReportCategoryRow, $ as ReportResult, a0 as SeatManager, a1 as SeatManagerActionResult, a2 as SeatManagerActivity, a3 as SeatManagerCapability, a4 as SeatManagerConnection, a5 as SeatManagerMode, a6 as SeatManagerOptions, a7 as SeatManagerTallies, a8 as SelectionSourceRow } from './channelsMode-BX7s9bUl.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Buyer access context — the browser half of the Sales Channels contract
|
|
@@ -820,6 +820,132 @@ declare class SeatingChart {
|
|
|
820
820
|
destroy(): void;
|
|
821
821
|
}
|
|
822
822
|
|
|
823
|
+
/**
|
|
824
|
+
* seatingChartBinding — the single source of truth the framework wrappers bind
|
|
825
|
+
* against.
|
|
826
|
+
*
|
|
827
|
+
* `@seatlayer/react`, `@seatlayer/vue` and `@seatlayer/angular` are supposed to
|
|
828
|
+
* be thin: mount a `SeatingChart`, forward the props, forward the callbacks,
|
|
829
|
+
* expose the imperative handle. In practice each of them hand-wrote all three
|
|
830
|
+
* lists, and they drifted — React grew `initialView` and `errorDisplay` props
|
|
831
|
+
* that Vue and Angular never got, and nothing in any build caught it, because a
|
|
832
|
+
* missing prop in a hand-written list is not a type error anywhere.
|
|
833
|
+
*
|
|
834
|
+
* So the lists live here, next to the class they describe, and the wrappers
|
|
835
|
+
* iterate them. Adding a method to `SeatingChart` that buyers should be able to
|
|
836
|
+
* call now means adding one entry to {@link SEATING_CHART_HANDLE_METHODS}; every
|
|
837
|
+
* wrapper picks it up, and the wrapper tests fail until each one exposes it.
|
|
838
|
+
*
|
|
839
|
+
* Types only against `SeatingChart` — this module imports no runtime value from
|
|
840
|
+
* it, so it costs a host nothing but the two arrays and the binder below.
|
|
841
|
+
*/
|
|
842
|
+
|
|
843
|
+
/**
|
|
844
|
+
* Imperative handle exposed by every wrapper — call these to drive the picker
|
|
845
|
+
* from your app.
|
|
846
|
+
*
|
|
847
|
+
* Angular is the one exception to the naming: its component surfaces `hold` as
|
|
848
|
+
* `holdSelection`, because `hold` is already taken by its `@Output()` event.
|
|
849
|
+
*/
|
|
850
|
+
interface SeatingChartHandle {
|
|
851
|
+
/** Hold the current selection. Resolves the hold, or `null` on a 409 conflict. */
|
|
852
|
+
hold(options?: {
|
|
853
|
+
ttlMs?: number;
|
|
854
|
+
}): Promise<HoldResult | null>;
|
|
855
|
+
/** Restore an active hold by its opaque id. */
|
|
856
|
+
resumeHold(holdId: string): Promise<HoldResult | null>;
|
|
857
|
+
/** Current active hold known to the chart. */
|
|
858
|
+
getCurrentHold(): HoldResult | null;
|
|
859
|
+
/** GA areas with live remaining capacity. */
|
|
860
|
+
getGAAreas(): GAAreaAvailability[];
|
|
861
|
+
/** Atomically hold a quantity from one GA area. */
|
|
862
|
+
holdGA(areaId: string, qty: number, options?: {
|
|
863
|
+
tierId?: string | null;
|
|
864
|
+
ttlMs?: number;
|
|
865
|
+
}): Promise<HoldResult | null>;
|
|
866
|
+
/** Ask the server for the `qty` best free seats and hold them atomically. */
|
|
867
|
+
bestAvailable(qty: number, categoryKey?: string): Promise<BestAvailableResult | null>;
|
|
868
|
+
/** Release the current hold (if any). */
|
|
869
|
+
release(): Promise<void>;
|
|
870
|
+
/** Release some held labels while keeping the remainder active. */
|
|
871
|
+
releaseLabels(labels: string[]): Promise<boolean>;
|
|
872
|
+
/** The current selection, with prices resolved from the chart categories. */
|
|
873
|
+
getSelection(): SelectedSeat[];
|
|
874
|
+
/**
|
|
875
|
+
* Choose a ticket tier for a selected seat (e.g. Adult → Child). Available
|
|
876
|
+
* `tiers` are on each `SelectedSeat`; `tierId=null` reverts to the default.
|
|
877
|
+
*/
|
|
878
|
+
setSeatTier(seatId: string, tierId: string | null): void;
|
|
879
|
+
/**
|
|
880
|
+
* Floors of a multi-floor chart — `[{ id, name }]` (single-floor charts
|
|
881
|
+
* return one entry; empty before render()). Pair with setFloor().
|
|
882
|
+
*/
|
|
883
|
+
getFloors(): {
|
|
884
|
+
id: string;
|
|
885
|
+
name: string;
|
|
886
|
+
}[];
|
|
887
|
+
/** Switch the shown floor (2D). Warns + no-ops on single-floor charts. */
|
|
888
|
+
setFloor(floorId: string): void;
|
|
889
|
+
/** Toggle colorblind-safe rendering at runtime (see the `colorblindSafe` prop). */
|
|
890
|
+
setColorblindSafe(on: boolean): void;
|
|
891
|
+
/** Zoom in one step (same increment as the wheel/pinch gesture). */
|
|
892
|
+
zoomIn(): void;
|
|
893
|
+
/** Zoom out one step. */
|
|
894
|
+
zoomOut(): void;
|
|
895
|
+
/** Reset the camera so the whole chart fits the container. */
|
|
896
|
+
zoomToFit(): void;
|
|
897
|
+
/**
|
|
898
|
+
* Re-acquire the buyer access session after your app re-authorizes the buyer
|
|
899
|
+
* (Sales Channels). Resolves false when the chart is not access-scoped.
|
|
900
|
+
*/
|
|
901
|
+
refreshAccess(): Promise<boolean>;
|
|
902
|
+
}
|
|
903
|
+
/**
|
|
904
|
+
* Every method a wrapper must forward. The wrappers build their handle by
|
|
905
|
+
* iterating this, so the list IS the contract rather than a description of it.
|
|
906
|
+
*/
|
|
907
|
+
declare const SEATING_CHART_HANDLE_METHODS: readonly ["hold", "resumeHold", "getCurrentHold", "getGAAreas", "holdGA", "bestAvailable", "release", "releaseLabels", "getSelection", "setSeatTier", "getFloors", "setFloor", "setColorblindSafe", "zoomIn", "zoomOut", "zoomToFit", "refreshAccess"];
|
|
908
|
+
type SeatingChartHandleMethod = (typeof SEATING_CHART_HANDLE_METHODS)[number];
|
|
909
|
+
/**
|
|
910
|
+
* Build the forwarding object every wrapper exposes.
|
|
911
|
+
*
|
|
912
|
+
* `getInstance` is a function rather than the instance itself: a wrapper's
|
|
913
|
+
* handle is created ONCE and must keep working across rebuilds, so it has to
|
|
914
|
+
* read the current chart on each call instead of capturing one.
|
|
915
|
+
*/
|
|
916
|
+
declare function bindSeatingChartHandle(getInstance: () => SeatingChart | null): SeatingChartHandle;
|
|
917
|
+
/**
|
|
918
|
+
* Props whose change means a DIFFERENT chart, so the wrapper tears the canvas
|
|
919
|
+
* down and builds a new one. Everything else is read live: a parent re-render
|
|
920
|
+
* must never destroy a canvas mid-selection.
|
|
921
|
+
*
|
|
922
|
+
* `initialView` and `errorDisplay` are here because they are read once at
|
|
923
|
+
* construction and never re-applied — leaving them out does not make them
|
|
924
|
+
* "live", it makes them silently ignored after mount, which is the worse of the
|
|
925
|
+
* two behaviours. React already treated them this way; Vue and Angular did not
|
|
926
|
+
* expose them at all.
|
|
927
|
+
*/
|
|
928
|
+
declare const SEATING_CHART_IDENTITY_PROPS: readonly ["event", "apiBase", "maxSelection", "publicKey", "locale", "currency", "colorblindSafe", "initialView", "errorDisplay"];
|
|
929
|
+
type SeatingChartIdentityProp = (typeof SEATING_CHART_IDENTITY_PROPS)[number];
|
|
930
|
+
/** Non-callback options a wrapper accepts as props/inputs and passes straight through. */
|
|
931
|
+
declare const SEATING_CHART_VALUE_PROPS: readonly ["event", "apiBase", "maxSelection", "publicKey", "locale", "currency", "colorblindSafe", "initialView", "errorDisplay", "messages", "seatTooltip", "buyerAccessTokenProvider", "buyerAccessToken"];
|
|
932
|
+
type SeatingChartValueProp = (typeof SEATING_CHART_VALUE_PROPS)[number];
|
|
933
|
+
/** Every callback option a wrapper wires to its own event mechanism. */
|
|
934
|
+
declare const SEATING_CHART_CALLBACK_PROPS: readonly ["onSelectionChange", "onHold", "onHoldRestored", "onHoldExpired", "onGAClick", "onError", "onDeckTap", "onHint", "onSeatHover", "onAccessExpired", "onAccessUnavailable", "onSelectedObjectUnavailable"];
|
|
935
|
+
type SeatingChartCallbackProp = (typeof SEATING_CHART_CALLBACK_PROPS)[number];
|
|
936
|
+
/** The value half of the options, as a wrapper holds it. */
|
|
937
|
+
type SeatingChartValues = Pick<SeatingChartOptions, SeatingChartValueProp>;
|
|
938
|
+
/** The callback half, already bound to the wrapper's event mechanism. */
|
|
939
|
+
type SeatingChartCallbacks = Pick<SeatingChartOptions, SeatingChartCallbackProp>;
|
|
940
|
+
/**
|
|
941
|
+
* Assemble the options literal for `new SeatingChart(...)`.
|
|
942
|
+
*
|
|
943
|
+
* Picks by the lists above rather than spreading, so a wrapper cannot pass a
|
|
944
|
+
* stray prop of its own (React's `className`/`style`, Vue's attrs) into the
|
|
945
|
+
* SDK, and cannot forget one either.
|
|
946
|
+
*/
|
|
947
|
+
declare function buildSeatingChartOptions(container: HTMLElement, values: Partial<SeatingChartValues>, callbacks: SeatingChartCallbacks): SeatingChartOptions;
|
|
948
|
+
|
|
823
949
|
/**
|
|
824
950
|
* A secure, framework-neutral host for the SeatLayer chart Designer.
|
|
825
951
|
*
|
|
@@ -1144,24 +1270,14 @@ declare function parseTicketOfferAvailability(body: unknown): TicketOfferAvailab
|
|
|
1144
1270
|
declare function ticketOfferPrices(availability: TicketOfferAvailability | null): Record<string, number>;
|
|
1145
1271
|
|
|
1146
1272
|
/**
|
|
1147
|
-
*
|
|
1148
|
-
*
|
|
1149
|
-
*
|
|
1150
|
-
* from the canonical UX contract: branded header,
|
|
1151
|
-
* live price panel, selection tray with GA steppers, hold countdown, snipe
|
|
1152
|
-
* toasts and expiry recovery — all on top of the shared PickerController, so
|
|
1153
|
-
* every host gets the whole experience with one mount.
|
|
1273
|
+
* pickerTypes — the SeatPicker public option/theme/pricing contract, plus the
|
|
1274
|
+
* two internal shapes (`SectionLike`, `PriceBand`) the picker reads off a
|
|
1275
|
+
* ChartDoc.
|
|
1154
1276
|
*
|
|
1155
|
-
*
|
|
1156
|
-
*
|
|
1157
|
-
*
|
|
1158
|
-
*
|
|
1159
|
-
*
|
|
1160
|
-
* Theming (owner requirement): org account customization flows automatically —
|
|
1161
|
-
* the chart payload's ChartTheme (accent, accentInk, logoUrl, brand name,
|
|
1162
|
-
* fontFamily, …) seeds the look; the host `theme` option overrides any subset;
|
|
1163
|
-
* and every value lands as a `--sl-*` CSS custom property on the widget root
|
|
1164
|
-
* so plain host CSS can restyle too.
|
|
1277
|
+
* Split out of SeatPicker.ts verbatim; these declarations are the widget's
|
|
1278
|
+
* published API surface, so SeatPicker.ts re-exports every public name from
|
|
1279
|
+
* here and `@seatlayer/js`'s entry (src/index.ts) is untouched. Types only —
|
|
1280
|
+
* nothing in this file emits a byte of runtime JavaScript.
|
|
1165
1281
|
*/
|
|
1166
1282
|
|
|
1167
1283
|
/**
|
|
@@ -1362,8 +1478,10 @@ interface SeatPickerOptions {
|
|
|
1362
1478
|
seatId?: string;
|
|
1363
1479
|
}) => void;
|
|
1364
1480
|
/**
|
|
1365
|
-
* Optional analytics sink for the widget's
|
|
1366
|
-
*
|
|
1481
|
+
* Optional analytics sink for the widget's journey and performance events.
|
|
1482
|
+
* Emits `chart_rendered` once per successful load with total time, step
|
|
1483
|
+
* timings and anonymous chart-size counts, plus the 3D venue-view journey
|
|
1484
|
+
* (`3d_opened`, `3d_orbit_engaged`, `3d_seat_picked`,
|
|
1367
1485
|
* `3d_cinematic_played`/`_skipped`/`_cancelled`, panorama outcomes, and WebGL
|
|
1368
1486
|
* context loss/recovery)
|
|
1369
1487
|
* with `{ surface: 'buyer' }` merged into the props. A throwing sink never
|
|
@@ -1581,6 +1699,28 @@ interface SeatPickerOptions {
|
|
|
1581
1699
|
onSelectedObjectUnavailable?: (event: SelectedObjectUnavailableEvent) => void;
|
|
1582
1700
|
onError?: (err: unknown) => void;
|
|
1583
1701
|
}
|
|
1702
|
+
|
|
1703
|
+
/**
|
|
1704
|
+
* SeatPicker — the full buyer experience as a widget.
|
|
1705
|
+
*
|
|
1706
|
+
* Where `SeatingChart` is canvas-only, SeatPicker owns the complete chrome
|
|
1707
|
+
* from the canonical UX contract: branded header,
|
|
1708
|
+
* live price panel, selection tray with GA steppers, hold countdown, snipe
|
|
1709
|
+
* toasts and expiry recovery — all on top of the shared PickerController, so
|
|
1710
|
+
* every host gets the whole experience with one mount.
|
|
1711
|
+
*
|
|
1712
|
+
* Render contexts (owner requirement): the SAME widget adapts to a full-screen
|
|
1713
|
+
* takeover, an inline <div> in a content page, or a popup — breakpoints key
|
|
1714
|
+
* off the CONTAINER via ResizeObserver, never the viewport. `SeatPicker.open()`
|
|
1715
|
+
* mounts a document-level modal (scrim, ESC, focus restore) in one call.
|
|
1716
|
+
*
|
|
1717
|
+
* Theming (owner requirement): org account customization flows automatically —
|
|
1718
|
+
* the chart payload's ChartTheme (accent, accentInk, logoUrl, brand name,
|
|
1719
|
+
* fontFamily, …) seeds the look; the host `theme` option overrides any subset;
|
|
1720
|
+
* and every value lands as a `--sl-*` CSS custom property on the widget root
|
|
1721
|
+
* so plain host CSS can restyle too.
|
|
1722
|
+
*/
|
|
1723
|
+
|
|
1584
1724
|
declare class SeatPicker {
|
|
1585
1725
|
private readonly opts;
|
|
1586
1726
|
private readonly api;
|
|
@@ -1691,7 +1831,8 @@ declare class SeatPicker {
|
|
|
1691
1831
|
private view3dTargetSeatId;
|
|
1692
1832
|
/** Inspection-only comparison. These ids never represent cart selection. */
|
|
1693
1833
|
private view3dCompareSeatIds;
|
|
1694
|
-
|
|
1834
|
+
/** The saved-seat comparison chip — owned by pickerView3dNav.ts. */
|
|
1835
|
+
private readonly view3dCompareChip;
|
|
1695
1836
|
private view3dCompareEl;
|
|
1696
1837
|
private view3dCompareCleanup;
|
|
1697
1838
|
private view3dPassportEl;
|
|
@@ -1703,9 +1844,8 @@ declare class SeatPicker {
|
|
|
1703
1844
|
/** Supersedes an older authored-view byte request when another seat is opened. */
|
|
1704
1845
|
private seatViewGen;
|
|
1705
1846
|
private allSeatsCache;
|
|
1706
|
-
private
|
|
1707
|
-
private
|
|
1708
|
-
private miniTf;
|
|
1847
|
+
private minimap;
|
|
1848
|
+
private pickerLayoutSize;
|
|
1709
1849
|
private priceBandKeys;
|
|
1710
1850
|
private focusedCatKey;
|
|
1711
1851
|
/** "Hide limited-view seats" — mirrored into 3D by `seatState3dFor`. */
|
|
@@ -1757,27 +1897,6 @@ declare class SeatPicker {
|
|
|
1757
1897
|
* (OV-52)
|
|
1758
1898
|
*/
|
|
1759
1899
|
private confirmThumbHtml;
|
|
1760
|
-
/** "See it in 3D" (2D) / "View from this seat" (already in 3D) action for the
|
|
1761
|
-
* confirm card. Only when 3D is available — the purchase-moment bridge into
|
|
1762
|
-
* the cinematic that reaches buyers who never press the Map | 3D toggle. */
|
|
1763
|
-
private see3dConfirmHtml;
|
|
1764
|
-
/** Minimal HTML/attribute escaper for buyer-authored commercial text (notes). */
|
|
1765
|
-
private escCx;
|
|
1766
|
-
/** Localized "Restricted view" / "Obstructed view" label for a seat's flags,
|
|
1767
|
-
* or '' when neither is set. Restricted takes precedence when both are on. */
|
|
1768
|
-
private limitedViewLabel;
|
|
1769
|
-
/**
|
|
1770
|
-
* Commercial flags block for the confirm/detail surface: a subtle ★ Premium
|
|
1771
|
-
* tag plus an amber ◐ limited-view caution (with the organizer's note when
|
|
1772
|
-
* present). '' when the seat carries no surfaced commercial flag.
|
|
1773
|
-
*/
|
|
1774
|
-
private commercialConfirmHtml;
|
|
1775
|
-
/** Small ◐ limited-view marker for a cart chip; title/aria uses the seat's
|
|
1776
|
-
* note when present, else the generic view label. '' for a clear-view seat. */
|
|
1777
|
-
private commercialChipMarker;
|
|
1778
|
-
private wheelchairProvisionLabel;
|
|
1779
|
-
private wheelchairConfirmHtml;
|
|
1780
|
-
private wheelchairChipMarker;
|
|
1781
1900
|
/** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
|
|
1782
1901
|
private isFramed;
|
|
1783
1902
|
/**
|
|
@@ -1952,23 +2071,14 @@ declare class SeatPicker {
|
|
|
1952
2071
|
private restoreRememberedHold;
|
|
1953
2072
|
/** Section-bearing objects on the active floor (single-floor → doc.objects). */
|
|
1954
2073
|
private activeFloorObjects;
|
|
1955
|
-
/**
|
|
1956
|
-
* Build the overview minimap: a static venue thumbnail (section outlines, or
|
|
1957
|
-
* seat dots when the chart has no sections) with the live viewport rectangle
|
|
1958
|
-
* drawn on top. The rect tracks pan/zoom via the constructor's onViewChange.
|
|
1959
|
-
*/
|
|
2074
|
+
/** Attach the F3 overview minimap into the bottom-left chrome region. */
|
|
1960
2075
|
private buildMinimap;
|
|
1961
|
-
/** Repaint the static overview + rect (floor switch, live open/close). */
|
|
1962
|
-
private refreshMinimap;
|
|
1963
|
-
/** Paint the venue overview into the offscreen base canvas. */
|
|
1964
|
-
private drawMinimapStatic;
|
|
1965
|
-
/** Blit the base overview, then stroke the current viewport rectangle on top. */
|
|
1966
|
-
private drawMinimapRect;
|
|
1967
|
-
/** Minimap click → focus the section under the point (or overview on a miss). */
|
|
1968
|
-
private minimapJump;
|
|
1969
2076
|
/** Effective display price of a category: host pricing override → first tier → base. */
|
|
1970
2077
|
private catPrice;
|
|
1971
|
-
/**
|
|
2078
|
+
/** Complete buyer-visible price range, including every ticket tier and
|
|
2079
|
+
* tier-specific host override. */
|
|
2080
|
+
private catPriceRange;
|
|
2081
|
+
/** Derive category price bands without hiding the upper end of tier ranges. */
|
|
1972
2082
|
private priceBands;
|
|
1973
2083
|
/** Build the compact price selector in the panel header. Choosing a band both
|
|
1974
2084
|
* filters availability and smoothly frames the matching seats on the map. */
|
|
@@ -1991,6 +2101,16 @@ declare class SeatPicker {
|
|
|
1991
2101
|
private syncFloors;
|
|
1992
2102
|
/** Show (or clear, on null) the tapped-section summary card. */
|
|
1993
2103
|
private showSectionCard;
|
|
2104
|
+
/**
|
|
2105
|
+
* Open sections next to the focused one, in authored order.
|
|
2106
|
+
*
|
|
2107
|
+
* This is intentionally a circular ring: arena sections are usually authored
|
|
2108
|
+
* clockwise, so moving past the last section should reach the first without
|
|
2109
|
+
* forcing a buyer back through the overview level. Closed or empty sections
|
|
2110
|
+
* are skipped because focusing one cannot produce a useful buyer card.
|
|
2111
|
+
*/
|
|
2112
|
+
private sectionNeighbours;
|
|
2113
|
+
private wireSectionNavigation;
|
|
1994
2114
|
/**
|
|
1995
2115
|
* Render the section card in the form the layout + state want: expanded card
|
|
1996
2116
|
* or slim pill in the top-center anchor region (wide), or a compact strip in
|
|
@@ -2084,20 +2204,11 @@ declare class SeatPicker {
|
|
|
2084
2204
|
/** A live delta took one of OUR selected (not yet held) seats — evict + tell the buyer. */
|
|
2085
2205
|
private evictTakenSelections;
|
|
2086
2206
|
private syncTray;
|
|
2087
|
-
/**
|
|
2088
|
-
* The bottom-sheet's collapsed one-liner. Called from syncTray on every
|
|
2089
|
-
* repaint AND from setCtaPhase: while the widget is securing seats or
|
|
2090
|
-
* opening checkout, the peek is the phone buyer's ONLY line of sight, and a
|
|
2091
|
-
* pill still reading "Continue" at the moment money is about to move is the
|
|
2092
|
-
* emotional trapdoor the audit flagged. The phase lines restate what is
|
|
2093
|
-
* secured and promise no charge yet.
|
|
2094
|
-
*/
|
|
2207
|
+
/** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
|
|
2095
2208
|
private renderPeek;
|
|
2096
2209
|
private removeHeldLabel;
|
|
2097
2210
|
private handleChangeSeats;
|
|
2098
2211
|
private handleCta;
|
|
2099
|
-
/** "Yours for m:ss — you won't be charged yet." — the hold note's promise. */
|
|
2100
|
-
private holdReassuranceText;
|
|
2101
2212
|
private startHoldTimer;
|
|
2102
2213
|
private stopHoldTimer;
|
|
2103
2214
|
/** Show/refresh (or hide) the "Need more time?" prompt with the live seconds left. */
|
|
@@ -2161,7 +2272,6 @@ declare class SeatPicker {
|
|
|
2161
2272
|
/** Buyer-facing type word for the row/table key label — the designer's
|
|
2162
2273
|
* per-object "Displayed type" override, or the default "Row". */
|
|
2163
2274
|
private rowTypeWord;
|
|
2164
|
-
private rowShort;
|
|
2165
2275
|
private updateTooltip;
|
|
2166
2276
|
getSelection(): PickerSeat[];
|
|
2167
2277
|
/**
|
|
@@ -2260,45 +2370,26 @@ declare class SeatPicker {
|
|
|
2260
2370
|
/** Build the view-from-seat panorama the cinematic dissolves into — reuses the
|
|
2261
2371
|
* exact input path as the 2D `openSeatView` (organizer photo, else generated). */
|
|
2262
2372
|
private seatViewFor3d;
|
|
2263
|
-
/** Route
|
|
2373
|
+
/** Route decoupled analytics into the host callback, tagged buyer. */
|
|
2374
|
+
private emitAnalytics;
|
|
2264
2375
|
private emit3dAnalytics;
|
|
2265
2376
|
/** A 3D seat tap runs the SAME selection path as a 2D tap: toggle through the
|
|
2266
2377
|
* controller, then raise the shared confirm card (bottom-sheeted in 3D). */
|
|
2267
2378
|
private onView3dSeatPick;
|
|
2268
|
-
/** Explain a
|
|
2269
|
-
*
|
|
2270
|
-
*
|
|
2379
|
+
/** Explain a 3D seat that INVENTORY refuses — never one the buyer's own
|
|
2380
|
+
* filters merely dimmed, which stays buyable exactly as it is in 2D. Category
|
|
2381
|
+
* colour remains visible in the venue; this card names the availability state
|
|
2382
|
+
* explicitly so yellow never has to carry both meanings. */
|
|
2271
2383
|
private showUnavailable3dSeat;
|
|
2272
2384
|
private dismissUnavailable3dSeat;
|
|
2273
|
-
/** Comparison belongs to inspection, never selection. The confirm candidate
|
|
2274
|
-
* remains excluded from checkout until Select; saving it releases that
|
|
2275
|
-
* candidate before any comparison state is created. */
|
|
2276
|
-
private view3dCompareConfirmHtml;
|
|
2277
|
-
private seatConfidenceConfirmHtml;
|
|
2278
2385
|
private saveView3dComparisonSeat;
|
|
2279
2386
|
private clearView3dComparison;
|
|
2280
|
-
private syncView3dCompareChip;
|
|
2281
2387
|
private view3dComparisonSnapshot;
|
|
2282
2388
|
private openSeatConfidencePassport;
|
|
2283
2389
|
private closeSeatConfidencePassport;
|
|
2284
2390
|
private openView3dComparison;
|
|
2285
2391
|
private closeView3dComparison;
|
|
2286
2392
|
private selectComparedSeat;
|
|
2287
|
-
/**
|
|
2288
|
-
* The venue-navigation rail inside 3D: levels and areas.
|
|
2289
|
-
*
|
|
2290
|
-
* In 2D a buyer moves through the venue by floor switcher and by the LOD
|
|
2291
|
-
* rungs. Both are hidden while immersed, and the 3D module's own chips only
|
|
2292
|
-
* cover "go home" and "see the 360" — so on a multi-floor or multi-zone chart
|
|
2293
|
-
* the buyer entered 3D and LOST the ability to reach the level or area they
|
|
2294
|
-
* were booking. The camera moves for both already exist on the handle
|
|
2295
|
-
* (`focusFloor` / `focusZone`); this is the surface that offers them.
|
|
2296
|
-
*
|
|
2297
|
-
* Levels are a TOGGLE (a floor stays isolated until you pick another), areas
|
|
2298
|
-
* are an ACTION (the camera flies there and you are then free to orbit), which
|
|
2299
|
-
* is why only the level pills carry a pressed state.
|
|
2300
|
-
*/
|
|
2301
|
-
private buildView3dNav;
|
|
2302
2393
|
private enter3d;
|
|
2303
2394
|
private exit3d;
|
|
2304
2395
|
/** Current active/restored hold reflected in the tray. */
|
|
@@ -2377,4 +2468,4 @@ interface AttachPickerFrameOptions {
|
|
|
2377
2468
|
*/
|
|
2378
2469
|
declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
|
|
2379
2470
|
|
|
2380
|
-
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 HoldConflict, type HoldLineItem, type HoldResult, type OrderStatusResult, type PaymentOptionsReason, type PaymentOptionsResult, type PaymentProviderName, type Projection, type PubApiOptions, type RealtimeSink, type ResumedHoldResult, type SaleState, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, SeatingChart, type SeatingChartOptions, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, ticketOfferPrices };
|
|
2471
|
+
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 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 };
|