@skyux/core 8.0.0-alpha.0 → 8.0.0-alpha.2
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/documentation.json +684 -610
- package/esm2020/index.mjs +3 -1
- package/esm2020/lib/modules/log/log.service.mjs +33 -28
- package/esm2020/lib/modules/overlay/overlay.component.mjs +20 -5
- package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +44 -10
- package/esm2020/lib/modules/shared/number-format/number-format-utility.mjs +2 -1
- package/esm2020/lib/modules/stacking-context/stacking-context-token.mjs +6 -0
- package/esm2020/lib/modules/stacking-context/stacking-context.mjs +2 -0
- package/fesm2015/skyux-core.mjs +101 -41
- package/fesm2015/skyux-core.mjs.map +1 -1
- package/fesm2020/skyux-core.mjs +98 -41
- package/fesm2020/skyux-core.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/modules/overlay/overlay.component.d.ts +3 -1
- package/lib/modules/scrollable-host/scrollable-host.service.d.ts +4 -2
- package/lib/modules/stacking-context/stacking-context-token.d.ts +6 -0
- package/lib/modules/stacking-context/stacking-context.d.ts +7 -0
- package/package.json +2 -2
package/fesm2020/skyux-core.mjs
CHANGED
@@ -3,8 +3,8 @@ import { NgModule, Injectable, EventEmitter, Directive, Input, Output, Injector,
|
|
3
3
|
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
|
4
4
|
import * as i5 from '@angular/common';
|
5
5
|
import { CommonModule } from '@angular/common';
|
6
|
-
import { Subject, fromEvent, BehaviorSubject, ReplaySubject, Observable, of } from 'rxjs';
|
7
|
-
import { takeUntil, debounceTime, finalize } from 'rxjs/operators';
|
6
|
+
import { Subject, fromEvent, BehaviorSubject, ReplaySubject, Observable, of, concat, animationFrameScheduler } from 'rxjs';
|
7
|
+
import { takeUntil, debounceTime, finalize, switchMap, map } from 'rxjs/operators';
|
8
8
|
import * as i1 from '@skyux/i18n';
|
9
9
|
import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS, SkyIntlNumberFormatStyle, SkyIntlNumberFormatter } from '@skyux/i18n';
|
10
10
|
import * as i4 from '@angular/router';
|
@@ -1506,7 +1506,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
1506
1506
|
*/
|
1507
1507
|
const SKY_LOG_LEVEL = new InjectionToken('SkyLogLevel');
|
1508
1508
|
|
1509
|
-
var _SkyLogService_instances, _SkyLogService_applicationLogLevel, _SkyLogService_formatter, _SkyLogService_convertStringToCode, _SkyLogService_canLog, _SkyLogService_logBasedOnLevel;
|
1509
|
+
var _SkyLogService_instances, _SkyLogService_applicationLogLevel, _SkyLogService_formatter, _SkyLogService_previousWarnings, _SkyLogService_convertStringToCode, _SkyLogService_canLog, _SkyLogService_logBasedOnLevel, _SkyLogService_logWithParams, _SkyLogService_buildMessageKey;
|
1510
1510
|
/**
|
1511
1511
|
* Logs information to the console based on the application's log level as provided by the `SKY_LOG_LEVEL` injection token. If no token is provided, only `error` logs will be shown.
|
1512
1512
|
* @internal
|
@@ -1516,6 +1516,7 @@ class SkyLogService {
|
|
1516
1516
|
_SkyLogService_instances.add(this);
|
1517
1517
|
_SkyLogService_applicationLogLevel.set(this, void 0);
|
1518
1518
|
_SkyLogService_formatter.set(this, void 0);
|
1519
|
+
_SkyLogService_previousWarnings.set(this, new Set());
|
1519
1520
|
__classPrivateFieldSet(this, _SkyLogService_formatter, formatter, "f");
|
1520
1521
|
__classPrivateFieldSet(this, _SkyLogService_applicationLogLevel, applicationLogLevel ?? 3 /* SkyLogLevel.Error */, "f");
|
1521
1522
|
}
|
@@ -1529,26 +1530,26 @@ class SkyLogService {
|
|
1529
1530
|
const logLevel = args?.logLevel ?? 2 /* SkyLogLevel.Warn */;
|
1530
1531
|
name = __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_convertStringToCode).call(this, name);
|
1531
1532
|
if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, logLevel)) {
|
1532
|
-
const
|
1533
|
+
const messageParts = [];
|
1533
1534
|
if (args?.deprecationMajorVersion) {
|
1534
|
-
|
1535
|
+
messageParts.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('{0} is deprecated starting in SKY UX {1}.', name, args.deprecationMajorVersion.toLocaleString()));
|
1535
1536
|
}
|
1536
1537
|
else {
|
1537
|
-
|
1538
|
+
messageParts.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('{0} is deprecated.', name));
|
1538
1539
|
}
|
1539
1540
|
if (args?.removalMajorVersion) {
|
1540
|
-
|
1541
|
+
messageParts.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('We will remove it in version {0}.', args.removalMajorVersion.toLocaleString()));
|
1541
1542
|
}
|
1542
1543
|
else {
|
1543
|
-
|
1544
|
+
messageParts.push('We will remove it in a future major version.');
|
1544
1545
|
}
|
1545
1546
|
if (args?.replacementRecommendation) {
|
1546
|
-
|
1547
|
+
messageParts.push(args.replacementRecommendation);
|
1547
1548
|
}
|
1548
1549
|
if (args?.moreInfoUrl) {
|
1549
|
-
|
1550
|
+
messageParts.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('For more information, see {0}.', args.moreInfoUrl));
|
1550
1551
|
}
|
1551
|
-
__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logBasedOnLevel).call(this, logLevel,
|
1552
|
+
__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logBasedOnLevel).call(this, logLevel, messageParts.join(' '));
|
1552
1553
|
}
|
1553
1554
|
return Promise.resolve();
|
1554
1555
|
}
|
@@ -1559,12 +1560,7 @@ class SkyLogService {
|
|
1559
1560
|
*/
|
1560
1561
|
error(message, params) {
|
1561
1562
|
if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, 3 /* SkyLogLevel.Error */)) {
|
1562
|
-
|
1563
|
-
console.error(message, ...params);
|
1564
|
-
}
|
1565
|
-
else {
|
1566
|
-
console.error(message);
|
1567
|
-
}
|
1563
|
+
__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logWithParams).call(this, 'error', message, params);
|
1568
1564
|
}
|
1569
1565
|
}
|
1570
1566
|
/**
|
@@ -1574,12 +1570,7 @@ class SkyLogService {
|
|
1574
1570
|
*/
|
1575
1571
|
info(message, params) {
|
1576
1572
|
if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, 1 /* SkyLogLevel.Info */)) {
|
1577
|
-
|
1578
|
-
console.log(message, ...params);
|
1579
|
-
}
|
1580
|
-
else {
|
1581
|
-
console.log(message);
|
1582
|
-
}
|
1573
|
+
__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logWithParams).call(this, 'log', message, params);
|
1583
1574
|
}
|
1584
1575
|
}
|
1585
1576
|
/**
|
@@ -1589,16 +1580,17 @@ class SkyLogService {
|
|
1589
1580
|
*/
|
1590
1581
|
warn(message, params) {
|
1591
1582
|
if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, 2 /* SkyLogLevel.Warn */)) {
|
1592
|
-
|
1593
|
-
|
1594
|
-
|
1595
|
-
|
1596
|
-
|
1583
|
+
const messageKey = __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_buildMessageKey).call(this, message, params);
|
1584
|
+
// Only log each warning once per application instance to avoid drowning out other
|
1585
|
+
// important messages in the console.
|
1586
|
+
if (!__classPrivateFieldGet(this, _SkyLogService_previousWarnings, "f").has(message)) {
|
1587
|
+
__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logWithParams).call(this, 'warn', message, params);
|
1588
|
+
__classPrivateFieldGet(this, _SkyLogService_previousWarnings, "f").add(messageKey);
|
1597
1589
|
}
|
1598
1590
|
}
|
1599
1591
|
}
|
1600
1592
|
}
|
1601
|
-
_SkyLogService_applicationLogLevel = new WeakMap(), _SkyLogService_formatter = new WeakMap(), _SkyLogService_instances = new WeakSet(), _SkyLogService_convertStringToCode = function _SkyLogService_convertStringToCode(typeString) {
|
1593
|
+
_SkyLogService_applicationLogLevel = new WeakMap(), _SkyLogService_formatter = new WeakMap(), _SkyLogService_previousWarnings = new WeakMap(), _SkyLogService_instances = new WeakSet(), _SkyLogService_convertStringToCode = function _SkyLogService_convertStringToCode(typeString) {
|
1602
1594
|
if (typeString.charAt(0) !== '`' && typeString.charAt(-1) !== '`') {
|
1603
1595
|
typeString = '`' + typeString + '`';
|
1604
1596
|
}
|
@@ -1617,6 +1609,19 @@ _SkyLogService_applicationLogLevel = new WeakMap(), _SkyLogService_formatter = n
|
|
1617
1609
|
this.error(message, params);
|
1618
1610
|
break;
|
1619
1611
|
}
|
1612
|
+
}, _SkyLogService_logWithParams = function _SkyLogService_logWithParams(logMethod, message, params) {
|
1613
|
+
if (params) {
|
1614
|
+
console[logMethod](message, ...params);
|
1615
|
+
}
|
1616
|
+
else {
|
1617
|
+
console[logMethod](message);
|
1618
|
+
}
|
1619
|
+
}, _SkyLogService_buildMessageKey = function _SkyLogService_buildMessageKey(message, params) {
|
1620
|
+
let key = message;
|
1621
|
+
if (params?.length) {
|
1622
|
+
key = `${key} ${params.join(' ')}`;
|
1623
|
+
}
|
1624
|
+
return key;
|
1620
1625
|
};
|
1621
1626
|
SkyLogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyLogService, deps: [{ token: SkyAppFormat }, { token: SKY_LOG_LEVEL, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
1622
1627
|
SkyLogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyLogService, providedIn: 'root' });
|
@@ -1827,7 +1832,7 @@ class NumericOptions {
|
|
1827
1832
|
}
|
1828
1833
|
}
|
1829
1834
|
|
1830
|
-
|
1835
|
+
/* eslint-disable eqeqeq */
|
1831
1836
|
function isNumeric(value) {
|
1832
1837
|
return !isNaN(value - parseFloat(value));
|
1833
1838
|
}
|
@@ -2213,6 +2218,11 @@ class SkyOverlayInstance {
|
|
2213
2218
|
}
|
2214
2219
|
_SkyOverlayInstance_backdropClick = new WeakMap(), _SkyOverlayInstance_backdropClickObs = new WeakMap(), _SkyOverlayInstance_closed = new WeakMap(), _SkyOverlayInstance_closedObs = new WeakMap();
|
2215
2220
|
|
2221
|
+
/**
|
2222
|
+
* @internal
|
2223
|
+
*/
|
2224
|
+
const SKY_STACKING_CONTEXT = new InjectionToken('SkyStackingContext');
|
2225
|
+
|
2216
2226
|
/**
|
2217
2227
|
* Contextual information for each overlay.
|
2218
2228
|
* @internal
|
@@ -2248,6 +2258,7 @@ class SkyOverlayComponent {
|
|
2248
2258
|
this.enablePointerEvents = false;
|
2249
2259
|
this.showBackdrop = false;
|
2250
2260
|
this.zIndex = `${++uniqueZIndex}`;
|
2261
|
+
this.clipPath$ = new ReplaySubject(1);
|
2251
2262
|
_SkyOverlayComponent_backdropClick.set(this, void 0);
|
2252
2263
|
_SkyOverlayComponent_backdropClickObs.set(this, void 0);
|
2253
2264
|
_SkyOverlayComponent_changeDetector.set(this, void 0);
|
@@ -2300,7 +2311,17 @@ class SkyOverlayComponent {
|
|
2300
2311
|
}
|
2301
2312
|
this.targetRef.clear();
|
2302
2313
|
const injector = Injector.create({
|
2303
|
-
providers
|
2314
|
+
providers: [
|
2315
|
+
{
|
2316
|
+
provide: SKY_STACKING_CONTEXT,
|
2317
|
+
useValue: {
|
2318
|
+
zIndex: new BehaviorSubject(parseInt(this.zIndex, 10))
|
2319
|
+
.asObservable()
|
2320
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f"))),
|
2321
|
+
},
|
2322
|
+
},
|
2323
|
+
...providers,
|
2324
|
+
],
|
2304
2325
|
parent: __classPrivateFieldGet(this, _SkyOverlayComponent_injector, "f"),
|
2305
2326
|
});
|
2306
2327
|
const componentRef = this.targetRef.createComponent(component, {
|
@@ -2318,6 +2339,9 @@ class SkyOverlayComponent {
|
|
2318
2339
|
this.targetRef.clear();
|
2319
2340
|
return this.targetRef.createEmbeddedView(templateRef, context);
|
2320
2341
|
}
|
2342
|
+
updateClipPath(clipPath) {
|
2343
|
+
this.clipPath$.next(clipPath);
|
2344
|
+
}
|
2321
2345
|
}
|
2322
2346
|
_SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdropClickObs = new WeakMap(), _SkyOverlayComponent_changeDetector = new WeakMap(), _SkyOverlayComponent_closed = new WeakMap(), _SkyOverlayComponent_closedObs = new WeakMap(), _SkyOverlayComponent_context = new WeakMap(), _SkyOverlayComponent_coreAdapter = new WeakMap(), _SkyOverlayComponent_injector = new WeakMap(), _SkyOverlayComponent_ngUnsubscribe = new WeakMap(), _SkyOverlayComponent_router = new WeakMap(), _SkyOverlayComponent_routerSubscription = new WeakMap(), _SkyOverlayComponent_instances = new WeakSet(), _SkyOverlayComponent_applyConfig = function _SkyOverlayComponent_applyConfig(config) {
|
2323
2347
|
this.wrapperClass = config.wrapperClass || '';
|
@@ -2357,10 +2381,10 @@ _SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdro
|
|
2357
2381
|
}
|
2358
2382
|
};
|
2359
2383
|
SkyOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: SkyCoreAdapterService }, { token: SkyOverlayContext }, { token: SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
2360
|
-
SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.
|
2384
|
+
SkyOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
2361
2385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayComponent, decorators: [{
|
2362
2386
|
type: Component,
|
2363
|
-
args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"wrapperClass\"\n [style.
|
2387
|
+
args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{position:fixed;inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"] }]
|
2364
2388
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: SkyCoreAdapterService }, { type: SkyOverlayContext }, { type: SkyIdService }, { type: i4.Router, decorators: [{
|
2365
2389
|
type: Optional
|
2366
2390
|
}] }]; }, propDecorators: { id: [{
|
@@ -2815,18 +2839,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
2815
2839
|
}]
|
2816
2840
|
}], ctorParameters: function () { return [{ type: SkyResizeObserverService }]; } });
|
2817
2841
|
|
2818
|
-
var _SkyScrollableHostService_instances, _SkyScrollableHostService_mutationObserverSvc, _SkyScrollableHostService_windowRef, _SkyScrollableHostService_findScrollableHost, _SkyScrollableHostService_observeDocumentHiddenElementChanges, _SkyScrollableHostService_observeForScrollableHostChanges, _SkyScrollableHostService_isElementVisible;
|
2842
|
+
var _SkyScrollableHostService_instances, _SkyScrollableHostService_mutationObserverSvc, _SkyScrollableHostService_windowRef, _SkyScrollableHostService_resizeObserverSvc, _SkyScrollableHostService_findScrollableHost, _SkyScrollableHostService_observeDocumentHiddenElementChanges, _SkyScrollableHostService_observeForScrollableHostChanges, _SkyScrollableHostService_isElementVisible, _SkyScrollableHostService_getViewportSize;
|
2819
2843
|
function notifySubscribers(subscribers, item) {
|
2820
2844
|
for (const subscriber of subscribers) {
|
2821
2845
|
subscriber.next(item);
|
2822
2846
|
}
|
2823
2847
|
}
|
2824
2848
|
class SkyScrollableHostService {
|
2825
|
-
constructor(mutationObserverSvc, windowRef) {
|
2849
|
+
constructor(mutationObserverSvc, windowRef, resizeObserverSvc) {
|
2826
2850
|
_SkyScrollableHostService_instances.add(this);
|
2827
2851
|
_SkyScrollableHostService_mutationObserverSvc.set(this, void 0);
|
2828
2852
|
_SkyScrollableHostService_windowRef.set(this, void 0);
|
2853
|
+
_SkyScrollableHostService_resizeObserverSvc.set(this, void 0);
|
2829
2854
|
__classPrivateFieldSet(this, _SkyScrollableHostService_mutationObserverSvc, mutationObserverSvc, "f");
|
2855
|
+
__classPrivateFieldSet(this, _SkyScrollableHostService_resizeObserverSvc, resizeObserverSvc, "f");
|
2830
2856
|
__classPrivateFieldSet(this, _SkyScrollableHostService_windowRef, windowRef, "f");
|
2831
2857
|
}
|
2832
2858
|
/**
|
@@ -2940,8 +2966,30 @@ class SkyScrollableHostService {
|
|
2940
2966
|
});
|
2941
2967
|
});
|
2942
2968
|
}
|
2943
|
-
|
2944
|
-
|
2969
|
+
watchScrollableHostClipPathChanges(elementRef) {
|
2970
|
+
if (!__classPrivateFieldGet(this, _SkyScrollableHostService_resizeObserverSvc, "f")) {
|
2971
|
+
return of('none');
|
2972
|
+
}
|
2973
|
+
return this.watchScrollableHost(elementRef).pipe(switchMap((scrollableHost) => {
|
2974
|
+
if (!__classPrivateFieldGet(this, _SkyScrollableHostService_resizeObserverSvc, "f") ||
|
2975
|
+
!scrollableHost ||
|
2976
|
+
scrollableHost === __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow) {
|
2977
|
+
return of('none');
|
2978
|
+
}
|
2979
|
+
return concat([
|
2980
|
+
of(undefined),
|
2981
|
+
__classPrivateFieldGet(this, _SkyScrollableHostService_resizeObserverSvc, "f").observe({ nativeElement: scrollableHost }),
|
2982
|
+
]).pipe(debounceTime(0, animationFrameScheduler), map(() => {
|
2983
|
+
const viewportSize = __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_getViewportSize).call(this);
|
2984
|
+
const { top, left, width, height } = scrollableHost.getBoundingClientRect();
|
2985
|
+
const right = Math.max(viewportSize.width - left - width, 0);
|
2986
|
+
const bottom = Math.max(viewportSize.height - top - height, 0);
|
2987
|
+
return `inset(${top}px ${right}px ${bottom}px ${left}px)`;
|
2988
|
+
}));
|
2989
|
+
}));
|
2990
|
+
}
|
2991
|
+
}
|
2992
|
+
_SkyScrollableHostService_mutationObserverSvc = new WeakMap(), _SkyScrollableHostService_windowRef = new WeakMap(), _SkyScrollableHostService_resizeObserverSvc = new WeakMap(), _SkyScrollableHostService_instances = new WeakSet(), _SkyScrollableHostService_findScrollableHost = function _SkyScrollableHostService_findScrollableHost(element) {
|
2945
2993
|
const regex = /(auto|scroll)/;
|
2946
2994
|
const windowObj = __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow;
|
2947
2995
|
const bodyObj = windowObj.document.body;
|
@@ -2981,16 +3029,25 @@ _SkyScrollableHostService_mutationObserverSvc = new WeakMap(), _SkyScrollableHos
|
|
2981
3029
|
subtree: true,
|
2982
3030
|
});
|
2983
3031
|
}, _SkyScrollableHostService_isElementVisible = function _SkyScrollableHostService_isElementVisible(elementRef) {
|
2984
|
-
return elementRef.nativeElement
|
3032
|
+
return !!elementRef.nativeElement?.offsetParent;
|
3033
|
+
}, _SkyScrollableHostService_getViewportSize = function _SkyScrollableHostService_getViewportSize() {
|
3034
|
+
const win = __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow;
|
3035
|
+
const docElem = win.document.documentElement;
|
3036
|
+
return {
|
3037
|
+
width: docElem.clientWidth,
|
3038
|
+
height: docElem.clientHeight,
|
3039
|
+
};
|
2985
3040
|
};
|
2986
|
-
SkyScrollableHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyScrollableHostService, deps: [{ token: SkyMutationObserverService }, { token: SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
|
3041
|
+
SkyScrollableHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyScrollableHostService, deps: [{ token: SkyMutationObserverService }, { token: SkyAppWindowRef }, { token: SkyResizeObserverService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
2987
3042
|
SkyScrollableHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyScrollableHostService, providedIn: 'root' });
|
2988
3043
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyScrollableHostService, decorators: [{
|
2989
3044
|
type: Injectable,
|
2990
3045
|
args: [{
|
2991
3046
|
providedIn: 'root',
|
2992
3047
|
}]
|
2993
|
-
}], ctorParameters: function () { return [{ type: SkyMutationObserverService }, { type: SkyAppWindowRef }
|
3048
|
+
}], ctorParameters: function () { return [{ type: SkyMutationObserverService }, { type: SkyAppWindowRef }, { type: SkyResizeObserverService, decorators: [{
|
3049
|
+
type: Optional
|
3050
|
+
}] }]; } });
|
2994
3051
|
|
2995
3052
|
var _SkyAppTitleService_title;
|
2996
3053
|
/**
|
@@ -3574,5 +3631,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
3574
3631
|
* Generated bundle index. Do not edit.
|
3575
3632
|
*/
|
3576
3633
|
|
3577
|
-
export { NumericOptions, SKY_LOG_LEVEL, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyIdService, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
3634
|
+
export { NumericOptions, SKY_LOG_LEVEL, SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, SkyAffixModule, SkyAffixService, SkyAffixer, SkyAppFormat, SkyAppTitleService, SkyAppWindowRef, SkyCoreAdapterModule, SkyCoreAdapterService, SkyDockItem, SkyDockLocation, SkyDockModule, SkyDockService, SkyDynamicComponentLocation, SkyDynamicComponentModule, SkyDynamicComponentService, SkyIdModule, SkyIdService, SkyLogModule, SkyLogService, SkyMediaBreakpoints, SkyMediaQueryModule, SkyMediaQueryService, SkyMutationObserverService, SkyNumericModule, SkyNumericPipe, SkyNumericService, SkyOverlayInstance, SkyOverlayModule, SkyOverlayService, SkyPercentPipe, SkyPercentPipeModule, SkyResizeObserverMediaQueryService, SkyResizeObserverService, SkyScrollableHostService, SkyTrimModule, SkyUIConfigService, SkyViewkeeperHostOptions, SkyViewkeeperModule, SkyViewkeeperService, getWindow, SkyAffixDirective as λ1, SkyIdDirective as λ2, SkyViewkeeperDirective as λ3, SkyTrimDirective as λ4 };
|
3578
3635
|
//# sourceMappingURL=skyux-core.mjs.map
|