@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.
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const SKY_STACKING_CONTEXT = new InjectionToken('SkyStackingContext');
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tpbmctY29udGV4dC10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUNwRCxvQkFBb0IsQ0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVN0YWNraW5nQ29udGV4dCB9IGZyb20gJy4vc3RhY2tpbmctY29udGV4dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBTS1lfU1RBQ0tJTkdfQ09OVEVYVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTa3lTdGFja2luZ0NvbnRleHQ+KFxuICAnU2t5U3RhY2tpbmdDb250ZXh0J1xuKTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2tpbmctY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9zdGFja2luZy1jb250ZXh0L3N0YWNraW5nLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lTdGFja2luZ0NvbnRleHQge1xuICAvLyBUaGUgei1pbmRleCB0byB1c2UgZm9yIHRoZSBzdGFja2luZyBjb250ZXh0LlxuICB6SW5kZXg6IE9ic2VydmFibGU8bnVtYmVyPjtcbn1cbiJdfQ==
@@ -3,8 +3,8 @@ import { NgModule, Injectable, EventEmitter, Directive, Input, Output, Injector,
3
3
  import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } 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';
@@ -1504,7 +1504,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
1504
1504
  */
1505
1505
  const SKY_LOG_LEVEL = new InjectionToken('SkyLogLevel');
1506
1506
 
1507
- var _SkyLogService_instances, _SkyLogService_applicationLogLevel, _SkyLogService_formatter, _SkyLogService_convertStringToCode, _SkyLogService_canLog, _SkyLogService_logBasedOnLevel;
1507
+ var _SkyLogService_instances, _SkyLogService_applicationLogLevel, _SkyLogService_formatter, _SkyLogService_previousWarnings, _SkyLogService_convertStringToCode, _SkyLogService_canLog, _SkyLogService_logBasedOnLevel, _SkyLogService_logWithParams, _SkyLogService_buildMessageKey;
1508
1508
  /**
1509
1509
  * 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.
1510
1510
  * @internal
@@ -1514,6 +1514,7 @@ class SkyLogService {
1514
1514
  _SkyLogService_instances.add(this);
1515
1515
  _SkyLogService_applicationLogLevel.set(this, void 0);
1516
1516
  _SkyLogService_formatter.set(this, void 0);
1517
+ _SkyLogService_previousWarnings.set(this, new Set());
1517
1518
  __classPrivateFieldSet(this, _SkyLogService_formatter, formatter, "f");
1518
1519
  __classPrivateFieldSet(this, _SkyLogService_applicationLogLevel, applicationLogLevel !== null && applicationLogLevel !== void 0 ? applicationLogLevel : 3 /* SkyLogLevel.Error */, "f");
1519
1520
  }
@@ -1529,26 +1530,26 @@ class SkyLogService {
1529
1530
  const logLevel = (_a = args === null || args === void 0 ? void 0 : args.logLevel) !== null && _a !== void 0 ? _a : 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 localizedStrings = [];
1533
+ const messageParts = [];
1533
1534
  if (args === null || args === void 0 ? void 0 : args.deprecationMajorVersion) {
1534
- localizedStrings.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('{0} is deprecated starting in SKY UX {1}.', name, args.deprecationMajorVersion.toLocaleString()));
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
- localizedStrings.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('{0} is deprecated.', name));
1538
+ messageParts.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('{0} is deprecated.', name));
1538
1539
  }
1539
1540
  if (args === null || args === void 0 ? void 0 : args.removalMajorVersion) {
1540
- localizedStrings.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('We will remove it in version {0}.', args.removalMajorVersion.toLocaleString()));
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
- localizedStrings.push('We will remove it in a future major version.');
1544
+ messageParts.push('We will remove it in a future major version.');
1544
1545
  }
1545
1546
  if (args === null || args === void 0 ? void 0 : args.replacementRecommendation) {
1546
- localizedStrings.push(args.replacementRecommendation);
1547
+ messageParts.push(args.replacementRecommendation);
1547
1548
  }
1548
1549
  if (args === null || args === void 0 ? void 0 : args.moreInfoUrl) {
1549
- localizedStrings.push(__classPrivateFieldGet(this, _SkyLogService_formatter, "f").formatText('For more information, see {0}.', args.moreInfoUrl));
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, localizedStrings.join(' '));
1552
+ __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logBasedOnLevel).call(this, logLevel, messageParts.join(' '));
1552
1553
  }
1553
1554
  return Promise.resolve();
1554
1555
  });
@@ -1560,12 +1561,7 @@ class SkyLogService {
1560
1561
  */
1561
1562
  error(message, params) {
1562
1563
  if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, 3 /* SkyLogLevel.Error */)) {
1563
- if (params) {
1564
- console.error(message, ...params);
1565
- }
1566
- else {
1567
- console.error(message);
1568
- }
1564
+ __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logWithParams).call(this, 'error', message, params);
1569
1565
  }
1570
1566
  }
1571
1567
  /**
@@ -1575,12 +1571,7 @@ class SkyLogService {
1575
1571
  */
1576
1572
  info(message, params) {
1577
1573
  if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, 1 /* SkyLogLevel.Info */)) {
1578
- if (params) {
1579
- console.log(message, ...params);
1580
- }
1581
- else {
1582
- console.log(message);
1583
- }
1574
+ __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logWithParams).call(this, 'log', message, params);
1584
1575
  }
1585
1576
  }
1586
1577
  /**
@@ -1590,16 +1581,17 @@ class SkyLogService {
1590
1581
  */
1591
1582
  warn(message, params) {
1592
1583
  if (__classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_canLog).call(this, 2 /* SkyLogLevel.Warn */)) {
1593
- if (params) {
1594
- console.warn(message, ...params);
1595
- }
1596
- else {
1597
- console.warn(message);
1584
+ const messageKey = __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_buildMessageKey).call(this, message, params);
1585
+ // Only log each warning once per application instance to avoid drowning out other
1586
+ // important messages in the console.
1587
+ if (!__classPrivateFieldGet(this, _SkyLogService_previousWarnings, "f").has(message)) {
1588
+ __classPrivateFieldGet(this, _SkyLogService_instances, "m", _SkyLogService_logWithParams).call(this, 'warn', message, params);
1589
+ __classPrivateFieldGet(this, _SkyLogService_previousWarnings, "f").add(messageKey);
1598
1590
  }
1599
1591
  }
1600
1592
  }
1601
1593
  }
1602
- _SkyLogService_applicationLogLevel = new WeakMap(), _SkyLogService_formatter = new WeakMap(), _SkyLogService_instances = new WeakSet(), _SkyLogService_convertStringToCode = function _SkyLogService_convertStringToCode(typeString) {
1594
+ _SkyLogService_applicationLogLevel = new WeakMap(), _SkyLogService_formatter = new WeakMap(), _SkyLogService_previousWarnings = new WeakMap(), _SkyLogService_instances = new WeakSet(), _SkyLogService_convertStringToCode = function _SkyLogService_convertStringToCode(typeString) {
1603
1595
  if (typeString.charAt(0) !== '`' && typeString.charAt(-1) !== '`') {
1604
1596
  typeString = '`' + typeString + '`';
1605
1597
  }
@@ -1618,6 +1610,19 @@ _SkyLogService_applicationLogLevel = new WeakMap(), _SkyLogService_formatter = n
1618
1610
  this.error(message, params);
1619
1611
  break;
1620
1612
  }
1613
+ }, _SkyLogService_logWithParams = function _SkyLogService_logWithParams(logMethod, message, params) {
1614
+ if (params) {
1615
+ console[logMethod](message, ...params);
1616
+ }
1617
+ else {
1618
+ console[logMethod](message);
1619
+ }
1620
+ }, _SkyLogService_buildMessageKey = function _SkyLogService_buildMessageKey(message, params) {
1621
+ let key = message;
1622
+ if (params === null || params === void 0 ? void 0 : params.length) {
1623
+ key = `${key} ${params.join(' ')}`;
1624
+ }
1625
+ return key;
1621
1626
  };
1622
1627
  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 });
1623
1628
  SkyLogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyLogService, providedIn: 'root' });
@@ -1830,7 +1835,7 @@ class NumericOptions {
1830
1835
  }
1831
1836
  }
1832
1837
 
1833
- // This file is mostly ported from the Angular 4.x NumberPipe in order to maintain the old
1838
+ /* eslint-disable eqeqeq */
1834
1839
  function isNumeric(value) {
1835
1840
  return !isNaN(value - parseFloat(value));
1836
1841
  }
@@ -2217,6 +2222,11 @@ class SkyOverlayInstance {
2217
2222
  }
2218
2223
  _SkyOverlayInstance_backdropClick = new WeakMap(), _SkyOverlayInstance_backdropClickObs = new WeakMap(), _SkyOverlayInstance_closed = new WeakMap(), _SkyOverlayInstance_closedObs = new WeakMap();
2219
2224
 
2225
+ /**
2226
+ * @internal
2227
+ */
2228
+ const SKY_STACKING_CONTEXT = new InjectionToken('SkyStackingContext');
2229
+
2220
2230
  /**
2221
2231
  * Contextual information for each overlay.
2222
2232
  * @internal
@@ -2252,6 +2262,7 @@ class SkyOverlayComponent {
2252
2262
  this.enablePointerEvents = false;
2253
2263
  this.showBackdrop = false;
2254
2264
  this.zIndex = `${++uniqueZIndex}`;
2265
+ this.clipPath$ = new ReplaySubject(1);
2255
2266
  _SkyOverlayComponent_backdropClick.set(this, void 0);
2256
2267
  _SkyOverlayComponent_backdropClickObs.set(this, void 0);
2257
2268
  _SkyOverlayComponent_changeDetector.set(this, void 0);
@@ -2304,7 +2315,17 @@ class SkyOverlayComponent {
2304
2315
  }
2305
2316
  this.targetRef.clear();
2306
2317
  const injector = Injector.create({
2307
- providers,
2318
+ providers: [
2319
+ {
2320
+ provide: SKY_STACKING_CONTEXT,
2321
+ useValue: {
2322
+ zIndex: new BehaviorSubject(parseInt(this.zIndex, 10))
2323
+ .asObservable()
2324
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyOverlayComponent_ngUnsubscribe, "f"))),
2325
+ },
2326
+ },
2327
+ ...providers,
2328
+ ],
2308
2329
  parent: __classPrivateFieldGet(this, _SkyOverlayComponent_injector, "f"),
2309
2330
  });
2310
2331
  const componentRef = this.targetRef.createComponent(component, {
@@ -2322,6 +2343,9 @@ class SkyOverlayComponent {
2322
2343
  this.targetRef.clear();
2323
2344
  return this.targetRef.createEmbeddedView(templateRef, context);
2324
2345
  }
2346
+ updateClipPath(clipPath) {
2347
+ this.clipPath$.next(clipPath);
2348
+ }
2325
2349
  }
2326
2350
  _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) {
2327
2351
  this.wrapperClass = config.wrapperClass || '';
@@ -2361,10 +2385,10 @@ _SkyOverlayComponent_backdropClick = new WeakMap(), _SkyOverlayComponent_backdro
2361
2385
  }
2362
2386
  };
2363
2387
  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 });
2364
- 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.zIndex]=\"zIndex\"\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2388
+ 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 });
2365
2389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyOverlayComponent, decorators: [{
2366
2390
  type: Component,
2367
- args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"wrapperClass\"\n [style.zIndex]=\"zIndex\"\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"] }]
2391
+ 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"] }]
2368
2392
  }], ctorParameters: function () {
2369
2393
  return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: SkyCoreAdapterService }, { type: SkyOverlayContext }, { type: SkyIdService }, { type: i4.Router, decorators: [{
2370
2394
  type: Optional
@@ -2821,18 +2845,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
2821
2845
  }]
2822
2846
  }], ctorParameters: function () { return [{ type: SkyResizeObserverService }]; } });
2823
2847
 
2824
- var _SkyScrollableHostService_instances, _SkyScrollableHostService_mutationObserverSvc, _SkyScrollableHostService_windowRef, _SkyScrollableHostService_findScrollableHost, _SkyScrollableHostService_observeDocumentHiddenElementChanges, _SkyScrollableHostService_observeForScrollableHostChanges, _SkyScrollableHostService_isElementVisible;
2848
+ var _SkyScrollableHostService_instances, _SkyScrollableHostService_mutationObserverSvc, _SkyScrollableHostService_windowRef, _SkyScrollableHostService_resizeObserverSvc, _SkyScrollableHostService_findScrollableHost, _SkyScrollableHostService_observeDocumentHiddenElementChanges, _SkyScrollableHostService_observeForScrollableHostChanges, _SkyScrollableHostService_isElementVisible, _SkyScrollableHostService_getViewportSize;
2825
2849
  function notifySubscribers(subscribers, item) {
2826
2850
  for (const subscriber of subscribers) {
2827
2851
  subscriber.next(item);
2828
2852
  }
2829
2853
  }
2830
2854
  class SkyScrollableHostService {
2831
- constructor(mutationObserverSvc, windowRef) {
2855
+ constructor(mutationObserverSvc, windowRef, resizeObserverSvc) {
2832
2856
  _SkyScrollableHostService_instances.add(this);
2833
2857
  _SkyScrollableHostService_mutationObserverSvc.set(this, void 0);
2834
2858
  _SkyScrollableHostService_windowRef.set(this, void 0);
2859
+ _SkyScrollableHostService_resizeObserverSvc.set(this, void 0);
2835
2860
  __classPrivateFieldSet(this, _SkyScrollableHostService_mutationObserverSvc, mutationObserverSvc, "f");
2861
+ __classPrivateFieldSet(this, _SkyScrollableHostService_resizeObserverSvc, resizeObserverSvc, "f");
2836
2862
  __classPrivateFieldSet(this, _SkyScrollableHostService_windowRef, windowRef, "f");
2837
2863
  }
2838
2864
  /**
@@ -2946,8 +2972,30 @@ class SkyScrollableHostService {
2946
2972
  });
2947
2973
  });
2948
2974
  }
2949
- }
2950
- _SkyScrollableHostService_mutationObserverSvc = new WeakMap(), _SkyScrollableHostService_windowRef = new WeakMap(), _SkyScrollableHostService_instances = new WeakSet(), _SkyScrollableHostService_findScrollableHost = function _SkyScrollableHostService_findScrollableHost(element) {
2975
+ watchScrollableHostClipPathChanges(elementRef) {
2976
+ if (!__classPrivateFieldGet(this, _SkyScrollableHostService_resizeObserverSvc, "f")) {
2977
+ return of('none');
2978
+ }
2979
+ return this.watchScrollableHost(elementRef).pipe(switchMap((scrollableHost) => {
2980
+ if (!__classPrivateFieldGet(this, _SkyScrollableHostService_resizeObserverSvc, "f") ||
2981
+ !scrollableHost ||
2982
+ scrollableHost === __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow) {
2983
+ return of('none');
2984
+ }
2985
+ return concat([
2986
+ of(undefined),
2987
+ __classPrivateFieldGet(this, _SkyScrollableHostService_resizeObserverSvc, "f").observe({ nativeElement: scrollableHost }),
2988
+ ]).pipe(debounceTime(0, animationFrameScheduler), map(() => {
2989
+ const viewportSize = __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_getViewportSize).call(this);
2990
+ const { top, left, width, height } = scrollableHost.getBoundingClientRect();
2991
+ const right = Math.max(viewportSize.width - left - width, 0);
2992
+ const bottom = Math.max(viewportSize.height - top - height, 0);
2993
+ return `inset(${top}px ${right}px ${bottom}px ${left}px)`;
2994
+ }));
2995
+ }));
2996
+ }
2997
+ }
2998
+ _SkyScrollableHostService_mutationObserverSvc = new WeakMap(), _SkyScrollableHostService_windowRef = new WeakMap(), _SkyScrollableHostService_resizeObserverSvc = new WeakMap(), _SkyScrollableHostService_instances = new WeakSet(), _SkyScrollableHostService_findScrollableHost = function _SkyScrollableHostService_findScrollableHost(element) {
2951
2999
  const regex = /(auto|scroll)/;
2952
3000
  const windowObj = __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow;
2953
3001
  const bodyObj = windowObj.document.body;
@@ -2987,16 +3035,28 @@ _SkyScrollableHostService_mutationObserverSvc = new WeakMap(), _SkyScrollableHos
2987
3035
  subtree: true,
2988
3036
  });
2989
3037
  }, _SkyScrollableHostService_isElementVisible = function _SkyScrollableHostService_isElementVisible(elementRef) {
2990
- return elementRef.nativeElement.offsetParent;
3038
+ var _a;
3039
+ return !!((_a = elementRef.nativeElement) === null || _a === void 0 ? void 0 : _a.offsetParent);
3040
+ }, _SkyScrollableHostService_getViewportSize = function _SkyScrollableHostService_getViewportSize() {
3041
+ const win = __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow;
3042
+ const docElem = win.document.documentElement;
3043
+ return {
3044
+ width: docElem.clientWidth,
3045
+ height: docElem.clientHeight,
3046
+ };
2991
3047
  };
2992
- 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 });
3048
+ 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 });
2993
3049
  SkyScrollableHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyScrollableHostService, providedIn: 'root' });
2994
3050
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyScrollableHostService, decorators: [{
2995
3051
  type: Injectable,
2996
3052
  args: [{
2997
3053
  providedIn: 'root',
2998
3054
  }]
2999
- }], ctorParameters: function () { return [{ type: SkyMutationObserverService }, { type: SkyAppWindowRef }]; } });
3055
+ }], ctorParameters: function () {
3056
+ return [{ type: SkyMutationObserverService }, { type: SkyAppWindowRef }, { type: SkyResizeObserverService, decorators: [{
3057
+ type: Optional
3058
+ }] }];
3059
+ } });
3000
3060
 
3001
3061
  var _SkyAppTitleService_title;
3002
3062
  /**
@@ -3586,5 +3646,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
3586
3646
  * Generated bundle index. Do not edit.
3587
3647
  */
3588
3648
 
3589
- 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 };
3649
+ 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 };
3590
3650
  //# sourceMappingURL=skyux-core.mjs.map