@seatlayer/js 0.71.3 → 0.71.5

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
@@ -1,4 +1,4 @@
1
- import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, SeatHoverDetails, SectionSummary, ChartTheme, LodRung, PickerController, AccessibilityType, ExpandedSeat } from '@seatlayer/core';
1
+ import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AvailabilityRefreshOutcome, PickerController, AccessibilityType, ExpandedSeat } from '@seatlayer/core';
2
2
  export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
3
3
  import { T as ThemeMode } from './channelsMode-goczEzyt.cjs';
4
4
  export { A as AccessIntentForbidsDetails, a as AccessLinkRecord, b as AccessLinkReveal, c as AccessLinkState, d as AccessLinkStatus, e as AccessLinkStatusRecord, f as ArchiveBlockedDetails, g as AssignmentBuckets, h as AssignmentDropDetails, i as AssignmentResult, B as BucketRow, C as ChannelAccessIntent, j as ChannelAccessSummary, k as ChannelAllocationPage, l as ChannelAttribution, m as ChannelAuditEntry, n as ChannelAuditPage, o as ChannelCounts, p as ChannelListResult, q as ChannelPreviewProjection, r as ChannelRecord, s as ChannelReport, t as ChannelReportLinkRecord, u as ChannelReportLinkReveal, v as ChannelReportResult, w as ChannelReportRow, x as ChannelSeatStatus, y as ChannelState, z as ChannelsCapabilities, D as ChannelsClient, E as ChannelsMode, F as ChannelsModeHost, G as ChannelsRowView, H as ChannelsSeatView, I as ControlRoomActivityEntry, J as ControlRoomSectionMetric, K as ControlRoomSnapshot, L as EventCategoryAssignmentResult, M as EventScopedManageToken, N as EventTableBookingMode, O as EventTableBookingResult, P as IntentSwitchBlockedDetails, Q as InventoryBooking, R as InventoryBookingActivity, S as InventoryBookingDetail, U as InventoryBookingObject, V as InventoryBookingState, W as InventoryBookingsPage, X as InventoryBookingsQuery, Y as LogEntry, Z as LogPage, _ as ManageApi, $ as ManageApiError, a0 as ReportByStatus, a1 as ReportCategoryMeta, a2 as ReportCategoryRow, a3 as ReportResult, a4 as SeatManager, a5 as SeatManagerActionResult, a6 as SeatManagerActivity, a7 as SeatManagerCapability, a8 as SeatManagerConnection, a9 as SeatManagerFilteredSection, aa as SeatManagerMode, ab as SeatManagerOptions, ac as SeatManagerSelectionValidity, ad as SeatManagerTallies, ae as SelectionSourceRow } from './channelsMode-goczEzyt.cjs';
@@ -620,6 +620,24 @@ interface GaPromptPicker {
620
620
 
621
621
  type SeatingChartBuyerView = 'map' | 'venue3d';
622
622
  type SeatingChartNavigationMode = 'orbit' | 'pan';
623
+ /** What the 2D seat-view panorama is showing, and what it would say about it. */
624
+ interface SeatingChartSeatViewInfo {
625
+ seatId: string;
626
+ /** e.g. `View from Stalls D · C-6`. */
627
+ title: string;
628
+ /** The disclosure line: an authored capture's provenance, or the generated
629
+ * illustration's distance-from-stage note. */
630
+ caption: string;
631
+ /** The badge word — the localized `Real 360°` or `Preview`. */
632
+ badge: string;
633
+ /** True for an AUTHORED capture of the real seat; false for one the engine
634
+ * drew from the venue's geometry. */
635
+ real: boolean;
636
+ /** True when the panorama was synthesised rather than fetched. */
637
+ generated: boolean;
638
+ /** The pointer instruction the modal would print over the image. */
639
+ dragHint: string;
640
+ }
623
641
 
624
642
  /**
625
643
  * Buyer-safe ticket-offer availability shared by the canonical picker and the
@@ -1273,35 +1291,6 @@ interface SeatPickerOptions {
1273
1291
  onError?: (err: unknown) => void;
1274
1292
  }
1275
1293
 
1276
- /**
1277
- * SeatingChart — the embeddable buyer picker.
1278
- *
1279
- * A thin wrapper over the shared PickerController (src/picker/PickerController):
1280
- * it owns the mount <div> + the public embed contract (hold-only — the SDK hands
1281
- * the holdId to the host page for a server-side book) and delegates all transport
1282
- * + booking to the controller, so the SDK inherits every fix made for the live
1283
- * buyer page and the demo picker.
1284
- */
1285
-
1286
- /** A seat as surfaced to the host page (prices resolved from the chart's categories). */
1287
- type SelectedSeat = PickerSeat;
1288
- interface GAAreaAvailability {
1289
- id: string;
1290
- label: string;
1291
- capacity: number;
1292
- available: number;
1293
- categoryKey: string;
1294
- price: number;
1295
- currency: string;
1296
- /** Buyer-facing copy authored separately from stable inventory identity. */
1297
- displayLabel?: string;
1298
- displayType?: string;
1299
- tiers?: Array<{
1300
- id: string;
1301
- name: string;
1302
- price: number;
1303
- }>;
1304
- }
1305
1294
  /**
1306
1295
  * Serializable state exposed to hosted native picker chrome. It deliberately
1307
1296
  * contains buyer-display data only: never API keys, buyer-access bearers,
@@ -1381,6 +1370,10 @@ interface SeatingChartPickerState {
1381
1370
  name: string;
1382
1371
  }>;
1383
1372
  activeFloorId: string | null;
1373
+ /** `'all'` = the stacked whole-venue view; `'single'` = one floor. */
1374
+ floorMode: 'all' | 'single';
1375
+ /** How the stacked view marks each level. */
1376
+ floorLabelStyle: FloorLabelStyle;
1384
1377
  rung: LodRung;
1385
1378
  focusedSectionId: string | null;
1386
1379
  focusedSection: SectionSummary | null;
@@ -1400,6 +1393,18 @@ interface SeatingChartPickerState {
1400
1393
  categoryFilter: string[] | null;
1401
1394
  accessibilityFilter: string[] | null;
1402
1395
  hideLimitedView: boolean;
1396
+ /**
1397
+ * The access needs THIS event actually offers, with live free counts, in
1398
+ * the engine's canonical order.
1399
+ *
1400
+ * A native or web sheet that renders the whole twelve-key taxonomy offers
1401
+ * provisions the chart does not have — chips that filter to an empty map,
1402
+ * which reads as a venue that has the provision and has sold out of it.
1403
+ * A provision that exists but is currently all taken appears here with
1404
+ * `count: 0`, so "this venue has none" and "this venue's are taken" stay
1405
+ * different answers. Empty on a chart with no accessible inventory.
1406
+ */
1407
+ accessNeeds: PickerAccessNeed[];
1403
1408
  };
1404
1409
  selection: {
1405
1410
  seats: SelectedSeat[];
@@ -1412,6 +1417,36 @@ interface SeatingChartPickerState {
1412
1417
  reason?: string;
1413
1418
  };
1414
1419
  }
1420
+
1421
+ /**
1422
+ * SeatingChart — the embeddable buyer picker.
1423
+ *
1424
+ * A thin wrapper over the shared PickerController (src/picker/PickerController):
1425
+ * it owns the mount <div> + the public embed contract (hold-only — the SDK hands
1426
+ * the holdId to the host page for a server-side book) and delegates all transport
1427
+ * + booking to the controller, so the SDK inherits every fix made for the live
1428
+ * buyer page and the demo picker.
1429
+ */
1430
+
1431
+ /** A seat as surfaced to the host page (prices resolved from the chart's categories). */
1432
+ type SelectedSeat = PickerSeat;
1433
+ interface GAAreaAvailability {
1434
+ id: string;
1435
+ label: string;
1436
+ capacity: number;
1437
+ available: number;
1438
+ categoryKey: string;
1439
+ price: number;
1440
+ currency: string;
1441
+ /** Buyer-facing copy authored separately from stable inventory identity. */
1442
+ displayLabel?: string;
1443
+ displayType?: string;
1444
+ tiers?: Array<{
1445
+ id: string;
1446
+ name: string;
1447
+ price: number;
1448
+ }>;
1449
+ }
1415
1450
  interface SeatingChartOptions {
1416
1451
  /** CSS selector or an HTMLElement to render into. */
1417
1452
  container: string | HTMLElement;
@@ -1582,11 +1617,21 @@ interface SeatingChartOptions {
1582
1617
  * camera dock come from inside the lazy venue chunk, where an embedding
1583
1618
  * host had no way to reach them — so a native shell that already draws all
1584
1619
  * three drew them twice. Absent or `true` = drawn, exactly as before. */
1620
+ /** The 2D panorama's title/caption/badge join the 3D pieces here — the full
1621
+ * table is bridge/nativeChrome.ts. */
1585
1622
  chrome?: {
1586
1623
  view3dCaption?: boolean;
1587
1624
  view3dSeatStepper?: boolean;
1588
1625
  view3dControlDock?: boolean;
1626
+ seatViewTitle?: boolean;
1627
+ seatViewCaption?: boolean;
1628
+ seatViewBadge?: boolean;
1589
1629
  };
1630
+ /** The 2D panorama opened, or closed (`null`). Fires whether or not the web
1631
+ * drew its words, so a host that suppressed them has the exact strings. */
1632
+ onSeatViewChange?: (info: SeatingChartSeatViewInfo | null) => void;
1633
+ /** How the stacked "All floors" view marks each level. Default `'number'`. */
1634
+ floorLabelStyle?: FloorLabelStyle;
1590
1635
  /**
1591
1636
  * Multi-floor charts only: fires when the buyer taps a deck in the stacked
1592
1637
  * 3D view, after the picker switches to that floor — lets the host page sync
@@ -1829,8 +1874,12 @@ declare class SeatingChart {
1829
1874
  id: string;
1830
1875
  name: string;
1831
1876
  }[];
1832
- /** Switch the shown floor (2D). Warns + no-ops on single-floor charts. */
1877
+ /** Switch the shown floor (2D), or `'all'` for the stacked whole-venue view.
1878
+ * One control, not two: a strip whose first chip is "All floors" would
1879
+ * otherwise need a separate command for that one chip. */
1833
1880
  setFloor(floorId: string): void;
1881
+ /** How the stacked view marks each level: a `G/1/2` badge, or floor names. */
1882
+ setFloorLabelStyle(style: FloorLabelStyle): void;
1834
1883
  /** Toggle colorblind-safe rendering at runtime (see options.colorblindSafe). */
1835
1884
  setColorblindSafe(on: boolean): void;
1836
1885
  /** Switch the 2D canvas projection.
@@ -1913,8 +1962,17 @@ declare class SeatingChart {
1913
1962
  * and its own legacy frames. Nothing about the public path changes.
1914
1963
  */
1915
1964
  private startRealtime;
1916
- /** Re-read live inventory without remounting or dropping buyer state. */
1917
- refreshAvailability(): Promise<void>;
1965
+ /**
1966
+ * Re-read OTHER buyers' inventory without remounting or disturbing this
1967
+ * buyer's own — see `@seatlayer/core`'s `availabilityRefresh`.
1968
+ *
1969
+ * Returns what actually changed for him: seats he had selected but never
1970
+ * held which somebody else has taken (already deselected), and whether his
1971
+ * own hold lapsed while he was away, with the labels that are still free so
1972
+ * a surface can offer them back. Nothing here moves the camera, the rung or
1973
+ * the cart total, and a seat he holds is never reported against him.
1974
+ */
1975
+ refreshAvailability(): Promise<AvailabilityRefreshOutcome>;
1918
1976
  /**
1919
1977
  * Re-acquire the buyer access session — call after your app has re-authorized
1920
1978
  * the buyer (a revoked session cannot be recovered any other way). Resolves
@@ -2700,6 +2758,10 @@ declare class SeatPicker implements GaPromptPicker {
2700
2758
  private ctaPhase;
2701
2759
  /** The ♿ control and its menu — one node, in the map's bottom-left corner. */
2702
2760
  private a11yMenu;
2761
+ private detachAttention;
2762
+ /** The telling of a hold that ended while the buyer was away — the state
2763
+ * part is the engine's; see pickerHoldLapse.ts. */
2764
+ private readonly lapse;
2703
2765
  /** Rail scroll listener attached once; the rail repaints many times. */
2704
2766
  private railEdgesBound;
2705
2767
  private fsFallback;
@@ -4002,4 +4064,4 @@ interface AttachPickerFrameOptions {
4002
4064
  */
4003
4065
  declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
4004
4066
 
4005
- 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, SeasonApiError, type SeasonAvailability, type SeasonCheckoutHandoff, type SeasonDescriptor, type SeasonOperation, type SeasonOperationState, SeasonPicker, type SeasonPickerOptions, SeasonRecoveryTimeoutError, type SeasonRenewalIntent, type SeasonStatusEvent, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, type SeatPickerWebMcpOptions, 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, ThemeMode, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, shortOperationReference, ticketOfferPrices };
4067
+ 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, SeasonApiError, type SeasonAvailability, type SeasonCheckoutHandoff, type SeasonDescriptor, type SeasonOperation, type SeasonOperationState, SeasonPicker, type SeasonPickerOptions, SeasonRecoveryTimeoutError, type SeasonRenewalIntent, type SeasonStatusEvent, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, type SeatPickerWebMcpOptions, SeatingChart, type SeatingChartCallbackProp, type SeatingChartCallbacks, type SeatingChartHandle, type SeatingChartHandleMethod, type SeatingChartIdentityProp, type SeatingChartOptions, type SeatingChartSeatViewInfo, type SeatingChartValueProp, type SeatingChartValues, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, ThemeMode, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, shortOperationReference, ticketOfferPrices };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, SeatHoverDetails, SectionSummary, ChartTheme, LodRung, PickerController, AccessibilityType, ExpandedSeat } from '@seatlayer/core';
1
+ import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AvailabilityRefreshOutcome, PickerController, AccessibilityType, ExpandedSeat } from '@seatlayer/core';
2
2
  export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
3
3
  import { T as ThemeMode } from './channelsMode-goczEzyt.js';
4
4
  export { A as AccessIntentForbidsDetails, a as AccessLinkRecord, b as AccessLinkReveal, c as AccessLinkState, d as AccessLinkStatus, e as AccessLinkStatusRecord, f as ArchiveBlockedDetails, g as AssignmentBuckets, h as AssignmentDropDetails, i as AssignmentResult, B as BucketRow, C as ChannelAccessIntent, j as ChannelAccessSummary, k as ChannelAllocationPage, l as ChannelAttribution, m as ChannelAuditEntry, n as ChannelAuditPage, o as ChannelCounts, p as ChannelListResult, q as ChannelPreviewProjection, r as ChannelRecord, s as ChannelReport, t as ChannelReportLinkRecord, u as ChannelReportLinkReveal, v as ChannelReportResult, w as ChannelReportRow, x as ChannelSeatStatus, y as ChannelState, z as ChannelsCapabilities, D as ChannelsClient, E as ChannelsMode, F as ChannelsModeHost, G as ChannelsRowView, H as ChannelsSeatView, I as ControlRoomActivityEntry, J as ControlRoomSectionMetric, K as ControlRoomSnapshot, L as EventCategoryAssignmentResult, M as EventScopedManageToken, N as EventTableBookingMode, O as EventTableBookingResult, P as IntentSwitchBlockedDetails, Q as InventoryBooking, R as InventoryBookingActivity, S as InventoryBookingDetail, U as InventoryBookingObject, V as InventoryBookingState, W as InventoryBookingsPage, X as InventoryBookingsQuery, Y as LogEntry, Z as LogPage, _ as ManageApi, $ as ManageApiError, a0 as ReportByStatus, a1 as ReportCategoryMeta, a2 as ReportCategoryRow, a3 as ReportResult, a4 as SeatManager, a5 as SeatManagerActionResult, a6 as SeatManagerActivity, a7 as SeatManagerCapability, a8 as SeatManagerConnection, a9 as SeatManagerFilteredSection, aa as SeatManagerMode, ab as SeatManagerOptions, ac as SeatManagerSelectionValidity, ad as SeatManagerTallies, ae as SelectionSourceRow } from './channelsMode-goczEzyt.js';
@@ -620,6 +620,24 @@ interface GaPromptPicker {
620
620
 
621
621
  type SeatingChartBuyerView = 'map' | 'venue3d';
622
622
  type SeatingChartNavigationMode = 'orbit' | 'pan';
623
+ /** What the 2D seat-view panorama is showing, and what it would say about it. */
624
+ interface SeatingChartSeatViewInfo {
625
+ seatId: string;
626
+ /** e.g. `View from Stalls D · C-6`. */
627
+ title: string;
628
+ /** The disclosure line: an authored capture's provenance, or the generated
629
+ * illustration's distance-from-stage note. */
630
+ caption: string;
631
+ /** The badge word — the localized `Real 360°` or `Preview`. */
632
+ badge: string;
633
+ /** True for an AUTHORED capture of the real seat; false for one the engine
634
+ * drew from the venue's geometry. */
635
+ real: boolean;
636
+ /** True when the panorama was synthesised rather than fetched. */
637
+ generated: boolean;
638
+ /** The pointer instruction the modal would print over the image. */
639
+ dragHint: string;
640
+ }
623
641
 
624
642
  /**
625
643
  * Buyer-safe ticket-offer availability shared by the canonical picker and the
@@ -1273,35 +1291,6 @@ interface SeatPickerOptions {
1273
1291
  onError?: (err: unknown) => void;
1274
1292
  }
1275
1293
 
1276
- /**
1277
- * SeatingChart — the embeddable buyer picker.
1278
- *
1279
- * A thin wrapper over the shared PickerController (src/picker/PickerController):
1280
- * it owns the mount <div> + the public embed contract (hold-only — the SDK hands
1281
- * the holdId to the host page for a server-side book) and delegates all transport
1282
- * + booking to the controller, so the SDK inherits every fix made for the live
1283
- * buyer page and the demo picker.
1284
- */
1285
-
1286
- /** A seat as surfaced to the host page (prices resolved from the chart's categories). */
1287
- type SelectedSeat = PickerSeat;
1288
- interface GAAreaAvailability {
1289
- id: string;
1290
- label: string;
1291
- capacity: number;
1292
- available: number;
1293
- categoryKey: string;
1294
- price: number;
1295
- currency: string;
1296
- /** Buyer-facing copy authored separately from stable inventory identity. */
1297
- displayLabel?: string;
1298
- displayType?: string;
1299
- tiers?: Array<{
1300
- id: string;
1301
- name: string;
1302
- price: number;
1303
- }>;
1304
- }
1305
1294
  /**
1306
1295
  * Serializable state exposed to hosted native picker chrome. It deliberately
1307
1296
  * contains buyer-display data only: never API keys, buyer-access bearers,
@@ -1381,6 +1370,10 @@ interface SeatingChartPickerState {
1381
1370
  name: string;
1382
1371
  }>;
1383
1372
  activeFloorId: string | null;
1373
+ /** `'all'` = the stacked whole-venue view; `'single'` = one floor. */
1374
+ floorMode: 'all' | 'single';
1375
+ /** How the stacked view marks each level. */
1376
+ floorLabelStyle: FloorLabelStyle;
1384
1377
  rung: LodRung;
1385
1378
  focusedSectionId: string | null;
1386
1379
  focusedSection: SectionSummary | null;
@@ -1400,6 +1393,18 @@ interface SeatingChartPickerState {
1400
1393
  categoryFilter: string[] | null;
1401
1394
  accessibilityFilter: string[] | null;
1402
1395
  hideLimitedView: boolean;
1396
+ /**
1397
+ * The access needs THIS event actually offers, with live free counts, in
1398
+ * the engine's canonical order.
1399
+ *
1400
+ * A native or web sheet that renders the whole twelve-key taxonomy offers
1401
+ * provisions the chart does not have — chips that filter to an empty map,
1402
+ * which reads as a venue that has the provision and has sold out of it.
1403
+ * A provision that exists but is currently all taken appears here with
1404
+ * `count: 0`, so "this venue has none" and "this venue's are taken" stay
1405
+ * different answers. Empty on a chart with no accessible inventory.
1406
+ */
1407
+ accessNeeds: PickerAccessNeed[];
1403
1408
  };
1404
1409
  selection: {
1405
1410
  seats: SelectedSeat[];
@@ -1412,6 +1417,36 @@ interface SeatingChartPickerState {
1412
1417
  reason?: string;
1413
1418
  };
1414
1419
  }
1420
+
1421
+ /**
1422
+ * SeatingChart — the embeddable buyer picker.
1423
+ *
1424
+ * A thin wrapper over the shared PickerController (src/picker/PickerController):
1425
+ * it owns the mount <div> + the public embed contract (hold-only — the SDK hands
1426
+ * the holdId to the host page for a server-side book) and delegates all transport
1427
+ * + booking to the controller, so the SDK inherits every fix made for the live
1428
+ * buyer page and the demo picker.
1429
+ */
1430
+
1431
+ /** A seat as surfaced to the host page (prices resolved from the chart's categories). */
1432
+ type SelectedSeat = PickerSeat;
1433
+ interface GAAreaAvailability {
1434
+ id: string;
1435
+ label: string;
1436
+ capacity: number;
1437
+ available: number;
1438
+ categoryKey: string;
1439
+ price: number;
1440
+ currency: string;
1441
+ /** Buyer-facing copy authored separately from stable inventory identity. */
1442
+ displayLabel?: string;
1443
+ displayType?: string;
1444
+ tiers?: Array<{
1445
+ id: string;
1446
+ name: string;
1447
+ price: number;
1448
+ }>;
1449
+ }
1415
1450
  interface SeatingChartOptions {
1416
1451
  /** CSS selector or an HTMLElement to render into. */
1417
1452
  container: string | HTMLElement;
@@ -1582,11 +1617,21 @@ interface SeatingChartOptions {
1582
1617
  * camera dock come from inside the lazy venue chunk, where an embedding
1583
1618
  * host had no way to reach them — so a native shell that already draws all
1584
1619
  * three drew them twice. Absent or `true` = drawn, exactly as before. */
1620
+ /** The 2D panorama's title/caption/badge join the 3D pieces here — the full
1621
+ * table is bridge/nativeChrome.ts. */
1585
1622
  chrome?: {
1586
1623
  view3dCaption?: boolean;
1587
1624
  view3dSeatStepper?: boolean;
1588
1625
  view3dControlDock?: boolean;
1626
+ seatViewTitle?: boolean;
1627
+ seatViewCaption?: boolean;
1628
+ seatViewBadge?: boolean;
1589
1629
  };
1630
+ /** The 2D panorama opened, or closed (`null`). Fires whether or not the web
1631
+ * drew its words, so a host that suppressed them has the exact strings. */
1632
+ onSeatViewChange?: (info: SeatingChartSeatViewInfo | null) => void;
1633
+ /** How the stacked "All floors" view marks each level. Default `'number'`. */
1634
+ floorLabelStyle?: FloorLabelStyle;
1590
1635
  /**
1591
1636
  * Multi-floor charts only: fires when the buyer taps a deck in the stacked
1592
1637
  * 3D view, after the picker switches to that floor — lets the host page sync
@@ -1829,8 +1874,12 @@ declare class SeatingChart {
1829
1874
  id: string;
1830
1875
  name: string;
1831
1876
  }[];
1832
- /** Switch the shown floor (2D). Warns + no-ops on single-floor charts. */
1877
+ /** Switch the shown floor (2D), or `'all'` for the stacked whole-venue view.
1878
+ * One control, not two: a strip whose first chip is "All floors" would
1879
+ * otherwise need a separate command for that one chip. */
1833
1880
  setFloor(floorId: string): void;
1881
+ /** How the stacked view marks each level: a `G/1/2` badge, or floor names. */
1882
+ setFloorLabelStyle(style: FloorLabelStyle): void;
1834
1883
  /** Toggle colorblind-safe rendering at runtime (see options.colorblindSafe). */
1835
1884
  setColorblindSafe(on: boolean): void;
1836
1885
  /** Switch the 2D canvas projection.
@@ -1913,8 +1962,17 @@ declare class SeatingChart {
1913
1962
  * and its own legacy frames. Nothing about the public path changes.
1914
1963
  */
1915
1964
  private startRealtime;
1916
- /** Re-read live inventory without remounting or dropping buyer state. */
1917
- refreshAvailability(): Promise<void>;
1965
+ /**
1966
+ * Re-read OTHER buyers' inventory without remounting or disturbing this
1967
+ * buyer's own — see `@seatlayer/core`'s `availabilityRefresh`.
1968
+ *
1969
+ * Returns what actually changed for him: seats he had selected but never
1970
+ * held which somebody else has taken (already deselected), and whether his
1971
+ * own hold lapsed while he was away, with the labels that are still free so
1972
+ * a surface can offer them back. Nothing here moves the camera, the rung or
1973
+ * the cart total, and a seat he holds is never reported against him.
1974
+ */
1975
+ refreshAvailability(): Promise<AvailabilityRefreshOutcome>;
1918
1976
  /**
1919
1977
  * Re-acquire the buyer access session — call after your app has re-authorized
1920
1978
  * the buyer (a revoked session cannot be recovered any other way). Resolves
@@ -2700,6 +2758,10 @@ declare class SeatPicker implements GaPromptPicker {
2700
2758
  private ctaPhase;
2701
2759
  /** The ♿ control and its menu — one node, in the map's bottom-left corner. */
2702
2760
  private a11yMenu;
2761
+ private detachAttention;
2762
+ /** The telling of a hold that ended while the buyer was away — the state
2763
+ * part is the engine's; see pickerHoldLapse.ts. */
2764
+ private readonly lapse;
2703
2765
  /** Rail scroll listener attached once; the rail repaints many times. */
2704
2766
  private railEdgesBound;
2705
2767
  private fsFallback;
@@ -4002,4 +4064,4 @@ interface AttachPickerFrameOptions {
4002
4064
  */
4003
4065
  declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
4004
4066
 
4005
- 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, SeasonApiError, type SeasonAvailability, type SeasonCheckoutHandoff, type SeasonDescriptor, type SeasonOperation, type SeasonOperationState, SeasonPicker, type SeasonPickerOptions, SeasonRecoveryTimeoutError, type SeasonRenewalIntent, type SeasonStatusEvent, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, type SeatPickerWebMcpOptions, 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, ThemeMode, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, shortOperationReference, ticketOfferPrices };
4067
+ 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, SeasonApiError, type SeasonAvailability, type SeasonCheckoutHandoff, type SeasonDescriptor, type SeasonOperation, type SeasonOperationState, SeasonPicker, type SeasonPickerOptions, SeasonRecoveryTimeoutError, type SeasonRenewalIntent, type SeasonStatusEvent, SeatPicker, type SeatPickerBestAvailableOptions, type SeatPickerBuyerView, type SeatPickerBuyerViewOptions, type SeatPickerOptions, type SeatPickerPricing, type SeatPickerTheme, type SeatPickerWebMcpOptions, SeatingChart, type SeatingChartCallbackProp, type SeatingChartCallbacks, type SeatingChartHandle, type SeatingChartHandleMethod, type SeatingChartIdentityProp, type SeatingChartOptions, type SeatingChartSeatViewInfo, type SeatingChartValueProp, type SeatingChartValues, type SelectedObjectUnavailableEvent, type SelectedSeat, type StatusChange, type SubscribeTicket, ThemeMode, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, shortOperationReference, ticketOfferPrices };