@seatmap.pro/renderer 0.0.5 → 0.1.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/lib/index.d.ts CHANGED
@@ -122,7 +122,8 @@ interface IPlainSeatsDTO {
122
122
  * Contains the core properties of a seat as received from the backend.
123
123
  * @hidden
124
124
  */
125
- type ISeatDTO = IBaseSeat;
125
+ interface ISeatDTO extends IBaseSeat {
126
+ }
126
127
  /**
127
128
  * Interface representing a row in the venue.
128
129
  * @hidden
@@ -139,13 +140,14 @@ interface IRowDTO {
139
140
  * Contains the core properties of a sector as received from the backend.
140
141
  * @hidden
141
142
  */
142
- type ISectorDTO = IBaseSector;
143
+ interface ISectorDTO extends IBaseSector {
144
+ }
143
145
  /**
144
146
  * Interface representing the SVG background data transfer object from the API.
145
147
  * @hidden
146
148
  */
147
149
  interface ISVGBackgroundDTO {
148
- svg: string;
150
+ svg?: Nullable<string>;
149
151
  viewBox: {
150
152
  x: number;
151
153
  y: number;
@@ -154,6 +156,7 @@ interface ISVGBackgroundDTO {
154
156
  };
155
157
  svgLink?: string;
156
158
  images?: IPngBackgroundDTO;
159
+ outlineSvg?: Nullable<string>;
157
160
  }
158
161
  /**
159
162
  * Interface representing the configuration data transfer object from the API.
@@ -253,6 +256,7 @@ interface IPngBackgroundDTO {
253
256
  interface IBookingApiClientSettings {
254
257
  baseUrl: string;
255
258
  publicKey: string;
259
+ debug?: boolean;
256
260
  }
257
261
  /**
258
262
  * Metrics for API requests.
@@ -305,7 +309,7 @@ declare class BookingApiClient {
305
309
  * Makes request to booking API
306
310
  * @param url Relative API endpoint URL, e.g. 'event/prices/?id=XXX'
307
311
  */
308
- requestPlain<T extends RequestMetrics>(url: string): Promise<any>;
312
+ requestPlain<T extends RequestMetrics>(url: string): Promise<T>;
309
313
  private restoreSeats;
310
314
  private restoreIds;
311
315
  }
@@ -315,6 +319,9 @@ interface IPoint {
315
319
  readonly y: number;
316
320
  }
317
321
 
322
+ type ById$1<T> = {
323
+ [id: number]: T;
324
+ };
318
325
  interface IPrice {
319
326
  id: IPriceId;
320
327
  name: string;
@@ -326,6 +333,27 @@ interface IColoredPrice extends IPrice {
326
333
  * @hidden
327
334
  */
328
335
  type ColorSequenceSettings = string[][];
336
+ /**
337
+ * @hidden
338
+ */
339
+ declare const sortPrices: <T extends IPrice>(prices: T[]) => T[];
340
+ /**
341
+ * @hidden
342
+ */
343
+ declare const convertPricesToColored: (prices: IPrice[], colorSettings: ColorSequenceSettings) => IColoredPrice[];
344
+ /**
345
+ * @hidden
346
+ */
347
+ declare const convertPricesToColoredById: (prices: IPrice[], colorSettings: ColorSequenceSettings) => ById$1<IColoredPrice>;
348
+
349
+ interface IVisibilityStatus {
350
+ selectable: boolean;
351
+ visible: boolean;
352
+ }
353
+ interface IVisibilityStatuses {
354
+ outline: IVisibilityStatus;
355
+ seat: IVisibilityStatus;
356
+ }
329
357
 
330
358
  /**
331
359
  * @hidden
@@ -339,6 +367,7 @@ interface IRendererMachineContext {
339
367
  targetType: RendererTargetType;
340
368
  id: number;
341
369
  };
370
+ visibility?: IVisibilityStatuses;
342
371
  }
343
372
  /**
344
373
  * @hidden
@@ -403,15 +432,18 @@ interface IDragSrcEvent<T> {
403
432
  /**
404
433
  * @hidden
405
434
  */
406
- type IDragStartSrcEvent = IDragSrcEvent<SrcEventType.DRAG_START>;
435
+ interface IDragStartSrcEvent extends IDragSrcEvent<SrcEventType.DRAG_START> {
436
+ }
407
437
  /**
408
438
  * @hidden
409
439
  */
410
- type IDragMoveSrcEvent = IDragSrcEvent<SrcEventType.DRAG_MOVE>;
440
+ interface IDragMoveSrcEvent extends IDragSrcEvent<SrcEventType.DRAG_MOVE> {
441
+ }
411
442
  /**
412
443
  * @hidden
413
444
  */
414
- type IDragEndSrcEvent = IDragSrcEvent<SrcEventType.DRAG_END>;
445
+ interface IDragEndSrcEvent extends IDragSrcEvent<SrcEventType.DRAG_END> {
446
+ }
415
447
  /**
416
448
  * @hidden
417
449
  */
@@ -596,8 +628,9 @@ declare class Context {
596
628
  scale: number;
597
629
  translate: IPoint;
598
630
  isEagleView: boolean;
631
+ visibility: IVisibilityStatuses;
599
632
  private _seats;
600
- seatsIndex: KDBush<ISeat>;
633
+ seatsIndex: KDBush;
601
634
  seatsById: ById<ISeat>;
602
635
  seatsByRowId: {
603
636
  [rowId: number]: ISeat[];
@@ -614,7 +647,7 @@ declare class Context {
614
647
  private _selectedSeatIds;
615
648
  private _selectedGaId?;
616
649
  underlay: {
617
- svgString: string;
650
+ svgString?: Nullable<string>;
618
651
  viewBox: {
619
652
  x: number;
620
653
  y: number;
@@ -622,6 +655,7 @@ declare class Context {
622
655
  height: number;
623
656
  };
624
657
  svgUrl?: string;
658
+ outlineSvg?: Nullable<string>;
625
659
  pngBackground?: IPngBackgroundDTO;
626
660
  };
627
661
  hoveredSeat?: ISeat;
@@ -684,12 +718,19 @@ declare class Context {
684
718
  getSeatByOffset: (offset: IPoint) => ISeat | undefined;
685
719
  }
686
720
 
721
+ type Nullable<T> = T | null | undefined;
722
+ type DeepPartial<T> = T extends object ? {
723
+ [P in keyof T]?: DeepPartial<T[P]>;
724
+ } : T;
687
725
  /**
688
726
  * Type for mapping objects by their ID.
689
727
  */
690
728
  type ById<T> = {
691
729
  [id: number]: T;
692
730
  };
731
+ type ColorById<T> = {
732
+ [id: number | string]: T;
733
+ };
693
734
  /**
694
735
  * Type representing a price identifier, which can be either a number or a string.
695
736
  * Used to uniquely identify price points in the system.
@@ -720,6 +761,10 @@ interface ISeat extends IBaseSeat {
720
761
  * Special state information for the seat.
721
762
  */
722
763
  special?: ISpecialState;
764
+ /**
765
+ * The state of the seat.
766
+ */
767
+ state?: SeatInteractionState;
723
768
  }
724
769
  /**
725
770
  * Interface representing a sector in the venue with extended properties.
@@ -918,7 +963,7 @@ interface ICartGa {
918
963
  /**
919
964
  * The price per GA ticket.
920
965
  */
921
- price: number;
966
+ price?: number;
922
967
  }
923
968
  /**
924
969
  * Interface representing a removed general admission (GA) item from the cart.
@@ -973,11 +1018,34 @@ type ISeatPriceScheme = {
973
1018
  */
974
1019
  priceId: IPriceId;
975
1020
  };
1021
+ interface IZoomSettings {
1022
+ presets: number[];
1023
+ maxZoomToFitScale: number;
1024
+ minPinchZoom: number;
1025
+ maxPinchZoom: number;
1026
+ }
1027
+ interface IRange {
1028
+ from?: number;
1029
+ to?: number;
1030
+ }
1031
+ interface IVisibleSetting {
1032
+ visible?: IRange;
1033
+ selectable?: IRange;
1034
+ }
1035
+ interface IVisibilitySettings {
1036
+ seats?: IVisibleSetting;
1037
+ outlines?: IVisibleSetting;
1038
+ }
976
1039
  /**
977
1040
  * Configuration settings for the renderer.
978
1041
  * Defines various options that control the behavior and appearance of the renderer.
979
1042
  */
980
1043
  interface IRendererSettings {
1044
+ /**
1045
+ * Debug mode for the renderer.
1046
+ * @hidden
1047
+ */
1048
+ debug?: boolean;
981
1049
  /**
982
1050
  * Environment setting that determines which API endpoint to use.
983
1051
  * Can be 'local', 'stage', or 'production' (default).
@@ -1013,6 +1081,9 @@ interface IRendererSettings {
1013
1081
  padding?: number;
1014
1082
  /**
1015
1083
  * Minimum zoom level required to enable seat selection.
1084
+ *
1085
+ * @deprecated
1086
+ * Use visibilitySettings instead
1016
1087
  */
1017
1088
  seatSelectionMinZoom?: number;
1018
1089
  /**
@@ -1035,6 +1106,14 @@ interface IRendererSettings {
1035
1106
  * If true, disables zoom when clicking on empty space.
1036
1107
  */
1037
1108
  disableZoomToEmptySpace?: boolean;
1109
+ /**
1110
+ * If true, disables cart changed when clicking on sections.
1111
+ */
1112
+ disableCartInteractions?: boolean;
1113
+ /**
1114
+ *
1115
+ */
1116
+ disableOutlinesInHelicopterView?: boolean;
1038
1117
  /**
1039
1118
  * If true, hides all seats from view.
1040
1119
  */
@@ -1055,6 +1134,14 @@ interface IRendererSettings {
1055
1134
  * If true, uses WebGL for rendering instead of Canvas.
1056
1135
  */
1057
1136
  switchToWebGL?: boolean;
1137
+ /**
1138
+ * Option to configure zoom settings
1139
+ */
1140
+ zoomSettings?: IZoomSettings;
1141
+ /**
1142
+ * Option to configure visibility settings
1143
+ */
1144
+ visibilitySettings?: IVisibilitySettings;
1058
1145
  /**
1059
1146
  * Rises when the mouse pointer moves above a seat.
1060
1147
  *
@@ -1196,7 +1283,7 @@ interface IRendererSettings {
1196
1283
  * Represents the possible interaction states of a seat.
1197
1284
  * Used to determine how a seat should be rendered based on user interaction.
1198
1285
  */
1199
- type SeatInteractionState = 'default' | 'hovered' | 'selected';
1286
+ type SeatInteractionState = 'default' | 'hovered' | 'selected' | 'unavailable' | 'loading' | 'error';
1200
1287
  /**
1201
1288
  * Interface for the event data passed to the onBeforeSeatDraw callback.
1202
1289
  * Contains information about the seat being drawn and its current state.
@@ -1225,8 +1312,10 @@ interface IRendererSeatStyleSettings {
1225
1312
  filtered?: ISeatStyle;
1226
1313
  hovered?: ISeatStyle;
1227
1314
  selected?: ISeatStyle;
1315
+ loading?: ISeatStyle;
1316
+ error?: ISeatStyle;
1228
1317
  }
1229
- interface ISeatStyle {
1318
+ interface IBasicSeatStyle {
1230
1319
  size: number;
1231
1320
  color: string;
1232
1321
  seatName?: {
@@ -1245,7 +1334,9 @@ interface ISeatStyle {
1245
1334
  x?: number;
1246
1335
  y?: number;
1247
1336
  };
1248
- accessible?: ISeatStyle;
1337
+ }
1338
+ interface ISeatStyle extends IBasicSeatStyle {
1339
+ accessible?: IBasicSeatStyle;
1249
1340
  }
1250
1341
  interface IRendererSvgSectionStylesSetting {
1251
1342
  default?: Pick<ISvgSectionStyle, 'sectionName' | 'stroke' | 'cursor'>;
@@ -1262,6 +1353,7 @@ interface ISvgSectionStyle {
1262
1353
  stroke?: {
1263
1354
  color?: string;
1264
1355
  opacity?: number;
1356
+ width?: string;
1265
1357
  };
1266
1358
  cursor?: string;
1267
1359
  }
@@ -1294,23 +1386,56 @@ interface IOutlineRect {
1294
1386
  declare class OutlineLayer {
1295
1387
  svgElement: SVGSVGElement;
1296
1388
  private outlineShapes;
1389
+ private outlineRect;
1297
1390
  private context;
1391
+ private originalSvg;
1392
+ private backgroundSVG;
1393
+ private hasBackgroundOutline;
1394
+ private underlayBindedPathAttr;
1395
+ private calculatedOutlineRects;
1298
1396
  constructor(context: Context);
1299
1397
  destroy(): void;
1300
1398
  setSectionSelection(id: number | undefined): void;
1301
1399
  highlightGa(id: number | undefined): void;
1302
1400
  clearSectionHighlight(): void;
1303
1401
  highlightSection(id: number | undefined): void;
1402
+ clearSectionFocus(): void;
1403
+ focusSection(id: number | undefined): void;
1404
+ private removeClassNameAll;
1405
+ private addClassName;
1406
+ getSectionRect(id: Nullable<number>): Nullable<DOMRect>;
1407
+ getSectionElement(id: number | undefined): Nullable<Element>;
1304
1408
  get width(): number;
1305
1409
  get height(): number;
1306
1410
  updateSize(): void;
1307
- checkBackgroundOutlines(): boolean;
1411
+ checkBackgroundOutlines(): boolean | undefined;
1412
+ initializeBackgroundOutline(): void;
1413
+ /**
1414
+ *
1415
+ * refactoring plan:
1416
+ * * decompose this method into smaller ones
1417
+ * - prepare SVG background outlines
1418
+ * - GA outlines
1419
+ * - sections outlines
1420
+ * - prepare shapes outlines
1421
+ * - GA only
1422
+ * - prepare auto-generated outlines
1423
+ * - Reserved seats
1424
+ * - Tables
1425
+ * - append outlines to the main svg element
1426
+ */
1308
1427
  setBackgroundAsOutline(): void;
1428
+ private extractSVGBackgroundOutlines;
1309
1429
  cleanSvgInlineStyles(stylesToRemove?: string[]): void;
1310
1430
  updateOutlines(): void;
1431
+ private appendAutoAndGaOutlines;
1432
+ private createOrGetOutlineShapes;
1433
+ private appendAutoOutlines;
1434
+ private appendGAOutlines;
1435
+ private getOutlineRects;
1311
1436
  createOutlineRect(section: ISector): SVGRectElement;
1312
1437
  calcOutlineRect(section: ISector): IOutlineRect;
1313
- handleChangeEagleView(): void;
1438
+ handleChangeEagleView(isEagleView?: boolean): void;
1314
1439
  createGaInfo: (gaGroups: SVGGElement[]) => IGaInfo[];
1315
1440
  disableSvgSectionById: (id: number) => void;
1316
1441
  enableSvgSectionById: (id: number) => void;
@@ -1320,6 +1445,7 @@ declare class OutlineLayer {
1320
1445
  updateAnimationStep(scale: number, translate: IPoint): void;
1321
1446
  hide(): void;
1322
1447
  show(): void;
1448
+ private getContextSvg;
1323
1449
  }
1324
1450
 
1325
1451
  /**
@@ -1495,19 +1621,29 @@ interface IRenderer {
1495
1621
  */
1496
1622
  getSvgSectionBySelection: () => ISectorDTO[];
1497
1623
  }
1498
- interface IZoomSettings {
1499
- presets: number[];
1500
- maxZoomToFitScale: number;
1501
- minPinchZoom: number;
1502
- maxPinchZoom: number;
1624
+ /**
1625
+ * @hidden
1626
+ */
1627
+ interface IRendererAnimation {
1628
+ startTime?: number;
1629
+ duration: number;
1630
+ fromScale: number;
1631
+ toScale: number;
1632
+ fromTranslate?: IPoint;
1633
+ translate?: IPoint;
1634
+ toTranslate: IPoint;
1635
+ relativeTranslate?: IPoint;
1636
+ frame: number;
1637
+ inProgress: boolean;
1503
1638
  }
1639
+
1504
1640
  /**
1505
1641
  * Base Renderer class that implements the IRenderer interface.
1506
1642
  * Provides core functionality for rendering and interacting with a venue map.
1507
1643
  */
1508
1644
  declare class Renderer implements IRenderer {
1509
- protected zoomSettings: IZoomSettings;
1510
1645
  private hammer;
1646
+ private visibilityManager;
1511
1647
  private height;
1512
1648
  private width;
1513
1649
  private padding;
@@ -1515,16 +1651,16 @@ declare class Renderer implements IRenderer {
1515
1651
  private stageLayer;
1516
1652
  private selectionLayer;
1517
1653
  protected outlineLayer: OutlineLayer;
1654
+ private service;
1518
1655
  private zoomToFitScale;
1519
1656
  private isTouchMode;
1520
1657
  private pinchStartPoint?;
1521
1658
  private animation?;
1522
1659
  private resizeTimer;
1523
- private service;
1524
1660
  protected isRunning: boolean;
1525
1661
  private disableZoomToEmptySpace;
1526
- private backgroundLoadStepTime;
1527
1662
  private switchToWebGL;
1663
+ private originalSectionPrices;
1528
1664
  /**
1529
1665
  * Creates a new instance of the Renderer.
1530
1666
  *
@@ -1706,7 +1842,7 @@ declare class Renderer implements IRenderer {
1706
1842
  *
1707
1843
  * ```js
1708
1844
  * renderer.addGaToCart({
1709
- * id: 100500,
1845
+ * sectorId: 100500,
1710
1846
  * key: 'Table 2',
1711
1847
  * price: 200,
1712
1848
  * // quantity of GA tickets
@@ -1853,12 +1989,14 @@ declare class Renderer implements IRenderer {
1853
1989
  */
1854
1990
  getSeatSelection(): IExtendedSeat[];
1855
1991
  setSectionSelection(sections?: number[] | string[]): void;
1856
- getSvgSectionBySelection(): IBaseSector[];
1992
+ getSvgSectionBySelection(): ISectorDTO[];
1857
1993
  disableSvgSectionsByIds(ids: number[], options?: {
1858
1994
  resetAll?: boolean;
1859
1995
  }): void;
1860
1996
  enableSvgSectionsByIds(ids: number[]): void;
1861
1997
  private updateBackgroundImage;
1998
+ disableSectionsByIds(ids: number[]): void;
1999
+ enableSectionsByIds(): void;
1862
2000
  filterSvgSectionsByIds(ids: number[], options?: {
1863
2001
  resetAll?: boolean;
1864
2002
  }): void;
@@ -1926,6 +2064,11 @@ declare class Renderer implements IRenderer {
1926
2064
  highlightSector(id: number | undefined): void;
1927
2065
  private startPanAnimation;
1928
2066
  private animationPanStep;
2067
+ zoomToSection(section: string | number, options?: {
2068
+ focus?: boolean;
2069
+ }): void;
2070
+ zoomToDestination(newScale: number, destination: IPoint, duration?: number): void;
2071
+ private getSectionId;
1929
2072
  private startAnimation;
1930
2073
  private animationStep;
1931
2074
  private cachedDraw;
@@ -1957,6 +2100,7 @@ declare class Renderer implements IRenderer {
1957
2100
  */
1958
2101
  getMaxZoom(): number;
1959
2102
  viewSection(section: ISection): void;
2103
+ private getStageLayer;
1960
2104
  }
1961
2105
 
1962
2106
  interface IAdminRendererSettings extends IRendererSettings {
@@ -2100,7 +2244,7 @@ interface IBookingRendererSettings extends IRendererSettings {
2100
2244
  * Environment setting that determines which API endpoint to use.
2101
2245
  * Can be 'local', 'stage', or 'production' (default).
2102
2246
  */
2103
- env?: string;
2247
+ env?: 'local' | 'stage' | 'production';
2104
2248
  /**
2105
2249
  * If set to `true`, zoom is disabled when clicking into empty space.
2106
2250
  *
@@ -2119,6 +2263,13 @@ interface IBookingRendererSettings extends IRendererSettings {
2119
2263
  * @defaultValue `0`
2120
2264
  */
2121
2265
  backgroundLoadStepTime?: number;
2266
+ /**
2267
+ * If set to true, renderer will be in debug mode.
2268
+ *
2269
+ * @defaultValue `false`
2270
+ * @hidden
2271
+ */
2272
+ debug?: boolean;
2122
2273
  }
2123
2274
  /**
2124
2275
  * Booking Renderer class for seatmap booking.
@@ -2202,6 +2353,7 @@ declare class SeatmapBookingRenderer extends Renderer {
2202
2353
  private leaveSectionOnly;
2203
2354
  }
2204
2355
 
2205
- declare const mergeSettings: <TSettings extends IRendererSettings>(defaults: IRendererSettings, settings?: TSettings | undefined) => IRendererSettings & TSettings;
2356
+ declare const defaultZoomSettings: IZoomSettings;
2357
+ declare const mergeSettings: (defaults: IRendererSettings, settings?: Partial<IRendererSettings>) => IRendererSettings & Partial<IRendererSettings>;
2206
2358
 
2207
- export { BookingApiClient, type ById, type ColorSequenceSettings, type DestEvent, DestEventType, type IAdminRendererSettings, type IBaseSeat, type IBaseSector, type IBeforeSeatDrawEvent, type IBookingRendererSettings, type ICart, type ICartGa, type ICartSeat, type IClickSrcEvent, type IColoredPrice, type IConfigurationDTO, type IDeselectDestEvent, type IDragEndSrcEvent, type IDragMoveSrcEvent, type IDragStartSrcEvent, type IExtendedSeat, type IMouseMoveSrcEvent, type IPanDestEvent, type IPanZoomDestEvent, type IPlainSeatsDTO, type IPngBackgroundDTO, type IPoint, type IPrice, type IPriceDTO, type IPriceId, type IPriceListDTO, type IRectSelectDestEvent, type IRemovedCartGa, type IRenderer, type IRendererMachineContext, type IRendererSeatStyleSettings, type IRendererSettings, type IRendererSvgSectionStylesSetting, type IRendererTheme, type IRowDTO, type ISVGBackgroundDTO, type ISchemaDTO, type ISeat, type ISeatCartSwitchDestEvent, type ISeatDTO, type ISeatMouseEnterDestEvent, type ISeatMouseLeaveDestEvent, type ISeatPriceScheme, type ISeatSelectDestEvent, type ISeatStyle, type ISection, type ISectionClickDestEvent, type ISectionMouseEnterDestEvent, type ISectionMouseLeaveDestEvent, type ISectionRect, type ISectionWithCoords, type ISector, type ISectorDTO, type ISpecialPrice, type ISpecialState, type ISvgSectionStyle, type IVenueDTO, Renderer, type RendererMachine, type RendererMachineReducer, type RendererMachineService, RendererSelectMode, RendererTargetType, type SeatFilter, type SeatInteractionState, SeatmapAdminRenderer, SeatmapBookingRenderer, type SrcEvent, SrcEventType, type TransformArray, mergeSettings };
2359
+ export { BookingApiClient, type ById, type ColorById, type ColorSequenceSettings, type DeepPartial, type DestEvent, DestEventType, type IAdminRendererSettings, type IBaseSeat, type IBaseSector, type IBasicSeatStyle, type IBeforeSeatDrawEvent, type IBookingRendererSettings, type ICart, type ICartGa, type ICartSeat, type IClickSrcEvent, type IColoredPrice, type IConfigurationDTO, type IDeselectDestEvent, type IDragEndSrcEvent, type IDragMoveSrcEvent, type IDragStartSrcEvent, type IExtendedSeat, type IMouseMoveSrcEvent, type IPanDestEvent, type IPanZoomDestEvent, type IPlainSeatsDTO, type IPngBackgroundDTO, type IPoint, type IPrice, type IPriceDTO, type IPriceId, type IPriceListDTO, type IRectSelectDestEvent, type IRemovedCartGa, type IRenderer, type IRendererAnimation, type IRendererMachineContext, type IRendererSeatStyleSettings, type IRendererSettings, type IRendererSvgSectionStylesSetting, type IRendererTheme, type IRowDTO, type ISVGBackgroundDTO, type ISchemaDTO, type ISeat, type ISeatCartSwitchDestEvent, type ISeatDTO, type ISeatMouseEnterDestEvent, type ISeatMouseLeaveDestEvent, type ISeatPriceScheme, type ISeatSelectDestEvent, type ISeatStyle, type ISection, type ISectionClickDestEvent, type ISectionMouseEnterDestEvent, type ISectionMouseLeaveDestEvent, type ISectionRect, type ISectionWithCoords, type ISector, type ISectorDTO, type ISpecialPrice, type ISpecialState, type ISvgSectionStyle, type IVenueDTO, type IVisibilitySettings, type IZoomSettings, type Nullable, Renderer, type RendererMachine, type RendererMachineReducer, type RendererMachineService, RendererSelectMode, RendererTargetType, type SeatFilter, type SeatInteractionState, SeatmapAdminRenderer, SeatmapBookingRenderer, type SrcEvent, SrcEventType, type TransformArray, convertPricesToColored, convertPricesToColoredById, defaultZoomSettings, mergeSettings, sortPrices };