@seatlayer/js 0.75.1 → 0.76.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
@@ -3,6 +3,7 @@ export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelection
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';
5
5
  import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
6
+ import { SeatConfidenceDisclosure } from '@seatlayer/core/core/seatConfidence';
6
7
  import { Venue3DHandle } from '@seatlayer/core/view3d';
7
8
 
8
9
  /**
@@ -1437,9 +1438,10 @@ interface SeatingChartPickerState {
1437
1438
  selection: {
1438
1439
  /**
1439
1440
  * The selected seats, each carrying where it currently IS on screen when
1440
- * the renderer can say — see {@link SeatScreenPoint}.
1441
+ * the renderer can say — see {@link SeatScreenPoint} — and what a card may
1442
+ * honestly show of the view from it, see {@link SeatViewThumbnail}.
1441
1443
  */
1442
- seats: Array<SelectedSeat & SeatScreenPoint>;
1444
+ seats: Array<SelectedSeat & SeatScreenPoint & SeatViewThumbnail>;
1443
1445
  validity: PickerSelectionValidity | null;
1444
1446
  maxSelection: number;
1445
1447
  };
@@ -1469,6 +1471,39 @@ interface SeatScreenPoint {
1469
1471
  y: number;
1470
1472
  };
1471
1473
  }
1474
+ /**
1475
+ * What a shell may honestly put on its own confirm card about the view from a
1476
+ * seat. `capability: seat-view-thumbnail-v1`.
1477
+ *
1478
+ * ALL THREE FIELDS ARE PRESENT-ONLY, and each absence means something specific:
1479
+ *
1480
+ * - `seatViewThumb` — the organizer's real view photo, as the REFERENCE the
1481
+ * host resolves through the authenticated buyer-asset transport (never a
1482
+ * plain URL a native `<img>` could fetch on its own: the Event's bearer does
1483
+ * not travel on an image request). It appears only when the same predicate
1484
+ * the web card uses says the media policy will actually hand the bytes back,
1485
+ * so a native card cannot promise a frame that then empties itself. There is
1486
+ * no second `kind`: with no uploaded photo the field is simply absent (owner
1487
+ * call 2026-09-02 — a generated stand-in read as a dummy picture, so the web
1488
+ * card stopped offering one and native must not reintroduce it).
1489
+ *
1490
+ * - `sightlineMetres` — distance from the seat to the stage, the number the web
1491
+ * card prints as its sightline line, from the same measurement. Absent on a
1492
+ * chart with no stage shape, because every chart has a bare `focalPoint` and
1493
+ * its presence alone never justifies a "to stage" claim.
1494
+ *
1495
+ * - `seatViewConfidence` — the seat confidence passport's summary, present only
1496
+ * for a seat that actually carries evidence. It describes supplied evidence
1497
+ * and known limits; it is not a guarantee about the real view.
1498
+ */
1499
+ interface SeatViewThumbnail {
1500
+ seatViewThumb?: {
1501
+ reference: string;
1502
+ kind: 'real';
1503
+ };
1504
+ sightlineMetres?: number;
1505
+ seatViewConfidence?: SeatConfidenceDisclosure;
1506
+ }
1472
1507
 
1473
1508
  /**
1474
1509
  * SeatingChart — the embeddable buyer picker.
@@ -2894,15 +2929,7 @@ declare class SeatPicker implements GaPromptPicker {
2894
2929
  * (OV-52)
2895
2930
  */
2896
2931
  private confirmThumbHtml;
2897
- /**
2898
- * The reference the card's thumbnail would load, or null when there is none
2899
- * the buyer-media policy will hand back.
2900
- *
2901
- * The same predicate `BuyerAssetObjectUrls.resolve` applies, asked BEFORE the
2902
- * markup is built rather than after the fetch fails — which is the difference
2903
- * between a card that never shows a frame and one that shows a frame and then
2904
- * takes it away.
2905
- */
2932
+ /** See `./seatViewThumb`, which the native bridge answers from as well. */
2906
2933
  private deliverableViewReference;
2907
2934
  /** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
2908
2935
  private isFramed;
@@ -3317,6 +3344,21 @@ declare class SeatPicker implements GaPromptPicker {
3317
3344
  /** A live delta took one of OUR selected (not yet held) seats — evict + tell the buyer. */
3318
3345
  private evictTakenSelections;
3319
3346
  /** @internal */ syncTray(): void;
3347
+ /**
3348
+ * Re-fit every block whose width is decided by a translated string.
3349
+ *
3350
+ * ONE pass over the whole widget rather than a fit call bolted onto each
3351
+ * renderer, because the three blocks share a cause: a language the layout has
3352
+ * never seen. Wiring them separately is how a fourth block ships without one.
3353
+ *
3354
+ * Coalesced into a single animation frame, and deliberately not run inline:
3355
+ * every caller here has just written innerHTML, and `scrollWidth` read in the
3356
+ * same tick reports the box the browser has not laid out yet. The frame is
3357
+ * also where a web font that changed the metrics has landed.
3358
+ */
3359
+ private fitScheduled;
3360
+ /** @internal */ scheduleFit(): void;
3361
+ private fitTranslatedRows;
3320
3362
  private emitSelectionValidity;
3321
3363
  /** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
3322
3364
  private renderPeek;
package/dist/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelection
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';
5
5
  import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
6
+ import { SeatConfidenceDisclosure } from '@seatlayer/core/core/seatConfidence';
6
7
  import { Venue3DHandle } from '@seatlayer/core/view3d';
7
8
 
8
9
  /**
@@ -1437,9 +1438,10 @@ interface SeatingChartPickerState {
1437
1438
  selection: {
1438
1439
  /**
1439
1440
  * The selected seats, each carrying where it currently IS on screen when
1440
- * the renderer can say — see {@link SeatScreenPoint}.
1441
+ * the renderer can say — see {@link SeatScreenPoint} — and what a card may
1442
+ * honestly show of the view from it, see {@link SeatViewThumbnail}.
1441
1443
  */
1442
- seats: Array<SelectedSeat & SeatScreenPoint>;
1444
+ seats: Array<SelectedSeat & SeatScreenPoint & SeatViewThumbnail>;
1443
1445
  validity: PickerSelectionValidity | null;
1444
1446
  maxSelection: number;
1445
1447
  };
@@ -1469,6 +1471,39 @@ interface SeatScreenPoint {
1469
1471
  y: number;
1470
1472
  };
1471
1473
  }
1474
+ /**
1475
+ * What a shell may honestly put on its own confirm card about the view from a
1476
+ * seat. `capability: seat-view-thumbnail-v1`.
1477
+ *
1478
+ * ALL THREE FIELDS ARE PRESENT-ONLY, and each absence means something specific:
1479
+ *
1480
+ * - `seatViewThumb` — the organizer's real view photo, as the REFERENCE the
1481
+ * host resolves through the authenticated buyer-asset transport (never a
1482
+ * plain URL a native `<img>` could fetch on its own: the Event's bearer does
1483
+ * not travel on an image request). It appears only when the same predicate
1484
+ * the web card uses says the media policy will actually hand the bytes back,
1485
+ * so a native card cannot promise a frame that then empties itself. There is
1486
+ * no second `kind`: with no uploaded photo the field is simply absent (owner
1487
+ * call 2026-09-02 — a generated stand-in read as a dummy picture, so the web
1488
+ * card stopped offering one and native must not reintroduce it).
1489
+ *
1490
+ * - `sightlineMetres` — distance from the seat to the stage, the number the web
1491
+ * card prints as its sightline line, from the same measurement. Absent on a
1492
+ * chart with no stage shape, because every chart has a bare `focalPoint` and
1493
+ * its presence alone never justifies a "to stage" claim.
1494
+ *
1495
+ * - `seatViewConfidence` — the seat confidence passport's summary, present only
1496
+ * for a seat that actually carries evidence. It describes supplied evidence
1497
+ * and known limits; it is not a guarantee about the real view.
1498
+ */
1499
+ interface SeatViewThumbnail {
1500
+ seatViewThumb?: {
1501
+ reference: string;
1502
+ kind: 'real';
1503
+ };
1504
+ sightlineMetres?: number;
1505
+ seatViewConfidence?: SeatConfidenceDisclosure;
1506
+ }
1472
1507
 
1473
1508
  /**
1474
1509
  * SeatingChart — the embeddable buyer picker.
@@ -2894,15 +2929,7 @@ declare class SeatPicker implements GaPromptPicker {
2894
2929
  * (OV-52)
2895
2930
  */
2896
2931
  private confirmThumbHtml;
2897
- /**
2898
- * The reference the card's thumbnail would load, or null when there is none
2899
- * the buyer-media policy will hand back.
2900
- *
2901
- * The same predicate `BuyerAssetObjectUrls.resolve` applies, asked BEFORE the
2902
- * markup is built rather than after the fetch fails — which is the difference
2903
- * between a card that never shows a frame and one that shows a frame and then
2904
- * takes it away.
2905
- */
2932
+ /** See `./seatViewThumb`, which the native bridge answers from as well. */
2906
2933
  private deliverableViewReference;
2907
2934
  /** True when the picker is rendered inside an iframe (snippet embed at /e/:key). */
2908
2935
  private isFramed;
@@ -3317,6 +3344,21 @@ declare class SeatPicker implements GaPromptPicker {
3317
3344
  /** A live delta took one of OUR selected (not yet held) seats — evict + tell the buyer. */
3318
3345
  private evictTakenSelections;
3319
3346
  /** @internal */ syncTray(): void;
3347
+ /**
3348
+ * Re-fit every block whose width is decided by a translated string.
3349
+ *
3350
+ * ONE pass over the whole widget rather than a fit call bolted onto each
3351
+ * renderer, because the three blocks share a cause: a language the layout has
3352
+ * never seen. Wiring them separately is how a fourth block ships without one.
3353
+ *
3354
+ * Coalesced into a single animation frame, and deliberately not run inline:
3355
+ * every caller here has just written innerHTML, and `scrollWidth` read in the
3356
+ * same tick reports the box the browser has not laid out yet. The frame is
3357
+ * also where a web font that changed the metrics has landed.
3358
+ */
3359
+ private fitScheduled;
3360
+ /** @internal */ scheduleFit(): void;
3361
+ private fitTranslatedRows;
3320
3362
  private emitSelectionValidity;
3321
3363
  /** Paint the bottom-sheet's collapsed one-liner (pickerTray.ts builds it). */
3322
3364
  private renderPeek;