@seatlayer/js 0.70.0 → 0.71.2

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.
@@ -1 +1 @@
1
- import{A as a,B as b,C as c}from"./chunk-VCVUAOOK.js";import"./chunk-OSZ7DOEH.js";export{b as CHANNELS_CSS,c as ChannelsMode,a as bucketRowsHtml};
1
+ import{A as a,B as b,C as c}from"./chunk-Z3G64HUG.js";import"./chunk-OSZ7DOEH.js";export{b as CHANNELS_CSS,c as ChannelsMode,a as bucketRowsHtml};
@@ -1,5 +1,24 @@
1
1
  import { ChartDoc, AvailabilityRule, ExpandedSeat, ChartTheme } from '@seatlayer/core';
2
2
 
3
+ /**
4
+ * pickerTheme — the widget's colour math: parse a CSS colour a host or a chart
5
+ * authored, judge its contrast, and resolve the `--sl-*` token set the
6
+ * stylesheet reads.
7
+ *
8
+ * Parsing remains widget-owned because host tokens may use the widget's
9
+ * tolerated CSS forms. Once parsed, luminance and RGB serialization delegate
10
+ * to the shared core colour primitives so contrast math has one definition.
11
+ */
12
+
13
+ /**
14
+ * Light, dark, or follow the reader.
15
+ *
16
+ * `auto` is the viewer's own `prefers-color-scheme`, re-read live: a buyer who
17
+ * flips their phone into dark mode mid-purchase should not have to reload a
18
+ * page that is holding their seats.
19
+ */
20
+ type ThemeMode = 'light' | 'dark' | 'auto';
21
+
3
22
  /**
4
23
  * Sales-channel planning — the pure, DOM-free half of Channels mode.
5
24
  *
@@ -1217,6 +1236,25 @@ interface SeatManagerOptions {
1217
1236
  currency?: string;
1218
1237
  /** Chart theme override for the chrome (rails/bar). Chart colors come from the doc. */
1219
1238
  theme?: ChartTheme;
1239
+ /**
1240
+ * Light, dark, or follow the operator's own `prefers-color-scheme` — the
1241
+ * SAME modes and the same two token sets the buyer widget uses, so the
1242
+ * cockpit and the picker never disagree about what "light" is.
1243
+ *
1244
+ * A mode owns the GROUND roles only (background, surface, ink, muted ink,
1245
+ * hairlines, and the drawn map's ground). `theme.accent` / `theme.accentInk`
1246
+ * stay the organizer's brand in both modes, and anything stated in `theme`
1247
+ * still wins over the mode. Absent means the war-room dark this cockpit has
1248
+ * always shipped — modes are opt-in and silence changes nothing.
1249
+ *
1250
+ * It sits here rather than inside `theme` because `theme` is the core
1251
+ * `ChartTheme`: a reader preference is not a property of the chart document,
1252
+ * and putting it there would push it into every chart contract.
1253
+ *
1254
+ * Switchable after mount with `setThemeMode()`, which keeps the selection,
1255
+ * the camera and the realtime socket.
1256
+ */
1257
+ themeMode?: ThemeMode;
1220
1258
  /**
1221
1259
  * Keep the canvas painting even when the tab is hidden/backgrounded (a war-room
1222
1260
  * board on a second monitor). Calls `forceDraw()` after each delta so Chrome's
@@ -1323,6 +1361,10 @@ declare class SeatManager {
1323
1361
  private els;
1324
1362
  private renderer;
1325
1363
  private doc;
1364
+ /** `'auto'` is kept as asked, not as resolved — see {@link getThemeMode}. */
1365
+ private themeMode;
1366
+ /** Live `prefers-color-scheme` subscription; only open while mode is auto. */
1367
+ private colorSchemeStop;
1326
1368
  private mode;
1327
1369
  private inventoryModelVersion;
1328
1370
  private selectableObjectLabels;
@@ -1488,6 +1530,49 @@ declare class SeatManager {
1488
1530
  setCurrency(currency: string | undefined): void;
1489
1531
  /** Apply organizer chrome tokens in place without losing camera or selection. */
1490
1532
  setTheme(theme: ChartTheme | undefined): void;
1533
+ /**
1534
+ * Write the resolved `--slm-*` tokens onto the cockpit root, and stamp
1535
+ * `data-theme`.
1536
+ *
1537
+ * `data-theme` is not read by this stylesheet — every rule spends a token.
1538
+ * It is there for the HOST: a dashboard wrapping the cockpit needs to know
1539
+ * which side it settled on to match its own chrome, and reading an attribute
1540
+ * beats re-deriving the luminance of a custom property. Absent when no mode
1541
+ * is managed, so a host can tell "dark" from "never asked".
1542
+ */
1543
+ private applyThemeVars;
1544
+ /** Follow `prefers-color-scheme` only while the mode actually is `auto`. */
1545
+ private watchThemeMode;
1546
+ /**
1547
+ * Re-ink both halves of the cockpit WITHOUT disturbing the operator's work.
1548
+ *
1549
+ * The chrome half is custom properties, so it costs nothing. The map half is
1550
+ * a canvas the renderer paints from the doc's ground, so it needs a rebuild —
1551
+ * and a rebuild resets the selection, which in this surface can be a marquee
1552
+ * of hundreds of seats an operator is about to block. It is captured and put
1553
+ * back, statuses are repainted from the model already in memory, and the
1554
+ * realtime socket is never touched: no round trip, nothing re-fetched, and no
1555
+ * chance of a stale seat.
1556
+ */
1557
+ private repaintForThemeMode;
1558
+ /**
1559
+ * Switch the cockpit between light, dark and the operator's own preference
1560
+ * after mount. `null` hands the colours back to the chart and the host.
1561
+ *
1562
+ * Selection- and socket-safe by construction — see
1563
+ * {@link repaintForThemeMode}.
1564
+ */
1565
+ setThemeMode(mode: ThemeMode | null | undefined): void;
1566
+ /** The mode the host asked for — `'auto'`, not what `auto` resolved to. */
1567
+ getThemeMode(): ThemeMode | null;
1568
+ /**
1569
+ * The chart as the canvas should be painted for the current mode.
1570
+ *
1571
+ * Only the ground is overwritten, and only when a mode is managed: the
1572
+ * organizer's seat scale, fonts, logo and category colours are theirs, and a
1573
+ * reader preference is not licence to repaint the venue.
1574
+ */
1575
+ private themedDoc;
1491
1576
  /** Replace the declared authority for the current token and fail closed. */
1492
1577
  setCapabilities(capabilities: SeatManagerOptions['capabilities']): void;
1493
1578
  /** Change proactive token-refresh policy without rebuilding the manager. */
@@ -2430,4 +2515,4 @@ declare class ChannelsMode {
2430
2515
  handleBack(): boolean;
2431
2516
  }
2432
2517
 
2433
- export { type ReportByStatus as $, type AccessIntentForbidsDetails as A, type BucketRow as B, type ChannelAccessIntent as C, type ChannelsClient as D, ChannelsMode as E, type ChannelsModeHost as F, type ChannelsRowView as G, type ChannelsSeatView as H, type ControlRoomActivityEntry as I, type ControlRoomSectionMetric as J, type ControlRoomSnapshot as K, type EventCategoryAssignmentResult as L, type EventScopedManageToken as M, type EventTableBookingMode as N, type EventTableBookingResult as O, type IntentSwitchBlockedDetails as P, type InventoryBooking as Q, type InventoryBookingActivity as R, type InventoryBookingDetail as S, type InventoryBookingObject as T, type InventoryBookingState as U, type InventoryBookingsPage as V, type InventoryBookingsQuery as W, type LogEntry as X, type LogPage as Y, ManageApi as Z, ManageApiError as _, type AccessLinkRecord as a, type ReportCategoryMeta as a0, type ReportCategoryRow as a1, type ReportResult as a2, SeatManager as a3, type SeatManagerActionResult as a4, type SeatManagerActivity as a5, type SeatManagerCapability as a6, type SeatManagerConnection as a7, type SeatManagerFilteredSection as a8, type SeatManagerMode as a9, stateBadge as aA, suggestMarker as aB, type SeatManagerOptions as aa, type SeatManagerSelectionValidity as ab, type SeatManagerTallies as ac, type SelectionSourceRow as ad, ACCESS_LINK_DEFAULTS as ae, PUBLIC_CHANNEL_ID as af, PUBLIC_CHANNEL_NAME as ag, accessIntentDescription as ah, accessIntentLabel as ai, accessLine as aj, accessLinkBadge as ak, accessLinkErrorCopy as al, accessLinkIsLive as am, accessLinkPolicyLines as an, bucketRows as ao, dropReviewRows as ap, intentForbidsCopy as aq, intentSwitchBlockedCopy as ar, isPublicChannelId as as, markerLetter as at, markerOf as au, mutationCount as av, needsMoveConfirmation as aw, planAssignment as ax, retryAfterCopy as ay, selectionSources as az, type AccessLinkReveal as b, type AccessLinkState as c, type AccessLinkStatus as d, type AccessLinkStatusRecord as e, type ArchiveBlockedDetails as f, type AssignmentBuckets as g, type AssignmentDropDetails as h, type AssignmentResult as i, type ChannelAccessSummary as j, type ChannelAllocationPage as k, type ChannelAttribution as l, type ChannelAuditEntry as m, type ChannelAuditPage as n, type ChannelCounts as o, type ChannelListResult as p, type ChannelPreviewProjection as q, type ChannelRecord as r, type ChannelReport as s, type ChannelReportLinkRecord as t, type ChannelReportLinkReveal as u, type ChannelReportResult as v, type ChannelReportRow as w, type ChannelSeatStatus as x, type ChannelState as y, type ChannelsCapabilities as z };
2518
+ export { ManageApiError as $, type AccessIntentForbidsDetails as A, type BucketRow as B, type ChannelAccessIntent as C, type ChannelsClient as D, ChannelsMode as E, type ChannelsModeHost as F, type ChannelsRowView as G, type ChannelsSeatView as H, type ControlRoomActivityEntry as I, type ControlRoomSectionMetric as J, type ControlRoomSnapshot as K, type EventCategoryAssignmentResult as L, type EventScopedManageToken as M, type EventTableBookingMode as N, type EventTableBookingResult as O, type IntentSwitchBlockedDetails as P, type InventoryBooking as Q, type InventoryBookingActivity as R, type InventoryBookingDetail as S, type ThemeMode as T, type InventoryBookingObject as U, type InventoryBookingState as V, type InventoryBookingsPage as W, type InventoryBookingsQuery as X, type LogEntry as Y, type LogPage as Z, ManageApi as _, type AccessLinkRecord as a, type ReportByStatus as a0, type ReportCategoryMeta as a1, type ReportCategoryRow as a2, type ReportResult as a3, SeatManager as a4, type SeatManagerActionResult as a5, type SeatManagerActivity as a6, type SeatManagerCapability as a7, type SeatManagerConnection as a8, type SeatManagerFilteredSection as a9, selectionSources as aA, stateBadge as aB, suggestMarker as aC, type SeatManagerMode as aa, type SeatManagerOptions as ab, type SeatManagerSelectionValidity as ac, type SeatManagerTallies as ad, type SelectionSourceRow as ae, ACCESS_LINK_DEFAULTS as af, PUBLIC_CHANNEL_ID as ag, PUBLIC_CHANNEL_NAME as ah, accessIntentDescription as ai, accessIntentLabel as aj, accessLine as ak, accessLinkBadge as al, accessLinkErrorCopy as am, accessLinkIsLive as an, accessLinkPolicyLines as ao, bucketRows as ap, dropReviewRows as aq, intentForbidsCopy as ar, intentSwitchBlockedCopy as as, isPublicChannelId as at, markerLetter as au, markerOf as av, mutationCount as aw, needsMoveConfirmation as ax, planAssignment as ay, retryAfterCopy as az, type AccessLinkReveal as b, type AccessLinkState as c, type AccessLinkStatus as d, type AccessLinkStatusRecord as e, type ArchiveBlockedDetails as f, type AssignmentBuckets as g, type AssignmentDropDetails as h, type AssignmentResult as i, type ChannelAccessSummary as j, type ChannelAllocationPage as k, type ChannelAttribution as l, type ChannelAuditEntry as m, type ChannelAuditPage as n, type ChannelCounts as o, type ChannelListResult as p, type ChannelPreviewProjection as q, type ChannelRecord as r, type ChannelReport as s, type ChannelReportLinkRecord as t, type ChannelReportLinkReveal as u, type ChannelReportResult as v, type ChannelReportRow as w, type ChannelSeatStatus as x, type ChannelState as y, type ChannelsCapabilities as z };
@@ -1,5 +1,24 @@
1
1
  import { ChartDoc, AvailabilityRule, ExpandedSeat, ChartTheme } from '@seatlayer/core';
2
2
 
3
+ /**
4
+ * pickerTheme — the widget's colour math: parse a CSS colour a host or a chart
5
+ * authored, judge its contrast, and resolve the `--sl-*` token set the
6
+ * stylesheet reads.
7
+ *
8
+ * Parsing remains widget-owned because host tokens may use the widget's
9
+ * tolerated CSS forms. Once parsed, luminance and RGB serialization delegate
10
+ * to the shared core colour primitives so contrast math has one definition.
11
+ */
12
+
13
+ /**
14
+ * Light, dark, or follow the reader.
15
+ *
16
+ * `auto` is the viewer's own `prefers-color-scheme`, re-read live: a buyer who
17
+ * flips their phone into dark mode mid-purchase should not have to reload a
18
+ * page that is holding their seats.
19
+ */
20
+ type ThemeMode = 'light' | 'dark' | 'auto';
21
+
3
22
  /**
4
23
  * Sales-channel planning — the pure, DOM-free half of Channels mode.
5
24
  *
@@ -1217,6 +1236,25 @@ interface SeatManagerOptions {
1217
1236
  currency?: string;
1218
1237
  /** Chart theme override for the chrome (rails/bar). Chart colors come from the doc. */
1219
1238
  theme?: ChartTheme;
1239
+ /**
1240
+ * Light, dark, or follow the operator's own `prefers-color-scheme` — the
1241
+ * SAME modes and the same two token sets the buyer widget uses, so the
1242
+ * cockpit and the picker never disagree about what "light" is.
1243
+ *
1244
+ * A mode owns the GROUND roles only (background, surface, ink, muted ink,
1245
+ * hairlines, and the drawn map's ground). `theme.accent` / `theme.accentInk`
1246
+ * stay the organizer's brand in both modes, and anything stated in `theme`
1247
+ * still wins over the mode. Absent means the war-room dark this cockpit has
1248
+ * always shipped — modes are opt-in and silence changes nothing.
1249
+ *
1250
+ * It sits here rather than inside `theme` because `theme` is the core
1251
+ * `ChartTheme`: a reader preference is not a property of the chart document,
1252
+ * and putting it there would push it into every chart contract.
1253
+ *
1254
+ * Switchable after mount with `setThemeMode()`, which keeps the selection,
1255
+ * the camera and the realtime socket.
1256
+ */
1257
+ themeMode?: ThemeMode;
1220
1258
  /**
1221
1259
  * Keep the canvas painting even when the tab is hidden/backgrounded (a war-room
1222
1260
  * board on a second monitor). Calls `forceDraw()` after each delta so Chrome's
@@ -1323,6 +1361,10 @@ declare class SeatManager {
1323
1361
  private els;
1324
1362
  private renderer;
1325
1363
  private doc;
1364
+ /** `'auto'` is kept as asked, not as resolved — see {@link getThemeMode}. */
1365
+ private themeMode;
1366
+ /** Live `prefers-color-scheme` subscription; only open while mode is auto. */
1367
+ private colorSchemeStop;
1326
1368
  private mode;
1327
1369
  private inventoryModelVersion;
1328
1370
  private selectableObjectLabels;
@@ -1488,6 +1530,49 @@ declare class SeatManager {
1488
1530
  setCurrency(currency: string | undefined): void;
1489
1531
  /** Apply organizer chrome tokens in place without losing camera or selection. */
1490
1532
  setTheme(theme: ChartTheme | undefined): void;
1533
+ /**
1534
+ * Write the resolved `--slm-*` tokens onto the cockpit root, and stamp
1535
+ * `data-theme`.
1536
+ *
1537
+ * `data-theme` is not read by this stylesheet — every rule spends a token.
1538
+ * It is there for the HOST: a dashboard wrapping the cockpit needs to know
1539
+ * which side it settled on to match its own chrome, and reading an attribute
1540
+ * beats re-deriving the luminance of a custom property. Absent when no mode
1541
+ * is managed, so a host can tell "dark" from "never asked".
1542
+ */
1543
+ private applyThemeVars;
1544
+ /** Follow `prefers-color-scheme` only while the mode actually is `auto`. */
1545
+ private watchThemeMode;
1546
+ /**
1547
+ * Re-ink both halves of the cockpit WITHOUT disturbing the operator's work.
1548
+ *
1549
+ * The chrome half is custom properties, so it costs nothing. The map half is
1550
+ * a canvas the renderer paints from the doc's ground, so it needs a rebuild —
1551
+ * and a rebuild resets the selection, which in this surface can be a marquee
1552
+ * of hundreds of seats an operator is about to block. It is captured and put
1553
+ * back, statuses are repainted from the model already in memory, and the
1554
+ * realtime socket is never touched: no round trip, nothing re-fetched, and no
1555
+ * chance of a stale seat.
1556
+ */
1557
+ private repaintForThemeMode;
1558
+ /**
1559
+ * Switch the cockpit between light, dark and the operator's own preference
1560
+ * after mount. `null` hands the colours back to the chart and the host.
1561
+ *
1562
+ * Selection- and socket-safe by construction — see
1563
+ * {@link repaintForThemeMode}.
1564
+ */
1565
+ setThemeMode(mode: ThemeMode | null | undefined): void;
1566
+ /** The mode the host asked for — `'auto'`, not what `auto` resolved to. */
1567
+ getThemeMode(): ThemeMode | null;
1568
+ /**
1569
+ * The chart as the canvas should be painted for the current mode.
1570
+ *
1571
+ * Only the ground is overwritten, and only when a mode is managed: the
1572
+ * organizer's seat scale, fonts, logo and category colours are theirs, and a
1573
+ * reader preference is not licence to repaint the venue.
1574
+ */
1575
+ private themedDoc;
1491
1576
  /** Replace the declared authority for the current token and fail closed. */
1492
1577
  setCapabilities(capabilities: SeatManagerOptions['capabilities']): void;
1493
1578
  /** Change proactive token-refresh policy without rebuilding the manager. */
@@ -2430,4 +2515,4 @@ declare class ChannelsMode {
2430
2515
  handleBack(): boolean;
2431
2516
  }
2432
2517
 
2433
- export { type ReportByStatus as $, type AccessIntentForbidsDetails as A, type BucketRow as B, type ChannelAccessIntent as C, type ChannelsClient as D, ChannelsMode as E, type ChannelsModeHost as F, type ChannelsRowView as G, type ChannelsSeatView as H, type ControlRoomActivityEntry as I, type ControlRoomSectionMetric as J, type ControlRoomSnapshot as K, type EventCategoryAssignmentResult as L, type EventScopedManageToken as M, type EventTableBookingMode as N, type EventTableBookingResult as O, type IntentSwitchBlockedDetails as P, type InventoryBooking as Q, type InventoryBookingActivity as R, type InventoryBookingDetail as S, type InventoryBookingObject as T, type InventoryBookingState as U, type InventoryBookingsPage as V, type InventoryBookingsQuery as W, type LogEntry as X, type LogPage as Y, ManageApi as Z, ManageApiError as _, type AccessLinkRecord as a, type ReportCategoryMeta as a0, type ReportCategoryRow as a1, type ReportResult as a2, SeatManager as a3, type SeatManagerActionResult as a4, type SeatManagerActivity as a5, type SeatManagerCapability as a6, type SeatManagerConnection as a7, type SeatManagerFilteredSection as a8, type SeatManagerMode as a9, stateBadge as aA, suggestMarker as aB, type SeatManagerOptions as aa, type SeatManagerSelectionValidity as ab, type SeatManagerTallies as ac, type SelectionSourceRow as ad, ACCESS_LINK_DEFAULTS as ae, PUBLIC_CHANNEL_ID as af, PUBLIC_CHANNEL_NAME as ag, accessIntentDescription as ah, accessIntentLabel as ai, accessLine as aj, accessLinkBadge as ak, accessLinkErrorCopy as al, accessLinkIsLive as am, accessLinkPolicyLines as an, bucketRows as ao, dropReviewRows as ap, intentForbidsCopy as aq, intentSwitchBlockedCopy as ar, isPublicChannelId as as, markerLetter as at, markerOf as au, mutationCount as av, needsMoveConfirmation as aw, planAssignment as ax, retryAfterCopy as ay, selectionSources as az, type AccessLinkReveal as b, type AccessLinkState as c, type AccessLinkStatus as d, type AccessLinkStatusRecord as e, type ArchiveBlockedDetails as f, type AssignmentBuckets as g, type AssignmentDropDetails as h, type AssignmentResult as i, type ChannelAccessSummary as j, type ChannelAllocationPage as k, type ChannelAttribution as l, type ChannelAuditEntry as m, type ChannelAuditPage as n, type ChannelCounts as o, type ChannelListResult as p, type ChannelPreviewProjection as q, type ChannelRecord as r, type ChannelReport as s, type ChannelReportLinkRecord as t, type ChannelReportLinkReveal as u, type ChannelReportResult as v, type ChannelReportRow as w, type ChannelSeatStatus as x, type ChannelState as y, type ChannelsCapabilities as z };
2518
+ export { ManageApiError as $, type AccessIntentForbidsDetails as A, type BucketRow as B, type ChannelAccessIntent as C, type ChannelsClient as D, ChannelsMode as E, type ChannelsModeHost as F, type ChannelsRowView as G, type ChannelsSeatView as H, type ControlRoomActivityEntry as I, type ControlRoomSectionMetric as J, type ControlRoomSnapshot as K, type EventCategoryAssignmentResult as L, type EventScopedManageToken as M, type EventTableBookingMode as N, type EventTableBookingResult as O, type IntentSwitchBlockedDetails as P, type InventoryBooking as Q, type InventoryBookingActivity as R, type InventoryBookingDetail as S, type ThemeMode as T, type InventoryBookingObject as U, type InventoryBookingState as V, type InventoryBookingsPage as W, type InventoryBookingsQuery as X, type LogEntry as Y, type LogPage as Z, ManageApi as _, type AccessLinkRecord as a, type ReportByStatus as a0, type ReportCategoryMeta as a1, type ReportCategoryRow as a2, type ReportResult as a3, SeatManager as a4, type SeatManagerActionResult as a5, type SeatManagerActivity as a6, type SeatManagerCapability as a7, type SeatManagerConnection as a8, type SeatManagerFilteredSection as a9, selectionSources as aA, stateBadge as aB, suggestMarker as aC, type SeatManagerMode as aa, type SeatManagerOptions as ab, type SeatManagerSelectionValidity as ac, type SeatManagerTallies as ad, type SelectionSourceRow as ae, ACCESS_LINK_DEFAULTS as af, PUBLIC_CHANNEL_ID as ag, PUBLIC_CHANNEL_NAME as ah, accessIntentDescription as ai, accessIntentLabel as aj, accessLine as ak, accessLinkBadge as al, accessLinkErrorCopy as am, accessLinkIsLive as an, accessLinkPolicyLines as ao, bucketRows as ap, dropReviewRows as aq, intentForbidsCopy as ar, intentSwitchBlockedCopy as as, isPublicChannelId as at, markerLetter as au, markerOf as av, mutationCount as aw, needsMoveConfirmation as ax, planAssignment as ay, retryAfterCopy as az, type AccessLinkReveal as b, type AccessLinkState as c, type AccessLinkStatus as d, type AccessLinkStatusRecord as e, type ArchiveBlockedDetails as f, type AssignmentBuckets as g, type AssignmentDropDetails as h, type AssignmentResult as i, type ChannelAccessSummary as j, type ChannelAllocationPage as k, type ChannelAttribution as l, type ChannelAuditEntry as m, type ChannelAuditPage as n, type ChannelCounts as o, type ChannelListResult as p, type ChannelPreviewProjection as q, type ChannelRecord as r, type ChannelReport as s, type ChannelReportLinkRecord as t, type ChannelReportLinkReveal as u, type ChannelReportResult as v, type ChannelReportRow as w, type ChannelSeatStatus as x, type ChannelState as y, type ChannelsCapabilities as z };
@@ -0,0 +1 @@
1
+ import{relativeLuminance255 as x,rgb255ToHex as M}from"@seatlayer/core/core/color";function o(e){if(!e)return null;let n=e.trim().toLowerCase();if(n==="white")return{r:255,g:255,b:255};if(n==="black")return{r:0,g:0,b:0};let t=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.exec(n)?.[1];if(t){let i=t.length<=4?[...t].map(s=>`${s}${s}`).join(""):t;return{r:Number.parseInt(i.slice(0,2),16),g:Number.parseInt(i.slice(2,4),16),b:Number.parseInt(i.slice(4,6),16)}}let r=/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*[\d.]+%?)?\s*\)$/i.exec(n);return r?{r:Math.max(0,Math.min(255,Number(r[1]))),g:Math.max(0,Math.min(255,Number(r[2]))),b:Math.max(0,Math.min(255,Number(r[3])))}:null}function d(e){return x([e.r,e.g,e.b])}function a(e,n){let t=o(e),r=o(n);if(!t||!r)return null;let i=Math.max(d(t),d(r)),s=Math.min(d(t),d(r));return(i+.05)/(s+.05)}function f(e,n="#172033",t="#eef1f8"){return(a(n,e)??0)>=(a(t,e)??0)?n:t}function k(e){return M(e.r,e.g,e.b)}function T(e,n,t){let r=o(e),i=o(n);if(!r||!i)return null;let s=Math.max(0,Math.min(1,t));return k({r:r.r*s+i.r*(1-s),g:r.g*s+i.g*(1-s),b:r.b*s+i.b*(1-s)})}function b(e,n,t,r){if((a(e,t)??4.5)>=4.5&&(a(e,r)??4.5)>=4.5)return e;if(!o(e)||!o(n))return n;for(let i=.15;i<=1;i+=.05){let s=T(e,n,1-i);if(s&&(a(s,t)??0)>=4.5&&(a(s,r)??0)>=4.5)return s}return n}function L(e,n){let t=n??e["--sl-bg"],r=o(t)?f(t)==="#172033":!1,i=o(e["--sl-bg"])?f(e["--sl-bg"])==="#172033":!1;if(r===i)return null;let s=r?"#ffffff":"#1a2234",c=f(t),u=e["--sl-accent"];return{"--sl-bg":t,"--sl-surface":s,"--sl-text":c,"--sl-muted":r?"#667085":"#a5aec2","--sl-line":r?"rgba(23,32,51,.16)":"rgba(165,174,194,.24)","--sl-accent-text":b(u,c,t,s)}}var p={light:{background:"#ffffff",surface:"#f6f7fb",text:"#172033",muted:"#667085",line:"rgba(23,32,51,.16)",map:"#e9edf4"},dark:{background:"#0f1522",surface:"#1a2234",text:"#eef1f8",muted:"#a5aec2",line:"rgba(165,174,194,.24)",map:"#0f1522"}};function v(){try{return window.matchMedia?.("(prefers-color-scheme: dark)").matches===!0}catch{return!1}}function y(e){if(e)return e==="auto"?v()?"dark":"light":e}function I(e,n=e?.mode){if(e?.map)return e.map;let t=y(n);return t?{background:p[t].map}:null}function R(e){let n;try{n=window.matchMedia?.("(prefers-color-scheme: dark)")}catch{return()=>{}}if(!n)return()=>{};let t=r=>e(r.matches);return typeof n.addEventListener=="function"?n.addEventListener("change",t):n.addListener?.(t),()=>{typeof n.removeEventListener=="function"?n.removeEventListener("change",t):n.removeListener?.(t)}}function E(e,n,t){let r=t?p[t]:null,i=n?.background??r?.background??e?.background??"#0f1522",s=o(i)?f(i)==="#172033":!1,c=n?.surface??r?.surface??(s?"#ffffff":"#1a2234"),u=n?.accent??e?.accent??"#f4b740",m=e?.accentInk,h=n?.accentInk??(m&&(a(m,u)??4.5)>=4.5?m:f(u,"#1a1200","#ffffff")),l=r?void 0:e?.textColor,g=n?.text??r?.text??(l&&(a(l,i)??4.5)>=4.5&&(a(l,c)??4.5)>=4.5?l:f(i));return{"--sl-accent":u,"--sl-accent-ink":h,"--sl-accent-text":b(u,g,i,c),"--sl-bg":i,"--sl-surface":c,"--sl-text":g,"--sl-muted":n?.muted??r?.muted??(s?"#667085":"#a5aec2"),"--sl-line":n?.line??r?.line??(s?"rgba(23,32,51,.16)":"rgba(165,174,194,.24)"),"--sl-font":n?.fontFamily??e?.fontFamily??"-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,sans-serif","--sl-radius":`${n?.radius??14}px`}}export{f as a,T as b,L as c,p as d,y as e,I as f,R as g,E as h};
@@ -189,7 +189,7 @@ var $="public",E="Public sale";function M(i){return i==null||i===""||i===$}var K
189
189
  .slm-ch-lkrow{display:flex;gap:8px;margin-top:5px;font-size:11px;color:var(--slm-muted)}
190
190
  .slm-ch-lkrow .k{flex:none;min-width:104px}
191
191
  .slm-ch-lkrow .v{color:var(--slm-text);font-variant-numeric:tabular-nums}
192
- .slm-ch-meter{height:5px;border-radius:3px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:8px}
192
+ .slm-ch-meter{height:5px;border-radius:3px;background:var(--slm-tint-strong);overflow:hidden;margin-top:8px}
193
193
  .slm-ch-meter i{display:block;height:100%;background:var(--slm-accent);
194
194
  transition:width var(--slm-mo-base) var(--slm-mo-out)}
195
195
  .slm-ch-radio{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid var(--slm-line);
@@ -241,7 +241,7 @@ var $="public",E="Public sale";function M(i){return i==null||i===""||i===$}var K
241
241
  .slm.compact.ch-sheet .slm-railscroll{padding:8px 14px calc(12px + env(safe-area-inset-bottom,0px))}
242
242
  .slm-ch-grab{display:none}
243
243
  .slm.compact.ch-sheet .slm-ch-grab{display:flex;align-items:center;gap:10px;width:100%;padding:6px 0 10px}
244
- .slm-ch-grabbar{width:42px;height:4px;border-radius:2px;background:rgba(255,255,255,.22);margin:0 auto}
244
+ .slm-ch-grabbar{width:42px;height:4px;border-radius:2px;background:var(--slm-muted);margin:0 auto}
245
245
  .slm.compact .slm-ch-staged{bottom:auto;top:8px}
246
246
  .slm.compact .slm-btn,.slm.compact .slm-ch-row,.slm.compact .slm-ch-viewseg button{min-height:44px}
247
247
  @media (prefers-reduced-motion:reduce){
package/dist/index.d.cts CHANGED
@@ -2,7 +2,8 @@ import { PickerSeat, PickerGAArea, PickerSelectionValidator, PickerMapTheme, Ren
2
2
  export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
3
3
  import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
4
4
  import { Venue3DHandle } from '@seatlayer/core/view3d';
5
- 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, T as InventoryBookingObject, U as InventoryBookingState, V as InventoryBookingsPage, W as InventoryBookingsQuery, X as LogEntry, Y as LogPage, Z as ManageApi, _ as ManageApiError, $ as ReportByStatus, a0 as ReportCategoryMeta, a1 as ReportCategoryRow, a2 as ReportResult, a3 as SeatManager, a4 as SeatManagerActionResult, a5 as SeatManagerActivity, a6 as SeatManagerCapability, a7 as SeatManagerConnection, a8 as SeatManagerFilteredSection, a9 as SeatManagerMode, aa as SeatManagerOptions, ab as SeatManagerSelectionValidity, ac as SeatManagerTallies, ad as SelectionSourceRow } from './channelsMode-2z9HBOAX.cjs';
5
+ import { T as ThemeMode } from './channelsMode-goczEzyt.cjs';
6
+ 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';
6
7
 
7
8
  /**
8
9
  * Buyer access context — the browser half of the Sales Channels contract
@@ -2232,25 +2233,6 @@ interface SeatPickerOptions {
2232
2233
  onError?: (err: unknown) => void;
2233
2234
  }
2234
2235
 
2235
- /**
2236
- * pickerTheme — the widget's colour math: parse a CSS colour a host or a chart
2237
- * authored, judge its contrast, and resolve the `--sl-*` token set the
2238
- * stylesheet reads.
2239
- *
2240
- * Parsing remains widget-owned because host tokens may use the widget's
2241
- * tolerated CSS forms. Once parsed, luminance and RGB serialization delegate
2242
- * to the shared core colour primitives so contrast math has one definition.
2243
- */
2244
-
2245
- /**
2246
- * Light, dark, or follow the reader.
2247
- *
2248
- * `auto` is the viewer's own `prefers-color-scheme`, re-read live: a buyer who
2249
- * flips their phone into dark mode mid-purchase should not have to reload a
2250
- * page that is holding their seats.
2251
- */
2252
- type ThemeMode = 'light' | 'dark' | 'auto';
2253
-
2254
2236
  /** What the saved-seat comparison chip needs from the widget around it. */
2255
2237
  interface CompareChipHost {
2256
2238
  /** The live 3D overlay the chip mounts into, or null when 3D is down. */
@@ -3765,4 +3747,4 @@ interface AttachPickerFrameOptions {
3765
3747
  */
3766
3748
  declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
3767
3749
 
3768
- 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, 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 ThemeMode, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, shortOperationReference, ticketOfferPrices };
3750
+ 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, 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 };
package/dist/index.d.ts CHANGED
@@ -2,7 +2,8 @@ import { PickerSeat, PickerGAArea, PickerSelectionValidator, PickerMapTheme, Ren
2
2
  export { ExpandedSeat, PickerMapTheme, PickerSelectionValidator, PickerSelectionValidity, PickerSelectionViolation, RendererViewMode, SeatHoverDetails } from '@seatlayer/core';
3
3
  import * as _seatlayer_core_core_seatConfidence from '@seatlayer/core/core/seatConfidence';
4
4
  import { Venue3DHandle } from '@seatlayer/core/view3d';
5
- 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, T as InventoryBookingObject, U as InventoryBookingState, V as InventoryBookingsPage, W as InventoryBookingsQuery, X as LogEntry, Y as LogPage, Z as ManageApi, _ as ManageApiError, $ as ReportByStatus, a0 as ReportCategoryMeta, a1 as ReportCategoryRow, a2 as ReportResult, a3 as SeatManager, a4 as SeatManagerActionResult, a5 as SeatManagerActivity, a6 as SeatManagerCapability, a7 as SeatManagerConnection, a8 as SeatManagerFilteredSection, a9 as SeatManagerMode, aa as SeatManagerOptions, ab as SeatManagerSelectionValidity, ac as SeatManagerTallies, ad as SelectionSourceRow } from './channelsMode-2z9HBOAX.js';
5
+ import { T as ThemeMode } from './channelsMode-goczEzyt.js';
6
+ 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';
6
7
 
7
8
  /**
8
9
  * Buyer access context — the browser half of the Sales Channels contract
@@ -2232,25 +2233,6 @@ interface SeatPickerOptions {
2232
2233
  onError?: (err: unknown) => void;
2233
2234
  }
2234
2235
 
2235
- /**
2236
- * pickerTheme — the widget's colour math: parse a CSS colour a host or a chart
2237
- * authored, judge its contrast, and resolve the `--sl-*` token set the
2238
- * stylesheet reads.
2239
- *
2240
- * Parsing remains widget-owned because host tokens may use the widget's
2241
- * tolerated CSS forms. Once parsed, luminance and RGB serialization delegate
2242
- * to the shared core colour primitives so contrast math has one definition.
2243
- */
2244
-
2245
- /**
2246
- * Light, dark, or follow the reader.
2247
- *
2248
- * `auto` is the viewer's own `prefers-color-scheme`, re-read live: a buyer who
2249
- * flips their phone into dark mode mid-purchase should not have to reload a
2250
- * page that is holding their seats.
2251
- */
2252
- type ThemeMode = 'light' | 'dark' | 'auto';
2253
-
2254
2236
  /** What the saved-seat comparison chip needs from the widget around it. */
2255
2237
  interface CompareChipHost {
2256
2238
  /** The live 3D overlay the chip mounts into, or null when 3D is down. */
@@ -3765,4 +3747,4 @@ interface AttachPickerFrameOptions {
3765
3747
  */
3766
3748
  declare function attachPickerFrame(iframe: HTMLIFrameElement, opts?: AttachPickerFrameOptions): () => void;
3767
3749
 
3768
- 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, 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 ThemeMode, type TicketOfferAvailability, type TicketOfferPrice, type TicketOfferSummary, attachPickerFrame, bindSeatingChartHandle, buildSeatingChartOptions, createBuyerAccessContext, createControllerSink, parseTicketOfferAvailability, shortOperationReference, ticketOfferPrices };
3750
+ 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, 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 };