@angular/cdk 19.0.2 → 19.0.4
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/dialog/index.d.ts +1 -0
- package/drag-drop/index.d.ts +30 -3
- package/fesm2022/cdk.mjs +1 -1
- package/fesm2022/cdk.mjs.map +1 -1
- package/fesm2022/dialog.mjs +6 -5
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/drag-drop.mjs +78 -32
- package/fesm2022/drag-drop.mjs.map +1 -1
- package/fesm2022/observers/private.mjs +5 -5
- package/fesm2022/observers/private.mjs.map +1 -1
- package/fesm2022/overlay.mjs +38 -48
- package/fesm2022/overlay.mjs.map +1 -1
- package/fesm2022/scrolling.mjs +9 -15
- package/fesm2022/scrolling.mjs.map +1 -1
- package/fesm2022/testing/testbed.mjs +83 -40
- package/fesm2022/testing/testbed.mjs.map +1 -1
- package/fesm2022/text-field.mjs +8 -5
- package/fesm2022/text-field.mjs.map +1 -1
- package/observers/private/index.d.ts +1 -0
- package/overlay/index.d.ts +10 -5
- package/package.json +1 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/scrolling/index.d.ts +1 -2
- package/text-field/index.d.ts +2 -0
package/fesm2022/scrolling.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, forwardRef, Directive, Input, inject, NgZone, Injectable, ElementRef, ChangeDetectorRef, Injector, afterNextRender, booleanAttribute, Optional, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, ViewContainerRef, TemplateRef, IterableDiffers, NgModule } from '@angular/core';
|
|
3
|
+
import { InjectionToken, forwardRef, Directive, Input, inject, NgZone, Injectable, ElementRef, RendererFactory2, ChangeDetectorRef, Injector, afterNextRender, booleanAttribute, Optional, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, ViewContainerRef, TemplateRef, IterableDiffers, NgModule } from '@angular/core';
|
|
4
4
|
import { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';
|
|
5
5
|
import { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';
|
|
6
6
|
import { Platform, getRtlScrollAxisType, RtlScrollAxisType, supportsScrollBehavior } from '@angular/cdk/platform';
|
|
@@ -527,25 +527,23 @@ const DEFAULT_RESIZE_TIME = 20;
|
|
|
527
527
|
*/
|
|
528
528
|
class ViewportRuler {
|
|
529
529
|
_platform = inject(Platform);
|
|
530
|
+
_listeners;
|
|
530
531
|
/** Cached viewport dimensions. */
|
|
531
532
|
_viewportSize;
|
|
532
533
|
/** Stream of viewport change events. */
|
|
533
534
|
_change = new Subject();
|
|
534
|
-
/** Event listener that will be used to handle the viewport change events. */
|
|
535
|
-
_changeListener = (event) => {
|
|
536
|
-
this._change.next(event);
|
|
537
|
-
};
|
|
538
535
|
/** Used to reference correct document/window */
|
|
539
536
|
_document = inject(DOCUMENT, { optional: true });
|
|
540
537
|
constructor() {
|
|
541
538
|
const ngZone = inject(NgZone);
|
|
539
|
+
const renderer = inject(RendererFactory2).createRenderer(null, null);
|
|
542
540
|
ngZone.runOutsideAngular(() => {
|
|
543
541
|
if (this._platform.isBrowser) {
|
|
544
|
-
const
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
542
|
+
const changeListener = (event) => this._change.next(event);
|
|
543
|
+
this._listeners = [
|
|
544
|
+
renderer.listen('window', 'resize', changeListener),
|
|
545
|
+
renderer.listen('window', 'orientationchange', changeListener),
|
|
546
|
+
];
|
|
549
547
|
}
|
|
550
548
|
// Clear the cached position so that the viewport is re-measured next time it is required.
|
|
551
549
|
// We don't need to keep track of the subscription, because it is completed on destroy.
|
|
@@ -553,11 +551,7 @@ class ViewportRuler {
|
|
|
553
551
|
});
|
|
554
552
|
}
|
|
555
553
|
ngOnDestroy() {
|
|
556
|
-
|
|
557
|
-
const window = this._getWindow();
|
|
558
|
-
window.removeEventListener('resize', this._changeListener);
|
|
559
|
-
window.removeEventListener('orientationchange', this._changeListener);
|
|
560
|
-
}
|
|
554
|
+
this._listeners?.forEach(cleanup => cleanup());
|
|
561
555
|
this._change.complete();
|
|
562
556
|
}
|
|
563
557
|
/** Returns the viewport's width and height. */
|