@ethlete/cdk 3.17.0 → 3.18.0

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 (137) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +7 -7
  3. package/esm2022/lib/components/bracket/utils/bracket.utils.mjs +15 -11
  4. package/esm2022/lib/components/{filter-overlay → filter/filter-overlay}/components/filter-overlay-page-outlet/filter-overlay-page-outlet.component.mjs +1 -1
  5. package/esm2022/lib/components/filter/filter-overlay/components/filter-overlay-page-outlet/public-api.mjs +2 -0
  6. package/esm2022/lib/components/filter/filter-overlay/components/index.mjs +2 -0
  7. package/esm2022/lib/components/filter/filter-overlay/components/public-api.mjs +2 -0
  8. package/esm2022/lib/components/filter/filter-overlay/constants/filter-overlay.constants.mjs +3 -0
  9. package/esm2022/lib/components/filter/filter-overlay/constants/index.mjs +2 -0
  10. package/esm2022/lib/components/filter/filter-overlay/constants/public-api.mjs +2 -0
  11. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-back-or-close/filter-overlay-back-or-close.directive.mjs +45 -0
  12. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-back-or-close/public-api.mjs +2 -0
  13. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-link/filter-overlay-link.directive.mjs +46 -0
  14. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-link/public-api.mjs +2 -0
  15. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-reset/filter-overlay-reset.directive.mjs +45 -0
  16. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-reset/public-api.mjs +2 -0
  17. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-submit/filter-overlay-submit.directive.mjs +45 -0
  18. package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-submit/public-api.mjs +2 -0
  19. package/esm2022/lib/components/filter/filter-overlay/directives/index.mjs +2 -0
  20. package/esm2022/lib/components/filter/filter-overlay/directives/public-api.mjs +5 -0
  21. package/esm2022/lib/components/filter/filter-overlay/filter-overlay.imports.mjs +14 -0
  22. package/esm2022/lib/components/filter/filter-overlay/public-api.mjs +8 -0
  23. package/esm2022/lib/components/filter/filter-overlay/services/filter-overlay.service.mjs +37 -0
  24. package/esm2022/lib/components/filter/filter-overlay/services/index.mjs +2 -0
  25. package/esm2022/lib/components/filter/filter-overlay/services/public-api.mjs +2 -0
  26. package/esm2022/lib/components/filter/filter-overlay/types/filter-overlay-config.types.mjs +2 -0
  27. package/esm2022/lib/components/filter/filter-overlay/types/index.mjs +2 -0
  28. package/esm2022/lib/components/filter/filter-overlay/types/public-api.mjs +2 -0
  29. package/esm2022/lib/components/filter/filter-overlay/utils/filter-overlay-ref.mjs +60 -0
  30. package/esm2022/lib/components/filter/filter-overlay/utils/index.mjs +2 -0
  31. package/esm2022/lib/components/filter/filter-overlay/utils/public-api.mjs +2 -0
  32. package/esm2022/lib/components/filter/public-api.mjs +3 -0
  33. package/esm2022/lib/components/filter/rich-filter/components/index.mjs +2 -0
  34. package/esm2022/lib/components/filter/rich-filter/components/public-api.mjs +2 -0
  35. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/public-api.mjs +2 -0
  36. package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +66 -0
  37. package/esm2022/lib/components/filter/rich-filter/directives/index.mjs +2 -0
  38. package/esm2022/lib/components/filter/rich-filter/directives/public-api.mjs +5 -0
  39. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/public-api.mjs +2 -0
  40. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.mjs +32 -0
  41. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/public-api.mjs +2 -0
  42. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.mjs +32 -0
  43. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/public-api.mjs +2 -0
  44. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.mjs +32 -0
  45. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/public-api.mjs +2 -0
  46. package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.mjs +29 -0
  47. package/esm2022/lib/components/filter/rich-filter/public-api.mjs +4 -0
  48. package/esm2022/lib/components/filter/rich-filter/rich-filter.imports.mjs +10 -0
  49. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +3 -3
  50. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +10 -7
  51. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +2 -2
  52. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
  53. package/esm2022/lib/components/overlay/components/menu/menu-aim.mjs +1 -1
  54. package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +4 -4
  55. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
  56. package/esm2022/lib/components/public-api.mjs +2 -2
  57. package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +3 -3
  58. package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +1 -1
  59. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +1 -1
  60. package/esm2022/lib/services/swipe-handler.service.mjs +1 -1
  61. package/fesm2022/ethlete-cdk.mjs +221 -34
  62. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  63. package/lib/components/bracket/utils/bracket.utils.d.ts +1 -1
  64. package/lib/components/{filter-overlay → filter/filter-overlay}/services/filter-overlay.service.d.ts +1 -1
  65. package/lib/components/{filter-overlay → filter/filter-overlay}/types/filter-overlay-config.types.d.ts +1 -1
  66. package/lib/components/{filter-overlay → filter/filter-overlay}/utils/filter-overlay-ref.d.ts +1 -1
  67. package/lib/components/filter/public-api.d.ts +2 -0
  68. package/lib/components/filter/rich-filter/components/index.d.ts +1 -0
  69. package/lib/components/filter/rich-filter/components/public-api.d.ts +1 -0
  70. package/lib/components/filter/rich-filter/components/rich-filter-host/public-api.d.ts +1 -0
  71. package/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.d.ts +23 -0
  72. package/lib/components/filter/rich-filter/directives/index.d.ts +1 -0
  73. package/lib/components/filter/rich-filter/directives/public-api.d.ts +4 -0
  74. package/lib/components/filter/rich-filter/directives/rich-filter-button/public-api.d.ts +1 -0
  75. package/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.d.ts +8 -0
  76. package/lib/components/filter/rich-filter/directives/rich-filter-button-slot/public-api.d.ts +1 -0
  77. package/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.d.ts +10 -0
  78. package/lib/components/filter/rich-filter/directives/rich-filter-content/public-api.d.ts +1 -0
  79. package/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.d.ts +10 -0
  80. package/lib/components/filter/rich-filter/directives/rich-filter-top/public-api.d.ts +1 -0
  81. package/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.d.ts +8 -0
  82. package/lib/components/filter/rich-filter/public-api.d.ts +3 -0
  83. package/lib/components/filter/rich-filter/rich-filter.imports.d.ts +3 -0
  84. package/lib/components/public-api.d.ts +1 -1
  85. package/package.json +5 -3
  86. package/esm2022/lib/components/filter-overlay/components/filter-overlay-page-outlet/public-api.mjs +0 -2
  87. package/esm2022/lib/components/filter-overlay/components/index.mjs +0 -2
  88. package/esm2022/lib/components/filter-overlay/components/public-api.mjs +0 -2
  89. package/esm2022/lib/components/filter-overlay/constants/filter-overlay.constants.mjs +0 -3
  90. package/esm2022/lib/components/filter-overlay/constants/index.mjs +0 -2
  91. package/esm2022/lib/components/filter-overlay/constants/public-api.mjs +0 -2
  92. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-back-or-close/filter-overlay-back-or-close.directive.mjs +0 -45
  93. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-back-or-close/public-api.mjs +0 -2
  94. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-link/filter-overlay-link.directive.mjs +0 -46
  95. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-link/public-api.mjs +0 -2
  96. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-reset/filter-overlay-reset.directive.mjs +0 -45
  97. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-reset/public-api.mjs +0 -2
  98. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-submit/filter-overlay-submit.directive.mjs +0 -45
  99. package/esm2022/lib/components/filter-overlay/directives/filter-overlay-submit/public-api.mjs +0 -2
  100. package/esm2022/lib/components/filter-overlay/directives/index.mjs +0 -2
  101. package/esm2022/lib/components/filter-overlay/directives/public-api.mjs +0 -5
  102. package/esm2022/lib/components/filter-overlay/filter-overlay.imports.mjs +0 -14
  103. package/esm2022/lib/components/filter-overlay/public-api.mjs +0 -8
  104. package/esm2022/lib/components/filter-overlay/services/filter-overlay.service.mjs +0 -37
  105. package/esm2022/lib/components/filter-overlay/services/index.mjs +0 -2
  106. package/esm2022/lib/components/filter-overlay/services/public-api.mjs +0 -2
  107. package/esm2022/lib/components/filter-overlay/types/filter-overlay-config.types.mjs +0 -2
  108. package/esm2022/lib/components/filter-overlay/types/index.mjs +0 -2
  109. package/esm2022/lib/components/filter-overlay/types/public-api.mjs +0 -2
  110. package/esm2022/lib/components/filter-overlay/utils/filter-overlay-ref.mjs +0 -60
  111. package/esm2022/lib/components/filter-overlay/utils/index.mjs +0 -2
  112. package/esm2022/lib/components/filter-overlay/utils/public-api.mjs +0 -2
  113. /package/lib/components/{filter-overlay → filter/filter-overlay}/components/filter-overlay-page-outlet/filter-overlay-page-outlet.component.d.ts +0 -0
  114. /package/lib/components/{filter-overlay → filter/filter-overlay}/components/filter-overlay-page-outlet/public-api.d.ts +0 -0
  115. /package/lib/components/{filter-overlay → filter/filter-overlay}/components/index.d.ts +0 -0
  116. /package/lib/components/{filter-overlay → filter/filter-overlay}/components/public-api.d.ts +0 -0
  117. /package/lib/components/{filter-overlay → filter/filter-overlay}/constants/filter-overlay.constants.d.ts +0 -0
  118. /package/lib/components/{filter-overlay → filter/filter-overlay}/constants/index.d.ts +0 -0
  119. /package/lib/components/{filter-overlay → filter/filter-overlay}/constants/public-api.d.ts +0 -0
  120. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-back-or-close/filter-overlay-back-or-close.directive.d.ts +0 -0
  121. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-back-or-close/public-api.d.ts +0 -0
  122. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-link/filter-overlay-link.directive.d.ts +0 -0
  123. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-link/public-api.d.ts +0 -0
  124. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-reset/filter-overlay-reset.directive.d.ts +0 -0
  125. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-reset/public-api.d.ts +0 -0
  126. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-submit/filter-overlay-submit.directive.d.ts +0 -0
  127. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/filter-overlay-submit/public-api.d.ts +0 -0
  128. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/index.d.ts +0 -0
  129. /package/lib/components/{filter-overlay → filter/filter-overlay}/directives/public-api.d.ts +0 -0
  130. /package/lib/components/{filter-overlay → filter/filter-overlay}/filter-overlay.imports.d.ts +0 -0
  131. /package/lib/components/{filter-overlay → filter/filter-overlay}/public-api.d.ts +0 -0
  132. /package/lib/components/{filter-overlay → filter/filter-overlay}/services/index.d.ts +0 -0
  133. /package/lib/components/{filter-overlay → filter/filter-overlay}/services/public-api.d.ts +0 -0
  134. /package/lib/components/{filter-overlay → filter/filter-overlay}/types/index.d.ts +0 -0
  135. /package/lib/components/{filter-overlay → filter/filter-overlay}/types/public-api.d.ts +0 -0
  136. /package/lib/components/{filter-overlay → filter/filter-overlay}/utils/index.d.ts +0 -0
  137. /package/lib/components/{filter-overlay → filter/filter-overlay}/utils/public-api.d.ts +0 -0
@@ -4,7 +4,7 @@ import { AsyncPipe, NgIf, NgClass, NgTemplateOutlet, NgForOf, NgFor, NgComponent
4
4
  import * as i0 from '@angular/core';
5
5
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, signal, Optional, Inject, Injectable, SkipSelf, HostListener, ViewContainerRef, EventEmitter, NgZone, isDevMode, Output, NgModule, ChangeDetectorRef, ViewChild, computed, runInInjectionContext, TemplateRef, forwardRef, LOCALE_ID, numberAttribute, ViewChildren, Renderer2, Attribute } from '@angular/core';
6
6
  import * as i1$2 from '@ethlete/core';
7
- import { LetDirective, createDestroy, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, createReactiveBindings, AnimatedIfDirective, AnimatedLifecycleDirective, SmartBlockScrollStrategy, RouterStateService, ANIMATED_LIFECYCLE_TOKEN, nextFrame, elementCanScroll, equal, ViewportService, AnimatedOverlayDirective, ClickObserverService, FocusVisibleService, cloneFormGroup, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, ResizeObserverService, createFlipAnimation, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, ClickOutsideDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, getElementVisibleStates, IS_ACTIVE_ELEMENT, IS_ELEMENT, CursorDragScrollDirective, ObserveScrollStateDirective, IsElementDirective, IsActiveElementDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
7
+ import { LetDirective, createDestroy, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, createReactiveBindings, AnimatedIfDirective, AnimatedLifecycleDirective, SmartBlockScrollStrategy, RouterStateService, ANIMATED_LIFECYCLE_TOKEN, nextFrame, elementCanScroll, equal, ViewportService, AnimatedOverlayDirective, ClickObserverService, FocusVisibleService, cloneFormGroup, ObserveVisibilityDirective, signalHostClasses, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, ResizeObserverService, createFlipAnimation, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, ClickOutsideDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, getElementVisibleStates, IS_ACTIVE_ELEMENT, IS_ELEMENT, CursorDragScrollDirective, ObserveScrollStateDirective, IsElementDirective, IsActiveElementDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
8
8
  import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, Subject, filter, take, merge, skipUntil, defer, fromEvent, partition, debounceTime as debounceTime$1, distinctUntilChanged as distinctUntilChanged$1, withLatestFrom, skipWhile, catchError, throwError, firstValueFrom, timer, Subscription, Observable } from 'rxjs';
9
9
  import { trigger, state, style, transition, animate } from '@angular/animations';
10
10
  import { __decorate, __metadata } from 'tslib';
@@ -398,10 +398,10 @@ class Bracket {
398
398
  return this._roundsWithMatches.filter((r) => r.round.type === 'loser_bracket');
399
399
  }
400
400
  get firstWinnerRound() {
401
- return this.winnerRounds[0];
401
+ return this.winnerRounds[0] ?? null;
402
402
  }
403
403
  get firstLoserRound() {
404
- return (this.loserRounds[0] ?? null);
404
+ return this.loserRounds[0] ?? null;
405
405
  }
406
406
  get winnerRoundCount() {
407
407
  return this.winnerRounds.length;
@@ -410,13 +410,13 @@ class Bracket {
410
410
  return this.loserRounds.length;
411
411
  }
412
412
  get bracketSize() {
413
- return this.firstWinnerRound.matches.length * 2;
413
+ return this.firstWinnerRound ? this.firstWinnerRound.matches.length * 2 : 0;
414
414
  }
415
415
  get bracketType() {
416
416
  return !this.loserRoundCount ? 'single' : 'double';
417
417
  }
418
418
  get winnerBracketRowCount() {
419
- return this.firstWinnerRound.matches.length;
419
+ return this.firstWinnerRound?.matches.length ?? 0;
420
420
  }
421
421
  get loserBracketRowCount() {
422
422
  return this.firstLoserRound?.matches.length ?? 0;
@@ -455,7 +455,7 @@ class Bracket {
455
455
  return loserRoundCount - winnerRoundCount;
456
456
  }
457
457
  get isPartialDoubleElimination() {
458
- return (this.bracketType === 'double' && this.firstWinnerRound.matches.length === this.firstLoserRound?.matches.length);
458
+ return (this.bracketType === 'double' && this.firstWinnerRound?.matches.length === this.firstLoserRound?.matches.length);
459
459
  }
460
460
  constructor(_roundsWithMatches) {
461
461
  this._roundsWithMatches = _roundsWithMatches;
@@ -470,7 +470,7 @@ class Bracket {
470
470
  let rowStart = isWinnerBracket ? this.winnerRowStart : this.loserRowStart;
471
471
  let rowEnd = isWinnerBracket ? this.winnerRowEnd : this.loserRowEnd;
472
472
  let firstRoundMatchCount = isWinnerBracket
473
- ? this.firstWinnerRound.matches.length
473
+ ? this.firstWinnerRound?.matches.length
474
474
  : this.firstLoserRound?.matches.length;
475
475
  if (isDoubleElimination) {
476
476
  if (isWinnerBracket) {
@@ -593,8 +593,11 @@ class Bracket {
593
593
  let logicalNextRound = null;
594
594
  if ((currentRound?.round.type === 'loser_bracket' && !nextRound) ||
595
595
  (currentRound?.round.type === 'loser_bracket' && nextRound?.round.type === 'third_place')) {
596
- // Transition from last round of looser bracket to semi final round of winner bracket
597
- logicalNextRound = this._roundsWithMatches[currentRoundIndex - this.looserRowAdditionalRoundCount + 1];
596
+ const next = this._roundsWithMatches[currentRoundIndex - this.looserRowAdditionalRoundCount + 1];
597
+ if (next) {
598
+ // Transition from last round of looser bracket to semi final round of winner bracket
599
+ logicalNextRound = next;
600
+ }
598
601
  }
599
602
  else if (((currentRound && isUpperBracketMatch(currentRound)) || !currentRound?.round.type) &&
600
603
  nextRound?.round.type === 'loser_bracket') {
@@ -608,8 +611,9 @@ class Bracket {
608
611
  let previousMatchB = previousRound?.matches[matchIndex * 2 + 1]?.id ?? null;
609
612
  // previousMatchB could be the last loser bracket match
610
613
  if (!previousMatchB && currentRound && isUpperBracketMatch(currentRound)) {
611
- if (this.loserRounds.length === currentRoundIndex + this.looserRowAdditionalRoundCount) {
612
- previousMatchB = this.loserRounds[currentRoundIndex + this.looserRowAdditionalRoundCount - 1].matches[0].id;
614
+ const matchB = this.loserRounds[currentRoundIndex + this.looserRowAdditionalRoundCount - 1]?.matches[0];
615
+ if (this.loserRounds.length === currentRoundIndex + this.looserRowAdditionalRoundCount && matchB) {
616
+ previousMatchB = matchB.id;
613
617
  roundsSameSize = false;
614
618
  }
615
619
  }
@@ -806,13 +810,13 @@ class BracketComponent {
806
810
  // for connecting the last looser match and the respective semi final winner match
807
811
  if (isDoubleElimination &&
808
812
  (!nextRound || nextRound.data.type === 'third_place') &&
809
- currentRound.data.type === 'loser_bracket') {
813
+ currentRound?.data.type === 'loser_bracket') {
810
814
  return bracket.totalRowCount - 1;
811
815
  }
812
816
  if (!nextRound) {
813
817
  return 1;
814
818
  }
815
- if (nextRound.matches.length === currentRound.matches.length) {
819
+ if (nextRound.matches.length === currentRound?.matches.length) {
816
820
  return 1;
817
821
  }
818
822
  if (!isDoubleElimination) {
@@ -820,7 +824,7 @@ class BracketComponent {
820
824
  }
821
825
  else {
822
826
  let rndIndex = roundIndex;
823
- if (currentRound.data.type === 'loser_bracket') {
827
+ if (currentRound?.data.type === 'loser_bracket') {
824
828
  const totalWinnerRounds = bracket.winnerRoundCount;
825
829
  const looserRoundIndex = currentRound.data.type === 'loser_bracket' ? roundIndex - totalWinnerRounds : roundIndex;
826
830
  rndIndex = looserRoundIndex / 2;
@@ -902,7 +906,7 @@ class BracketComponent {
902
906
  provide: BRACKET_TOKEN,
903
907
  useExisting: BracketComponent,
904
908
  },
905
- ], ngImport: i0, template: "<ng-container *ngIf=\"_bracket$ | async as bracket\">\n <ng-container *ngFor=\"let round of bracket.bracketRounds; trackBy: trackByRound; let roundIndex = index\">\n <div\n *ngIf=\"_config.roundHeaderComponent\"\n [etScrollObserverFirstElement]=\"roundIndex === 0\"\n [etScrollObserverLastElement]=\"roundIndex === bracket.winnerRoundCount - 1\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place' ? round.row.start + 1 : round.row.start\n \"\n [attr.special-align-end]=\"\n round.data.type === 'third_place' &&\n bracket.bracketType === 'single' &&\n bracket.firstWinnerRound.matches.length <= 4\n ? 'true'\n : 'false'\n \"\n [attr.is-loser-round-header]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && bracket.bracketType === 'double'\n \"\n class=\"et-bracket-round\"\n >\n <ng-container *cdkPortalOutlet=\"createRoundPortal(round, _config.roundHeaderComponent)\" />\n </div>\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex - 1] as lastRound\">\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex + 1] as nextRound\">\n <ng-container *ngFor=\"let match of round.matches; trackBy: trackByMatch; let matchIndex = index\">\n <div\n *ngIf=\"getConnectedMatches(match, bracket) as connectedMatches\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.start + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.start + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_re]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.end + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.end + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_line-multi-after]=\"getLineMultiAfter(roundIndex, bracket)\"\n [attr.et-has-parents]=\"!!connectedMatches.previousMatches?.length\"\n [attr.et-has-child]=\"!!connectedMatches.nextMatch\"\n [attr.et-child-connector-shape]=\"getChildConnectorShape(match, connectedMatches.nextMatch)\"\n [attr.line-span-before]=\"getLineSpan(lastRound, lastRound, round, nextRound, bracket)\"\n [attr.line-span-current]=\"getLineSpan(round, lastRound, round, nextRound, bracket)\"\n [attr.line-span-after]=\"getLineSpan(nextRound, lastRound, round, nextRound, bracket)\"\n [attr.is-first-loser-round-match]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && matchIndex === 0\n \"\n [attr.is-last-lower-bracket-match]=\"\n round.data.type === 'loser_bracket' &&\n (roundIndex === bracket.bracketRounds.length - 1 || nextRound?.data?.type === 'third_place')\n \"\n class=\"et-bracket-match\"\n >\n <ng-container *cdkPortalOutlet=\"createMatchPortal(match, _config.matchComponent)\" />\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".et-bracket{--connection-color: rgb(101, 101, 101);--connection-radius: 10px;--connection-size: 1.5px;display:grid;grid-auto-columns:min-content;column-gap:var(--_bracket-column-gap);row-gap:var(--_bracket-row-gap)}.et-bracket .et-bracket-round{grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_rs);height:var(--_round-header-height)}.et-bracket .et-bracket-round[special-align-end=true]{align-self:flex-end}.et-bracket[has-round-headers=false][is-first-loser-round-match=true],.et-bracket[has-round-headers=true] [is-loser-round-header=true]{margin-top:var(--_upper-lower-bracket-gap)}.et-bracket .et-bracket-match{--_gap-x-half: calc(var(--_bracket-column-gap) / 2);--_gap-y-half: calc(var(--_bracket-row-gap) / 2);--_bracket-item-height-half: calc(var(--_bracket-item-height) / 2);--_bracket-item-width-half: calc(var(--_bracket-item-width) / 2);--_connection-size-half: calc(var(--connection-size) / 2);position:relative;grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_re);inline-size:var(--_bracket-item-width);block-size:var(--_bracket-item-height);justify-self:center;align-self:center}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"0\"]{--_gap-full-width-before: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"2\"]{--_gap-full-width-before: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"0\"]{--_gap-full-width-before: calc( var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half) )}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"0\"]{--_gap-full-width-after: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"2\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"0\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half))}.et-bracket .et-bracket-match[et-has-parents=true]:before{content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-before) / 2);block-size:0;border-block-start:var(--connection-size) solid var(--connection-color);inset-inline-end:100%;inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true]:after{--_height-multi: calc(var(--_bracket-item-height-half) * var(--_line-multi-after));--_gap-y-multi: calc(var(--_gap-y-half) * var(--_line-multi-after));content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-after) / 2);block-size:calc(var(--_height-multi) + var(--_gap-y-multi));inset-inline-start:100%}.et-bracket .et-bracket-match[et-has-child=true][is-last-lower-bracket-match=true]:after{--_height-multi: calc( (var(--_bracket-item-height-half) * var(--_line-multi-after)) + var(--_upper-lower-bracket-gap) + var(--_round-header-height) )}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=down]:after{border-block-start:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-start-end-radius:var(--connection-radius);inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=up]:after{border-block-end:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-end-end-radius:var(--connection-radius);inset-block-end:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=straight]:after{border-block-start:var(--connection-size) solid var(--connection-color);inset-block-start:calc(50% - var(--_connection-size-half));block-size:0}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: ScrollObserverFirstElementDirective, selector: "[etScrollObserverFirstElement]", inputs: ["etScrollObserverFirstElement"] }, { kind: "directive", type: ScrollObserverLastElementDirective, selector: "[etScrollObserverLastElement]", inputs: ["etScrollObserverLastElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
909
+ ], ngImport: i0, template: "<ng-container *ngIf=\"_bracket$ | async as bracket\">\n <ng-container *ngFor=\"let round of bracket.bracketRounds; trackBy: trackByRound; let roundIndex = index\">\n <div\n *ngIf=\"_config.roundHeaderComponent\"\n [etScrollObserverFirstElement]=\"roundIndex === 0\"\n [etScrollObserverLastElement]=\"roundIndex === bracket.winnerRoundCount - 1\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place' ? round.row.start + 1 : round.row.start\n \"\n [attr.special-align-end]=\"\n round.data.type === 'third_place' &&\n bracket.bracketType === 'single' &&\n bracket.firstWinnerRound &&\n bracket.firstWinnerRound.matches.length <= 4\n ? 'true'\n : 'false'\n \"\n [attr.is-loser-round-header]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && bracket.bracketType === 'double'\n \"\n class=\"et-bracket-round\"\n >\n <ng-container *cdkPortalOutlet=\"createRoundPortal(round, _config.roundHeaderComponent)\" />\n </div>\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex - 1] ?? null as lastRound\">\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex + 1] ?? null as nextRound\">\n <ng-container *ngFor=\"let match of round.matches; trackBy: trackByMatch; let matchIndex = index\">\n <div\n *ngIf=\"getConnectedMatches(match, bracket) as connectedMatches\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.start + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.start + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_re]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.end + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.end + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_line-multi-after]=\"getLineMultiAfter(roundIndex, bracket)\"\n [attr.et-has-parents]=\"!!connectedMatches.previousMatches?.length\"\n [attr.et-has-child]=\"!!connectedMatches.nextMatch\"\n [attr.et-child-connector-shape]=\"getChildConnectorShape(match, connectedMatches.nextMatch)\"\n [attr.line-span-before]=\"getLineSpan(lastRound, lastRound, round, nextRound, bracket)\"\n [attr.line-span-current]=\"getLineSpan(round, lastRound, round, nextRound, bracket)\"\n [attr.line-span-after]=\"getLineSpan(nextRound, lastRound, round, nextRound, bracket)\"\n [attr.is-first-loser-round-match]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && matchIndex === 0\n \"\n [attr.is-last-lower-bracket-match]=\"\n round.data.type === 'loser_bracket' &&\n (roundIndex === bracket.bracketRounds.length - 1 || nextRound?.data?.type === 'third_place')\n \"\n class=\"et-bracket-match\"\n >\n <ng-container *cdkPortalOutlet=\"createMatchPortal(match, _config.matchComponent)\" />\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".et-bracket{--connection-color: rgb(101, 101, 101);--connection-radius: 10px;--connection-size: 1.5px;display:grid;grid-auto-columns:min-content;column-gap:var(--_bracket-column-gap);row-gap:var(--_bracket-row-gap)}.et-bracket .et-bracket-round{grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_rs);height:var(--_round-header-height)}.et-bracket .et-bracket-round[special-align-end=true]{align-self:flex-end}.et-bracket[has-round-headers=false][is-first-loser-round-match=true],.et-bracket[has-round-headers=true] [is-loser-round-header=true]{margin-top:var(--_upper-lower-bracket-gap)}.et-bracket .et-bracket-match{--_gap-x-half: calc(var(--_bracket-column-gap) / 2);--_gap-y-half: calc(var(--_bracket-row-gap) / 2);--_bracket-item-height-half: calc(var(--_bracket-item-height) / 2);--_bracket-item-width-half: calc(var(--_bracket-item-width) / 2);--_connection-size-half: calc(var(--connection-size) / 2);position:relative;grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_re);inline-size:var(--_bracket-item-width);block-size:var(--_bracket-item-height);justify-self:center;align-self:center}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"0\"]{--_gap-full-width-before: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"2\"]{--_gap-full-width-before: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"0\"]{--_gap-full-width-before: calc( var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half) )}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"0\"]{--_gap-full-width-after: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"2\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"0\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half))}.et-bracket .et-bracket-match[et-has-parents=true]:before{content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-before) / 2);block-size:0;border-block-start:var(--connection-size) solid var(--connection-color);inset-inline-end:100%;inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true]:after{--_height-multi: calc(var(--_bracket-item-height-half) * var(--_line-multi-after));--_gap-y-multi: calc(var(--_gap-y-half) * var(--_line-multi-after));content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-after) / 2);block-size:calc(var(--_height-multi) + var(--_gap-y-multi));inset-inline-start:100%}.et-bracket .et-bracket-match[et-has-child=true][is-last-lower-bracket-match=true]:after{--_height-multi: calc( (var(--_bracket-item-height-half) * var(--_line-multi-after)) + var(--_upper-lower-bracket-gap) + var(--_round-header-height) )}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=down]:after{border-block-start:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-start-end-radius:var(--connection-radius);inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=up]:after{border-block-end:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-end-end-radius:var(--connection-radius);inset-block-end:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=straight]:after{border-block-start:var(--connection-size) solid var(--connection-color);inset-block-start:calc(50% - var(--_connection-size-half));block-size:0}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: ScrollObserverFirstElementDirective, selector: "[etScrollObserverFirstElement]", inputs: ["etScrollObserverFirstElement"] }, { kind: "directive", type: ScrollObserverLastElementDirective, selector: "[etScrollObserverLastElement]", inputs: ["etScrollObserverLastElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
906
910
  }
907
911
  __decorate([
908
912
  Memo({
@@ -992,7 +996,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
992
996
  provide: BRACKET_TOKEN,
993
997
  useExisting: BracketComponent,
994
998
  },
995
- ], template: "<ng-container *ngIf=\"_bracket$ | async as bracket\">\n <ng-container *ngFor=\"let round of bracket.bracketRounds; trackBy: trackByRound; let roundIndex = index\">\n <div\n *ngIf=\"_config.roundHeaderComponent\"\n [etScrollObserverFirstElement]=\"roundIndex === 0\"\n [etScrollObserverLastElement]=\"roundIndex === bracket.winnerRoundCount - 1\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place' ? round.row.start + 1 : round.row.start\n \"\n [attr.special-align-end]=\"\n round.data.type === 'third_place' &&\n bracket.bracketType === 'single' &&\n bracket.firstWinnerRound.matches.length <= 4\n ? 'true'\n : 'false'\n \"\n [attr.is-loser-round-header]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && bracket.bracketType === 'double'\n \"\n class=\"et-bracket-round\"\n >\n <ng-container *cdkPortalOutlet=\"createRoundPortal(round, _config.roundHeaderComponent)\" />\n </div>\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex - 1] as lastRound\">\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex + 1] as nextRound\">\n <ng-container *ngFor=\"let match of round.matches; trackBy: trackByMatch; let matchIndex = index\">\n <div\n *ngIf=\"getConnectedMatches(match, bracket) as connectedMatches\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.start + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.start + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_re]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.end + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.end + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_line-multi-after]=\"getLineMultiAfter(roundIndex, bracket)\"\n [attr.et-has-parents]=\"!!connectedMatches.previousMatches?.length\"\n [attr.et-has-child]=\"!!connectedMatches.nextMatch\"\n [attr.et-child-connector-shape]=\"getChildConnectorShape(match, connectedMatches.nextMatch)\"\n [attr.line-span-before]=\"getLineSpan(lastRound, lastRound, round, nextRound, bracket)\"\n [attr.line-span-current]=\"getLineSpan(round, lastRound, round, nextRound, bracket)\"\n [attr.line-span-after]=\"getLineSpan(nextRound, lastRound, round, nextRound, bracket)\"\n [attr.is-first-loser-round-match]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && matchIndex === 0\n \"\n [attr.is-last-lower-bracket-match]=\"\n round.data.type === 'loser_bracket' &&\n (roundIndex === bracket.bracketRounds.length - 1 || nextRound?.data?.type === 'third_place')\n \"\n class=\"et-bracket-match\"\n >\n <ng-container *cdkPortalOutlet=\"createMatchPortal(match, _config.matchComponent)\" />\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".et-bracket{--connection-color: rgb(101, 101, 101);--connection-radius: 10px;--connection-size: 1.5px;display:grid;grid-auto-columns:min-content;column-gap:var(--_bracket-column-gap);row-gap:var(--_bracket-row-gap)}.et-bracket .et-bracket-round{grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_rs);height:var(--_round-header-height)}.et-bracket .et-bracket-round[special-align-end=true]{align-self:flex-end}.et-bracket[has-round-headers=false][is-first-loser-round-match=true],.et-bracket[has-round-headers=true] [is-loser-round-header=true]{margin-top:var(--_upper-lower-bracket-gap)}.et-bracket .et-bracket-match{--_gap-x-half: calc(var(--_bracket-column-gap) / 2);--_gap-y-half: calc(var(--_bracket-row-gap) / 2);--_bracket-item-height-half: calc(var(--_bracket-item-height) / 2);--_bracket-item-width-half: calc(var(--_bracket-item-width) / 2);--_connection-size-half: calc(var(--connection-size) / 2);position:relative;grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_re);inline-size:var(--_bracket-item-width);block-size:var(--_bracket-item-height);justify-self:center;align-self:center}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"0\"]{--_gap-full-width-before: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"2\"]{--_gap-full-width-before: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"0\"]{--_gap-full-width-before: calc( var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half) )}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"0\"]{--_gap-full-width-after: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"2\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"0\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half))}.et-bracket .et-bracket-match[et-has-parents=true]:before{content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-before) / 2);block-size:0;border-block-start:var(--connection-size) solid var(--connection-color);inset-inline-end:100%;inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true]:after{--_height-multi: calc(var(--_bracket-item-height-half) * var(--_line-multi-after));--_gap-y-multi: calc(var(--_gap-y-half) * var(--_line-multi-after));content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-after) / 2);block-size:calc(var(--_height-multi) + var(--_gap-y-multi));inset-inline-start:100%}.et-bracket .et-bracket-match[et-has-child=true][is-last-lower-bracket-match=true]:after{--_height-multi: calc( (var(--_bracket-item-height-half) * var(--_line-multi-after)) + var(--_upper-lower-bracket-gap) + var(--_round-header-height) )}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=down]:after{border-block-start:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-start-end-radius:var(--connection-radius);inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=up]:after{border-block-end:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-end-end-radius:var(--connection-radius);inset-block-end:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=straight]:after{border-block-start:var(--connection-size) solid var(--connection-color);inset-block-start:calc(50% - var(--_connection-size-half));block-size:0}\n"] }]
999
+ ], template: "<ng-container *ngIf=\"_bracket$ | async as bracket\">\n <ng-container *ngFor=\"let round of bracket.bracketRounds; trackBy: trackByRound; let roundIndex = index\">\n <div\n *ngIf=\"_config.roundHeaderComponent\"\n [etScrollObserverFirstElement]=\"roundIndex === 0\"\n [etScrollObserverLastElement]=\"roundIndex === bracket.winnerRoundCount - 1\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place' ? round.row.start + 1 : round.row.start\n \"\n [attr.special-align-end]=\"\n round.data.type === 'third_place' &&\n bracket.bracketType === 'single' &&\n bracket.firstWinnerRound &&\n bracket.firstWinnerRound.matches.length <= 4\n ? 'true'\n : 'false'\n \"\n [attr.is-loser-round-header]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && bracket.bracketType === 'double'\n \"\n class=\"et-bracket-round\"\n >\n <ng-container *cdkPortalOutlet=\"createRoundPortal(round, _config.roundHeaderComponent)\" />\n </div>\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex - 1] ?? null as lastRound\">\n <ng-container *etLet=\"bracket.bracketRounds[roundIndex + 1] ?? null as nextRound\">\n <ng-container *ngFor=\"let match of round.matches; trackBy: trackByMatch; let matchIndex = index\">\n <div\n *ngIf=\"getConnectedMatches(match, bracket) as connectedMatches\"\n [style.--_cs]=\"round.column.start\"\n [style.--_ce]=\"round.column.end\"\n [style.--_rs]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.start + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.start + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_re]=\"\n round.data.type === 'loser_bracket' || round.data.type === 'third_place'\n ? match.row.end + (_config.roundHeaderComponent ? 2 : 0)\n : match.row.end + (_config.roundHeaderComponent ? 1 : 0)\n \"\n [style.--_line-multi-after]=\"getLineMultiAfter(roundIndex, bracket)\"\n [attr.et-has-parents]=\"!!connectedMatches.previousMatches?.length\"\n [attr.et-has-child]=\"!!connectedMatches.nextMatch\"\n [attr.et-child-connector-shape]=\"getChildConnectorShape(match, connectedMatches.nextMatch)\"\n [attr.line-span-before]=\"getLineSpan(lastRound, lastRound, round, nextRound, bracket)\"\n [attr.line-span-current]=\"getLineSpan(round, lastRound, round, nextRound, bracket)\"\n [attr.line-span-after]=\"getLineSpan(nextRound, lastRound, round, nextRound, bracket)\"\n [attr.is-first-loser-round-match]=\"\n (round.data.type === 'loser_bracket' || round.data.type === 'third_place') && matchIndex === 0\n \"\n [attr.is-last-lower-bracket-match]=\"\n round.data.type === 'loser_bracket' &&\n (roundIndex === bracket.bracketRounds.length - 1 || nextRound?.data?.type === 'third_place')\n \"\n class=\"et-bracket-match\"\n >\n <ng-container *cdkPortalOutlet=\"createMatchPortal(match, _config.matchComponent)\" />\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-container>\n", styles: [".et-bracket{--connection-color: rgb(101, 101, 101);--connection-radius: 10px;--connection-size: 1.5px;display:grid;grid-auto-columns:min-content;column-gap:var(--_bracket-column-gap);row-gap:var(--_bracket-row-gap)}.et-bracket .et-bracket-round{grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_rs);height:var(--_round-header-height)}.et-bracket .et-bracket-round[special-align-end=true]{align-self:flex-end}.et-bracket[has-round-headers=false][is-first-loser-round-match=true],.et-bracket[has-round-headers=true] [is-loser-round-header=true]{margin-top:var(--_upper-lower-bracket-gap)}.et-bracket .et-bracket-match{--_gap-x-half: calc(var(--_bracket-column-gap) / 2);--_gap-y-half: calc(var(--_bracket-row-gap) / 2);--_bracket-item-height-half: calc(var(--_bracket-item-height) / 2);--_bracket-item-width-half: calc(var(--_bracket-item-width) / 2);--_connection-size-half: calc(var(--connection-size) / 2);position:relative;grid-column:var(--_cs)/var(--_ce);grid-row:var(--_rs)/var(--_re);inline-size:var(--_bracket-item-width);block-size:var(--_bracket-item-height);justify-self:center;align-self:center}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"0\"]{--_gap-full-width-before: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"2\"]{--_gap-full-width-before: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-before=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-before=\"2\"][line-span-current=\"0\"]{--_gap-full-width-before: calc( var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half) )}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"0\"]{--_gap-full-width-after: var(--_bracket-column-gap)}.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"2\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) * 2 + var(--_bracket-item-width))}.et-bracket .et-bracket-match[line-span-after=\"0\"][line-span-current=\"2\"],.et-bracket .et-bracket-match[line-span-after=\"2\"][line-span-current=\"0\"]{--_gap-full-width-after: calc(var(--_bracket-column-gap) + (var(--_bracket-item-width) / 2) + var(--_gap-x-half))}.et-bracket .et-bracket-match[et-has-parents=true]:before{content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-before) / 2);block-size:0;border-block-start:var(--connection-size) solid var(--connection-color);inset-inline-end:100%;inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true]:after{--_height-multi: calc(var(--_bracket-item-height-half) * var(--_line-multi-after));--_gap-y-multi: calc(var(--_gap-y-half) * var(--_line-multi-after));content:\"\";position:absolute;inline-size:calc(var(--_gap-full-width-after) / 2);block-size:calc(var(--_height-multi) + var(--_gap-y-multi));inset-inline-start:100%}.et-bracket .et-bracket-match[et-has-child=true][is-last-lower-bracket-match=true]:after{--_height-multi: calc( (var(--_bracket-item-height-half) * var(--_line-multi-after)) + var(--_upper-lower-bracket-gap) + var(--_round-header-height) )}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=down]:after{border-block-start:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-start-end-radius:var(--connection-radius);inset-block-start:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=up]:after{border-block-end:var(--connection-size) solid var(--connection-color);border-inline-end:var(--connection-size) solid var(--connection-color);border-end-end-radius:var(--connection-radius);inset-block-end:calc(50% - var(--_connection-size-half))}.et-bracket .et-bracket-match[et-has-child=true][et-child-connector-shape=straight]:after{border-block-start:var(--connection-size) solid var(--connection-color);inset-block-start:calc(50% - var(--_connection-size-half));block-size:0}\n"] }]
996
1000
  }], propDecorators: { itemWith: [{
997
1001
  type: Input
998
1002
  }], itemHeight: [{
@@ -1730,7 +1734,7 @@ class BottomSheetServiceBase {
1730
1734
  _closeBottomSheets(bottomSheets) {
1731
1735
  let i = bottomSheets.length;
1732
1736
  while (i--) {
1733
- bottomSheets[i].close();
1737
+ bottomSheets[i]?.close();
1734
1738
  }
1735
1739
  }
1736
1740
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: BottomSheetServiceBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
@@ -2358,7 +2362,7 @@ class DialogServiceBase {
2358
2362
  _closeDialogs(dialogs) {
2359
2363
  let i = dialogs.length;
2360
2364
  while (i--) {
2361
- dialogs[i].close();
2365
+ dialogs[i]?.close();
2362
2366
  }
2363
2367
  }
2364
2368
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DialogServiceBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
@@ -4708,7 +4712,7 @@ class OverlayService {
4708
4712
  const originX = isHtmlElement(origin)
4709
4713
  ? origin.getBoundingClientRect().left
4710
4714
  : isTouchEvent$1(origin)
4711
- ? origin.changedTouches[0].clientX
4715
+ ? origin.targetTouches[0].clientX
4712
4716
  : isPointerEvent(origin)
4713
4717
  ? origin.clientX !== 0
4714
4718
  ? origin.clientX
@@ -4717,7 +4721,7 @@ class OverlayService {
4717
4721
  const originY = isHtmlElement(origin)
4718
4722
  ? origin.getBoundingClientRect().top
4719
4723
  : isTouchEvent$1(origin)
4720
- ? origin.changedTouches[0].clientY
4724
+ ? origin.targetTouches[0].clientY
4721
4725
  : isPointerEvent(origin)
4722
4726
  ? origin.clientY !== 0
4723
4727
  ? origin.clientY
@@ -4826,7 +4830,7 @@ class OverlayService {
4826
4830
  _closeOverlays(overlays) {
4827
4831
  let i = overlays.length;
4828
4832
  while (i--) {
4829
- overlays[i].close();
4833
+ overlays[i]?.close();
4830
4834
  }
4831
4835
  }
4832
4836
  _getAfterAllClosed() {
@@ -5541,6 +5545,186 @@ const provideFilterOverlay = () => {
5541
5545
  return [FilterOverlayService];
5542
5546
  };
5543
5547
 
5548
+ const RICH_FILTER_BUTTON_SLOT_TOKEN = new InjectionToken('RICH_FILTER_BUTTON_SLOT_TOKEN');
5549
+ class RichFilterButtonSlotDirective {
5550
+ constructor() {
5551
+ this.visibilityObserver = inject(ObserveVisibilityDirective);
5552
+ }
5553
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterButtonSlotDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5554
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: RichFilterButtonSlotDirective, isStandalone: true, selector: "et-rich-filter-button-slot", providers: [
5555
+ {
5556
+ provide: RICH_FILTER_BUTTON_SLOT_TOKEN,
5557
+ useExisting: RichFilterButtonSlotDirective,
5558
+ },
5559
+ ], hostDirectives: [{ directive: i1$2.ObserveVisibilityDirective }], ngImport: i0 }); }
5560
+ }
5561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterButtonSlotDirective, decorators: [{
5562
+ type: Directive,
5563
+ args: [{
5564
+ selector: 'et-rich-filter-button-slot',
5565
+ standalone: true,
5566
+ providers: [
5567
+ {
5568
+ provide: RICH_FILTER_BUTTON_SLOT_TOKEN,
5569
+ useExisting: RichFilterButtonSlotDirective,
5570
+ },
5571
+ ],
5572
+ hostDirectives: [ObserveVisibilityDirective],
5573
+ }]
5574
+ }] });
5575
+
5576
+ const RICH_FILTER_BUTTON_TOKEN = new InjectionToken('RICH_FILTER_BUTTON_TOKEN');
5577
+ class RichFilterButtonDirective {
5578
+ constructor() {
5579
+ this.elementRef = inject(ElementRef);
5580
+ }
5581
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5582
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: RichFilterButtonDirective, isStandalone: true, selector: "[etRichFilterButton]", host: { classAttribute: "et-rich-filter-button" }, providers: [
5583
+ {
5584
+ provide: RICH_FILTER_BUTTON_TOKEN,
5585
+ useExisting: RichFilterButtonDirective,
5586
+ },
5587
+ ], ngImport: i0 }); }
5588
+ }
5589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterButtonDirective, decorators: [{
5590
+ type: Directive,
5591
+ args: [{
5592
+ selector: '[etRichFilterButton]',
5593
+ standalone: true,
5594
+ providers: [
5595
+ {
5596
+ provide: RICH_FILTER_BUTTON_TOKEN,
5597
+ useExisting: RichFilterButtonDirective,
5598
+ },
5599
+ ],
5600
+ host: {
5601
+ class: 'et-rich-filter-button',
5602
+ },
5603
+ }]
5604
+ }] });
5605
+
5606
+ const RICH_FILTER_CONTENT_TOKEN = new InjectionToken('RICH_FILTER_CONTENT_TOKEN');
5607
+ class RichFilterContentDirective {
5608
+ constructor() {
5609
+ this.visibilityObserver = inject(ObserveVisibilityDirective);
5610
+ }
5611
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5612
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: RichFilterContentDirective, isStandalone: true, selector: "[etRichFilterContent]", providers: [
5613
+ {
5614
+ provide: RICH_FILTER_CONTENT_TOKEN,
5615
+ useExisting: RichFilterContentDirective,
5616
+ },
5617
+ ], hostDirectives: [{ directive: i1$2.ObserveVisibilityDirective }], ngImport: i0 }); }
5618
+ }
5619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterContentDirective, decorators: [{
5620
+ type: Directive,
5621
+ args: [{
5622
+ selector: '[etRichFilterContent]',
5623
+ standalone: true,
5624
+ providers: [
5625
+ {
5626
+ provide: RICH_FILTER_CONTENT_TOKEN,
5627
+ useExisting: RichFilterContentDirective,
5628
+ },
5629
+ ],
5630
+ hostDirectives: [ObserveVisibilityDirective],
5631
+ }]
5632
+ }] });
5633
+
5634
+ const RICH_FILTER_TOP_TOKEN = new InjectionToken('RICH_FILTER_TOP_TOKEN');
5635
+ class RichFilterTopDirective {
5636
+ constructor() {
5637
+ this.elementRef = inject(ElementRef);
5638
+ }
5639
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterTopDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5640
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: RichFilterTopDirective, isStandalone: true, selector: "[etRichFilterTop]", providers: [
5641
+ {
5642
+ provide: RICH_FILTER_TOP_TOKEN,
5643
+ useExisting: RichFilterTopDirective,
5644
+ },
5645
+ ], ngImport: i0 }); }
5646
+ }
5647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterTopDirective, decorators: [{
5648
+ type: Directive,
5649
+ args: [{
5650
+ selector: '[etRichFilterTop]',
5651
+ standalone: true,
5652
+ providers: [
5653
+ {
5654
+ provide: RICH_FILTER_TOP_TOKEN,
5655
+ useExisting: RichFilterTopDirective,
5656
+ },
5657
+ ],
5658
+ }]
5659
+ }] });
5660
+
5661
+ class RichFilterHostComponent {
5662
+ set _button(value) {
5663
+ this.button$.next(value ?? null);
5664
+ }
5665
+ set _buttonSlot(value) {
5666
+ this.buttonSlot$.next(value ?? null);
5667
+ }
5668
+ set _content(value) {
5669
+ this.content$.next(value ?? null);
5670
+ }
5671
+ set _top(value) {
5672
+ this.top$.next(value ?? this._implicitTop);
5673
+ }
5674
+ constructor() {
5675
+ this._implicitTop = inject(RICH_FILTER_TOP_TOKEN);
5676
+ this.button$ = new BehaviorSubject(null);
5677
+ this.buttonSlot$ = new BehaviorSubject(null);
5678
+ this.content$ = new BehaviorSubject(null);
5679
+ this.top$ = new BehaviorSubject(this._implicitTop);
5680
+ this.buttonSlotVisibilityChanges$ = this.buttonSlot$.pipe(switchMap((buttonSlot) => buttonSlot?.visibilityObserver.etObserveVisibility.pipe(startWith(null)) ?? of(null)));
5681
+ this.contentVisibilityChanges$ = this.content$.pipe(switchMap((content) => content?.visibilityObserver.etObserveVisibility.pipe(startWith(null)) ?? of(null)));
5682
+ this.buttonSlotVisibilityChanges = toSignal(this.buttonSlotVisibilityChanges$, { requireSync: true });
5683
+ this.contentVisibilityChanges = toSignal(this.contentVisibilityChanges$, { requireSync: true });
5684
+ signalHostClasses({
5685
+ ...signalVisibilityChangeClasses({
5686
+ name: 'et-rich-filter-host-button',
5687
+ signal: this.buttonSlotVisibilityChanges,
5688
+ }),
5689
+ ...signalVisibilityChangeClasses({
5690
+ name: 'et-rich-filter-host-content',
5691
+ signal: this.contentVisibilityChanges,
5692
+ }),
5693
+ });
5694
+ }
5695
+ scrollToTop(options) {
5696
+ this.top$?.value?.elementRef.nativeElement?.scrollIntoView(options);
5697
+ }
5698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5699
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: RichFilterHostComponent, isStandalone: true, selector: "et-rich-filter-host, [et-rich-filter-host]", host: { classAttribute: "et-rich-filter-host" }, queries: [{ propertyName: "_button", first: true, predicate: RICH_FILTER_BUTTON_TOKEN, descendants: true }, { propertyName: "_buttonSlot", first: true, predicate: RICH_FILTER_BUTTON_SLOT_TOKEN, descendants: true }, { propertyName: "_content", first: true, predicate: RICH_FILTER_CONTENT_TOKEN, descendants: true }, { propertyName: "_top", first: true, predicate: RICH_FILTER_TOP_TOKEN, descendants: true }], hostDirectives: [{ directive: RichFilterTopDirective }], ngImport: i0, template: '<ng-content />', isInline: true, styles: [":where(.et-rich-filter-host){--et-rich-filter-display: block;--et-rich-filter-button-inset-inline-end: 30px;--et-rich-filter-button-inset-block-end: 30px;--et-rich-filter-button-z-index: 10}.et-rich-filter-host{display:var(--et-rich-filter-display)}.et-rich-filter-host.et-rich-filter-host-button--is-above.et-rich-filter-host-content--is-visible .et-rich-filter-button,.et-rich-filter-host.et-rich-filter-host-button--is-above.et-rich-filter-host-content--is-above .et-rich-filter-button{position:fixed;inset-inline-end:var(--et-rich-filter-button-inset-inline-end);inset-block-end:var(--et-rich-filter-button-inset-block-end);z-index:var(--et-rich-filter-button-z-index);animation:scaleIn .2s ease-in-out forwards}.et-rich-filter-host.et-rich-filter-host-button--is-above.et-rich-filter-host-content--is-above .et-rich-filter-button{animation:scaleOut .2s ease-in-out forwards}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes scaleOut{0%{transform:scale(1)}to{transform:scale(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5700
+ }
5701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: RichFilterHostComponent, decorators: [{
5702
+ type: Component,
5703
+ args: [{ selector: 'et-rich-filter-host, [et-rich-filter-host]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
5704
+ class: 'et-rich-filter-host',
5705
+ }, hostDirectives: [RichFilterTopDirective], styles: [":where(.et-rich-filter-host){--et-rich-filter-display: block;--et-rich-filter-button-inset-inline-end: 30px;--et-rich-filter-button-inset-block-end: 30px;--et-rich-filter-button-z-index: 10}.et-rich-filter-host{display:var(--et-rich-filter-display)}.et-rich-filter-host.et-rich-filter-host-button--is-above.et-rich-filter-host-content--is-visible .et-rich-filter-button,.et-rich-filter-host.et-rich-filter-host-button--is-above.et-rich-filter-host-content--is-above .et-rich-filter-button{position:fixed;inset-inline-end:var(--et-rich-filter-button-inset-inline-end);inset-block-end:var(--et-rich-filter-button-inset-block-end);z-index:var(--et-rich-filter-button-z-index);animation:scaleIn .2s ease-in-out forwards}.et-rich-filter-host.et-rich-filter-host-button--is-above.et-rich-filter-host-content--is-above .et-rich-filter-button{animation:scaleOut .2s ease-in-out forwards}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes scaleOut{0%{transform:scale(1)}to{transform:scale(0)}}\n"] }]
5706
+ }], ctorParameters: function () { return []; }, propDecorators: { _button: [{
5707
+ type: ContentChild,
5708
+ args: [RICH_FILTER_BUTTON_TOKEN]
5709
+ }], _buttonSlot: [{
5710
+ type: ContentChild,
5711
+ args: [RICH_FILTER_BUTTON_SLOT_TOKEN]
5712
+ }], _content: [{
5713
+ type: ContentChild,
5714
+ args: [RICH_FILTER_CONTENT_TOKEN]
5715
+ }], _top: [{
5716
+ type: ContentChild,
5717
+ args: [RICH_FILTER_TOP_TOKEN]
5718
+ }] } });
5719
+
5720
+ const RichFilterImports = [
5721
+ RichFilterHostComponent,
5722
+ RichFilterButtonDirective,
5723
+ RichFilterButtonSlotDirective,
5724
+ RichFilterContentDirective,
5725
+ RichFilterTopDirective,
5726
+ ];
5727
+
5544
5728
  const VALIDATOR_ERROR_SERVICE_TOKEN = new InjectionToken('VALIDATOR_ERROR_SERVICE');
5545
5729
  const provideValidatorErrorsService = (service = DefaultValidatorErrorsService) => ({
5546
5730
  provide: VALIDATOR_ERROR_SERVICE_TOKEN,
@@ -10313,10 +10497,10 @@ const getPointerPositionOnPage = (event, id) => {
10313
10497
  let point;
10314
10498
  if (isTouchEvent(event)) {
10315
10499
  if (typeof id === 'number') {
10316
- point = findMatchingTouch(event.touches, id) || findMatchingTouch(event.changedTouches, id);
10500
+ point = findMatchingTouch(event.touches, id) || findMatchingTouch(event.changedTouches, id) || null;
10317
10501
  }
10318
10502
  else {
10319
- point = event.touches[0] || event.changedTouches[0];
10503
+ point = event.touches[0] || event.changedTouches[0] || null;
10320
10504
  }
10321
10505
  }
10322
10506
  else {
@@ -10737,11 +10921,11 @@ class MasonryComponent {
10737
10921
  isInitialized: false,
10738
10922
  };
10739
10923
  this._getLowestColumn = (columnHeights) => {
10740
- let lowestColumnHeight = columnHeights[0][0];
10924
+ let lowestColumnHeight = columnHeights[0]?.[0] ?? 0;
10741
10925
  let lowestColumnIndex = 0;
10742
10926
  for (let i = 0; i < columnHeights.length; i++) {
10743
- const columnHeight = columnHeights[i][0];
10744
- if (columnHeight < lowestColumnHeight) {
10927
+ const columnHeight = columnHeights[i]?.[0];
10928
+ if (columnHeight !== undefined && columnHeight < lowestColumnHeight) {
10745
10929
  lowestColumnHeight = columnHeight;
10746
10930
  lowestColumnIndex = i;
10747
10931
  }
@@ -10749,11 +10933,11 @@ class MasonryComponent {
10749
10933
  return { lowestColumnHeight, lowestColumnIndex };
10750
10934
  };
10751
10935
  this._getHighestColumn = (columnHeights) => {
10752
- let highestColumnHeight = columnHeights[0][0];
10936
+ let highestColumnHeight = columnHeights[0]?.[0] ?? 0;
10753
10937
  let highestColumnIndex = 0;
10754
10938
  for (let i = 0; i < columnHeights.length; i++) {
10755
- const columnHeight = columnHeights[i][0];
10756
- if (columnHeight >= highestColumnHeight) {
10939
+ const columnHeight = columnHeights[i]?.[0];
10940
+ if (columnHeight !== undefined && columnHeight >= highestColumnHeight) {
10757
10941
  highestColumnHeight = columnHeight;
10758
10942
  highestColumnIndex = i;
10759
10943
  }
@@ -10854,6 +11038,9 @@ class MasonryComponent {
10854
11038
  const state = this._state;
10855
11039
  for (let itemIndex = fromIndex; itemIndex < items.length; itemIndex++) {
10856
11040
  const item = items[itemIndex];
11041
+ if (!item) {
11042
+ continue;
11043
+ }
10857
11044
  const initialItemDimensions = item.initialDimensions;
10858
11045
  const updatedDimensions = item.dimensions;
10859
11046
  if (!initialItemDimensions || !updatedDimensions) {
@@ -10985,7 +11172,7 @@ class PaginationHeadService {
10985
11172
  const element = this._getCanonicalElement(true);
10986
11173
  element.setAttribute('rel', 'canonical');
10987
11174
  element.setAttribute('href', canonicalUrl);
10988
- this._head.appendChild(element);
11175
+ this._head?.appendChild(element);
10989
11176
  }
10990
11177
  }
10991
11178
  _getCanonicalElement(createIfNotExisting) {
@@ -10996,7 +11183,7 @@ class PaginationHeadService {
10996
11183
  return element;
10997
11184
  }
10998
11185
  _removeCanonicalElement(element) {
10999
- this._head.removeChild(element);
11186
+ this._head?.removeChild(element);
11000
11187
  }
11001
11188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PaginationHeadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11002
11189
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: PaginationHeadService }); }
@@ -11576,7 +11763,7 @@ class QueryErrorComponent {
11576
11763
  extractQuery(this.host.query)?.execute({ skipCache: true });
11577
11764
  }
11578
11765
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: QueryErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11579
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", host: { properties: { "class.et-query-error--can-be-retried": "canBeRetried()", "class.et-query-error--is-list": "isList()" }, classAttribute: "et-query-error" }, hostDirectives: [{ directive: QueryErrorDirective, inputs: ["error", "error", "query", "query"] }], ngImport: i0, template: "<ng-container *ngIf=\"errorList() as errorList\">\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n <p *ngIf=\"!errorList.isList\" class=\"et-query-error-message\">{{ errorList.items[0].message }}</p>\n\n <ul *ngIf=\"errorList.isList\" class=\"et-query-error-list\">\n <li *ngFor=\"let item of errorList.items; trackBy: trackByFn\" class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n </ul>\n\n <button *ngIf=\"errorList.canBeRetried\" (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11766
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: QueryErrorComponent, isStandalone: true, selector: "et-query-error", host: { properties: { "class.et-query-error--can-be-retried": "canBeRetried()", "class.et-query-error--is-list": "isList()" }, classAttribute: "et-query-error" }, hostDirectives: [{ directive: QueryErrorDirective, inputs: ["error", "error", "query", "query"] }], ngImport: i0, template: "<ng-container *ngIf=\"errorList() as errorList\">\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n <p *ngIf=\"!errorList.isList\" class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n\n <ul *ngIf=\"errorList.isList\" class=\"et-query-error-list\">\n <li *ngFor=\"let item of errorList.items; trackBy: trackByFn\" class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n </ul>\n\n <button *ngIf=\"errorList.canBeRetried\" (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n</ng-container>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11580
11767
  }
11581
11768
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: QueryErrorComponent, decorators: [{
11582
11769
  type: Component,
@@ -11584,7 +11771,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
11584
11771
  class: 'et-query-error',
11585
11772
  '[class.et-query-error--can-be-retried]': 'canBeRetried()',
11586
11773
  '[class.et-query-error--is-list]': 'isList()',
11587
- }, imports: [NgIf, NgFor], hostDirectives: [{ directive: QueryErrorDirective, inputs: ['error', 'query'] }], template: "<ng-container *ngIf=\"errorList() as errorList\">\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n <p *ngIf=\"!errorList.isList\" class=\"et-query-error-message\">{{ errorList.items[0].message }}</p>\n\n <ul *ngIf=\"errorList.isList\" class=\"et-query-error-list\">\n <li *ngFor=\"let item of errorList.items; trackBy: trackByFn\" class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n </ul>\n\n <button *ngIf=\"errorList.canBeRetried\" (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n</ng-container>\n" }]
11774
+ }, imports: [NgIf, NgFor], hostDirectives: [{ directive: QueryErrorDirective, inputs: ['error', 'query'] }], template: "<ng-container *ngIf=\"errorList() as errorList\">\n <h3 class=\"et-query-error-title\">{{ errorList.title }}</h3>\n\n <p *ngIf=\"!errorList.isList\" class=\"et-query-error-message\">{{ errorList.items[0]!.message }}</p>\n\n <ul *ngIf=\"errorList.isList\" class=\"et-query-error-list\">\n <li *ngFor=\"let item of errorList.items; trackBy: trackByFn\" class=\"et-query-error-list-item\">\n {{ item.message }}\n </li>\n </ul>\n\n <button *ngIf=\"errorList.canBeRetried\" (click)=\"retry()\" class=\"et-query-error-retry-button\">Retry</button>\n</ng-container>\n" }]
11588
11775
  }] });
11589
11776
 
11590
11777
  class ScrollableComponent {
@@ -14288,5 +14475,5 @@ const FLOATING_UI_PLACEMENTS = [
14288
14475
  * Generated bundle index. Do not edit.
14289
14476
  */
14290
14477
 
14291
- export { ACCORDION_COMPONENT, ACCORDION_HINT_WRAPPER_DIRECTIVE, ACCORDION_LABEL_WRAPPER_DIRECTIVE, AccordionComponent, AccordionGroupComponent, AccordionHintDirective, AccordionHintWrapperDirective, AccordionImports, AccordionLabelDirective, AccordionLabelWrapperDirective, ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, AutosizeTextareaDirective, BOTTOM_SHEET_CONFIG, BOTTOM_SHEET_DATA, BOTTOM_SHEET_DEFAULT_CONFIG, BOTTOM_SHEET_DEFAULT_OPTIONS, BOTTOM_SHEET_MIN_SWIPE_TO_CLOSE_LENGTH, BOTTOM_SHEET_MIN_VELOCITY_TO_CLOSE, BOTTOM_SHEET_SCROLL_STRATEGY, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER_FACTORY, BRACKET_CONFIG_TOKEN, BRACKET_DEFAULT_CONFIG, BRACKET_MATCH_ID_TOKEN, BRACKET_ROUND_ID_TOKEN, BRACKET_TOKEN, BottomSheetContainerBaseComponent, BottomSheetContainerComponent, BottomSheetDragHandleComponent, BottomSheetImports, BottomSheetRef, BottomSheetService, BottomSheetServiceBase, BottomSheetSwipeHandlerService, BottomSheetTitleDirective, Bracket, BracketComponent, BracketImports, BracketMatchComponent, BracketMatchDirective, BracketRoundDirective, BracketRoundHeaderComponent, ButtonComponent, ButtonDirective, ButtonImports, CDK_MENU, CHECKBOX_FIELD_TOKEN, CHECKBOX_GROUP_CONTROL_TOKEN, CHECKBOX_GROUP_TOKEN, CHECKBOX_TOKEN, COMBOBOX_BODY_EMPTY_TEMPLATE_TOKEN, COMBOBOX_BODY_ERROR_TEMPLATE_TOKEN, COMBOBOX_BODY_LOADING_TEMPLATE_TOKEN, COMBOBOX_BODY_MORE_ITEMS_HINT_TEMPLATE_TOKEN, COMBOBOX_CONFIG_TOKEN, COMBOBOX_DEFAULT_CONFIG, COMBOBOX_OPTION_TEMPLATE_TOKEN, COMBOBOX_SELECTED_OPTION_TEMPLATE_TOKEN, COMBOBOX_TOKEN, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, CellDefDirective, CellDirective, CheckboxComponent, CheckboxDirective, CheckboxFieldComponent, CheckboxFieldDirective, CheckboxGroupComponent, CheckboxGroupControlDirective, CheckboxGroupDirective, CheckboxImports, ChevronIconComponent, ColumnDefDirective, ComboboxBodyEmptyTemplateDirective, ComboboxBodyErrorTemplateDirective, ComboboxBodyLoadingTemplateDirective, ComboboxBodyMoreItemsHintTemplateDirective, ComboboxComponent, ComboboxDirective, ComboboxImports, ComboboxOptionTemplateDirective, ComboboxSelectedOptionTemplateDirective, ContextMenuTracker, DATE_INPUT_FORMAT_TOKEN, DATE_INPUT_TOKEN, DEFAULT_DATE_INPUT_FORMAT, DIALOG_CONFIG, DIALOG_DATA, DIALOG_DEFAULT_CONFIG, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DIALOG_SCROLL_STRATEGY_PROVIDER, DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN, DateInputComponent, DateInputDirective, DecoratedFormFieldBase, DecoratedInputBase, DefaultValidatorErrorsService, DialogCloseDirective, DialogContainerBaseComponent, DialogContainerComponent, DialogImports, DialogRef, DialogService, DialogServiceBase, DialogTitleDirective, DynamicFormFieldDirective, DynamicFormGroupDirective, DynamicOverlayService, DynamicOverlayTitleDirective, EMAIL_INPUT_TOKEN, ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_DIALOG_CLASS, ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, EXPOSE_INPUT_VARS_TOKEN, EmailInputComponent, EmailInputDirective, ErrorComponent, ExposeInputVarsDirective, FILTER_OVERLAY_BACK_OR_CLOSE_TOKEN, FILTER_OVERLAY_LINK_TOKEN, FILTER_OVERLAY_REF, FILTER_OVERLAY_RESET_TOKEN, FILTER_OVERLAY_SUBMIT_TOKEN, FLOATING_UI_PLACEMENTS, FilterOverlayBackOrCloseDirective, FilterOverlayImports, FilterOverlayLinkDirective, FilterOverlayPageOutletComponent, FilterOverlayRef, FilterOverlayResetDirective, FilterOverlayService, FilterOverlaySubmitDirective, FooterCellDefDirective, FooterCellDirective, FooterRowComponent, FooterRowDefDirective, FormFieldStateService, FormGroupStateService, HeaderCellDefDirective, HeaderCellDirective, HeaderRowComponent, HeaderRowDefDirective, IMAGE_CONFIG_TOKEN, INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN, INPUT_TOKEN, IconImports, IfInputEmptyDirective, IfInputFilledDirective, InlineTabBodyComponent, InlineTabBodyHostDirective, InlineTabChangeEvent, InlineTabComponent, InlineTabContentDirective, InlineTabHeaderComponent, InlineTabLabelDirective, InlineTabLabelWrapperDirective, InlineTabsComponent, InputBase, InputDirective, InputFieldComponent, InputImports, InputPrefixDirective, InputStateService, InputSuffixDirective, LABEL_TOKEN, LabelComponent, LabelImports, LabelSuffixDirective, MASONRY_ITEM_TOKEN, MAX_SAFE_INTEGER, MENU_AIM, MENU_STACK, MENU_TRIGGER, MasonryComponent, MasonryImports, MasonryItemComponent, MenuStack, NATIVE_INPUT_REF_TOKEN, NATIVE_SELECT_INPUT_TOKEN, NATIVE_SELECT_OPTION_TOKEN, NUMBER_INPUT_TOKEN, NativeInputRefDirective, NativeSelectImports, NativeSelectInputComponent, NativeSelectInputDirective, NativeSelectOptionComponent, NativeSelectOptionDirective, NavTabLinkComponent, NavTabsComponent, NavTabsOutletComponent, NoDataRowDirective, NumberInputComponent, NumberInputDirective, OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_CONFIG, OVERLAY_DEFAULT_OPTIONS, OVERLAY_SCROLL_STRATEGY, OVERLAY_SCROLL_STRATEGY_PROVIDER, OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY, OVERLAY_STATE, OverlayCloseDirective, OverlayContainerComponent, OverlayImports, OverlayPositionBuilder, OverlayRef, OverlayService, OverlayTitleDirective, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PASSWORD_INPUT_TOKEN, PROGRESS_SPINNER_DEFAULT_OPTIONS, PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, PaginatedTabHeaderDirective, PaginationComponent, PaginationImports, PasswordInputComponent, PasswordInputDirective, PasswordInputToggleComponent, PictureComponent, PictureDataDirective, PointerFocusTracker, ProgressSpinnerComponent, QUERY_ERROR_TOKEN, QueryButtonComponent, QueryButtonDirective, QueryErrorComponent, QueryErrorDirective, RADIO_FIELD_TOKEN, RADIO_GROUP_TOKEN, RADIO_TOKEN, RadioComponent, RadioDirective, RadioFieldComponent, RadioFieldDirective, RadioGroupComponent, RadioGroupDirective, RadioImports, RecycleRowsDirective, RowComponent, RowDefDirective, SEARCH_INPUT_TOKEN, SEGMENTED_BUTTON_FIELD_TOKEN, SEGMENTED_BUTTON_GROUP_TOKEN, SEGMENTED_BUTTON_TOKEN, SELECTION_LIST_FIELD, SELECTION_LIST_OPTION, SELECT_BODY_TOKEN, SELECT_FIELD_TOKEN, SELECT_OPTION_TOKEN, SELECT_TOKEN, SLIDE_TOGGLE_TOKEN, SORT_DEFAULT_OPTIONS, SORT_HEADER_COLUMN_DEF, SORT_HEADER_INTL_PROVIDER, SORT_HEADER_INTL_PROVIDER_FACTORY, STATIC_FORM_FIELD_TOKEN, STATIC_FORM_GROUP_TOKEN, ScrollableComponent, ScrollableImports, SearchInputClearComponent, SearchInputComponent, SearchInputDirective, SegmentedButtonComponent, SegmentedButtonDirective, SegmentedButtonFieldComponent, SegmentedButtonFieldDirective, SegmentedButtonGroupComponent, SegmentedButtonGroupDirective, SegmentedButtonImports, SelectBodyComponent, SelectBodyDirective, SelectComponent, SelectDirective, SelectFieldComponent, SelectFieldDirective, SelectImports, SelectOptionComponent, SelectOptionDirective, SelectionListFieldComponent, SelectionListFieldDirective, SelectionListImports, SelectionListOptionComponent, SelectionListOptionDirective, SkeletonComponent, SkeletonImports, SkeletonItemComponent, SlideToggleComponent, SlideToggleDirective, SlideToggleFieldComponent, SlideToggleImports, SliderComponent, SliderFieldComponent, SliderImports, SortDirective, SortHeaderComponent, SortHeaderIntl, SortImports, StaticFormFieldDirective, StaticFormGroupDirective, SwipeHandlerService, TAB, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TAB_LABEL, TEXTAREA_INPUT_TOKEN, TEXT_INPUT_TOKEN, TOGGLETIP, TOGGLETIP_CONFIG, TOGGLETIP_DEFAULT_CONFIG, TOGGLETIP_DIRECTIVE, TOGGLETIP_TEMPLATE, TOGGLETIP_TEXT, TOOLTIP, TOOLTIP_CONFIG, TOOLTIP_DEFAULT_CONFIG, TOOLTIP_DIRECTIVE, TOOLTIP_TEMPLATE, TOOLTIP_TEXT, TabImports, TableBusyDirective, TableBusyOutletDirective, TableComponent, TableDataSource, TableImports, TargetMenuAim, TextColumnComponent, TextInputComponent, TextInputDirective, TextareaInputComponent, TextareaInputDirective, ToggletipComponent, ToggletipDirective, ToggletipImports, TooltipComponent, TooltipDirective, TooltipImports, VALIDATOR_ERROR_SERVICE_TOKEN, WRITEABLE_INPUT_TOKEN, WRITEABLE_INPUT_VALUE_ACCESSOR, WriteableInputDirective, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, accordionAnimations, convertHttpStatusCodeToMessage, createBottomSheetConfig, createBracketConfig, createComboboxConfig, createDialogConfig, createOverlayConfig, createToggletipConfig, createTooltipConfig, getClosestBottomSheet, getClosestDialog, getClosestOverlay, isOptionDisabled, isUpperBracketMatch, normalizeRoundType, orderRounds, orderRoundsByRoundNumber, paginate, provideBottomSheet, provideBottomSheetDefaultConfig, provideBracketConfig, provideComboboxConfig, provideDateFormat, provideDialog, provideDialogDefaultConfig, provideFilterOverlay, provideImageConfig, provideOverlay, provideOverlayDefaultConfig, provideSort, provideToggletipConfig, provideTooltipConfig, provideValidatorErrorsService, tabAnimations };
14478
+ export { ACCORDION_COMPONENT, ACCORDION_HINT_WRAPPER_DIRECTIVE, ACCORDION_LABEL_WRAPPER_DIRECTIVE, AccordionComponent, AccordionGroupComponent, AccordionHintDirective, AccordionHintWrapperDirective, AccordionImports, AccordionLabelDirective, AccordionLabelWrapperDirective, ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, AutosizeTextareaDirective, BOTTOM_SHEET_CONFIG, BOTTOM_SHEET_DATA, BOTTOM_SHEET_DEFAULT_CONFIG, BOTTOM_SHEET_DEFAULT_OPTIONS, BOTTOM_SHEET_MIN_SWIPE_TO_CLOSE_LENGTH, BOTTOM_SHEET_MIN_VELOCITY_TO_CLOSE, BOTTOM_SHEET_SCROLL_STRATEGY, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER_FACTORY, BRACKET_CONFIG_TOKEN, BRACKET_DEFAULT_CONFIG, BRACKET_MATCH_ID_TOKEN, BRACKET_ROUND_ID_TOKEN, BRACKET_TOKEN, BottomSheetContainerBaseComponent, BottomSheetContainerComponent, BottomSheetDragHandleComponent, BottomSheetImports, BottomSheetRef, BottomSheetService, BottomSheetServiceBase, BottomSheetSwipeHandlerService, BottomSheetTitleDirective, Bracket, BracketComponent, BracketImports, BracketMatchComponent, BracketMatchDirective, BracketRoundDirective, BracketRoundHeaderComponent, ButtonComponent, ButtonDirective, ButtonImports, CDK_MENU, CHECKBOX_FIELD_TOKEN, CHECKBOX_GROUP_CONTROL_TOKEN, CHECKBOX_GROUP_TOKEN, CHECKBOX_TOKEN, COMBOBOX_BODY_EMPTY_TEMPLATE_TOKEN, COMBOBOX_BODY_ERROR_TEMPLATE_TOKEN, COMBOBOX_BODY_LOADING_TEMPLATE_TOKEN, COMBOBOX_BODY_MORE_ITEMS_HINT_TEMPLATE_TOKEN, COMBOBOX_CONFIG_TOKEN, COMBOBOX_DEFAULT_CONFIG, COMBOBOX_OPTION_TEMPLATE_TOKEN, COMBOBOX_SELECTED_OPTION_TEMPLATE_TOKEN, COMBOBOX_TOKEN, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, CellDefDirective, CellDirective, CheckboxComponent, CheckboxDirective, CheckboxFieldComponent, CheckboxFieldDirective, CheckboxGroupComponent, CheckboxGroupControlDirective, CheckboxGroupDirective, CheckboxImports, ChevronIconComponent, ColumnDefDirective, ComboboxBodyEmptyTemplateDirective, ComboboxBodyErrorTemplateDirective, ComboboxBodyLoadingTemplateDirective, ComboboxBodyMoreItemsHintTemplateDirective, ComboboxComponent, ComboboxDirective, ComboboxImports, ComboboxOptionTemplateDirective, ComboboxSelectedOptionTemplateDirective, ContextMenuTracker, DATE_INPUT_FORMAT_TOKEN, DATE_INPUT_TOKEN, DEFAULT_DATE_INPUT_FORMAT, DIALOG_CONFIG, DIALOG_DATA, DIALOG_DEFAULT_CONFIG, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DIALOG_SCROLL_STRATEGY_PROVIDER, DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN, DateInputComponent, DateInputDirective, DecoratedFormFieldBase, DecoratedInputBase, DefaultValidatorErrorsService, DialogCloseDirective, DialogContainerBaseComponent, DialogContainerComponent, DialogImports, DialogRef, DialogService, DialogServiceBase, DialogTitleDirective, DynamicFormFieldDirective, DynamicFormGroupDirective, DynamicOverlayService, DynamicOverlayTitleDirective, EMAIL_INPUT_TOKEN, ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_DIALOG_CLASS, ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, EXPOSE_INPUT_VARS_TOKEN, EmailInputComponent, EmailInputDirective, ErrorComponent, ExposeInputVarsDirective, FILTER_OVERLAY_BACK_OR_CLOSE_TOKEN, FILTER_OVERLAY_LINK_TOKEN, FILTER_OVERLAY_REF, FILTER_OVERLAY_RESET_TOKEN, FILTER_OVERLAY_SUBMIT_TOKEN, FLOATING_UI_PLACEMENTS, FilterOverlayBackOrCloseDirective, FilterOverlayImports, FilterOverlayLinkDirective, FilterOverlayPageOutletComponent, FilterOverlayRef, FilterOverlayResetDirective, FilterOverlayService, FilterOverlaySubmitDirective, FooterCellDefDirective, FooterCellDirective, FooterRowComponent, FooterRowDefDirective, FormFieldStateService, FormGroupStateService, HeaderCellDefDirective, HeaderCellDirective, HeaderRowComponent, HeaderRowDefDirective, IMAGE_CONFIG_TOKEN, INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN, INPUT_TOKEN, IconImports, IfInputEmptyDirective, IfInputFilledDirective, InlineTabBodyComponent, InlineTabBodyHostDirective, InlineTabChangeEvent, InlineTabComponent, InlineTabContentDirective, InlineTabHeaderComponent, InlineTabLabelDirective, InlineTabLabelWrapperDirective, InlineTabsComponent, InputBase, InputDirective, InputFieldComponent, InputImports, InputPrefixDirective, InputStateService, InputSuffixDirective, LABEL_TOKEN, LabelComponent, LabelImports, LabelSuffixDirective, MASONRY_ITEM_TOKEN, MAX_SAFE_INTEGER, MENU_AIM, MENU_STACK, MENU_TRIGGER, MasonryComponent, MasonryImports, MasonryItemComponent, MenuStack, NATIVE_INPUT_REF_TOKEN, NATIVE_SELECT_INPUT_TOKEN, NATIVE_SELECT_OPTION_TOKEN, NUMBER_INPUT_TOKEN, NativeInputRefDirective, NativeSelectImports, NativeSelectInputComponent, NativeSelectInputDirective, NativeSelectOptionComponent, NativeSelectOptionDirective, NavTabLinkComponent, NavTabsComponent, NavTabsOutletComponent, NoDataRowDirective, NumberInputComponent, NumberInputDirective, OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_CONFIG, OVERLAY_DEFAULT_OPTIONS, OVERLAY_SCROLL_STRATEGY, OVERLAY_SCROLL_STRATEGY_PROVIDER, OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY, OVERLAY_STATE, OverlayCloseDirective, OverlayContainerComponent, OverlayImports, OverlayPositionBuilder, OverlayRef, OverlayService, OverlayTitleDirective, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PASSWORD_INPUT_TOKEN, PROGRESS_SPINNER_DEFAULT_OPTIONS, PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, PaginatedTabHeaderDirective, PaginationComponent, PaginationImports, PasswordInputComponent, PasswordInputDirective, PasswordInputToggleComponent, PictureComponent, PictureDataDirective, PointerFocusTracker, ProgressSpinnerComponent, QUERY_ERROR_TOKEN, QueryButtonComponent, QueryButtonDirective, QueryErrorComponent, QueryErrorDirective, RADIO_FIELD_TOKEN, RADIO_GROUP_TOKEN, RADIO_TOKEN, RICH_FILTER_BUTTON_SLOT_TOKEN, RICH_FILTER_BUTTON_TOKEN, RICH_FILTER_CONTENT_TOKEN, RICH_FILTER_TOP_TOKEN, RadioComponent, RadioDirective, RadioFieldComponent, RadioFieldDirective, RadioGroupComponent, RadioGroupDirective, RadioImports, RecycleRowsDirective, RichFilterButtonDirective, RichFilterButtonSlotDirective, RichFilterContentDirective, RichFilterHostComponent, RichFilterImports, RichFilterTopDirective, RowComponent, RowDefDirective, SEARCH_INPUT_TOKEN, SEGMENTED_BUTTON_FIELD_TOKEN, SEGMENTED_BUTTON_GROUP_TOKEN, SEGMENTED_BUTTON_TOKEN, SELECTION_LIST_FIELD, SELECTION_LIST_OPTION, SELECT_BODY_TOKEN, SELECT_FIELD_TOKEN, SELECT_OPTION_TOKEN, SELECT_TOKEN, SLIDE_TOGGLE_TOKEN, SORT_DEFAULT_OPTIONS, SORT_HEADER_COLUMN_DEF, SORT_HEADER_INTL_PROVIDER, SORT_HEADER_INTL_PROVIDER_FACTORY, STATIC_FORM_FIELD_TOKEN, STATIC_FORM_GROUP_TOKEN, ScrollableComponent, ScrollableImports, SearchInputClearComponent, SearchInputComponent, SearchInputDirective, SegmentedButtonComponent, SegmentedButtonDirective, SegmentedButtonFieldComponent, SegmentedButtonFieldDirective, SegmentedButtonGroupComponent, SegmentedButtonGroupDirective, SegmentedButtonImports, SelectBodyComponent, SelectBodyDirective, SelectComponent, SelectDirective, SelectFieldComponent, SelectFieldDirective, SelectImports, SelectOptionComponent, SelectOptionDirective, SelectionListFieldComponent, SelectionListFieldDirective, SelectionListImports, SelectionListOptionComponent, SelectionListOptionDirective, SkeletonComponent, SkeletonImports, SkeletonItemComponent, SlideToggleComponent, SlideToggleDirective, SlideToggleFieldComponent, SlideToggleImports, SliderComponent, SliderFieldComponent, SliderImports, SortDirective, SortHeaderComponent, SortHeaderIntl, SortImports, StaticFormFieldDirective, StaticFormGroupDirective, SwipeHandlerService, TAB, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TAB_LABEL, TEXTAREA_INPUT_TOKEN, TEXT_INPUT_TOKEN, TOGGLETIP, TOGGLETIP_CONFIG, TOGGLETIP_DEFAULT_CONFIG, TOGGLETIP_DIRECTIVE, TOGGLETIP_TEMPLATE, TOGGLETIP_TEXT, TOOLTIP, TOOLTIP_CONFIG, TOOLTIP_DEFAULT_CONFIG, TOOLTIP_DIRECTIVE, TOOLTIP_TEMPLATE, TOOLTIP_TEXT, TabImports, TableBusyDirective, TableBusyOutletDirective, TableComponent, TableDataSource, TableImports, TargetMenuAim, TextColumnComponent, TextInputComponent, TextInputDirective, TextareaInputComponent, TextareaInputDirective, ToggletipComponent, ToggletipDirective, ToggletipImports, TooltipComponent, TooltipDirective, TooltipImports, VALIDATOR_ERROR_SERVICE_TOKEN, WRITEABLE_INPUT_TOKEN, WRITEABLE_INPUT_VALUE_ACCESSOR, WriteableInputDirective, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, accordionAnimations, convertHttpStatusCodeToMessage, createBottomSheetConfig, createBracketConfig, createComboboxConfig, createDialogConfig, createOverlayConfig, createToggletipConfig, createTooltipConfig, getClosestBottomSheet, getClosestDialog, getClosestOverlay, isOptionDisabled, isUpperBracketMatch, normalizeRoundType, orderRounds, orderRoundsByRoundNumber, paginate, provideBottomSheet, provideBottomSheetDefaultConfig, provideBracketConfig, provideComboboxConfig, provideDateFormat, provideDialog, provideDialogDefaultConfig, provideFilterOverlay, provideImageConfig, provideOverlay, provideOverlayDefaultConfig, provideSort, provideToggletipConfig, provideTooltipConfig, provideValidatorErrorsService, tabAnimations };
14292
14479
  //# sourceMappingURL=ethlete-cdk.mjs.map