@ethlete/core 2.3.0 → 2.4.1

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.
Files changed (34) hide show
  1. package/esm2022/lib/components/structured-data/structured-data.component.mjs +3 -3
  2. package/esm2022/lib/directives/animatable/animatable.directive.mjs +5 -5
  3. package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +3 -3
  4. package/esm2022/lib/directives/animated-overlay/animated-overlay.directive.mjs +3 -3
  5. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +3 -3
  6. package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +3 -3
  7. package/esm2022/lib/directives/delayable/delayable.directive.mjs +3 -3
  8. package/esm2022/lib/directives/is-active-element/is-active-element.directive.mjs +3 -3
  9. package/esm2022/lib/directives/let/let.directive.mjs +3 -3
  10. package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +3 -3
  11. package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
  12. package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +3 -3
  13. package/esm2022/lib/directives/repeat/repeat.directive.mjs +3 -3
  14. package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
  15. package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
  16. package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
  17. package/esm2022/lib/directives/seo/seo.directive.mjs +3 -3
  18. package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
  19. package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
  20. package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
  21. package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
  22. package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
  23. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  24. package/esm2022/lib/services/click-observer.service.mjs +6 -6
  25. package/esm2022/lib/services/content-observer.service.mjs +6 -6
  26. package/esm2022/lib/services/focus-visible.service.mjs +3 -3
  27. package/esm2022/lib/services/resize-observer.service.mjs +6 -6
  28. package/esm2022/lib/services/router-state.service.mjs +20 -14
  29. package/esm2022/lib/services/viewport.service.mjs +75 -6
  30. package/fesm2022/ethlete-core.mjs +182 -108
  31. package/fesm2022/ethlete-core.mjs.map +1 -1
  32. package/lib/services/router-state.service.d.ts +50 -14
  33. package/lib/services/viewport.service.d.ts +23 -0
  34. package/package.json +6 -6
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, InjectionToken, assertInInjectionContext, DestroyRef, ElementRef, isDevMode, Directive, Injectable, Inject, Optional, NgZone, EventEmitter, Output, Injector, ViewContainerRef, Pipe, QueryList } from '@angular/core';
3
3
  import { DomSanitizer, Meta, Title } from '@angular/platform-browser';
4
- import { Observable, combineLatest, Subject, startWith, map, takeUntil, distinctUntilChanged, BehaviorSubject, shareReplay, skip, take, tap, debounceTime, merge, fromEvent, filter, switchMap, pairwise } from 'rxjs';
4
+ import { Observable, combineLatest, Subject, startWith, map, takeUntil, distinctUntilChanged, BehaviorSubject, shareReplay, skip, take, tap, debounceTime, merge, fromEvent, filter, switchMap, pairwise, finalize } from 'rxjs';
5
5
  import { coerceCssPixelValue, coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
6
6
  import { supportsScrollBehavior } from '@angular/cdk/platform';
7
7
  import { Overlay } from '@angular/cdk/overlay';
@@ -25,10 +25,10 @@ class StructuredDataComponent {
25
25
  const html = `<script type="application/ld+json">${json}</script>`;
26
26
  return this._sanitizer.bypassSecurityTrustHtml(html);
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: StructuredDataComponent, isStandalone: true, selector: "et-structured-data", inputs: { data: "data" }, host: { properties: { "innerHTML": "this.jsonLD" }, styleAttribute: "display: none" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: StructuredDataComponent, isStandalone: true, selector: "et-structured-data", inputs: { data: "data" }, host: { properties: { "innerHTML": "this.jsonLD" }, styleAttribute: "display: none" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: StructuredDataComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: StructuredDataComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{
34
34
  selector: 'et-structured-data',
@@ -1103,7 +1103,7 @@ class AnimatableDirective {
1103
1103
  }
1104
1104
  set animatedElement(value) {
1105
1105
  let newElement = null;
1106
- if (value === null || value === undefined) {
1106
+ if (value === null || value === undefined || value === '') {
1107
1107
  newElement = this._elementRef.nativeElement;
1108
1108
  }
1109
1109
  else if (typeof value === 'string') {
@@ -1168,15 +1168,15 @@ class AnimatableDirective {
1168
1168
  .subscribe();
1169
1169
  }
1170
1170
  }
1171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1172
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", inputs: { animatedElement: ["etAnimatable", "animatedElement"] }, providers: [
1171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1172
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", inputs: { animatedElement: ["etAnimatable", "animatedElement"] }, providers: [
1173
1173
  {
1174
1174
  provide: ANIMATABLE_TOKEN,
1175
1175
  useExisting: AnimatableDirective,
1176
1176
  },
1177
1177
  ], exportAs: ["etAnimatable"], ngImport: i0 }); }
1178
1178
  }
1179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: AnimatableDirective, decorators: [{
1179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AnimatableDirective, decorators: [{
1180
1180
  type: Directive,
1181
1181
  args: [{
1182
1182
  selector: '[etAnimatable]',
@@ -1276,15 +1276,15 @@ class AnimatedLifecycleDirective {
1276
1276
  }), takeUntil(this._destroy$), take(1))
1277
1277
  .subscribe();
1278
1278
  }
1279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1280
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: AnimatedLifecycleDirective, isStandalone: true, selector: "[etAnimatedLifecycle]", providers: [
1279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1280
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: AnimatedLifecycleDirective, isStandalone: true, selector: "[etAnimatedLifecycle]", providers: [
1281
1281
  {
1282
1282
  provide: ANIMATED_LIFECYCLE_TOKEN,
1283
1283
  useExisting: AnimatedLifecycleDirective,
1284
1284
  },
1285
1285
  ], exportAs: ["etAnimatedLifecycle"], hostDirectives: [{ directive: AnimatableDirective }], ngImport: i0 }); }
1286
1286
  }
1287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
1287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
1288
1288
  type: Directive,
1289
1289
  args: [{
1290
1290
  selector: '[etAnimatedLifecycle]',
@@ -1305,10 +1305,10 @@ class ClickObserverFactory {
1305
1305
  create() {
1306
1306
  return fromEvent(document, 'click');
1307
1307
  }
1308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1309
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverFactory, providedIn: 'root' }); }
1308
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1309
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickObserverFactory, providedIn: 'root' }); }
1310
1310
  }
1311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverFactory, decorators: [{
1311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickObserverFactory, decorators: [{
1312
1312
  type: Injectable,
1313
1313
  args: [{ providedIn: 'root' }]
1314
1314
  }] });
@@ -1361,10 +1361,10 @@ class ClickObserverService {
1361
1361
  this._observedElements.delete(element);
1362
1362
  }
1363
1363
  }
1364
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverService, deps: [{ token: ClickObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
1365
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverService, providedIn: 'root' }); }
1364
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickObserverService, deps: [{ token: ClickObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
1365
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickObserverService, providedIn: 'root' }); }
1366
1366
  }
1367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickObserverService, decorators: [{
1367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickObserverService, decorators: [{
1368
1368
  type: Injectable,
1369
1369
  args: [{ providedIn: 'root' }]
1370
1370
  }], ctorParameters: function () { return [{ type: ClickObserverFactory }]; } });
@@ -1374,10 +1374,10 @@ class MutationObserverFactory {
1374
1374
  create(callback) {
1375
1375
  return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);
1376
1376
  }
1377
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1378
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' }); }
1377
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1378
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' }); }
1379
1379
  }
1380
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: MutationObserverFactory, decorators: [{
1380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: MutationObserverFactory, decorators: [{
1381
1381
  type: Injectable,
1382
1382
  args: [{ providedIn: 'root' }]
1383
1383
  }] });
@@ -1436,10 +1436,10 @@ class ContentObserverService {
1436
1436
  this._observedElements.delete(element);
1437
1437
  }
1438
1438
  }
1439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContentObserverService, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
1440
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContentObserverService, providedIn: 'root' }); }
1439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ContentObserverService, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
1440
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ContentObserverService, providedIn: 'root' }); }
1441
1441
  }
1442
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ContentObserverService, decorators: [{
1442
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ContentObserverService, decorators: [{
1443
1443
  type: Injectable,
1444
1444
  args: [{ providedIn: 'root' }]
1445
1445
  }], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });
@@ -1465,10 +1465,10 @@ class FocusVisibleService {
1465
1465
  onPointerDown() {
1466
1466
  this._hadKeyboardEvent = false;
1467
1467
  }
1468
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FocusVisibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1469
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FocusVisibleService, providedIn: 'root' }); }
1468
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FocusVisibleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1469
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FocusVisibleService, providedIn: 'root' }); }
1470
1470
  }
1471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: FocusVisibleService, decorators: [{
1471
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: FocusVisibleService, decorators: [{
1472
1472
  type: Injectable,
1473
1473
  args: [{
1474
1474
  providedIn: 'root',
@@ -1480,10 +1480,10 @@ class ResizeObserverFactory {
1480
1480
  create(callback) {
1481
1481
  return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);
1482
1482
  }
1483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1484
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverFactory, providedIn: 'root' }); }
1483
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResizeObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1484
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResizeObserverFactory, providedIn: 'root' }); }
1485
1485
  }
1486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverFactory, decorators: [{
1486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResizeObserverFactory, decorators: [{
1487
1487
  type: Injectable,
1488
1488
  args: [{ providedIn: 'root' }]
1489
1489
  }] });
@@ -1538,22 +1538,21 @@ class ResizeObserverService {
1538
1538
  this._observedElements.delete(element);
1539
1539
  }
1540
1540
  }
1541
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverService, deps: [{ token: ResizeObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
1542
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
1541
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResizeObserverService, deps: [{ token: ResizeObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
1542
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResizeObserverService, providedIn: 'root' }); }
1543
1543
  }
1544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ResizeObserverService, decorators: [{
1544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ResizeObserverService, decorators: [{
1545
1545
  type: Injectable,
1546
1546
  args: [{ providedIn: 'root' }]
1547
1547
  }], ctorParameters: function () { return [{ type: ResizeObserverFactory }]; } });
1548
1548
 
1549
+ const ET_DISABLE_SCROLL_TOP = Symbol('ET_DISABLE_SCROLL_TOP');
1550
+ const ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE = Symbol('ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE');
1551
+ const ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE = Symbol('ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE');
1549
1552
  const routerDisableScrollTop = (config = {}) => {
1550
- if (!config.asReturnRoute) {
1551
- return {
1552
- disableScrollTop: true,
1553
- };
1554
- }
1555
1553
  return {
1556
- disableScrollTopAsReturnRoute: true,
1554
+ ...(!config.asReturnRoute ? { [ET_DISABLE_SCROLL_TOP]: true } : { [ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE]: true }),
1555
+ ...(config.onPathParamChange ? { [ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]: true } : {}),
1557
1556
  };
1558
1557
  };
1559
1558
  const ET_PROPERTY_REMOVED = Symbol('ET_PROPERTY_REMOVED');
@@ -1561,6 +1560,9 @@ class RouterStateService {
1561
1560
  get route$() {
1562
1561
  return this._route$.asObservable().pipe(distinctUntilChanged());
1563
1562
  }
1563
+ get route() {
1564
+ return this._route$.getValue();
1565
+ }
1564
1566
  get state$() {
1565
1567
  return this._state$.asObservable();
1566
1568
  }
@@ -1650,7 +1652,7 @@ class RouterStateService {
1650
1652
  combineLatest([this._state$.pipe(pairwise()), this._route$.pipe(pairwise())])
1651
1653
  .pipe(debounceTime(1))
1652
1654
  .subscribe(([[prevState, currState], [prevRoute, currRoute]]) => {
1653
- const sameUrlNavigation = prevRoute === currRoute && equal(prevState.pathParams, currState.pathParams);
1655
+ const sameUrlNavigation = prevRoute === currRoute;
1654
1656
  const didFragmentChange = prevState.fragment !== currState.fragment;
1655
1657
  if (sameUrlNavigation) {
1656
1658
  const allQueryParams = [
@@ -1673,10 +1675,14 @@ class RouterStateService {
1673
1675
  }
1674
1676
  }
1675
1677
  else {
1676
- if (!(currState.data['disableScrollTopAsReturnRoute'] && prevState.data['disableScrollTop']) &&
1677
- !currState.data['disableScrollTop']) {
1678
- (config.scrollElement ?? document.documentElement).scrollTop = 0;
1678
+ const viaReturnRoute = currState.data[ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE] && prevState.data[ET_DISABLE_SCROLL_TOP];
1679
+ const explicitly = currState.data[ET_DISABLE_SCROLL_TOP];
1680
+ const pathParamsChange = currState.data[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE];
1681
+ if (viaReturnRoute || explicitly || pathParamsChange) {
1682
+ return;
1679
1683
  }
1684
+ const el = config.scrollElement ?? document.documentElement;
1685
+ el.scrollTop = 0;
1680
1686
  }
1681
1687
  });
1682
1688
  }
@@ -1703,10 +1709,10 @@ class RouterStateService {
1703
1709
  }
1704
1710
  return changes;
1705
1711
  }
1706
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RouterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1707
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RouterStateService, providedIn: 'root' }); }
1712
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: RouterStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1713
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: RouterStateService, providedIn: 'root' }); }
1708
1714
  }
1709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RouterStateService, decorators: [{
1715
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: RouterStateService, decorators: [{
1710
1716
  type: Injectable,
1711
1717
  args: [{
1712
1718
  providedIn: 'root',
@@ -1750,17 +1756,34 @@ class ViewportService {
1750
1756
  get is2Xl() {
1751
1757
  return this._is2Xl$.value;
1752
1758
  }
1759
+ get viewportSize$() {
1760
+ return this._viewportSize$.asObservable();
1761
+ }
1762
+ get viewportSize() {
1763
+ return this._viewportSize$.value;
1764
+ }
1765
+ get scrollbarSize$() {
1766
+ return this._scrollbarSize$.asObservable();
1767
+ }
1768
+ get scrollbarSize() {
1769
+ return this._scrollbarSize$.value;
1770
+ }
1753
1771
  get currentViewport() {
1754
1772
  return this.getCurrentViewport([this.isXs, this.isSm, this.isMd, this.isLg, this.isXl, this.is2Xl]);
1755
1773
  }
1756
1774
  constructor(_viewportConfig, _breakpointObserver) {
1757
1775
  this._breakpointObserver = _breakpointObserver;
1776
+ this._resizeObserverService = inject(ResizeObserverService);
1777
+ this._viewportMonitorStop$ = new Subject();
1778
+ this._isViewportMonitorEnabled = false;
1758
1779
  this._isXs$ = new BehaviorSubject(false);
1759
1780
  this._isSm$ = new BehaviorSubject(false);
1760
1781
  this._isMd$ = new BehaviorSubject(false);
1761
1782
  this._isLg$ = new BehaviorSubject(false);
1762
1783
  this._isXl$ = new BehaviorSubject(false);
1763
1784
  this._is2Xl$ = new BehaviorSubject(false);
1785
+ this._viewportSize$ = new BehaviorSubject(null);
1786
+ this._scrollbarSize$ = new BehaviorSubject(null);
1764
1787
  this.currentViewport$ = combineLatest([this.isXs$, this.isSm$, this.isMd$, this.isLg$, this.isXl$, this.is2Xl$]).pipe(map((val) => this.getCurrentViewport(val)), shareReplay(1));
1765
1788
  this._viewportConfig = _viewportConfig || DEFAULT_VIEWPORT_CONFIG;
1766
1789
  this._observeDefaultBreakpoints();
@@ -1773,6 +1796,57 @@ class ViewportService {
1773
1796
  const mediaQuery = this._buildMediaQuery(options);
1774
1797
  return this._breakpointObserver.isMatched(mediaQuery);
1775
1798
  }
1799
+ /**
1800
+ * Applies size CSS variables to the documentElement in pixels.
1801
+ * - `--et-vw`: viewport width excluding scrollbar width
1802
+ * - `--et-vh`: viewport height excluding scrollbar height
1803
+ * - `--et-sw`: scrollbar width
1804
+ * - `--et-sh`: scrollbar height
1805
+ */
1806
+ monitorViewport() {
1807
+ if (this._isViewportMonitorEnabled)
1808
+ return;
1809
+ this._isViewportMonitorEnabled = true;
1810
+ this._resizeObserverService
1811
+ .observe(document.documentElement)
1812
+ .pipe(tap((e) => {
1813
+ const width = e[0].contentRect.width;
1814
+ const height = e[0].contentRect.height;
1815
+ document.documentElement.style.setProperty('--et-vw', `${width}px`);
1816
+ document.documentElement.style.setProperty('--et-vh', `${height}px`);
1817
+ this._viewportSize$.next({ width, height });
1818
+ }), finalize(() => {
1819
+ document.documentElement.style.removeProperty('--et-vw');
1820
+ document.documentElement.style.removeProperty('--et-vh');
1821
+ this._viewportSize$.next(null);
1822
+ }), takeUntil(this._viewportMonitorStop$))
1823
+ .subscribe();
1824
+ const scrollbarRuler = document.createElement('div');
1825
+ scrollbarRuler.style.width = '100px';
1826
+ scrollbarRuler.style.height = '100px';
1827
+ scrollbarRuler.style.overflow = 'scroll';
1828
+ scrollbarRuler.style.position = 'absolute';
1829
+ scrollbarRuler.style.top = '-9999px';
1830
+ document.body.appendChild(scrollbarRuler);
1831
+ this._resizeObserverService
1832
+ .observe(scrollbarRuler)
1833
+ .pipe(tap((e) => {
1834
+ const size = e[0].contentRect.width;
1835
+ document.documentElement.style.setProperty('--et-sw', `${100 - size}px`);
1836
+ document.documentElement.style.setProperty('--et-sh', `${100 - size}px`);
1837
+ this._scrollbarSize$.next({ width: 100 - size, height: 100 - size });
1838
+ }), finalize(() => {
1839
+ document.body.removeChild(scrollbarRuler);
1840
+ document.documentElement.style.removeProperty('--et-vw');
1841
+ document.documentElement.style.removeProperty('--et-vh');
1842
+ this._scrollbarSize$.next(null);
1843
+ }), takeUntil(this._viewportMonitorStop$))
1844
+ .subscribe();
1845
+ }
1846
+ unmonitorViewport() {
1847
+ this._viewportMonitorStop$.next();
1848
+ this._isViewportMonitorEnabled = false;
1849
+ }
1776
1850
  _observeDefaultBreakpoints() {
1777
1851
  this.observe({ max: 'xs' }).subscribe(this._isXs$);
1778
1852
  this.observe({ min: 'sm', max: 'sm' }).subscribe(this._isSm$);
@@ -1842,8 +1916,8 @@ class ViewportService {
1842
1916
  }
1843
1917
  return 'xs';
1844
1918
  }
1845
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ViewportService, deps: [{ token: VIEWPORT_CONFIG, optional: true }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
1846
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ViewportService, providedIn: 'root' }); }
1919
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ViewportService, deps: [{ token: VIEWPORT_CONFIG, optional: true }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable }); }
1920
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ViewportService, providedIn: 'root' }); }
1847
1921
  }
1848
1922
  __decorate([
1849
1923
  Memo(),
@@ -1861,7 +1935,7 @@ __decorate([
1861
1935
  __metadata("design:paramtypes", [Object]),
1862
1936
  __metadata("design:returntype", void 0)
1863
1937
  ], ViewportService.prototype, "_buildMediaQuery", null);
1864
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ViewportService, decorators: [{
1938
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ViewportService, decorators: [{
1865
1939
  type: Injectable,
1866
1940
  args: [{
1867
1941
  providedIn: 'root',
@@ -1915,10 +1989,10 @@ class ObserveResizeDirective {
1915
1989
  _unsubscribe() {
1916
1990
  this._currentSubscription?.unsubscribe();
1917
1991
  }
1918
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1919
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { valueChange: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 }); }
1992
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1993
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { valueChange: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 }); }
1920
1994
  }
1921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ObserveResizeDirective, decorators: [{
1995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ObserveResizeDirective, decorators: [{
1922
1996
  type: Directive,
1923
1997
  args: [{
1924
1998
  selector: '[etObserveResize]',
@@ -2123,10 +2197,10 @@ class AnimatedOverlayDirective {
2123
2197
  _reposition() {
2124
2198
  this._popper?.update();
2125
2199
  }
2126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: AnimatedOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2127
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: AnimatedOverlayDirective, isStandalone: true, inputs: { placement: "placement", offset: "offset", arrowPadding: "arrowPadding" }, hostDirectives: [{ directive: ObserveResizeDirective }], ngImport: i0 }); }
2200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AnimatedOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2201
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: AnimatedOverlayDirective, isStandalone: true, inputs: { placement: "placement", offset: "offset", arrowPadding: "arrowPadding" }, hostDirectives: [{ directive: ObserveResizeDirective }], ngImport: i0 }); }
2128
2202
  }
2129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: AnimatedOverlayDirective, decorators: [{
2203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AnimatedOverlayDirective, decorators: [{
2130
2204
  type: Directive,
2131
2205
  args: [{
2132
2206
  standalone: true,
@@ -2161,10 +2235,10 @@ class ClickOutsideDirective {
2161
2235
  ngOnDestroy() {
2162
2236
  this._subscription?.unsubscribe();
2163
2237
  }
2164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2165
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { etClickOutside: "etClickOutside" }, ngImport: i0 }); }
2238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2239
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { etClickOutside: "etClickOutside" }, ngImport: i0 }); }
2166
2240
  }
2167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ClickOutsideDirective, decorators: [{
2241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
2168
2242
  type: Directive,
2169
2243
  args: [{
2170
2244
  selector: '[etClickOutside]',
@@ -2301,10 +2375,10 @@ class CursorDragScrollDirective {
2301
2375
  this._elementRef.nativeElement.style.cursor = 'default';
2302
2376
  }
2303
2377
  }
2304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CursorDragScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2305
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: CursorDragScrollDirective, isStandalone: true, selector: "[etCursorDragScroll]", inputs: { enabled: ["etCursorDragScroll", "enabled"] }, exportAs: ["etCursorDragScroll"], ngImport: i0 }); }
2378
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: CursorDragScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2379
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: CursorDragScrollDirective, isStandalone: true, selector: "[etCursorDragScroll]", inputs: { enabled: ["etCursorDragScroll", "enabled"] }, exportAs: ["etCursorDragScroll"], ngImport: i0 }); }
2306
2380
  }
2307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: CursorDragScrollDirective, decorators: [{
2381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: CursorDragScrollDirective, decorators: [{
2308
2382
  type: Directive,
2309
2383
  args: [{
2310
2384
  selector: '[etCursorDragScroll]',
@@ -2345,15 +2419,15 @@ class DelayableDirective {
2345
2419
  }
2346
2420
  this._isDelayed$.next(val);
2347
2421
  }
2348
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DelayableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2349
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: DelayableDirective, isStandalone: true, selector: "[etDelayable]", providers: [
2422
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelayableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2423
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: DelayableDirective, isStandalone: true, selector: "[etDelayable]", providers: [
2350
2424
  {
2351
2425
  provide: DELAYABLE_TOKEN,
2352
2426
  useExisting: DelayableDirective,
2353
2427
  },
2354
2428
  ], exportAs: ["etDelayable"], ngImport: i0 }); }
2355
2429
  }
2356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: DelayableDirective, decorators: [{
2430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelayableDirective, decorators: [{
2357
2431
  type: Directive,
2358
2432
  args: [{
2359
2433
  selector: '[etDelayable]',
@@ -2380,15 +2454,15 @@ class IsActiveElementDirective {
2380
2454
  set isActiveElement(value) {
2381
2455
  this._isActiveElement = coerceBooleanProperty(value);
2382
2456
  }
2383
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: IsActiveElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2384
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: IsActiveElementDirective, isStandalone: true, selector: "[etIsActiveElement]", inputs: { isActiveElement: ["etIsActiveElement", "isActiveElement"] }, providers: [
2457
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: IsActiveElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2458
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: IsActiveElementDirective, isStandalone: true, selector: "[etIsActiveElement]", inputs: { isActiveElement: ["etIsActiveElement", "isActiveElement"] }, providers: [
2385
2459
  {
2386
2460
  provide: IS_ACTIVE_ELEMENT,
2387
2461
  useExisting: IsActiveElementDirective,
2388
2462
  },
2389
2463
  ], ngImport: i0 }); }
2390
2464
  }
2391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: IsActiveElementDirective, decorators: [{
2465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: IsActiveElementDirective, decorators: [{
2392
2466
  type: Directive,
2393
2467
  args: [{
2394
2468
  selector: '[etIsActiveElement]',
@@ -2438,10 +2512,10 @@ class LetDirective {
2438
2512
  }
2439
2513
  }
2440
2514
  }
2441
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LetDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2442
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: LetDirective, isStandalone: true, selector: "[etLet]", inputs: { etLet: "etLet" }, ngImport: i0 }); }
2515
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LetDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2516
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: LetDirective, isStandalone: true, selector: "[etLet]", inputs: { etLet: "etLet" }, ngImport: i0 }); }
2443
2517
  }
2444
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: LetDirective, decorators: [{
2518
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: LetDirective, decorators: [{
2445
2519
  type: Directive,
2446
2520
  args: [{
2447
2521
  selector: '[etLet]',
@@ -2493,10 +2567,10 @@ class ObserveContentDirective {
2493
2567
  _unsubscribe() {
2494
2568
  this._currentSubscription?.unsubscribe();
2495
2569
  }
2496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2497
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { valueChange: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 }); }
2570
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2571
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { valueChange: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 }); }
2498
2572
  }
2499
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ObserveContentDirective, decorators: [{
2573
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ObserveContentDirective, decorators: [{
2500
2574
  type: Directive,
2501
2575
  args: [{
2502
2576
  selector: '[etObserveContent]',
@@ -2525,10 +2599,10 @@ class ScrollObserverFirstElementDirective {
2525
2599
  set isFirstElement(value) {
2526
2600
  this._isFirstElement = coerceBooleanProperty(value);
2527
2601
  }
2528
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollObserverFirstElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2529
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ScrollObserverFirstElementDirective, isStandalone: true, selector: "[etScrollObserverFirstElement]", inputs: { isFirstElement: ["etScrollObserverFirstElement", "isFirstElement"] }, host: { properties: { "class.et-scroll-observer-first-element": "this.isFirstElement" } }, ngImport: i0 }); }
2602
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ScrollObserverFirstElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2603
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ScrollObserverFirstElementDirective, isStandalone: true, selector: "[etScrollObserverFirstElement]", inputs: { isFirstElement: ["etScrollObserverFirstElement", "isFirstElement"] }, host: { properties: { "class.et-scroll-observer-first-element": "this.isFirstElement" } }, ngImport: i0 }); }
2530
2604
  }
2531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollObserverFirstElementDirective, decorators: [{
2605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ScrollObserverFirstElementDirective, decorators: [{
2532
2606
  type: Directive,
2533
2607
  args: [{
2534
2608
  selector: '[etScrollObserverFirstElement]',
@@ -2544,10 +2618,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
2544
2618
 
2545
2619
  const SCROLL_OBSERVER_IGNORE_TARGET_CLASS = 'et-scroll-observer-ignore-target';
2546
2620
  class ScrollObserverIgnoreTargetDirective {
2547
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollObserverIgnoreTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2548
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ScrollObserverIgnoreTargetDirective, isStandalone: true, selector: "[etScrollObserverIgnoreTarget]", host: { classAttribute: "et-scroll-observer-ignore-target" }, ngImport: i0 }); }
2621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ScrollObserverIgnoreTargetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2622
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ScrollObserverIgnoreTargetDirective, isStandalone: true, selector: "[etScrollObserverIgnoreTarget]", host: { classAttribute: "et-scroll-observer-ignore-target" }, ngImport: i0 }); }
2549
2623
  }
2550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollObserverIgnoreTargetDirective, decorators: [{
2624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ScrollObserverIgnoreTargetDirective, decorators: [{
2551
2625
  type: Directive,
2552
2626
  args: [{
2553
2627
  selector: '[etScrollObserverIgnoreTarget]',
@@ -2569,10 +2643,10 @@ class ScrollObserverLastElementDirective {
2569
2643
  set isLastElement(value) {
2570
2644
  this._isLastElement = coerceBooleanProperty(value);
2571
2645
  }
2572
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollObserverLastElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2573
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ScrollObserverLastElementDirective, isStandalone: true, selector: "[etScrollObserverLastElement]", inputs: { isLastElement: ["etScrollObserverLastElement", "isLastElement"] }, host: { properties: { "class.et-scroll-observer-last-element": "this.isLastElement" }, classAttribute: "et-scroll-observer-last-element" }, ngImport: i0 }); }
2646
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ScrollObserverLastElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2647
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ScrollObserverLastElementDirective, isStandalone: true, selector: "[etScrollObserverLastElement]", inputs: { isLastElement: ["etScrollObserverLastElement", "isLastElement"] }, host: { properties: { "class.et-scroll-observer-last-element": "this.isLastElement" }, classAttribute: "et-scroll-observer-last-element" }, ngImport: i0 }); }
2574
2648
  }
2575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ScrollObserverLastElementDirective, decorators: [{
2649
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ScrollObserverLastElementDirective, decorators: [{
2576
2650
  type: Directive,
2577
2651
  args: [{
2578
2652
  selector: '[etScrollObserverLastElement]',
@@ -2725,15 +2799,15 @@ class ObserveScrollStateDirective {
2725
2799
  }
2726
2800
  return element;
2727
2801
  }
2728
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ObserveScrollStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2729
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: ObserveScrollStateDirective, isStandalone: true, selector: "[etObserveScrollState]", inputs: { observerRootMargin: "observerRootMargin", observerThreshold: "observerThreshold" }, outputs: { valueChange: "etObserveScrollState" }, providers: [
2802
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ObserveScrollStateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2803
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: ObserveScrollStateDirective, isStandalone: true, selector: "[etObserveScrollState]", inputs: { observerRootMargin: "observerRootMargin", observerThreshold: "observerThreshold" }, outputs: { valueChange: "etObserveScrollState" }, providers: [
2730
2804
  {
2731
2805
  provide: OBSERVE_SCROLL_STATE,
2732
2806
  useExisting: ObserveScrollStateDirective,
2733
2807
  },
2734
2808
  ], exportAs: ["etObserveScrollState"], ngImport: i0 }); }
2735
2809
  }
2736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ObserveScrollStateDirective, decorators: [{
2810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ObserveScrollStateDirective, decorators: [{
2737
2811
  type: Directive,
2738
2812
  args: [{
2739
2813
  selector: '[etObserveScrollState]',
@@ -2774,10 +2848,10 @@ class RepeatDirective {
2774
2848
  this._viewContainerRef.createEmbeddedView(this._mainTemplateRef);
2775
2849
  }
2776
2850
  }
2777
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2778
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: RepeatDirective, isStandalone: true, selector: "[etRepeat]", inputs: { repeatCount: ["etRepeat", "repeatCount"] }, ngImport: i0 }); }
2851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: RepeatDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2852
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: RepeatDirective, isStandalone: true, selector: "[etRepeat]", inputs: { repeatCount: ["etRepeat", "repeatCount"] }, ngImport: i0 }); }
2779
2853
  }
2780
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: RepeatDirective, decorators: [{
2854
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: RepeatDirective, decorators: [{
2781
2855
  type: Directive,
2782
2856
  args: [{
2783
2857
  selector: '[etRepeat]',
@@ -2946,10 +3020,10 @@ class SeoDirective {
2946
3020
  }
2947
3021
  }
2948
3022
  }
2949
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SeoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2950
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: SeoDirective, isStandalone: true, providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }], ngImport: i0 }); }
3023
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SeoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3024
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.4", type: SeoDirective, isStandalone: true, providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }], ngImport: i0 }); }
2951
3025
  }
2952
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: SeoDirective, decorators: [{
3026
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SeoDirective, decorators: [{
2953
3027
  type: Directive,
2954
3028
  args: [{
2955
3029
  standalone: true,
@@ -2995,10 +3069,10 @@ class NormalizeGameResultTypePipe {
2995
3069
  constructor() {
2996
3070
  this.transform = normalizeGameResultType;
2997
3071
  }
2998
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeGameResultTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2999
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: NormalizeGameResultTypePipe, isStandalone: true, name: "etNormalizeGameResultType" }); }
3072
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeGameResultTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3073
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: NormalizeGameResultTypePipe, isStandalone: true, name: "etNormalizeGameResultType" }); }
3000
3074
  }
3001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeGameResultTypePipe, decorators: [{
3075
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeGameResultTypePipe, decorators: [{
3002
3076
  type: Pipe,
3003
3077
  args: [{ name: 'etNormalizeGameResultType', standalone: true }]
3004
3078
  }] });
@@ -3026,10 +3100,10 @@ class NormalizeMatchStatePipe {
3026
3100
  constructor() {
3027
3101
  this.transform = normalizeMatchState;
3028
3102
  }
3029
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3030
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchStatePipe, isStandalone: true, name: "etNormalizeMatchState" }); }
3103
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3104
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchStatePipe, isStandalone: true, name: "etNormalizeMatchState" }); }
3031
3105
  }
3032
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchStatePipe, decorators: [{
3106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchStatePipe, decorators: [{
3033
3107
  type: Pipe,
3034
3108
  args: [{ name: 'etNormalizeMatchState', standalone: true }]
3035
3109
  }] });
@@ -3084,10 +3158,10 @@ class NormalizeMatchParticipantsPipe {
3084
3158
  constructor() {
3085
3159
  this.transform = normalizeMatchParticipants;
3086
3160
  }
3087
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchParticipantsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3088
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchParticipantsPipe, isStandalone: true, name: "etNormalizeMatchParticipants" }); }
3161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchParticipantsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3162
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchParticipantsPipe, isStandalone: true, name: "etNormalizeMatchParticipants" }); }
3089
3163
  }
3090
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchParticipantsPipe, decorators: [{
3164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchParticipantsPipe, decorators: [{
3091
3165
  type: Pipe,
3092
3166
  args: [{ name: 'etNormalizeMatchParticipants', standalone: true }]
3093
3167
  }] });
@@ -3221,10 +3295,10 @@ class NormalizeMatchScorePipe {
3221
3295
  constructor() {
3222
3296
  this.transform = normalizeMatchScore;
3223
3297
  }
3224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchScorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3225
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchScorePipe, isStandalone: true, name: "etNormalizeMatchScore" }); }
3298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchScorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3299
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchScorePipe, isStandalone: true, name: "etNormalizeMatchScore" }); }
3226
3300
  }
3227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchScorePipe, decorators: [{
3301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchScorePipe, decorators: [{
3228
3302
  type: Pipe,
3229
3303
  args: [{ name: 'etNormalizeMatchScore', standalone: true }]
3230
3304
  }] });
@@ -3271,10 +3345,10 @@ class NormalizeMatchTypePipe {
3271
3345
  constructor() {
3272
3346
  this.transform = normalizeMatchType;
3273
3347
  }
3274
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3275
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchTypePipe, isStandalone: true, name: "etNormalizeMatchType" }); }
3348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3349
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchTypePipe, isStandalone: true, name: "etNormalizeMatchType" }); }
3276
3350
  }
3277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: NormalizeMatchTypePipe, decorators: [{
3351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: NormalizeMatchTypePipe, decorators: [{
3278
3352
  type: Pipe,
3279
3353
  args: [{ name: 'etNormalizeMatchType', standalone: true }]
3280
3354
  }] });
@@ -3288,10 +3362,10 @@ class ToArrayPipe {
3288
3362
  constructor() {
3289
3363
  this.transform = toArray;
3290
3364
  }
3291
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3292
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
3365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3366
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
3293
3367
  }
3294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToArrayPipe, decorators: [{
3368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: ToArrayPipe, decorators: [{
3295
3369
  type: Pipe,
3296
3370
  args: [{ name: 'toArray', standalone: true }]
3297
3371
  }] });