@seatlayer/js 0.50.2 → 0.52.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
@@ -1362,8 +1362,10 @@ interface SeatPickerOptions {
1362
1362
  seatId?: string;
1363
1363
  }) => void;
1364
1364
  /**
1365
- * Optional analytics sink for the widget's own journey events. Currently emits
1366
- * the 3D venue-view journey (`3d_opened`, `3d_orbit_engaged`, `3d_seat_picked`,
1365
+ * Optional analytics sink for the widget's journey and performance events.
1366
+ * Emits `chart_rendered` once per successful load with total time, step
1367
+ * timings and anonymous chart-size counts, plus the 3D venue-view journey
1368
+ * (`3d_opened`, `3d_orbit_engaged`, `3d_seat_picked`,
1367
1369
  * `3d_cinematic_played`/`_skipped`/`_cancelled`, panorama outcomes, and WebGL
1368
1370
  * context loss/recovery)
1369
1371
  * with `{ surface: 'buyer' }` merged into the props. A throwing sink never
@@ -1658,6 +1660,15 @@ declare class SeatPicker {
1658
1660
  private baZone;
1659
1661
  /** "★ Best seats" premium quick-pick toggle — biases best-available to premium seats. */
1660
1662
  private baPremium;
1663
+ /**
1664
+ * The buyer re-opened the best-seats form with seats already in the cart
1665
+ * ("I picked one, actually find us three together"). The card normally
1666
+ * yields this space to the ticket chips the moment anything is selected —
1667
+ * which removed the accelerator at exactly the moment a one-handed phone
1668
+ * buyer wants it. Cleared when the cart empties, a hold lands, or the
1669
+ * buyer backs out.
1670
+ */
1671
+ private baReopen;
1661
1672
  private bestAvailableConfirm;
1662
1673
  private releasingHold;
1663
1674
  /** Event sales window is closed (read-only load state / live close). */
@@ -1696,7 +1707,13 @@ declare class SeatPicker {
1696
1707
  private allSeatsCache;
1697
1708
  private miniCanvas;
1698
1709
  private miniBase;
1710
+ private miniWrap;
1711
+ private miniToggle;
1712
+ private miniLabel;
1699
1713
  private miniTf;
1714
+ private miniDrag;
1715
+ private miniSuppressClick;
1716
+ private pickerLayoutSize;
1700
1717
  private priceBandKeys;
1701
1718
  private focusedCatKey;
1702
1719
  /** "Hide limited-view seats" — mirrored into 3D by `seatState3dFor`. */
@@ -1730,6 +1747,7 @@ declare class SeatPicker {
1730
1747
  /** Wide-layout ticket panel collapsed (map owns the full width). */
1731
1748
  private sideCollapsed;
1732
1749
  private sideToggleEl;
1750
+ private pricesBtnEl;
1733
1751
  /** True once we've asked the host page to pin us fullscreen (framed, no native). */
1734
1752
  private framedFs;
1735
1753
  /** Last height (px) posted to a host frame; dedupes redundant reports. */
@@ -1948,17 +1966,30 @@ declare class SeatPicker {
1948
1966
  * drawn on top. The rect tracks pan/zoom via the constructor's onViewChange.
1949
1967
  */
1950
1968
  private buildMinimap;
1969
+ private setMinimapOpen;
1970
+ /** Re-fit the thumbnail whenever the active floor or complete overview
1971
+ * changes bounds. This is presentation-only; the source chart is untouched. */
1972
+ private layoutMinimap;
1973
+ private syncMinimapLabel;
1951
1974
  /** Repaint the static overview + rect (floor switch, live open/close). */
1952
1975
  private refreshMinimap;
1953
1976
  /** Paint the venue overview into the offscreen base canvas. */
1954
1977
  private drawMinimapStatic;
1955
1978
  /** Blit the base overview, then stroke the current viewport rectangle on top. */
1956
1979
  private drawMinimapRect;
1957
- /** Minimap click → focus the section under the point (or overview on a miss). */
1980
+ private minimapWorldPoint;
1981
+ private minimapPointerDown;
1982
+ private minimapPointerMove;
1983
+ private minimapPointerUp;
1984
+ private minimapKeydown;
1985
+ /** Minimap click → focus an available section, otherwise pan there. */
1958
1986
  private minimapJump;
1959
1987
  /** Effective display price of a category: host pricing override → first tier → base. */
1960
1988
  private catPrice;
1961
- /** Derive price bands: one chip per distinct price (≤5), else quantile ranges. */
1989
+ /** Complete buyer-visible price range, including every ticket tier and
1990
+ * tier-specific host override. */
1991
+ private catPriceRange;
1992
+ /** Derive category price bands without hiding the upper end of tier ranges. */
1962
1993
  private priceBands;
1963
1994
  /** Build the compact price selector in the panel header. Choosing a band both
1964
1995
  * filters availability and smoothly frames the matching seats on the map. */
@@ -1981,6 +2012,18 @@ declare class SeatPicker {
1981
2012
  private syncFloors;
1982
2013
  /** Show (or clear, on null) the tapped-section summary card. */
1983
2014
  private showSectionCard;
2015
+ /**
2016
+ * Open sections next to the focused one, in authored order.
2017
+ *
2018
+ * This is intentionally a circular ring: arena sections are usually authored
2019
+ * clockwise, so moving past the last section should reach the first without
2020
+ * forcing a buyer back through the overview level. Closed or empty sections
2021
+ * are skipped because focusing one cannot produce a useful buyer card.
2022
+ */
2023
+ private sectionNeighbours;
2024
+ /** Previous/next controls shared by expanded, mini, and phone section cards. */
2025
+ private sectionNavigationHtml;
2026
+ private wireSectionNavigation;
1984
2027
  /**
1985
2028
  * Render the section card in the form the layout + state want: expanded card
1986
2029
  * or slim pill in the top-center anchor region (wide), or a compact strip in
@@ -2250,14 +2293,16 @@ declare class SeatPicker {
2250
2293
  /** Build the view-from-seat panorama the cinematic dissolves into — reuses the
2251
2294
  * exact input path as the 2D `openSeatView` (organizer photo, else generated). */
2252
2295
  private seatViewFor3d;
2253
- /** Route the module's decoupled analytics into the host callback, tagged buyer. */
2296
+ /** Route decoupled analytics into the host callback, tagged buyer. */
2297
+ private emitAnalytics;
2254
2298
  private emit3dAnalytics;
2255
2299
  /** A 3D seat tap runs the SAME selection path as a 2D tap: toggle through the
2256
2300
  * controller, then raise the shared confirm card (bottom-sheeted in 3D). */
2257
2301
  private onView3dSeatPick;
2258
- /** Explain a visible-but-unselectable 3D seat without entering the booking
2259
- * flow. Category colour remains visible in the venue; this card names the
2260
- * availability state explicitly so yellow never has to carry both meanings. */
2302
+ /** Explain a 3D seat that INVENTORY refuses — never one the buyer's own
2303
+ * filters merely dimmed, which stays buyable exactly as it is in 2D. Category
2304
+ * colour remains visible in the venue; this card names the availability state
2305
+ * explicitly so yellow never has to carry both meanings. */
2261
2306
  private showUnavailable3dSeat;
2262
2307
  private dismissUnavailable3dSeat;
2263
2308
  /** Comparison belongs to inspection, never selection. The confirm candidate
package/dist/index.d.ts CHANGED
@@ -1362,8 +1362,10 @@ interface SeatPickerOptions {
1362
1362
  seatId?: string;
1363
1363
  }) => void;
1364
1364
  /**
1365
- * Optional analytics sink for the widget's own journey events. Currently emits
1366
- * the 3D venue-view journey (`3d_opened`, `3d_orbit_engaged`, `3d_seat_picked`,
1365
+ * Optional analytics sink for the widget's journey and performance events.
1366
+ * Emits `chart_rendered` once per successful load with total time, step
1367
+ * timings and anonymous chart-size counts, plus the 3D venue-view journey
1368
+ * (`3d_opened`, `3d_orbit_engaged`, `3d_seat_picked`,
1367
1369
  * `3d_cinematic_played`/`_skipped`/`_cancelled`, panorama outcomes, and WebGL
1368
1370
  * context loss/recovery)
1369
1371
  * with `{ surface: 'buyer' }` merged into the props. A throwing sink never
@@ -1658,6 +1660,15 @@ declare class SeatPicker {
1658
1660
  private baZone;
1659
1661
  /** "★ Best seats" premium quick-pick toggle — biases best-available to premium seats. */
1660
1662
  private baPremium;
1663
+ /**
1664
+ * The buyer re-opened the best-seats form with seats already in the cart
1665
+ * ("I picked one, actually find us three together"). The card normally
1666
+ * yields this space to the ticket chips the moment anything is selected —
1667
+ * which removed the accelerator at exactly the moment a one-handed phone
1668
+ * buyer wants it. Cleared when the cart empties, a hold lands, or the
1669
+ * buyer backs out.
1670
+ */
1671
+ private baReopen;
1661
1672
  private bestAvailableConfirm;
1662
1673
  private releasingHold;
1663
1674
  /** Event sales window is closed (read-only load state / live close). */
@@ -1696,7 +1707,13 @@ declare class SeatPicker {
1696
1707
  private allSeatsCache;
1697
1708
  private miniCanvas;
1698
1709
  private miniBase;
1710
+ private miniWrap;
1711
+ private miniToggle;
1712
+ private miniLabel;
1699
1713
  private miniTf;
1714
+ private miniDrag;
1715
+ private miniSuppressClick;
1716
+ private pickerLayoutSize;
1700
1717
  private priceBandKeys;
1701
1718
  private focusedCatKey;
1702
1719
  /** "Hide limited-view seats" — mirrored into 3D by `seatState3dFor`. */
@@ -1730,6 +1747,7 @@ declare class SeatPicker {
1730
1747
  /** Wide-layout ticket panel collapsed (map owns the full width). */
1731
1748
  private sideCollapsed;
1732
1749
  private sideToggleEl;
1750
+ private pricesBtnEl;
1733
1751
  /** True once we've asked the host page to pin us fullscreen (framed, no native). */
1734
1752
  private framedFs;
1735
1753
  /** Last height (px) posted to a host frame; dedupes redundant reports. */
@@ -1948,17 +1966,30 @@ declare class SeatPicker {
1948
1966
  * drawn on top. The rect tracks pan/zoom via the constructor's onViewChange.
1949
1967
  */
1950
1968
  private buildMinimap;
1969
+ private setMinimapOpen;
1970
+ /** Re-fit the thumbnail whenever the active floor or complete overview
1971
+ * changes bounds. This is presentation-only; the source chart is untouched. */
1972
+ private layoutMinimap;
1973
+ private syncMinimapLabel;
1951
1974
  /** Repaint the static overview + rect (floor switch, live open/close). */
1952
1975
  private refreshMinimap;
1953
1976
  /** Paint the venue overview into the offscreen base canvas. */
1954
1977
  private drawMinimapStatic;
1955
1978
  /** Blit the base overview, then stroke the current viewport rectangle on top. */
1956
1979
  private drawMinimapRect;
1957
- /** Minimap click → focus the section under the point (or overview on a miss). */
1980
+ private minimapWorldPoint;
1981
+ private minimapPointerDown;
1982
+ private minimapPointerMove;
1983
+ private minimapPointerUp;
1984
+ private minimapKeydown;
1985
+ /** Minimap click → focus an available section, otherwise pan there. */
1958
1986
  private minimapJump;
1959
1987
  /** Effective display price of a category: host pricing override → first tier → base. */
1960
1988
  private catPrice;
1961
- /** Derive price bands: one chip per distinct price (≤5), else quantile ranges. */
1989
+ /** Complete buyer-visible price range, including every ticket tier and
1990
+ * tier-specific host override. */
1991
+ private catPriceRange;
1992
+ /** Derive category price bands without hiding the upper end of tier ranges. */
1962
1993
  private priceBands;
1963
1994
  /** Build the compact price selector in the panel header. Choosing a band both
1964
1995
  * filters availability and smoothly frames the matching seats on the map. */
@@ -1981,6 +2012,18 @@ declare class SeatPicker {
1981
2012
  private syncFloors;
1982
2013
  /** Show (or clear, on null) the tapped-section summary card. */
1983
2014
  private showSectionCard;
2015
+ /**
2016
+ * Open sections next to the focused one, in authored order.
2017
+ *
2018
+ * This is intentionally a circular ring: arena sections are usually authored
2019
+ * clockwise, so moving past the last section should reach the first without
2020
+ * forcing a buyer back through the overview level. Closed or empty sections
2021
+ * are skipped because focusing one cannot produce a useful buyer card.
2022
+ */
2023
+ private sectionNeighbours;
2024
+ /** Previous/next controls shared by expanded, mini, and phone section cards. */
2025
+ private sectionNavigationHtml;
2026
+ private wireSectionNavigation;
1984
2027
  /**
1985
2028
  * Render the section card in the form the layout + state want: expanded card
1986
2029
  * or slim pill in the top-center anchor region (wide), or a compact strip in
@@ -2250,14 +2293,16 @@ declare class SeatPicker {
2250
2293
  /** Build the view-from-seat panorama the cinematic dissolves into — reuses the
2251
2294
  * exact input path as the 2D `openSeatView` (organizer photo, else generated). */
2252
2295
  private seatViewFor3d;
2253
- /** Route the module's decoupled analytics into the host callback, tagged buyer. */
2296
+ /** Route decoupled analytics into the host callback, tagged buyer. */
2297
+ private emitAnalytics;
2254
2298
  private emit3dAnalytics;
2255
2299
  /** A 3D seat tap runs the SAME selection path as a 2D tap: toggle through the
2256
2300
  * controller, then raise the shared confirm card (bottom-sheeted in 3D). */
2257
2301
  private onView3dSeatPick;
2258
- /** Explain a visible-but-unselectable 3D seat without entering the booking
2259
- * flow. Category colour remains visible in the venue; this card names the
2260
- * availability state explicitly so yellow never has to carry both meanings. */
2302
+ /** Explain a 3D seat that INVENTORY refuses — never one the buyer's own
2303
+ * filters merely dimmed, which stays buyable exactly as it is in 2D. Category
2304
+ * colour remains visible in the venue; this card names the availability state
2305
+ * explicitly so yellow never has to carry both meanings. */
2261
2306
  private showUnavailable3dSeat;
2262
2307
  private dismissUnavailable3dSeat;
2263
2308
  /** Comparison belongs to inspection, never selection. The confirm candidate