@@ -39,10 +39,12 @@ import {Directionality} from '@angular/cdk/bidi';
39
39
import {
40
40
ConnectedPosition ,
41
41
ConnectionPositionPair ,
42
+ createFlexibleConnectedPositionStrategy ,
43
+ createOverlayRef ,
44
+ createRepositionScrollStrategy ,
42
45
FlexibleConnectedPositionStrategy ,
43
46
HorizontalConnectionPos ,
44
47
OriginConnectionPosition ,
45
- Overlay ,
46
48
OverlayConnectionPosition ,
47
49
OverlayRef ,
48
50
ScrollDispatcher ,
@@ -82,8 +84,8 @@ export const MAT_TOOLTIP_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrate
82
84
{
83
85
providedIn : 'root' ,
84
86
factory : ( ) => {
85
- const overlay = inject ( Overlay ) ;
86
- return ( ) => overlay . scrollStrategies . reposition ( { scrollThrottle : SCROLL_THROTTLE_MS } ) ;
87
+ const injector = inject ( Injector ) ;
88
+ return ( ) => createRepositionScrollStrategy ( injector , { scrollThrottle : SCROLL_THROTTLE_MS } ) ;
87
89
} ,
88
90
} ,
89
91
) ;
@@ -93,8 +95,9 @@ export const MAT_TOOLTIP_SCROLL_STRATEGY = new InjectionToken<() => ScrollStrate
93
95
* @deprecated No longer used, will be removed.
94
96
* @breaking -change 21.0.0
95
97
*/
96
- export function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY ( overlay : Overlay ) : ( ) => ScrollStrategy {
97
- return ( ) => overlay . scrollStrategies . reposition ( { scrollThrottle : SCROLL_THROTTLE_MS } ) ;
98
+ export function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY ( _overlay : unknown ) : ( ) => ScrollStrategy {
99
+ const injector = inject ( Injector ) ;
100
+ return ( ) => createRepositionScrollStrategy ( injector , { scrollThrottle : SCROLL_THROTTLE_MS } ) ;
98
101
}
99
102
100
103
/**
@@ -104,7 +107,7 @@ export function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => Scr
104
107
*/
105
108
export const MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {
106
109
provide : MAT_TOOLTIP_SCROLL_STRATEGY ,
107
- deps : [ Overlay ] ,
110
+ deps : [ ] as any [ ] ,
108
111
useFactory : MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY ,
109
112
} ;
110
113
@@ -525,13 +528,13 @@ export class MatTooltip implements OnDestroy, AfterViewInit {
525
528
. get ( ScrollDispatcher )
526
529
. getAncestorScrollContainers ( this . _elementRef ) ;
527
530
528
- const overlay = this . _injector . get ( Overlay ) ;
529
531
const panelClass = `${ this . _cssClassPrefix } -${ PANEL_CLASS } ` ;
530
532
531
533
// Create connected position strategy that listens for scroll events to reposition.
532
- const strategy = overlay
533
- . position ( )
534
- . flexibleConnectedTo ( this . positionAtOrigin ? origin || this . _elementRef : this . _elementRef )
534
+ const strategy = createFlexibleConnectedPositionStrategy (
535
+ this . _injector ,
536
+ this . positionAtOrigin ? origin || this . _elementRef : this . _elementRef ,
537
+ )
535
538
. withTransformOriginOn ( `.${ this . _cssClassPrefix } -tooltip` )
536
539
. withFlexibleDimensions ( false )
537
540
. withViewportMargin ( this . _viewportMargin )
@@ -549,7 +552,7 @@ export class MatTooltip implements OnDestroy, AfterViewInit {
549
552
}
550
553
} ) ;
551
554
552
- this . _overlayRef = overlay . create ( {
555
+ this . _overlayRef = createOverlayRef ( this . _injector , {
553
556
direction : this . _dir ,
554
557
positionStrategy : strategy ,
555
558
panelClass : this . _overlayPanelClass ? [ ...this . _overlayPanelClass , panelClass ] : panelClass ,
0 commit comments