@ethlete/cdk 5.0.0-next.1 → 5.0.0-next.3
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/CHANGELOG.md +14 -0
- package/fesm2022/ethlete-cdk.mjs +24 -32
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ethlete/cdk
|
|
2
2
|
|
|
3
|
+
## 5.0.0-next.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`58525cd`](https://github.com/ethlete-io/ethdk/commit/58525cd7123c8e20739b0841b2f0abf5920296f1) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix scroll blocking getting applied even if the page is currently not scrollable
|
|
8
|
+
|
|
9
|
+
## 5.0.0-next.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`95e656d`](https://github.com/ethlete-io/ethdk/commit/95e656d036368a48cbd17a399f7c0c61c49ab0fa) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix overlay origin not getting inferred correctly
|
|
14
|
+
|
|
15
|
+
- [`95e656d`](https://github.com/ethlete-io/ethdk/commit/95e656d036368a48cbd17a399f7c0c61c49ab0fa) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix scroll blocker getting stuck in blocked state
|
|
16
|
+
|
|
3
17
|
## 5.0.0-next.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/fesm2022/ethlete-cdk.mjs
CHANGED
|
@@ -9,7 +9,7 @@ import { map, switchMap, combineLatest, pairwise, tap, BehaviorSubject, filter,
|
|
|
9
9
|
import { __decorate, __metadata } from 'tslib';
|
|
10
10
|
import { AsyncPipe, NgComponentOutlet, Location, NgTemplateOutlet, NgClass, DOCUMENT as DOCUMENT$1, NgStyle } from '@angular/common';
|
|
11
11
|
import * as i1$1 from '@ethlete/core';
|
|
12
|
-
import { createComponentId, injectRenderer, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, createDestroy, equal, signalHostClasses, signalAttributes, signalHostAttributes, switchQueryListChanges, controlValueSignal, fromNextFrame, elementCanScroll, AnimatedLifecycleDirective, forceReflow, nextFrame, createRootProvider, injectBreakpointObserver, THEME_PROVIDER, ProvideThemeDirective, BOUNDARY_ELEMENT_TOKEN, signalElementScrollState, signalElementIntersection, isElementVisible, provideBoundaryElement, applyHostListener, injectBoundaryElement, ANIMATED_LIFECYCLE_TOKEN, cloneFormGroup, getFormGroupValue, injectQueryParam, injectRoute, AnimatedIfDirective, injectObserveBreakpoint, syncSignal,
|
|
12
|
+
import { createComponentId, injectRenderer, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, createDestroy, equal, signalHostClasses, signalAttributes, signalHostAttributes, switchQueryListChanges, controlValueSignal, fromNextFrame, elementCanScroll, AnimatedLifecycleDirective, forceReflow, nextFrame, createRootProvider, injectBreakpointObserver, THEME_PROVIDER, ProvideThemeDirective, BOUNDARY_ELEMENT_TOKEN, signalElementScrollState, signalElementIntersection, isElementVisible, provideBoundaryElement, applyHostListener, injectBoundaryElement, ANIMATED_LIFECYCLE_TOKEN, cloneFormGroup, getFormGroupValue, injectQueryParam, injectRoute, AnimatedIfDirective, injectObserveBreakpoint, syncSignal, createDocumentElementSignal, createStaticRootProvider, AnimatedOverlayDirective, setInputSignal, signalElementMutations, signalElementDimensions, createIsRenderedSignal, createCanAnimateSignal, useCursorDragScroll, signalElementChildren, signalClasses, signalHostStyles, signalStyles, getElementScrollCoordinates, injectTemplateRef, signalHostElementScrollState, signalHostElementDimensions, createProvider, previousSignalValue, injectHostElement, signalHostElementIntersection, createFlipAnimation, isObject, getObjectProperty, RuntimeError, KeyPressManager, scrollToElement, ClickOutsideDirective, clamp, injectFocusVisibleTracker, inferMimeType, applyHostListeners, TypedQueryList } from '@ethlete/core';
|
|
13
13
|
import * as i1$5 from '@angular/cdk/a11y';
|
|
14
14
|
import { FocusMonitor, FocusKeyManager, AriaDescriber, A11yModule } from '@angular/cdk/a11y';
|
|
15
15
|
import { AutofillMonitor } from '@angular/cdk/text-field';
|
|
@@ -5508,7 +5508,7 @@ const getOriginCoordinatesAndDimensions = (origin) => {
|
|
|
5508
5508
|
y: rect.top + rect.height / 2,
|
|
5509
5509
|
width: rect.width,
|
|
5510
5510
|
height: rect.height,
|
|
5511
|
-
element:
|
|
5511
|
+
element: relevantElement,
|
|
5512
5512
|
};
|
|
5513
5513
|
}
|
|
5514
5514
|
return null;
|
|
@@ -7703,43 +7703,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImpor
|
|
|
7703
7703
|
const [provideOverlayScrollBlocker, injectOverlayScrollBlocker] = createRootProvider(() => {
|
|
7704
7704
|
const overlayManager = injectOverlayManager();
|
|
7705
7705
|
const document = inject(DOCUMENT);
|
|
7706
|
-
const angularRoot = injectAngularRootElement();
|
|
7707
7706
|
const renderer = injectRenderer();
|
|
7707
|
+
const documentScrollState = signalElementScrollState(createDocumentElementSignal());
|
|
7708
7708
|
const root = document.documentElement;
|
|
7709
|
-
let
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
hasOpenOverlays
|
|
7713
|
-
|
|
7714
|
-
})
|
|
7715
|
-
.pipe(switchMap((data) => {
|
|
7716
|
-
if (!data.hasOpenOverlays || !data.angularRoot)
|
|
7717
|
-
return of(data);
|
|
7718
|
-
return fromEvent(window, 'resize').pipe(startWith(data), map(() => data));
|
|
7719
|
-
}), tap(({ hasOpenOverlays, angularRoot }) => {
|
|
7720
|
-
if (!angularRoot)
|
|
7721
|
-
return;
|
|
7722
|
-
if (hasOpenOverlays && elementCanScroll(root)) {
|
|
7723
|
-
if (isEnabled)
|
|
7724
|
-
return;
|
|
7725
|
-
renderer.setStyle(angularRoot, {
|
|
7726
|
-
contain: 'content',
|
|
7727
|
-
});
|
|
7709
|
+
let savedTop = null;
|
|
7710
|
+
combineLatest([toObservable(overlayManager.hasOpenOverlays), toObservable(documentScrollState)])
|
|
7711
|
+
.pipe(tap(([hasOpenOverlays, scrollState]) => {
|
|
7712
|
+
if (hasOpenOverlays && scrollState.canScrollVertically && savedTop === null) {
|
|
7713
|
+
savedTop = document.defaultView?.scrollY ?? 0;
|
|
7728
7714
|
renderer.setStyle(root, {
|
|
7729
|
-
|
|
7730
|
-
|
|
7715
|
+
position: 'fixed',
|
|
7716
|
+
top: `-${savedTop}px`,
|
|
7717
|
+
left: '0',
|
|
7718
|
+
right: '0',
|
|
7719
|
+
'overflow-y': 'scroll',
|
|
7731
7720
|
});
|
|
7732
|
-
isEnabled = true;
|
|
7733
7721
|
}
|
|
7734
|
-
else if (!hasOpenOverlays &&
|
|
7722
|
+
else if (!hasOpenOverlays && savedTop !== null) {
|
|
7723
|
+
const top = savedTop;
|
|
7724
|
+
savedTop = null;
|
|
7735
7725
|
renderer.setStyle(root, {
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
|
|
7740
|
-
|
|
7726
|
+
position: null,
|
|
7727
|
+
top: null,
|
|
7728
|
+
left: null,
|
|
7729
|
+
right: null,
|
|
7730
|
+
'overflow-y': null,
|
|
7731
|
+
'scroll-behavior': 'auto',
|
|
7741
7732
|
});
|
|
7742
|
-
|
|
7733
|
+
document.defaultView?.scrollTo(0, top);
|
|
7734
|
+
renderer.setStyle(root, { 'scroll-behavior': null });
|
|
7743
7735
|
}
|
|
7744
7736
|
}), takeUntilDestroyed())
|
|
7745
7737
|
.subscribe();
|