@seatmap.pro/renderer 1.47.0 → 1.54.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 +401 -18
- package/lib/index.js +1 -1
- package/package.json +16 -13
- package/README.md +0 -74
package/lib/index.d.ts
CHANGED
|
@@ -368,6 +368,12 @@ interface IRendererMachineContext {
|
|
|
368
368
|
id: number;
|
|
369
369
|
};
|
|
370
370
|
visibility?: IVisibilityStatuses;
|
|
371
|
+
enable3DView?: boolean;
|
|
372
|
+
rotationZ?: number;
|
|
373
|
+
perspectiveZ?: number;
|
|
374
|
+
tiltX?: number;
|
|
375
|
+
getWidth?: () => number;
|
|
376
|
+
getHeight?: () => number;
|
|
371
377
|
}
|
|
372
378
|
/**
|
|
373
379
|
* @hidden
|
|
@@ -629,6 +635,10 @@ declare class Context {
|
|
|
629
635
|
translate: IPoint;
|
|
630
636
|
isEagleView: boolean;
|
|
631
637
|
visibility: IVisibilityStatuses;
|
|
638
|
+
enable3DView: boolean;
|
|
639
|
+
rotationZ: number;
|
|
640
|
+
perspectiveZ: number;
|
|
641
|
+
tiltX: number;
|
|
632
642
|
private _seats;
|
|
633
643
|
seatsIndex: KDBush;
|
|
634
644
|
seatsById: ById<ISeat>;
|
|
@@ -640,6 +650,15 @@ declare class Context {
|
|
|
640
650
|
pricesById: ById<IColoredPrice>;
|
|
641
651
|
seatsKeysMissedOnPriceSet: string[];
|
|
642
652
|
seatsIdsMissedOnPriceSet: number[];
|
|
653
|
+
rowsPolylines?: Array<{
|
|
654
|
+
points: {
|
|
655
|
+
x: number;
|
|
656
|
+
y: number;
|
|
657
|
+
}[];
|
|
658
|
+
widthPx?: number;
|
|
659
|
+
color?: string;
|
|
660
|
+
}>;
|
|
661
|
+
rowsPolylinesVersion: number;
|
|
643
662
|
/**
|
|
644
663
|
* @hidden
|
|
645
664
|
*/
|
|
@@ -661,6 +680,12 @@ declare class Context {
|
|
|
661
680
|
hoveredSeat?: ISeat;
|
|
662
681
|
hoveredRow?: IRowDTO;
|
|
663
682
|
gaInfo: IGaInfo[];
|
|
683
|
+
_selectedAt: {
|
|
684
|
+
[seatId: number]: number;
|
|
685
|
+
};
|
|
686
|
+
_deselectedAt: {
|
|
687
|
+
[seatId: number]: number;
|
|
688
|
+
};
|
|
664
689
|
constructor(element: HTMLElement, settings: IRendererSettings, redrawHandler: () => void);
|
|
665
690
|
set selectedSeatIds(value: number[]);
|
|
666
691
|
get selectedSeatIds(): number[];
|
|
@@ -684,6 +709,18 @@ declare class Context {
|
|
|
684
709
|
getOffsetByPosition: (position: IPoint) => IPoint;
|
|
685
710
|
addGaToCart(ga: ICartGa): void;
|
|
686
711
|
removeGaFromCart(removedGa: IRemovedCartGa): void;
|
|
712
|
+
/**
|
|
713
|
+
* Clears the cart and records deselection timestamps for all seats.
|
|
714
|
+
*/
|
|
715
|
+
clearCart(): void;
|
|
716
|
+
/**
|
|
717
|
+
* Removes seats from the cart by internal seat IDs and records deselection times.
|
|
718
|
+
*/
|
|
719
|
+
removeSeatsFromCartByIds(ids: number[]): void;
|
|
720
|
+
/**
|
|
721
|
+
* Triggers a selection pulse animation for a seat and clears any pending deselection.
|
|
722
|
+
*/
|
|
723
|
+
triggerSeatSelectionPulse(seatId: number): void;
|
|
687
724
|
addSeatsToCart(seats: ICartSeat[]): void;
|
|
688
725
|
rectSelectSeats(rect: {
|
|
689
726
|
x: number;
|
|
@@ -716,6 +753,14 @@ declare class Context {
|
|
|
716
753
|
seatToExtendedSeat: (seat: ISeat) => IExtendedSeat;
|
|
717
754
|
calculateAbsolutePoint(point: IPoint): IPoint;
|
|
718
755
|
getSeatByOffset: (offset: IPoint) => ISeat | undefined;
|
|
756
|
+
/**
|
|
757
|
+
* Hit-test a seat using a viewport-relative point (CSS px) while accounting for 3D view.
|
|
758
|
+
* When 3D is enabled, the point is unprojected back to the stage before querying KDBush.
|
|
759
|
+
*/
|
|
760
|
+
getSeatByViewportPoint: (viewportPoint: IPoint, viewportSize: {
|
|
761
|
+
width: number;
|
|
762
|
+
height: number;
|
|
763
|
+
}) => ISeat | undefined;
|
|
719
764
|
}
|
|
720
765
|
|
|
721
766
|
type Nullable<T> = T | null | undefined;
|
|
@@ -1036,6 +1081,72 @@ interface IVisibilitySettings {
|
|
|
1036
1081
|
seats?: IVisibleSetting;
|
|
1037
1082
|
outlines?: IVisibleSetting;
|
|
1038
1083
|
}
|
|
1084
|
+
/**
|
|
1085
|
+
* Minimap position options.
|
|
1086
|
+
*/
|
|
1087
|
+
type MinimapPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
1088
|
+
/**
|
|
1089
|
+
* Minimap configuration settings.
|
|
1090
|
+
*/
|
|
1091
|
+
interface IMinimapSettings {
|
|
1092
|
+
/**
|
|
1093
|
+
* Whether the minimap is enabled.
|
|
1094
|
+
*/
|
|
1095
|
+
enabled: boolean;
|
|
1096
|
+
/**
|
|
1097
|
+
* Position of the minimap on the screen.
|
|
1098
|
+
* @default 'bottom-right'
|
|
1099
|
+
*/
|
|
1100
|
+
position?: MinimapPosition;
|
|
1101
|
+
/**
|
|
1102
|
+
* Width of the minimap in pixels. Height is calculated automatically based on aspect ratio.
|
|
1103
|
+
* @default 200
|
|
1104
|
+
*/
|
|
1105
|
+
width?: number;
|
|
1106
|
+
/**
|
|
1107
|
+
* Opacity of the minimap.
|
|
1108
|
+
* @default 0.8
|
|
1109
|
+
*/
|
|
1110
|
+
opacity?: number;
|
|
1111
|
+
/**
|
|
1112
|
+
* Background color of the minimap.
|
|
1113
|
+
*/
|
|
1114
|
+
backgroundColor?: string;
|
|
1115
|
+
/**
|
|
1116
|
+
* Border color of the minimap.
|
|
1117
|
+
*/
|
|
1118
|
+
borderColor?: string;
|
|
1119
|
+
/**
|
|
1120
|
+
* Color of the viewport indicator rectangle.
|
|
1121
|
+
* @default '#FF5722'
|
|
1122
|
+
*/
|
|
1123
|
+
viewportColor?: string;
|
|
1124
|
+
/**
|
|
1125
|
+
* Border width in pixels.
|
|
1126
|
+
* @default 2
|
|
1127
|
+
*/
|
|
1128
|
+
borderWidth?: number;
|
|
1129
|
+
/**
|
|
1130
|
+
* Margin from the edge of the screen in pixels.
|
|
1131
|
+
* @default 16
|
|
1132
|
+
*/
|
|
1133
|
+
margin?: number;
|
|
1134
|
+
/**
|
|
1135
|
+
* Color of the dim overlay outside the viewport on the minimap.
|
|
1136
|
+
* @default '#000000'
|
|
1137
|
+
*/
|
|
1138
|
+
offscreenColor?: string;
|
|
1139
|
+
/**
|
|
1140
|
+
* Opacity of the dim overlay outside the viewport on the minimap (0..1).
|
|
1141
|
+
* @default 0.4
|
|
1142
|
+
*/
|
|
1143
|
+
offscreenOpacity?: number;
|
|
1144
|
+
/**
|
|
1145
|
+
* Show cart pins on the minimap.
|
|
1146
|
+
* @default true
|
|
1147
|
+
*/
|
|
1148
|
+
showCartPins?: boolean;
|
|
1149
|
+
}
|
|
1039
1150
|
/**
|
|
1040
1151
|
* Configuration settings for the renderer.
|
|
1041
1152
|
* Defines various options that control the behavior and appearance of the renderer.
|
|
@@ -1134,6 +1245,22 @@ interface IRendererSettings {
|
|
|
1134
1245
|
* If true, uses WebGL for rendering instead of Canvas.
|
|
1135
1246
|
*/
|
|
1136
1247
|
switchToWebGL?: boolean;
|
|
1248
|
+
/**
|
|
1249
|
+
* If true, shows the debug overlay layer (diagnostic lines from sections to venue center).
|
|
1250
|
+
*/
|
|
1251
|
+
showDebugLayer?: boolean;
|
|
1252
|
+
/**
|
|
1253
|
+
* If true, enables 3D view mode for enhanced visualization.
|
|
1254
|
+
*/
|
|
1255
|
+
enable3DView?: boolean;
|
|
1256
|
+
/**
|
|
1257
|
+
* If true, highlights all section outlines with a border.
|
|
1258
|
+
*/
|
|
1259
|
+
highlightAllOutlines?: boolean;
|
|
1260
|
+
/**
|
|
1261
|
+
* Minimap configuration settings.
|
|
1262
|
+
*/
|
|
1263
|
+
minimap?: IMinimapSettings;
|
|
1137
1264
|
/**
|
|
1138
1265
|
* Option to configure zoom settings
|
|
1139
1266
|
*/
|
|
@@ -1388,6 +1515,7 @@ declare class OutlineLayer {
|
|
|
1388
1515
|
private outlineShapes;
|
|
1389
1516
|
private outlineRect;
|
|
1390
1517
|
private context;
|
|
1518
|
+
private rowsOverlayElement?;
|
|
1391
1519
|
private originalSvg;
|
|
1392
1520
|
private backgroundSVG;
|
|
1393
1521
|
private hasBackgroundOutline;
|
|
@@ -1399,6 +1527,7 @@ declare class OutlineLayer {
|
|
|
1399
1527
|
highlightGa(id: number | undefined): void;
|
|
1400
1528
|
clearSectionHighlight(): void;
|
|
1401
1529
|
highlightSection(id: number | undefined): void;
|
|
1530
|
+
highlightAllSections(): void;
|
|
1402
1531
|
clearSectionFocus(): void;
|
|
1403
1532
|
focusSection(id: number | undefined): void;
|
|
1404
1533
|
private removeClassNameAll;
|
|
@@ -1446,8 +1575,78 @@ declare class OutlineLayer {
|
|
|
1446
1575
|
hide(): void;
|
|
1447
1576
|
show(): void;
|
|
1448
1577
|
private getContextSvg;
|
|
1578
|
+
/**
|
|
1579
|
+
* Force update the outline layer with current 3D transforms
|
|
1580
|
+
* Similar to forceRedraw in WebGL layer
|
|
1581
|
+
*/
|
|
1582
|
+
forceUpdate(): void;
|
|
1583
|
+
/**
|
|
1584
|
+
* Applies 3D transforms to the SVG outline layer
|
|
1585
|
+
* Implements the same rotation logic as the WebGL shaders
|
|
1586
|
+
*/
|
|
1587
|
+
private apply3DTransforms;
|
|
1588
|
+
/**
|
|
1589
|
+
* Appends rows overlay (SVG fragment) into the outline SVG container.
|
|
1590
|
+
* If an overlay already exists, it will be replaced.
|
|
1591
|
+
*/
|
|
1592
|
+
appendRowsOverlay(rowsFragment: string, css?: string): void;
|
|
1449
1593
|
}
|
|
1450
1594
|
|
|
1595
|
+
/**
|
|
1596
|
+
* @hidden
|
|
1597
|
+
*/
|
|
1598
|
+
interface IRendererAnimation {
|
|
1599
|
+
/**
|
|
1600
|
+
* Optional animation type hint to allow branching behavior in the renderer
|
|
1601
|
+
* - "transform": default zoom/pan animations using scale/translate
|
|
1602
|
+
* - "pan": dedicated pan animation using translate only
|
|
1603
|
+
* - "rotation": continuous 3D rotation animation
|
|
1604
|
+
*/
|
|
1605
|
+
type?: 'transform' | 'pan' | 'rotation';
|
|
1606
|
+
startTime?: number;
|
|
1607
|
+
duration: number;
|
|
1608
|
+
fromScale: number;
|
|
1609
|
+
toScale: number;
|
|
1610
|
+
fromTranslate?: IPoint;
|
|
1611
|
+
translate?: IPoint;
|
|
1612
|
+
toTranslate: IPoint;
|
|
1613
|
+
relativeTranslate?: IPoint;
|
|
1614
|
+
frame: number;
|
|
1615
|
+
inProgress: boolean;
|
|
1616
|
+
/**
|
|
1617
|
+
* Custom per-frame handler used for non-transform animations (e.g., rotation)
|
|
1618
|
+
* Receives high-resolution time and elapsed milliseconds since start
|
|
1619
|
+
*/
|
|
1620
|
+
onFrame?: (now: number, elapsedMs: number) => void;
|
|
1621
|
+
/**
|
|
1622
|
+
* When true, the animation never auto-finishes and must be explicitly stopped
|
|
1623
|
+
*/
|
|
1624
|
+
isContinuous?: boolean;
|
|
1625
|
+
/**
|
|
1626
|
+
* Rotation-specific fields used when type === 'rotation'
|
|
1627
|
+
*/
|
|
1628
|
+
angle?: number;
|
|
1629
|
+
lastRotationZ?: number;
|
|
1630
|
+
/**
|
|
1631
|
+
* 3D transform interpolation fields for combined animations
|
|
1632
|
+
*/
|
|
1633
|
+
fromRotationZ?: number;
|
|
1634
|
+
toRotationZ?: number;
|
|
1635
|
+
fromTiltX?: number;
|
|
1636
|
+
toTiltX?: number;
|
|
1637
|
+
fromPerspectiveZ?: number;
|
|
1638
|
+
toPerspectiveZ?: number;
|
|
1639
|
+
/** Called once when the animation finishes */
|
|
1640
|
+
onComplete?: () => void;
|
|
1641
|
+
}
|
|
1642
|
+
interface IRendererSequenceStep {
|
|
1643
|
+
zoomTo?: number;
|
|
1644
|
+
destination?: IPoint;
|
|
1645
|
+
rotateTo?: number;
|
|
1646
|
+
tiltTo?: number;
|
|
1647
|
+
perspectiveTo?: number;
|
|
1648
|
+
durationMs?: number;
|
|
1649
|
+
}
|
|
1451
1650
|
/**
|
|
1452
1651
|
* Interface for the base Renderer functionality.
|
|
1453
1652
|
* Defines the core methods and properties that all renderer implementations must provide.
|
|
@@ -1582,6 +1781,12 @@ interface IRenderer {
|
|
|
1582
1781
|
* Destroys the renderer instance, cleaning up all resources.
|
|
1583
1782
|
*/
|
|
1584
1783
|
destroy: () => void;
|
|
1784
|
+
/**
|
|
1785
|
+
* Gets the renderer version.
|
|
1786
|
+
*
|
|
1787
|
+
* @returns The version string
|
|
1788
|
+
*/
|
|
1789
|
+
getVersion: () => string;
|
|
1585
1790
|
/**
|
|
1586
1791
|
* Disables SVG sections by their IDs.
|
|
1587
1792
|
*
|
|
@@ -1620,21 +1825,50 @@ interface IRenderer {
|
|
|
1620
1825
|
* @returns The selected SVG sections
|
|
1621
1826
|
*/
|
|
1622
1827
|
getSvgSectionBySelection: () => ISectorDTO[];
|
|
1828
|
+
/**
|
|
1829
|
+
* Sets whether all section outlines should be highlighted.
|
|
1830
|
+
*
|
|
1831
|
+
* @param highlight - If true, all section outlines will be highlighted with a border
|
|
1832
|
+
*/
|
|
1833
|
+
setHighlightAllOutlines: (highlight: boolean) => void;
|
|
1834
|
+
/**
|
|
1835
|
+
* Gets whether all section outlines are currently highlighted.
|
|
1836
|
+
*
|
|
1837
|
+
* @returns True if all outlines are highlighted, false otherwise
|
|
1838
|
+
*/
|
|
1839
|
+
getHighlightAllOutlines: () => boolean;
|
|
1840
|
+
/**
|
|
1841
|
+
* Shows the minimap.
|
|
1842
|
+
*/
|
|
1843
|
+
showMinimap?: () => void;
|
|
1844
|
+
/**
|
|
1845
|
+
* Hides the minimap.
|
|
1846
|
+
*/
|
|
1847
|
+
hideMinimap?: () => void;
|
|
1848
|
+
/**
|
|
1849
|
+
* Toggles the minimap visibility.
|
|
1850
|
+
*/
|
|
1851
|
+
toggleMinimap?: () => void;
|
|
1852
|
+
/**
|
|
1853
|
+
* Sets the minimap position.
|
|
1854
|
+
*
|
|
1855
|
+
* @param position - The position to set ('top-left', 'top-right', 'bottom-left', 'bottom-right')
|
|
1856
|
+
*/
|
|
1857
|
+
setMinimapPosition?: (position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right') => void;
|
|
1623
1858
|
}
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
inProgress: boolean;
|
|
1859
|
+
interface IRenderer {
|
|
1860
|
+
/**
|
|
1861
|
+
* Runs a sequence of composite animations. Each step can include zoom, pan (via destination), and rotation.
|
|
1862
|
+
*/
|
|
1863
|
+
animateSequence: (steps: IRendererSequenceStep[]) => Promise<void>;
|
|
1864
|
+
/**
|
|
1865
|
+
* Convenience method to zoom with optional destination center point.
|
|
1866
|
+
* If destination is provided, it focuses the view so that destination becomes the viewport center.
|
|
1867
|
+
*/
|
|
1868
|
+
zoomTo: (newScale: number, options?: {
|
|
1869
|
+
destination?: IPoint;
|
|
1870
|
+
durationMs?: number;
|
|
1871
|
+
}) => void;
|
|
1638
1872
|
}
|
|
1639
1873
|
|
|
1640
1874
|
/**
|
|
@@ -1651,16 +1885,20 @@ declare class Renderer implements IRenderer {
|
|
|
1651
1885
|
private stageLayer;
|
|
1652
1886
|
private selectionLayer;
|
|
1653
1887
|
protected outlineLayer: OutlineLayer;
|
|
1888
|
+
private minimapLayer?;
|
|
1654
1889
|
private service;
|
|
1655
1890
|
private zoomToFitScale;
|
|
1656
1891
|
private isTouchMode;
|
|
1657
1892
|
private pinchStartPoint?;
|
|
1658
|
-
private animation?;
|
|
1659
1893
|
private resizeTimer;
|
|
1660
1894
|
protected isRunning: boolean;
|
|
1661
1895
|
private disableZoomToEmptySpace;
|
|
1662
1896
|
private switchToWebGL;
|
|
1663
1897
|
private originalSectionPrices;
|
|
1898
|
+
private transformAnimator;
|
|
1899
|
+
private rotationAnimation;
|
|
1900
|
+
private refreshMinimap;
|
|
1901
|
+
private setMinimapFromSnapshot;
|
|
1664
1902
|
/**
|
|
1665
1903
|
* Creates a new instance of the Renderer.
|
|
1666
1904
|
*
|
|
@@ -1686,6 +1924,12 @@ declare class Renderer implements IRenderer {
|
|
|
1686
1924
|
* @returns The height in pixels
|
|
1687
1925
|
*/
|
|
1688
1926
|
getHeight(): number;
|
|
1927
|
+
/**
|
|
1928
|
+
* Gets the renderer version.
|
|
1929
|
+
*
|
|
1930
|
+
* @returns The version string
|
|
1931
|
+
*/
|
|
1932
|
+
getVersion(): string;
|
|
1689
1933
|
/**
|
|
1690
1934
|
* Sets the interaction mode for the renderer.
|
|
1691
1935
|
*
|
|
@@ -2012,6 +2256,10 @@ declare class Renderer implements IRenderer {
|
|
|
2012
2256
|
* Returns sections info
|
|
2013
2257
|
*/
|
|
2014
2258
|
getSections(): ISector[];
|
|
2259
|
+
/**
|
|
2260
|
+
* Returns sections ids
|
|
2261
|
+
*/
|
|
2262
|
+
getSectionsKeys(): string[];
|
|
2015
2263
|
/**
|
|
2016
2264
|
*
|
|
2017
2265
|
* @returns Rows data array
|
|
@@ -2051,6 +2299,7 @@ declare class Renderer implements IRenderer {
|
|
|
2051
2299
|
private handleDestSectionMouseLeave;
|
|
2052
2300
|
private handleMouseMove;
|
|
2053
2301
|
private handleMouseMoveOutside;
|
|
2302
|
+
private handleMouseLeave;
|
|
2054
2303
|
private handleWindowResize;
|
|
2055
2304
|
private updateSize;
|
|
2056
2305
|
/**
|
|
@@ -2059,21 +2308,32 @@ declare class Renderer implements IRenderer {
|
|
|
2059
2308
|
getZoom(): number;
|
|
2060
2309
|
zoomIn(): void;
|
|
2061
2310
|
zoomOut(): void;
|
|
2311
|
+
/**
|
|
2312
|
+
* Zooms to the specified scale with optional destination center point in background coordinates.
|
|
2313
|
+
* If destination is provided, the view will be centered on that point at the end of the animation.
|
|
2314
|
+
*/
|
|
2315
|
+
zoomTo(newScaleCss: number, options?: {
|
|
2316
|
+
destination?: IPoint;
|
|
2317
|
+
durationMs?: number;
|
|
2318
|
+
}): void;
|
|
2062
2319
|
zoomToFit(): void;
|
|
2063
2320
|
clearSectorHighlight(): void;
|
|
2064
2321
|
highlightSector(id: number | undefined): void;
|
|
2065
2322
|
private startPanAnimation;
|
|
2066
|
-
private animationPanStep;
|
|
2067
2323
|
zoomToSection(section: string | number, options?: {
|
|
2068
2324
|
focus?: boolean;
|
|
2069
2325
|
}): void;
|
|
2070
2326
|
zoomToDestination(newScale: number, destination: IPoint, duration?: number): void;
|
|
2327
|
+
/**
|
|
2328
|
+
* Runs a sequence of composite animations. Each step can include zoom, pan (via destination), and rotation.
|
|
2329
|
+
*/
|
|
2330
|
+
animateSequence(steps: IRendererSequenceStep[]): Promise<void>;
|
|
2071
2331
|
private getSectionId;
|
|
2072
2332
|
private startAnimation;
|
|
2073
|
-
private animationStep;
|
|
2074
2333
|
private cachedDraw;
|
|
2075
2334
|
private redraw;
|
|
2076
2335
|
private doTranslate;
|
|
2336
|
+
private transformPanDeltaFor3D;
|
|
2077
2337
|
private calculateLimitedTranslate;
|
|
2078
2338
|
private calculateLimit;
|
|
2079
2339
|
seatToExtendedSeat: (seat: ISeat) => IExtendedSeat;
|
|
@@ -2101,6 +2361,85 @@ declare class Renderer implements IRenderer {
|
|
|
2101
2361
|
getMaxZoom(): number;
|
|
2102
2362
|
viewSection(section: ISection): void;
|
|
2103
2363
|
private getStageLayer;
|
|
2364
|
+
/**
|
|
2365
|
+
* Updates 3D view parameters for dynamic perspective changes.
|
|
2366
|
+
* Only works when enable3DView is true and WebGL is enabled.
|
|
2367
|
+
*/
|
|
2368
|
+
update3DView(options: {
|
|
2369
|
+
rotationZ?: number;
|
|
2370
|
+
perspectiveZ?: number;
|
|
2371
|
+
tiltX?: number;
|
|
2372
|
+
}): void;
|
|
2373
|
+
/**
|
|
2374
|
+
* Gets current 3D view parameters
|
|
2375
|
+
*/
|
|
2376
|
+
get3DViewParams(): {
|
|
2377
|
+
enable3DView: boolean;
|
|
2378
|
+
rotationZ: number;
|
|
2379
|
+
perspectiveZ: number;
|
|
2380
|
+
tiltX: number;
|
|
2381
|
+
};
|
|
2382
|
+
/**
|
|
2383
|
+
* Smoothly animates current 3D parameters to the given target values.
|
|
2384
|
+
* Returns a Promise that resolves when the transition completes.
|
|
2385
|
+
*/
|
|
2386
|
+
animateTo3DParams(target: {
|
|
2387
|
+
rotationZ?: number;
|
|
2388
|
+
perspectiveZ?: number;
|
|
2389
|
+
tiltX?: number;
|
|
2390
|
+
}, durationMs?: number): Promise<void>;
|
|
2391
|
+
/**
|
|
2392
|
+
* Animates continuous rotation of the 3D view
|
|
2393
|
+
* @param angle - Rotation speed in radians per second (positive for clockwise, negative for counter-clockwise)
|
|
2394
|
+
* @returns Animation ID that can be used to stop the animation
|
|
2395
|
+
*/
|
|
2396
|
+
animateRotation(angle: number): number | null;
|
|
2397
|
+
/**
|
|
2398
|
+
* Stops the current rotation animation
|
|
2399
|
+
*/
|
|
2400
|
+
stopRotationAnimation(): void;
|
|
2401
|
+
/**
|
|
2402
|
+
* Checks if a rotation animation is currently running
|
|
2403
|
+
*/
|
|
2404
|
+
isRotationAnimationRunning(): boolean;
|
|
2405
|
+
/**
|
|
2406
|
+
* Gets the current rotation animation ID
|
|
2407
|
+
*/
|
|
2408
|
+
getRotationAnimationId(): number | null;
|
|
2409
|
+
/**
|
|
2410
|
+
* Sets whether all section outlines should be highlighted.
|
|
2411
|
+
*
|
|
2412
|
+
* @param highlight - If true, all section outlines will be highlighted with a border
|
|
2413
|
+
*/
|
|
2414
|
+
setHighlightAllOutlines(highlight: boolean): void;
|
|
2415
|
+
/**
|
|
2416
|
+
* Gets whether all section outlines are currently highlighted.
|
|
2417
|
+
*
|
|
2418
|
+
* @returns True if all outlines are highlighted, false otherwise
|
|
2419
|
+
*/
|
|
2420
|
+
getHighlightAllOutlines(): boolean;
|
|
2421
|
+
/**
|
|
2422
|
+
* Shows the minimap.
|
|
2423
|
+
*/
|
|
2424
|
+
showMinimap(): void;
|
|
2425
|
+
/**
|
|
2426
|
+
* Hides the minimap.
|
|
2427
|
+
*/
|
|
2428
|
+
hideMinimap(): void;
|
|
2429
|
+
/**
|
|
2430
|
+
* Toggles the minimap visibility.
|
|
2431
|
+
*/
|
|
2432
|
+
toggleMinimap(): void;
|
|
2433
|
+
/**
|
|
2434
|
+
* Enables or disables cart pins on the minimap at runtime.
|
|
2435
|
+
*/
|
|
2436
|
+
setMinimapPinsEnabled(enabled: boolean): void;
|
|
2437
|
+
/**
|
|
2438
|
+
* Sets the minimap position.
|
|
2439
|
+
*
|
|
2440
|
+
* @param position - The position to set ('top-left', 'top-right', 'bottom-left', 'bottom-right')
|
|
2441
|
+
*/
|
|
2442
|
+
setMinimapPosition(position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'): void;
|
|
2104
2443
|
}
|
|
2105
2444
|
|
|
2106
2445
|
interface IAdminRendererSettings extends IRendererSettings {
|
|
@@ -2353,7 +2692,51 @@ declare class SeatmapBookingRenderer extends Renderer {
|
|
|
2353
2692
|
private leaveSectionOnly;
|
|
2354
2693
|
}
|
|
2355
2694
|
|
|
2695
|
+
/**
|
|
2696
|
+
* Package version information
|
|
2697
|
+
* This file is automatically updated during the build process
|
|
2698
|
+
*/
|
|
2699
|
+
declare const VERSION = "1.54.0";
|
|
2700
|
+
|
|
2356
2701
|
declare const defaultZoomSettings: IZoomSettings;
|
|
2357
2702
|
declare const mergeSettings: (defaults: IRendererSettings, settings?: Partial<IRendererSettings>) => IRendererSettings & Partial<IRendererSettings>;
|
|
2358
2703
|
|
|
2359
|
-
|
|
2704
|
+
/**
|
|
2705
|
+
* Rotation Animation Manager
|
|
2706
|
+
* Handles continuous rotation animations for 3D view
|
|
2707
|
+
*/
|
|
2708
|
+
interface IRotationAnimation {
|
|
2709
|
+
startTime: number;
|
|
2710
|
+
animationId: number | null;
|
|
2711
|
+
lastRotationZ: number;
|
|
2712
|
+
angle: number;
|
|
2713
|
+
isRunning: boolean;
|
|
2714
|
+
}
|
|
2715
|
+
declare class RotationAnimation {
|
|
2716
|
+
private animation;
|
|
2717
|
+
/**
|
|
2718
|
+
* Starts a continuous rotation animation
|
|
2719
|
+
* @param angle - Rotation speed in radians per second (positive for clockwise, negative for counter-clockwise)
|
|
2720
|
+
* @param onUpdate - Callback function to update the rotation value
|
|
2721
|
+
* @returns Animation ID that can be used to stop the animation
|
|
2722
|
+
*/
|
|
2723
|
+
start(angle: number, onUpdate: (rotationZ: number) => void): number | null;
|
|
2724
|
+
/**
|
|
2725
|
+
* Stops the current rotation animation
|
|
2726
|
+
*/
|
|
2727
|
+
stop(): void;
|
|
2728
|
+
/**
|
|
2729
|
+
* Checks if an animation is currently running
|
|
2730
|
+
*/
|
|
2731
|
+
isRunning(): boolean;
|
|
2732
|
+
/**
|
|
2733
|
+
* Gets the current animation ID
|
|
2734
|
+
*/
|
|
2735
|
+
getAnimationId(): number | null;
|
|
2736
|
+
/**
|
|
2737
|
+
* Gets the current animation state
|
|
2738
|
+
*/
|
|
2739
|
+
getAnimation(): IRotationAnimation | null;
|
|
2740
|
+
}
|
|
2741
|
+
|
|
2742
|
+
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 IMinimapSettings, 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 MinimapPosition, type Nullable, Renderer, type RendererMachine, type RendererMachineReducer, type RendererMachineService, RendererSelectMode, RendererTargetType, RotationAnimation, type SeatFilter, type SeatInteractionState, SeatmapAdminRenderer, SeatmapBookingRenderer, type SrcEvent, SrcEventType, type TransformArray, VERSION, convertPricesToColored, convertPricesToColoredById, defaultZoomSettings, mergeSettings, sortPrices };
|