@seatlayer/js 0.47.2 → 0.48.1

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,7 +1,7 @@
1
1
  import { PickerSeat, RendererViewMode, SeatHoverDetails, PickerTransport, PickerMapTheme } from '@seatlayer/core';
2
2
  export { ExpandedSeat, SeatHoverDetails } from '@seatlayer/core';
3
- import { C as ChannelListResult, a as ChannelAllocationPage, b as ChannelRecord, A as AssignmentResult, c as ChannelPreviewProjection, d as ChannelAccessIntent, e as AccessLinkReveal, f as AccessLinkStatusRecord, g as ChannelSeatStatus, B as BucketRow } from './manager-CAIPkUYl.cjs';
4
- export { h as ACCESS_LINK_DEFAULTS, i as AccessIntentForbidsDetails, j as AccessLinkRecord, k as AccessLinkState, l as AccessLinkStatus, m as ArchiveBlockedDetails, n as AssignmentBuckets, o as AssignmentDropDetails, p as ChannelAccessSummary, q as ChannelAuditEntry, r as ChannelAuditPage, s as ChannelCounts, t as ChannelState, u as ControlRoomActivityEntry, v as ControlRoomSectionMetric, w as ControlRoomSnapshot, I as IntentSwitchBlockedDetails, L as LogEntry, x as LogPage, M as ManageApi, y as ManageApiError, P as PUBLIC_CHANNEL_ID, z as PUBLIC_CHANNEL_NAME, R as ReportByStatus, D as ReportCategoryMeta, E as ReportCategoryRow, F as ReportResult, S as SeatManager, G as SeatManagerActionResult, H as SeatManagerActivity, J as SeatManagerCapability, K as SeatManagerConnection, N as SeatManagerMode, O as SeatManagerOptions, Q as SeatManagerTallies, T as SelectionSourceRow, U as accessIntentDescription, V as accessIntentLabel, W as accessLine, X as accessLinkBadge, Y as accessLinkErrorCopy, Z as accessLinkIsLive, _ as accessLinkPolicyLines, $ as bucketRows, a0 as dropReviewRows, a1 as intentForbidsCopy, a2 as intentSwitchBlockedCopy, a3 as isPublicChannelId, a4 as markerLetter, a5 as markerOf, a6 as mutationCount, a7 as needsMoveConfirmation, a8 as planAssignment, a9 as retryAfterCopy, aa as selectionSources, ab as stateBadge, ac as suggestMarker } from './manager-CAIPkUYl.cjs';
3
+ import { C as ChannelListResult, a as ChannelAllocationPage, b as ChannelRecord, A as AssignmentResult, c as ChannelPreviewProjection, d as ChannelAccessIntent, e as AccessLinkReveal, f as AccessLinkStatusRecord, g as ChannelSeatStatus, B as BucketRow } from './manager-DEjbKiqJ.cjs';
4
+ export { h as ACCESS_LINK_DEFAULTS, i as AccessIntentForbidsDetails, j as AccessLinkRecord, k as AccessLinkState, l as AccessLinkStatus, m as ArchiveBlockedDetails, n as AssignmentBuckets, o as AssignmentDropDetails, p as ChannelAccessSummary, q as ChannelAttribution, r as ChannelAuditEntry, s as ChannelAuditPage, t as ChannelCounts, u as ChannelReport, v as ChannelReportLinkRecord, w as ChannelReportLinkReveal, x as ChannelReportResult, y as ChannelReportRow, z as ChannelState, D as ControlRoomActivityEntry, E as ControlRoomSectionMetric, F as ControlRoomSnapshot, I as IntentSwitchBlockedDetails, G as InventoryBooking, H as InventoryBookingActivity, J as InventoryBookingDetail, K as InventoryBookingObject, L as InventoryBookingState, M as InventoryBookingsPage, N as InventoryBookingsQuery, O as LogEntry, P as LogPage, Q as ManageApi, R as ManageApiError, S as PUBLIC_CHANNEL_ID, T as PUBLIC_CHANNEL_NAME, U as ReportByStatus, V as ReportCategoryMeta, W as ReportCategoryRow, X as ReportResult, Y as SeatManager, Z as SeatManagerActionResult, _ as SeatManagerActivity, $ as SeatManagerCapability, a0 as SeatManagerConnection, a1 as SeatManagerMode, a2 as SeatManagerOptions, a3 as SeatManagerTallies, a4 as SelectionSourceRow, a5 as accessIntentDescription, a6 as accessIntentLabel, a7 as accessLine, a8 as accessLinkBadge, a9 as accessLinkErrorCopy, aa as accessLinkIsLive, ab as accessLinkPolicyLines, ac as bucketRows, ad as dropReviewRows, ae as intentForbidsCopy, af as intentSwitchBlockedCopy, ag as isPublicChannelId, ah as markerLetter, ai as markerOf, aj as mutationCount, ak as needsMoveConfirmation, al as planAssignment, am as retryAfterCopy, an as selectionSources, ao as stateBadge, ap as suggestMarker } from './manager-DEjbKiqJ.cjs';
5
5
 
6
6
  /**
7
7
  * Buyer access context — the browser half of the Sales Channels contract
@@ -369,8 +369,10 @@ interface ControllerSinkOptions {
369
369
  declare function createControllerSink(controller: PickerControllerLike, options?: ControllerSinkOptions): RealtimeSink;
370
370
 
371
371
  /**
372
- * Minimal client for the public embed surface of workers/api (the `/pub/*`
373
- * routes). Deliberately self-contained it does NOT reuse src/lib/api.ts,
372
+ * Minimal client for the browser embed surface of workers/api (the `/pub/*`
373
+ * routes). Platform events bind this client to a buyer access context; Managed
374
+ * public/unlisted events may still use it anonymously. Deliberately
375
+ * self-contained — it does NOT reuse src/lib/api.ts,
374
376
  * which bakes in a build-time API base and dashboard session credentials. The
375
377
  * SDK runs cross-origin on a third-party ticketing page, so:
376
378
  * - apiBase is per-instance (constructor option), not a build constant;
@@ -486,7 +488,7 @@ interface OrderStatusResult {
486
488
  }>;
487
489
  /** Hosted ticket page — the durable re-entry point after the modal closes. */
488
490
  ticketUrl?: string;
489
- /** Printable PDF, one page per ticket. */
491
+ /** Printable A4 PDF, up to three ticket cards per page. */
490
492
  pdfUrl?: string;
491
493
  }
492
494
  interface PubApiOptions {
@@ -1340,6 +1342,17 @@ interface SeatPickerOptions {
1340
1342
  * is shown only when BOTH this option and the theme flag are unset/false.
1341
1343
  */
1342
1344
  hideBadge?: boolean;
1345
+ /**
1346
+ * Hide the picker's event identity (logo, event name and venue/date metadata)
1347
+ * when the host surface already presents the same event heading. The hold
1348
+ * timer, sales status and modal close controls remain available. The identity
1349
+ * is restored automatically while the picker is full screen so it never
1350
+ * loses context on a small device or an expanded map. Default false.
1351
+ *
1352
+ * A mounted host can update this through `setEventDetailsHidden()` when its
1353
+ * own event chrome arrives asynchronously.
1354
+ */
1355
+ hideEventDetails?: boolean;
1343
1356
  /** Host theme overrides — see SeatPickerTheme. */
1344
1357
  theme?: SeatPickerTheme;
1345
1358
  /**
@@ -1371,6 +1384,13 @@ interface SeatPickerOptions {
1371
1384
  * owns hold persistence and supplies initialHoldId itself.
1372
1385
  */
1373
1386
  restoreHold?: boolean;
1387
+ /**
1388
+ * Render the real chart and live seat statuses without allowing selection,
1389
+ * holds or checkout. This is for venue previews and pre-sale Website pages;
1390
+ * it is enforced by the widget even if the event later opens while mounted.
1391
+ * Default false.
1392
+ */
1393
+ readOnly?: boolean;
1374
1394
  /**
1375
1395
  * Confirm mode: tapping a seat shows a confirmation card with section, row,
1376
1396
  * seat, category, price and Select/Cancel before it enters the tray. Default
@@ -1522,6 +1542,8 @@ interface SeatPickerOptions {
1522
1542
  declare class SeatPicker {
1523
1543
  private readonly opts;
1524
1544
  private readonly api;
1545
+ /** Authenticated view media, cached only for this picker lifetime. */
1546
+ private readonly buyerAssetUrls;
1525
1547
  /** Our own public client, or null when the host injected a transport. */
1526
1548
  private readonly pubApi;
1527
1549
  /** Null for the ordinary public picker — the tokenless path is untouched. */
@@ -1615,6 +1637,8 @@ declare class SeatPicker {
1615
1637
  private secCardEl;
1616
1638
  private viewEl;
1617
1639
  private viewCleanup;
1640
+ /** Supersedes an older authored-view byte request when another seat is opened. */
1641
+ private seatViewGen;
1618
1642
  private allSeatsCache;
1619
1643
  private miniCanvas;
1620
1644
  private miniBase;
@@ -1645,6 +1669,8 @@ declare class SeatPicker {
1645
1669
  private fsFallback;
1646
1670
  private fsChangeHandler;
1647
1671
  private fsEscHandler;
1672
+ /** Host-level event chrome owns the duplicate identity outside full screen. */
1673
+ private eventDetailsHidden;
1648
1674
  /** True once we've asked the host page to pin us fullscreen (framed, no native). */
1649
1675
  private framedFs;
1650
1676
  /** Last height (px) posted to a host frame; dedupes redundant reports. */
@@ -2056,6 +2082,12 @@ declare class SeatPicker {
2056
2082
  * colours have not changed; safe to call on every render.
2057
2083
  */
2058
2084
  setMapTheme(map: PickerMapTheme | null): void;
2085
+ /**
2086
+ * Let a host suppress duplicate event identity after mount without remounting
2087
+ * the live picker (and therefore without disturbing a selection or hold).
2088
+ * Full-screen mode still restores the identity until the buyer exits it.
2089
+ */
2090
+ setEventDetailsHidden(hidden: boolean): void;
2059
2091
  /**
2060
2092
  * Replace the host pricing override AFTER mount, and repaint everything that
2061
2093
  * shows a price.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { PickerSeat, RendererViewMode, SeatHoverDetails, PickerTransport, PickerMapTheme } from '@seatlayer/core';
2
2
  export { ExpandedSeat, SeatHoverDetails } from '@seatlayer/core';
3
- import { C as ChannelListResult, a as ChannelAllocationPage, b as ChannelRecord, A as AssignmentResult, c as ChannelPreviewProjection, d as ChannelAccessIntent, e as AccessLinkReveal, f as AccessLinkStatusRecord, g as ChannelSeatStatus, B as BucketRow } from './manager-CAIPkUYl.js';
4
- export { h as ACCESS_LINK_DEFAULTS, i as AccessIntentForbidsDetails, j as AccessLinkRecord, k as AccessLinkState, l as AccessLinkStatus, m as ArchiveBlockedDetails, n as AssignmentBuckets, o as AssignmentDropDetails, p as ChannelAccessSummary, q as ChannelAuditEntry, r as ChannelAuditPage, s as ChannelCounts, t as ChannelState, u as ControlRoomActivityEntry, v as ControlRoomSectionMetric, w as ControlRoomSnapshot, I as IntentSwitchBlockedDetails, L as LogEntry, x as LogPage, M as ManageApi, y as ManageApiError, P as PUBLIC_CHANNEL_ID, z as PUBLIC_CHANNEL_NAME, R as ReportByStatus, D as ReportCategoryMeta, E as ReportCategoryRow, F as ReportResult, S as SeatManager, G as SeatManagerActionResult, H as SeatManagerActivity, J as SeatManagerCapability, K as SeatManagerConnection, N as SeatManagerMode, O as SeatManagerOptions, Q as SeatManagerTallies, T as SelectionSourceRow, U as accessIntentDescription, V as accessIntentLabel, W as accessLine, X as accessLinkBadge, Y as accessLinkErrorCopy, Z as accessLinkIsLive, _ as accessLinkPolicyLines, $ as bucketRows, a0 as dropReviewRows, a1 as intentForbidsCopy, a2 as intentSwitchBlockedCopy, a3 as isPublicChannelId, a4 as markerLetter, a5 as markerOf, a6 as mutationCount, a7 as needsMoveConfirmation, a8 as planAssignment, a9 as retryAfterCopy, aa as selectionSources, ab as stateBadge, ac as suggestMarker } from './manager-CAIPkUYl.js';
3
+ import { C as ChannelListResult, a as ChannelAllocationPage, b as ChannelRecord, A as AssignmentResult, c as ChannelPreviewProjection, d as ChannelAccessIntent, e as AccessLinkReveal, f as AccessLinkStatusRecord, g as ChannelSeatStatus, B as BucketRow } from './manager-DEjbKiqJ.js';
4
+ export { h as ACCESS_LINK_DEFAULTS, i as AccessIntentForbidsDetails, j as AccessLinkRecord, k as AccessLinkState, l as AccessLinkStatus, m as ArchiveBlockedDetails, n as AssignmentBuckets, o as AssignmentDropDetails, p as ChannelAccessSummary, q as ChannelAttribution, r as ChannelAuditEntry, s as ChannelAuditPage, t as ChannelCounts, u as ChannelReport, v as ChannelReportLinkRecord, w as ChannelReportLinkReveal, x as ChannelReportResult, y as ChannelReportRow, z as ChannelState, D as ControlRoomActivityEntry, E as ControlRoomSectionMetric, F as ControlRoomSnapshot, I as IntentSwitchBlockedDetails, G as InventoryBooking, H as InventoryBookingActivity, J as InventoryBookingDetail, K as InventoryBookingObject, L as InventoryBookingState, M as InventoryBookingsPage, N as InventoryBookingsQuery, O as LogEntry, P as LogPage, Q as ManageApi, R as ManageApiError, S as PUBLIC_CHANNEL_ID, T as PUBLIC_CHANNEL_NAME, U as ReportByStatus, V as ReportCategoryMeta, W as ReportCategoryRow, X as ReportResult, Y as SeatManager, Z as SeatManagerActionResult, _ as SeatManagerActivity, $ as SeatManagerCapability, a0 as SeatManagerConnection, a1 as SeatManagerMode, a2 as SeatManagerOptions, a3 as SeatManagerTallies, a4 as SelectionSourceRow, a5 as accessIntentDescription, a6 as accessIntentLabel, a7 as accessLine, a8 as accessLinkBadge, a9 as accessLinkErrorCopy, aa as accessLinkIsLive, ab as accessLinkPolicyLines, ac as bucketRows, ad as dropReviewRows, ae as intentForbidsCopy, af as intentSwitchBlockedCopy, ag as isPublicChannelId, ah as markerLetter, ai as markerOf, aj as mutationCount, ak as needsMoveConfirmation, al as planAssignment, am as retryAfterCopy, an as selectionSources, ao as stateBadge, ap as suggestMarker } from './manager-DEjbKiqJ.js';
5
5
 
6
6
  /**
7
7
  * Buyer access context — the browser half of the Sales Channels contract
@@ -369,8 +369,10 @@ interface ControllerSinkOptions {
369
369
  declare function createControllerSink(controller: PickerControllerLike, options?: ControllerSinkOptions): RealtimeSink;
370
370
 
371
371
  /**
372
- * Minimal client for the public embed surface of workers/api (the `/pub/*`
373
- * routes). Deliberately self-contained it does NOT reuse src/lib/api.ts,
372
+ * Minimal client for the browser embed surface of workers/api (the `/pub/*`
373
+ * routes). Platform events bind this client to a buyer access context; Managed
374
+ * public/unlisted events may still use it anonymously. Deliberately
375
+ * self-contained — it does NOT reuse src/lib/api.ts,
374
376
  * which bakes in a build-time API base and dashboard session credentials. The
375
377
  * SDK runs cross-origin on a third-party ticketing page, so:
376
378
  * - apiBase is per-instance (constructor option), not a build constant;
@@ -486,7 +488,7 @@ interface OrderStatusResult {
486
488
  }>;
487
489
  /** Hosted ticket page — the durable re-entry point after the modal closes. */
488
490
  ticketUrl?: string;
489
- /** Printable PDF, one page per ticket. */
491
+ /** Printable A4 PDF, up to three ticket cards per page. */
490
492
  pdfUrl?: string;
491
493
  }
492
494
  interface PubApiOptions {
@@ -1340,6 +1342,17 @@ interface SeatPickerOptions {
1340
1342
  * is shown only when BOTH this option and the theme flag are unset/false.
1341
1343
  */
1342
1344
  hideBadge?: boolean;
1345
+ /**
1346
+ * Hide the picker's event identity (logo, event name and venue/date metadata)
1347
+ * when the host surface already presents the same event heading. The hold
1348
+ * timer, sales status and modal close controls remain available. The identity
1349
+ * is restored automatically while the picker is full screen so it never
1350
+ * loses context on a small device or an expanded map. Default false.
1351
+ *
1352
+ * A mounted host can update this through `setEventDetailsHidden()` when its
1353
+ * own event chrome arrives asynchronously.
1354
+ */
1355
+ hideEventDetails?: boolean;
1343
1356
  /** Host theme overrides — see SeatPickerTheme. */
1344
1357
  theme?: SeatPickerTheme;
1345
1358
  /**
@@ -1371,6 +1384,13 @@ interface SeatPickerOptions {
1371
1384
  * owns hold persistence and supplies initialHoldId itself.
1372
1385
  */
1373
1386
  restoreHold?: boolean;
1387
+ /**
1388
+ * Render the real chart and live seat statuses without allowing selection,
1389
+ * holds or checkout. This is for venue previews and pre-sale Website pages;
1390
+ * it is enforced by the widget even if the event later opens while mounted.
1391
+ * Default false.
1392
+ */
1393
+ readOnly?: boolean;
1374
1394
  /**
1375
1395
  * Confirm mode: tapping a seat shows a confirmation card with section, row,
1376
1396
  * seat, category, price and Select/Cancel before it enters the tray. Default
@@ -1522,6 +1542,8 @@ interface SeatPickerOptions {
1522
1542
  declare class SeatPicker {
1523
1543
  private readonly opts;
1524
1544
  private readonly api;
1545
+ /** Authenticated view media, cached only for this picker lifetime. */
1546
+ private readonly buyerAssetUrls;
1525
1547
  /** Our own public client, or null when the host injected a transport. */
1526
1548
  private readonly pubApi;
1527
1549
  /** Null for the ordinary public picker — the tokenless path is untouched. */
@@ -1615,6 +1637,8 @@ declare class SeatPicker {
1615
1637
  private secCardEl;
1616
1638
  private viewEl;
1617
1639
  private viewCleanup;
1640
+ /** Supersedes an older authored-view byte request when another seat is opened. */
1641
+ private seatViewGen;
1618
1642
  private allSeatsCache;
1619
1643
  private miniCanvas;
1620
1644
  private miniBase;
@@ -1645,6 +1669,8 @@ declare class SeatPicker {
1645
1669
  private fsFallback;
1646
1670
  private fsChangeHandler;
1647
1671
  private fsEscHandler;
1672
+ /** Host-level event chrome owns the duplicate identity outside full screen. */
1673
+ private eventDetailsHidden;
1648
1674
  /** True once we've asked the host page to pin us fullscreen (framed, no native). */
1649
1675
  private framedFs;
1650
1676
  /** Last height (px) posted to a host frame; dedupes redundant reports. */
@@ -2056,6 +2082,12 @@ declare class SeatPicker {
2056
2082
  * colours have not changed; safe to call on every render.
2057
2083
  */
2058
2084
  setMapTheme(map: PickerMapTheme | null): void;
2085
+ /**
2086
+ * Let a host suppress duplicate event identity after mount without remounting
2087
+ * the live picker (and therefore without disturbing a selection or hold).
2088
+ * Full-screen mode still restores the identity until the buyer exits it.
2089
+ */
2090
+ setEventDetailsHidden(hidden: boolean): void;
2059
2091
  /**
2060
2092
  * Replace the host pricing override AFTER mount, and repaint everything that
2061
2093
  * shows a price.