1
1
import * as types from "./Types/AlignmentTypes" ;
2
2
import Alignments from "./Interfaces/Alignments" ;
3
3
import CalculationOutcome from "./Interfaces/CalculationOutcome" ;
4
+ import Collision from "./Enumerators/PositionCollision" ;
4
5
import ElementDimensions from "./Interfaces/ElementDimensions" ;
5
6
import FitPosition from "./Interfaces/FitPosition" ;
6
7
import FitPositionData from "./Interfaces/FitPositionData" ;
7
- import PositionCollision from "./Enumerators/PositionCollision" ;
8
- import PositionOptions from "./Interfaces/PositionOptions" ;
8
+ import Options from "./Interfaces/PositionOptions" ;
9
9
10
10
export class HoverPosition {
11
11
private _bodyDims : ElementDimensions ;
@@ -26,7 +26,7 @@ export class HoverPosition {
26
26
* Get the position placement for one element relative to another
27
27
* @param options The options to help attain the `top` & `left`
28
28
*/
29
- constructor ( options : PositionOptions ) {
29
+ constructor ( options : Options ) {
30
30
const originalDisplay = options . target . style . display ;
31
31
options . target . style . display = "none" ;
32
32
@@ -78,8 +78,8 @@ export class HoverPosition {
78
78
) ;
79
79
80
80
if (
81
- options . collision === PositionCollision . ignore ||
82
- ( options . collision === PositionCollision . flipfit &&
81
+ options . collision === Collision . ignore ||
82
+ ( options . collision === Collision . flipfit &&
83
83
myPos === "center center" &&
84
84
atPos === "center center" )
85
85
) {
@@ -96,23 +96,23 @@ export class HoverPosition {
96
96
private calculatePosition (
97
97
my : CombinedAlignment ,
98
98
at : CombinedAlignment ,
99
- options : PositionOptions
99
+ options : Options
100
100
) : FitPosition {
101
101
const fitDataArray = this . getFitPositions ( ) ,
102
102
fitData = fitDataArray . filter ( ( f ) => f . my === my && f . at === at ) [ 0 ] ;
103
103
104
104
if (
105
- options . collision === PositionCollision . ignore ||
105
+ options . collision === Collision . ignore ||
106
106
( ! fitData . top . willCollide && ! fitData . left . willCollide )
107
107
) {
108
108
return { top : fitData . top . value , left : fitData . left . value } ;
109
109
}
110
110
111
- if ( options . collision === PositionCollision . flipfit ) {
111
+ if ( options . collision === Collision . flipfit ) {
112
112
return this . calculatePosition (
113
113
HoverPosition . flip ( my ) ,
114
114
HoverPosition . flip ( at ) ,
115
- Object . assign ( options , { collision : PositionCollision . ignore } )
115
+ Object . assign ( options , { collision : Collision . ignore } )
116
116
) ;
117
117
}
118
118
@@ -393,4 +393,4 @@ export type CombinedAlignment = types.CombinedAlignment;
393
393
export type VerticalAlignment = types . VerticalAlignment ;
394
394
export type HorizontalAlignment = types . HorizontalAlignment ;
395
395
396
- export * from "./Enumerators/PositionCollision" ;
396
+ export { default as PositionCollision } from "./Enumerators/PositionCollision" ;
0 commit comments