@seatlayer/js 0.98.0 → 0.100.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
@@ -1,7 +1,7 @@
1
1
  import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, AccessibilityType, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AccessibleSectionStep, AvailabilityRefreshOutcome, RendererMinimapSnapshot, ISeatmapRenderer, PickerController, ExpandedSeat, TableSelectionDetails, PickerSalesState } from '@seatlayer/core';
2
2
  export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
3
- import { T as ThemeMode } from './channelsMode-BkAe2N3o.cjs';
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 SeatManagerArea, a8 as SeatManagerCapability, a9 as SeatManagerConnection, aa as SeatManagerFilteredSection, ab as SeatManagerMode, ac as SeatManagerOptions, ad as SeatManagerSelectionValidity, ae as SeatManagerTallies, af as SelectionSourceRow } from './channelsMode-BkAe2N3o.cjs';
3
+ import { T as ThemeMode } from './channelsMode-Ca7DQPt-.cjs';
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 SeatManagerArea, a8 as SeatManagerCapability, a9 as SeatManagerCategoryPrice, aa as SeatManagerConnection, ab as SeatManagerFilteredSection, ac as SeatManagerMode, ad as SeatManagerOptions, ae as SeatManagerSelectionValidity, af as SeatManagerTallies, ag as SelectionSourceRow } from './channelsMode-Ca7DQPt-.cjs';
5
5
  import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
6
6
  import { SeatConfidenceDisclosure } from '@seatlayer/core/core/seatConfidence';
7
7
  import { SeatViewStopName, Venue3DHandle, SeatState3D, SeatView } from '@seatlayer/core/view3d';
@@ -1570,6 +1570,21 @@ interface SeatPickerOptions {
1570
1570
  onError?: (err: unknown) => void;
1571
1571
  }
1572
1572
 
1573
+ /**
1574
+ * Host-authoritative unit prices by category key — the same shape as
1575
+ * {@link SeatPickerPricing.prices}: a flat number, or `{ base, tiers }` with a
1576
+ * price per tier id.
1577
+ *
1578
+ * A ticketing host that charges from its OWN catalogue (not from the worker's
1579
+ * hold) passes these so the map prints what checkout will charge. A category or
1580
+ * tier the map does not list keeps the chart's price, so a partial map never
1581
+ * blanks one.
1582
+ *
1583
+ * Display only, exactly like the web picker's `pricing`: the worker still
1584
+ * prices the hold, so a wrong entry can misprint a price, never mischarge one.
1585
+ */
1586
+ type HostPrices = NonNullable<SeatPickerPricing['prices']>;
1587
+
1573
1588
  /**
1574
1589
  * Two things a NATIVE shell drawing its own chrome over the map needs from the
1575
1590
  * embed, neither of which the web picker needs because it draws that chrome
@@ -1612,6 +1627,22 @@ type SeatFrameResult = {
1612
1627
  gestures: number;
1613
1628
  };
1614
1629
 
1630
+ /**
1631
+ * The atomic, token-free display state a native picker shell renders from.
1632
+ *
1633
+ * Lifted out of `SeatingChart` verbatim (2026-08-27) because that file reached
1634
+ * its size cap and this is a pure projection: it reads the controller, the
1635
+ * immersive surface and ten scalars, and touches nothing else. Body unchanged;
1636
+ * every `this.x` became a parameter.
1637
+ *
1638
+ * It carries buyer-DISPLAY data only — never an API key, a buyer-access bearer,
1639
+ * a provider callback, or the active hold id.
1640
+ *
1641
+ * The SHAPE moved here too (2026-08-28), for the same size reason and because
1642
+ * a contract read by one builder belongs beside it. `SeatingChart` re-exports
1643
+ * the name, so every host and every mirror keeps importing it from there.
1644
+ */
1645
+
1615
1646
  /**
1616
1647
  * Serializable state exposed to hosted native picker chrome. It deliberately
1617
1648
  * contains buyer-display data only: never API keys, buyer-access bearers,
@@ -1944,6 +1975,17 @@ interface SeatingChartOptions {
1944
1975
  languages?: string[];
1945
1976
  /** ISO 4217 currency for on-map prices (default USD). */
1946
1977
  currency?: string;
1978
+ /**
1979
+ * Host-authoritative unit prices by category key (a number, or
1980
+ * `{ base, tiers: { tierId: price } }`) — the web picker's `pricing.prices`.
1981
+ * A ticketing host that charges from its own catalogue passes them so the
1982
+ * picker state (catalog, selection, cart) carries what checkout charges
1983
+ * instead of the chart's prices. Display only: the hold is still priced by
1984
+ * the worker. Changeable later with {@link SeatingChart.setPricing}.
1985
+ */
1986
+ pricing?: {
1987
+ prices?: HostPrices;
1988
+ };
1947
1989
  /**
1948
1990
  * Colorblind-safe rendering: category hues switch to an Okabe-Ito palette
1949
1991
  * and booked seats render hollow, so state never relies on hue alone.
@@ -2140,6 +2182,7 @@ declare class SeatingChart {
2140
2182
  private eventInfo;
2141
2183
  private maxSelection_;
2142
2184
  private colorblindSafe_;
2185
+ private hostPrices_;
2143
2186
  private readonly hostSurface;
2144
2187
  private categoryFilter_;
2145
2188
  private accessibilityFilter_;
@@ -2238,6 +2281,8 @@ declare class SeatingChart {
2238
2281
  getMode(): 'live' | 'test' | null;
2239
2282
  /** Atomic, token-free display state for native-owned picker chrome. */
2240
2283
  getPickerState(): SeatingChartPickerState;
2284
+ /** The host prices the picker state is using (see options.pricing). */
2285
+ getHostPrices(): HostPrices | undefined;
2241
2286
  getCategoryAvailability(): Record<string, number>;
2242
2287
  getBestAvailableZones(): Array<{
2243
2288
  id: string;
@@ -2402,6 +2447,13 @@ declare class SeatingChart {
2402
2447
  animate?: boolean;
2403
2448
  gestures?: number;
2404
2449
  }): SeatFrameResult;
2450
+ /**
2451
+ * Replace the host prices (see options.pricing); `undefined` returns to the
2452
+ * chart's own. A no-op when unchanged, so a host may call it on every poll.
2453
+ */
2454
+ setPricing(pricing: {
2455
+ prices?: HostPrices;
2456
+ } | undefined): void;
2405
2457
  /** Toggle colorblind-safe rendering at runtime (see options.colorblindSafe). */
2406
2458
  setColorblindSafe(on: boolean): void;
2407
2459
  /** Switch the 2D canvas projection.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { PickerSeat, PickerGAArea, PickerMapTheme, PickerTransport, PickerSelectionValidator, RendererViewMode, PickerSelectionValidity, ChartTheme, AccessibilityType, FloorLabelStyle, LodRung, SectionSummary, PickerAccessNeed, SeatHoverDetails, AccessibleSectionStep, AvailabilityRefreshOutcome, RendererMinimapSnapshot, ISeatmapRenderer, PickerController, ExpandedSeat, TableSelectionDetails, PickerSalesState } from '@seatlayer/core';
2
2
  export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
3
- import { T as ThemeMode } from './channelsMode-BkAe2N3o.js';
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 SeatManagerArea, a8 as SeatManagerCapability, a9 as SeatManagerConnection, aa as SeatManagerFilteredSection, ab as SeatManagerMode, ac as SeatManagerOptions, ad as SeatManagerSelectionValidity, ae as SeatManagerTallies, af as SelectionSourceRow } from './channelsMode-BkAe2N3o.js';
3
+ import { T as ThemeMode } from './channelsMode-Ca7DQPt-.js';
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 SeatManagerArea, a8 as SeatManagerCapability, a9 as SeatManagerCategoryPrice, aa as SeatManagerConnection, ab as SeatManagerFilteredSection, ac as SeatManagerMode, ad as SeatManagerOptions, ae as SeatManagerSelectionValidity, af as SeatManagerTallies, ag as SelectionSourceRow } from './channelsMode-Ca7DQPt-.js';
5
5
  import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
6
6
  import { SeatConfidenceDisclosure } from '@seatlayer/core/core/seatConfidence';
7
7
  import { SeatViewStopName, Venue3DHandle, SeatState3D, SeatView } from '@seatlayer/core/view3d';
@@ -1570,6 +1570,21 @@ interface SeatPickerOptions {
1570
1570
  onError?: (err: unknown) => void;
1571
1571
  }
1572
1572
 
1573
+ /**
1574
+ * Host-authoritative unit prices by category key — the same shape as
1575
+ * {@link SeatPickerPricing.prices}: a flat number, or `{ base, tiers }` with a
1576
+ * price per tier id.
1577
+ *
1578
+ * A ticketing host that charges from its OWN catalogue (not from the worker's
1579
+ * hold) passes these so the map prints what checkout will charge. A category or
1580
+ * tier the map does not list keeps the chart's price, so a partial map never
1581
+ * blanks one.
1582
+ *
1583
+ * Display only, exactly like the web picker's `pricing`: the worker still
1584
+ * prices the hold, so a wrong entry can misprint a price, never mischarge one.
1585
+ */
1586
+ type HostPrices = NonNullable<SeatPickerPricing['prices']>;
1587
+
1573
1588
  /**
1574
1589
  * Two things a NATIVE shell drawing its own chrome over the map needs from the
1575
1590
  * embed, neither of which the web picker needs because it draws that chrome
@@ -1612,6 +1627,22 @@ type SeatFrameResult = {
1612
1627
  gestures: number;
1613
1628
  };
1614
1629
 
1630
+ /**
1631
+ * The atomic, token-free display state a native picker shell renders from.
1632
+ *
1633
+ * Lifted out of `SeatingChart` verbatim (2026-08-27) because that file reached
1634
+ * its size cap and this is a pure projection: it reads the controller, the
1635
+ * immersive surface and ten scalars, and touches nothing else. Body unchanged;
1636
+ * every `this.x` became a parameter.
1637
+ *
1638
+ * It carries buyer-DISPLAY data only — never an API key, a buyer-access bearer,
1639
+ * a provider callback, or the active hold id.
1640
+ *
1641
+ * The SHAPE moved here too (2026-08-28), for the same size reason and because
1642
+ * a contract read by one builder belongs beside it. `SeatingChart` re-exports
1643
+ * the name, so every host and every mirror keeps importing it from there.
1644
+ */
1645
+
1615
1646
  /**
1616
1647
  * Serializable state exposed to hosted native picker chrome. It deliberately
1617
1648
  * contains buyer-display data only: never API keys, buyer-access bearers,
@@ -1944,6 +1975,17 @@ interface SeatingChartOptions {
1944
1975
  languages?: string[];
1945
1976
  /** ISO 4217 currency for on-map prices (default USD). */
1946
1977
  currency?: string;
1978
+ /**
1979
+ * Host-authoritative unit prices by category key (a number, or
1980
+ * `{ base, tiers: { tierId: price } }`) — the web picker's `pricing.prices`.
1981
+ * A ticketing host that charges from its own catalogue passes them so the
1982
+ * picker state (catalog, selection, cart) carries what checkout charges
1983
+ * instead of the chart's prices. Display only: the hold is still priced by
1984
+ * the worker. Changeable later with {@link SeatingChart.setPricing}.
1985
+ */
1986
+ pricing?: {
1987
+ prices?: HostPrices;
1988
+ };
1947
1989
  /**
1948
1990
  * Colorblind-safe rendering: category hues switch to an Okabe-Ito palette
1949
1991
  * and booked seats render hollow, so state never relies on hue alone.
@@ -2140,6 +2182,7 @@ declare class SeatingChart {
2140
2182
  private eventInfo;
2141
2183
  private maxSelection_;
2142
2184
  private colorblindSafe_;
2185
+ private hostPrices_;
2143
2186
  private readonly hostSurface;
2144
2187
  private categoryFilter_;
2145
2188
  private accessibilityFilter_;
@@ -2238,6 +2281,8 @@ declare class SeatingChart {
2238
2281
  getMode(): 'live' | 'test' | null;
2239
2282
  /** Atomic, token-free display state for native-owned picker chrome. */
2240
2283
  getPickerState(): SeatingChartPickerState;
2284
+ /** The host prices the picker state is using (see options.pricing). */
2285
+ getHostPrices(): HostPrices | undefined;
2241
2286
  getCategoryAvailability(): Record<string, number>;
2242
2287
  getBestAvailableZones(): Array<{
2243
2288
  id: string;
@@ -2402,6 +2447,13 @@ declare class SeatingChart {
2402
2447
  animate?: boolean;
2403
2448
  gestures?: number;
2404
2449
  }): SeatFrameResult;
2450
+ /**
2451
+ * Replace the host prices (see options.pricing); `undefined` returns to the
2452
+ * chart's own. A no-op when unchanged, so a host may call it on every poll.
2453
+ */
2454
+ setPricing(pricing: {
2455
+ prices?: HostPrices;
2456
+ } | undefined): void;
2405
2457
  /** Toggle colorblind-safe rendering at runtime (see options.colorblindSafe). */
2406
2458
  setColorblindSafe(on: boolean): void;
2407
2459
  /** Switch the 2D canvas projection.