@ethlete/cdk 2.3.2 → 2.4.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 (57) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +6 -6
  3. package/esm2022/lib/components/button/directives/button/button.directive.mjs +4 -5
  4. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +4 -5
  5. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -4
  6. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +4 -4
  7. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +4 -4
  8. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +6 -6
  9. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +4 -4
  10. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +5 -5
  11. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -4
  12. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +4 -5
  13. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +4 -5
  14. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +4 -5
  15. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +4 -5
  16. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +4 -5
  17. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +4 -5
  18. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +5 -5
  19. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +5 -5
  20. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +5 -5
  21. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +5 -5
  22. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +5 -5
  23. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +5 -5
  24. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +5 -5
  25. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +4 -4
  26. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +4 -4
  27. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +4 -4
  28. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +4 -4
  29. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +5 -5
  30. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -4
  31. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +5 -5
  32. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +24 -12
  33. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +11 -16
  34. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +6 -6
  35. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +4 -5
  36. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +4 -5
  37. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +6 -6
  38. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -5
  39. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +2 -4
  40. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
  41. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +5 -5
  42. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +5 -5
  43. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +41 -107
  44. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +41 -117
  45. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +55 -8
  46. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +1 -1
  47. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +1 -1
  48. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -4
  49. package/fesm2022/ethlete-cdk.mjs +290 -389
  50. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  51. package/lib/components/forms/components/select/components/select/components/select/select.component.d.ts +5 -1
  52. package/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.d.ts +2 -0
  53. package/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.d.ts +11 -18
  54. package/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.d.ts +6 -17
  55. package/lib/components/scrollable/components/scrollable/scrollable.component.d.ts +13 -5
  56. package/lib/components/tabs/utils/paginated-tab-header.directive.d.ts +1 -2
  57. package/package.json +3 -4
@@ -3,9 +3,9 @@ import * as i1 from '@angular/cdk/portal';
3
3
  import { CdkPortal, PortalModule, ComponentPortal, CdkPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
4
4
  import { AsyncPipe, NgIf, NgClass, NgTemplateOutlet, NgForOf, JsonPipe, DOCUMENT } from '@angular/common';
5
5
  import * as i0 from '@angular/core';
6
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, Input, ContentChild, inject, ContentChildren, ElementRef, Injector, HostBinding, isDevMode, Injectable, TemplateRef, ViewContainerRef, forwardRef, ViewChild, EventEmitter, Output, Optional, Inject, SkipSelf, HostListener, NgZone, ChangeDetectorRef, Renderer2, Attribute } from '@angular/core';
7
- import * as i3 from '@ethlete/core';
8
- import { LetDirective, DestroyService, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, createReactiveBindings, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, equal, ResizeObserverService, createFlipAnimation, clamp, nextFrame, DELAYABLE_TOKEN, ObserveResizeDirective, SmartBlockScrollStrategy, RouterStateService, ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, ClickObserverService, FocusVisibleService, CursorDragScrollDirective, ObserveScrollStateDirective, ObserveContentDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
6
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, isDevMode, Injectable, TemplateRef, ViewContainerRef, forwardRef, ViewChild, EventEmitter, Output, Optional, Inject, SkipSelf, HostListener, ChangeDetectorRef, Renderer2, Attribute } from '@angular/core';
7
+ import * as i2 from '@ethlete/core';
8
+ import { LetDirective, createDestroy, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, createReactiveBindings, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, equal, ResizeObserverService, createFlipAnimation, ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, AnimatedOverlayDirective, clamp, nextFrame, DELAYABLE_TOKEN, ObserveResizeDirective, SmartBlockScrollStrategy, RouterStateService, ClickObserverService, FocusVisibleService, scrollToElement, IS_ACTIVE_ELEMENT, CursorDragScrollDirective, ObserveScrollStateDirective, ObserveContentDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
9
9
  import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, Subject, filter, distinctUntilChanged, withLatestFrom, debounceTime, fromEvent, merge, take, timer, skipUntil, defer, Subscription, Observable } from 'rxjs';
10
10
  import { trigger, state, style, transition, animate } from '@angular/animations';
11
11
  import { __decorate, __metadata } from 'tslib';
@@ -17,15 +17,14 @@ import { NgControl, FormControl, Validators, NG_VALUE_ACCESSOR } from '@angular/
17
17
  import * as i1$3 from '@angular/cdk/bidi';
18
18
  import { Directionality } from '@angular/cdk/bidi';
19
19
  import { CdkDialogContainer, Dialog, DialogConfig, DIALOG_SCROLL_STRATEGY_PROVIDER as DIALOG_SCROLL_STRATEGY_PROVIDER$1 } from '@angular/cdk/dialog';
20
- import * as i2 from '@angular/cdk/overlay';
21
- import { ViewportRuler, Overlay } from '@angular/cdk/overlay';
20
+ import * as i2$1 from '@angular/cdk/overlay';
21
+ import { ViewportRuler } from '@angular/cdk/overlay';
22
22
  import { ESCAPE, hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';
23
- import { createPopper } from '@popperjs/core';
24
23
  import { Meta, Title } from '@angular/platform-browser';
25
- import * as i3$1 from '@angular/router';
24
+ import * as i3 from '@angular/router';
26
25
  import { Router, NavigationEnd } from '@angular/router';
27
26
  import { _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy, _DisposeViewRepeaterStrategy, DataSource } from '@angular/cdk/collections';
28
- import * as i2$1 from '@angular/cdk/platform';
27
+ import * as i2$2 from '@angular/cdk/platform';
29
28
  import * as i1$4 from '@angular/cdk/scrolling';
30
29
  import { CdkScrollableModule } from '@angular/cdk/scrolling';
31
30
  import * as i1$2 from '@angular/cdk/table';
@@ -220,7 +219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
220
219
 
221
220
  class AccordionGroupComponent {
222
221
  constructor() {
223
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
222
+ this._destroy$ = createDestroy();
224
223
  this._autoCloseOthers = false;
225
224
  }
226
225
  get autoCloseOthers() {
@@ -257,13 +256,13 @@ class AccordionGroupComponent {
257
256
  .subscribe();
258
257
  }
259
258
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AccordionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
260
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AccordionGroupComponent, isStandalone: true, selector: "et-accordion-group", inputs: { autoCloseOthers: "autoCloseOthers" }, host: { classAttribute: "et-accordion-group" }, providers: [DestroyService], queries: [{ propertyName: "_accordions", predicate: ACCORDION_COMPONENT }], ngImport: i0, template: "<ng-content select=\"et-accordion\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: AccordionGroupComponent, isStandalone: true, selector: "et-accordion-group", inputs: { autoCloseOthers: "autoCloseOthers" }, host: { classAttribute: "et-accordion-group" }, queries: [{ propertyName: "_accordions", predicate: ACCORDION_COMPONENT }], ngImport: i0, template: "<ng-content select=\"et-accordion\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
261
260
  }
262
261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AccordionGroupComponent, decorators: [{
263
262
  type: Component,
264
263
  args: [{ selector: 'et-accordion-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
265
264
  class: 'et-accordion-group',
266
- }, providers: [DestroyService], template: "<ng-content select=\"et-accordion\" />\n" }]
265
+ }, template: "<ng-content select=\"et-accordion\" />\n" }]
267
266
  }], propDecorators: { autoCloseOthers: [{
268
267
  type: Input
269
268
  }], _accordions: [{
@@ -1091,13 +1090,12 @@ class ButtonDirective {
1091
1090
  this._bindings.remove('tabindex');
1092
1091
  }
1093
1092
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1094
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: ButtonDirective, isStandalone: true, inputs: { disabled: "disabled", type: "type", pressed: "pressed" }, providers: [DestroyService], exportAs: ["etButton"], ngImport: i0 }); }
1093
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: ButtonDirective, isStandalone: true, inputs: { disabled: "disabled", type: "type", pressed: "pressed" }, exportAs: ["etButton"], ngImport: i0 }); }
1095
1094
  }
1096
1095
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ButtonDirective, decorators: [{
1097
1096
  type: Directive,
1098
1097
  args: [{
1099
1098
  standalone: true,
1100
- providers: [DestroyService],
1101
1099
  exportAs: 'etButton',
1102
1100
  }]
1103
1101
  }], propDecorators: { disabled: [{
@@ -1166,7 +1164,7 @@ class QueryButtonDirective {
1166
1164
  }
1167
1165
  constructor() {
1168
1166
  this._elementRef = inject(ElementRef);
1169
- this._destroy$ = inject(DestroyService).destroy$;
1167
+ this._destroy$ = createDestroy();
1170
1168
  this._button = inject(ButtonDirective);
1171
1169
  this._cleanupTimeout = null;
1172
1170
  this.showSuccess$ = new BehaviorSubject(false);
@@ -1199,13 +1197,12 @@ class QueryButtonDirective {
1199
1197
  this._button._removeDisabledBindings();
1200
1198
  }
1201
1199
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QueryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1202
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: QueryButtonDirective, isStandalone: true, inputs: { query: "query" }, providers: [DestroyService], exportAs: ["etQueryButton"], ngImport: i0 }); }
1200
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: QueryButtonDirective, isStandalone: true, inputs: { query: "query" }, exportAs: ["etQueryButton"], ngImport: i0 }); }
1203
1201
  }
1204
1202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: QueryButtonDirective, decorators: [{
1205
1203
  type: Directive,
1206
1204
  args: [{
1207
1205
  standalone: true,
1208
- providers: [DestroyService],
1209
1206
  exportAs: 'etQueryButton',
1210
1207
  }]
1211
1208
  }], ctorParameters: function () { return []; }, propDecorators: { query: [{
@@ -1526,7 +1523,7 @@ class InputDirective {
1526
1523
  this._inputStateService = inject(InputStateService);
1527
1524
  this._formFieldStateService = inject(FormFieldStateService);
1528
1525
  this._ngControl = inject(NgControl, { optional: true });
1529
- this._destroy$ = inject(DestroyService).destroy$;
1526
+ this._destroy$ = createDestroy();
1530
1527
  this._autofillMonitor = inject(AutofillMonitor);
1531
1528
  this._focusMonitor = inject(FocusMonitor);
1532
1529
  this._elementRef = inject(ElementRef);
@@ -1724,7 +1721,7 @@ class InputDirective {
1724
1721
  }
1725
1722
  }
1726
1723
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1727
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: InputDirective, isStandalone: true, selector: "[etInput]", inputs: { autocomplete: "autocomplete", placeholder: "placeholder" }, host: { properties: { "attr.autocomplete": "null" }, classAttribute: "et-input" }, providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }, DestroyService], exportAs: ["etInput"], ngImport: i0 }); }
1724
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: InputDirective, isStandalone: true, selector: "[etInput]", inputs: { autocomplete: "autocomplete", placeholder: "placeholder" }, host: { properties: { "attr.autocomplete": "null" }, classAttribute: "et-input" }, providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }], exportAs: ["etInput"], ngImport: i0 }); }
1728
1725
  }
1729
1726
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: InputDirective, decorators: [{
1730
1727
  type: Directive,
@@ -1736,7 +1733,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
1736
1733
  class: 'et-input',
1737
1734
  '[attr.autocomplete]': 'null',
1738
1735
  },
1739
- providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }, DestroyService],
1736
+ providers: [{ provide: INPUT_TOKEN, useExisting: InputDirective }],
1740
1737
  }]
1741
1738
  }], propDecorators: { autocomplete: [{
1742
1739
  type: Input
@@ -1746,7 +1743,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
1746
1743
 
1747
1744
  class IfInputEmptyDirective {
1748
1745
  constructor() {
1749
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
1746
+ this._destroy$ = createDestroy();
1750
1747
  this._input = inject(INPUT_TOKEN);
1751
1748
  this._templateRef = inject(TemplateRef);
1752
1749
  this._viewContainerRef = inject(ViewContainerRef);
@@ -1769,20 +1766,19 @@ class IfInputEmptyDirective {
1769
1766
  .subscribe();
1770
1767
  }
1771
1768
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IfInputEmptyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1772
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IfInputEmptyDirective, isStandalone: true, selector: "[etIfInputEmpty]", providers: [DestroyService], ngImport: i0 }); }
1769
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IfInputEmptyDirective, isStandalone: true, selector: "[etIfInputEmpty]", ngImport: i0 }); }
1773
1770
  }
1774
1771
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IfInputEmptyDirective, decorators: [{
1775
1772
  type: Directive,
1776
1773
  args: [{
1777
1774
  selector: '[etIfInputEmpty]',
1778
1775
  standalone: true,
1779
- providers: [DestroyService],
1780
1776
  }]
1781
1777
  }] });
1782
1778
 
1783
1779
  class IfInputFilledDirective {
1784
1780
  constructor() {
1785
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
1781
+ this._destroy$ = createDestroy();
1786
1782
  this._input = inject(INPUT_TOKEN);
1787
1783
  this._templateRef = inject(TemplateRef);
1788
1784
  this._viewContainerRef = inject(ViewContainerRef);
@@ -1805,14 +1801,13 @@ class IfInputFilledDirective {
1805
1801
  .subscribe();
1806
1802
  }
1807
1803
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IfInputFilledDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1808
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IfInputFilledDirective, isStandalone: true, selector: "[etIfInputFilled]", providers: [DestroyService], ngImport: i0 }); }
1804
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: IfInputFilledDirective, isStandalone: true, selector: "[etIfInputFilled]", ngImport: i0 }); }
1809
1805
  }
1810
1806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: IfInputFilledDirective, decorators: [{
1811
1807
  type: Directive,
1812
1808
  args: [{
1813
1809
  selector: '[etIfInputFilled]',
1814
1810
  standalone: true,
1815
- providers: [DestroyService],
1816
1811
  }]
1817
1812
  }] });
1818
1813
 
@@ -1893,7 +1888,7 @@ const STATIC_FORM_FIELD_TOKEN = new InjectionToken('ET_STATIC_FORM_FIELD_DIRECTI
1893
1888
  class StaticFormFieldDirective {
1894
1889
  constructor() {
1895
1890
  this._formFieldStateService = inject(FormFieldStateService);
1896
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
1891
+ this._destroy$ = createDestroy();
1897
1892
  this._elementRef = inject(ElementRef);
1898
1893
  this._focusMonitor = inject(FocusMonitor);
1899
1894
  }
@@ -1934,7 +1929,6 @@ class StaticFormFieldDirective {
1934
1929
  provide: STATIC_FORM_FIELD_TOKEN,
1935
1930
  useExisting: StaticFormFieldDirective,
1936
1931
  },
1937
- DestroyService,
1938
1932
  ], queries: [{ propertyName: "_input", predicate: i0.forwardRef(function () { return INPUT_TOKEN; }) }, { propertyName: "_label", predicate: i0.forwardRef(function () { return LABEL_TOKEN; }) }], exportAs: ["etStaticFormField"], ngImport: i0 }); }
1939
1933
  }
1940
1934
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: StaticFormFieldDirective, decorators: [{
@@ -1948,7 +1942,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
1948
1942
  provide: STATIC_FORM_FIELD_TOKEN,
1949
1943
  useExisting: StaticFormFieldDirective,
1950
1944
  },
1951
- DestroyService,
1952
1945
  ],
1953
1946
  }]
1954
1947
  }], propDecorators: { _input: [{
@@ -2032,7 +2025,6 @@ class WriteableInputDirective {
2032
2025
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: WriteableInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2033
2026
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: WriteableInputDirective, isStandalone: true, providers: [
2034
2027
  WRITEABLE_INPUT_VALUE_ACCESSOR,
2035
- DestroyService,
2036
2028
  InputStateService,
2037
2029
  { provide: WRITEABLE_INPUT_TOKEN, useExisting: WriteableInputDirective },
2038
2030
  ], exportAs: ["etWriteableInput"], ngImport: i0 }); }
@@ -2044,7 +2036,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2044
2036
  exportAs: 'etWriteableInput',
2045
2037
  providers: [
2046
2038
  WRITEABLE_INPUT_VALUE_ACCESSOR,
2047
- DestroyService,
2048
2039
  InputStateService,
2049
2040
  { provide: WRITEABLE_INPUT_TOKEN, useExisting: WriteableInputDirective },
2050
2041
  ],
@@ -2089,13 +2080,13 @@ class ErrorComponent {
2089
2080
  }
2090
2081
  }
2091
2082
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2092
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ErrorComponent, isStandalone: true, selector: "et-error", inputs: { errors: "errors" }, host: { classAttribute: "et-error" }, providers: [DestroyService], ngImport: i0, template: "<ng-container *ngIf=\"errorText$ | async | async as text\">\n <span [id]=\"id\" aria-atomic=\"true\" aria-live=\"polite\"> {{ text }} </span>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2083
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ErrorComponent, isStandalone: true, selector: "et-error", inputs: { errors: "errors" }, host: { classAttribute: "et-error" }, ngImport: i0, template: "<ng-container *ngIf=\"errorText$ | async | async as text\">\n <span [id]=\"id\" aria-atomic=\"true\" aria-live=\"polite\"> {{ text }} </span>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2093
2084
  }
2094
2085
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ErrorComponent, decorators: [{
2095
2086
  type: Component,
2096
2087
  args: [{ selector: 'et-error', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2097
2088
  class: 'et-error',
2098
- }, imports: [JsonPipe, NgIf, AsyncPipe], providers: [DestroyService], hostDirectives: [], template: "<ng-container *ngIf=\"errorText$ | async | async as text\">\n <span [id]=\"id\" aria-atomic=\"true\" aria-live=\"polite\"> {{ text }} </span>\n</ng-container>\n" }]
2089
+ }, imports: [JsonPipe, NgIf, AsyncPipe], hostDirectives: [], template: "<ng-container *ngIf=\"errorText$ | async | async as text\">\n <span [id]=\"id\" aria-atomic=\"true\" aria-live=\"polite\"> {{ text }} </span>\n</ng-container>\n" }]
2099
2090
  }], propDecorators: { errors: [{
2100
2091
  type: Input
2101
2092
  }] } });
@@ -2116,13 +2107,13 @@ class CheckboxFieldDirective {
2116
2107
  });
2117
2108
  }
2118
2109
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2119
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxFieldDirective, isStandalone: true, providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }, DestroyService], queries: [{ propertyName: "_checkbox", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
2110
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxFieldDirective, isStandalone: true, providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }], queries: [{ propertyName: "_checkbox", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
2120
2111
  }
2121
2112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxFieldDirective, decorators: [{
2122
2113
  type: Directive,
2123
2114
  args: [{
2124
2115
  standalone: true,
2125
- providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }, DestroyService],
2116
+ providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }],
2126
2117
  exportAs: 'etCheckboxGroup',
2127
2118
  }]
2128
2119
  }], propDecorators: { _checkbox: [{
@@ -2158,13 +2149,13 @@ class CheckboxDirective {
2158
2149
  this.input._setShouldDisplayError(true);
2159
2150
  }
2160
2151
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2161
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxDirective, isStandalone: true, providers: [{ provide: CHECKBOX_TOKEN, useExisting: CheckboxDirective }, DestroyService], exportAs: ["etCheckbox"], ngImport: i0 }); }
2152
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxDirective, isStandalone: true, providers: [{ provide: CHECKBOX_TOKEN, useExisting: CheckboxDirective }], exportAs: ["etCheckbox"], ngImport: i0 }); }
2162
2153
  }
2163
2154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxDirective, decorators: [{
2164
2155
  type: Directive,
2165
2156
  args: [{
2166
2157
  standalone: true,
2167
- providers: [{ provide: CHECKBOX_TOKEN, useExisting: CheckboxDirective }, DestroyService],
2158
+ providers: [{ provide: CHECKBOX_TOKEN, useExisting: CheckboxDirective }],
2168
2159
  exportAs: 'etCheckbox',
2169
2160
  }]
2170
2161
  }] });
@@ -2172,7 +2163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2172
2163
  const CHECKBOX_GROUP_TOKEN = new InjectionToken('ET_CHECKBOX_GROUP_DIRECTIVE_TOKEN');
2173
2164
  class CheckboxGroupDirective {
2174
2165
  constructor() {
2175
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2166
+ this._destroy$ = createDestroy();
2176
2167
  this.checkboxesWithoutGroupCtrlObservable$ = new BehaviorSubject(null);
2177
2168
  this.checkboxesWithoutGroupCtrl$ = this.checkboxesWithoutGroupCtrlObservable$.pipe(switchMap((value) => value ?? of([])));
2178
2169
  }
@@ -2226,7 +2217,7 @@ class CheckboxGroupDirective {
2226
2217
  .subscribe();
2227
2218
  }
2228
2219
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2229
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxGroupDirective, isStandalone: true, host: { attributes: { "role": "group" } }, providers: [DestroyService, { provide: CHECKBOX_GROUP_TOKEN, useExisting: CheckboxGroupDirective }], queries: [{ propertyName: "groupControl", first: true, predicate: i0.forwardRef(function () { return CHECKBOX_GROUP_CONTROL_TOKEN; }), descendants: true }, { propertyName: "checkboxes", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
2220
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxGroupDirective, isStandalone: true, host: { attributes: { "role": "group" } }, providers: [{ provide: CHECKBOX_GROUP_TOKEN, useExisting: CheckboxGroupDirective }], queries: [{ propertyName: "groupControl", first: true, predicate: i0.forwardRef(function () { return CHECKBOX_GROUP_CONTROL_TOKEN; }), descendants: true }, { propertyName: "checkboxes", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
2230
2221
  }
2231
2222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxGroupDirective, decorators: [{
2232
2223
  type: Directive,
@@ -2236,7 +2227,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2236
2227
  role: 'group',
2237
2228
  },
2238
2229
  exportAs: 'etCheckboxGroup',
2239
- providers: [DestroyService, { provide: CHECKBOX_GROUP_TOKEN, useExisting: CheckboxGroupDirective }],
2230
+ providers: [{ provide: CHECKBOX_GROUP_TOKEN, useExisting: CheckboxGroupDirective }],
2240
2231
  }]
2241
2232
  }], propDecorators: { checkboxes: [{
2242
2233
  type: ContentChildren,
@@ -2265,7 +2256,7 @@ class CheckboxGroupControlDirective {
2265
2256
  });
2266
2257
  }
2267
2258
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxGroupControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2268
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxGroupControlDirective, isStandalone: true, selector: "[etCheckboxGroupControl]", providers: [{ provide: CHECKBOX_GROUP_CONTROL_TOKEN, useExisting: CheckboxGroupControlDirective }, DestroyService], exportAs: ["etCheckboxGroupControl"], ngImport: i0 }); }
2259
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxGroupControlDirective, isStandalone: true, selector: "[etCheckboxGroupControl]", providers: [{ provide: CHECKBOX_GROUP_CONTROL_TOKEN, useExisting: CheckboxGroupControlDirective }], exportAs: ["etCheckboxGroupControl"], ngImport: i0 }); }
2269
2260
  }
2270
2261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxGroupControlDirective, decorators: [{
2271
2262
  type: Directive,
@@ -2273,7 +2264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2273
2264
  selector: '[etCheckboxGroupControl]',
2274
2265
  standalone: true,
2275
2266
  exportAs: 'etCheckboxGroupControl',
2276
- providers: [{ provide: CHECKBOX_GROUP_CONTROL_TOKEN, useExisting: CheckboxGroupControlDirective }, DestroyService],
2267
+ providers: [{ provide: CHECKBOX_GROUP_CONTROL_TOKEN, useExisting: CheckboxGroupControlDirective }],
2277
2268
  }]
2278
2269
  }] });
2279
2270
 
@@ -2322,13 +2313,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2322
2313
 
2323
2314
  class CheckboxGroupComponent {
2324
2315
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2325
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxGroupComponent, isStandalone: true, selector: "et-checkbox-group", host: { classAttribute: "et-form-group et-checkbox-group" }, providers: [DestroyService], hostDirectives: [{ directive: CheckboxGroupDirective }, { directive: StaticFormGroupDirective }], ngImport: i0, template: ` <ng-content select="et-checkbox-field" /> `, isInline: true, styles: [":where(.et-checkbox-group){display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2316
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: CheckboxGroupComponent, isStandalone: true, selector: "et-checkbox-group", host: { classAttribute: "et-form-group et-checkbox-group" }, hostDirectives: [{ directive: CheckboxGroupDirective }, { directive: StaticFormGroupDirective }], ngImport: i0, template: ` <ng-content select="et-checkbox-field" /> `, isInline: true, styles: [":where(.et-checkbox-group){display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2326
2317
  }
2327
2318
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
2328
2319
  type: Component,
2329
2320
  args: [{ selector: 'et-checkbox-group', template: ` <ng-content select="et-checkbox-field" /> `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2330
2321
  class: 'et-form-group et-checkbox-group',
2331
- }, providers: [DestroyService], hostDirectives: [CheckboxGroupDirective, StaticFormGroupDirective], styles: [":where(.et-checkbox-group){display:block}\n"] }]
2322
+ }, hostDirectives: [CheckboxGroupDirective, StaticFormGroupDirective], styles: [":where(.et-checkbox-group){display:block}\n"] }]
2332
2323
  }] });
2333
2324
 
2334
2325
  class DecoratedFormFieldBase {
@@ -2370,7 +2361,7 @@ class DecoratedInputBase extends InputBase {
2370
2361
  constructor() {
2371
2362
  super(...arguments);
2372
2363
  this._formFieldStateService = inject(FormFieldStateService);
2373
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2364
+ this._destroy$ = createDestroy();
2374
2365
  this._bindings = createReactiveBindings({
2375
2366
  attribute: 'class.et-input--has-prefix',
2376
2367
  observable: this._formFieldStateService.hasPrefix$,
@@ -2430,7 +2421,7 @@ class AutosizeTextareaDirective {
2430
2421
  constructor() {
2431
2422
  this._input = inject(INPUT_TOKEN, { host: true });
2432
2423
  this._resizeObserver = inject(ResizeObserverService);
2433
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2424
+ this._destroy$ = createDestroy();
2434
2425
  }
2435
2426
  get element() {
2436
2427
  if (!this._input.nativeInputRef?.element) {
@@ -2459,7 +2450,7 @@ class AutosizeTextareaDirective {
2459
2450
  this.element.style.height = `${this.element.scrollHeight}px`;
2460
2451
  }
2461
2452
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AutosizeTextareaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2462
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AutosizeTextareaDirective, isStandalone: true, selector: "et-textarea-input[etAutosize]", host: { classAttribute: "et-textarea--autosize" }, providers: [DestroyService], ngImport: i0 }); }
2453
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: AutosizeTextareaDirective, isStandalone: true, selector: "et-textarea-input[etAutosize]", host: { classAttribute: "et-textarea--autosize" }, ngImport: i0 }); }
2463
2454
  }
2464
2455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AutosizeTextareaDirective, decorators: [{
2465
2456
  type: Directive,
@@ -2469,14 +2460,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
2469
2460
  host: {
2470
2461
  class: 'et-textarea--autosize',
2471
2462
  },
2472
- providers: [DestroyService],
2473
2463
  }]
2474
2464
  }] });
2475
2465
 
2476
2466
  const EMAIL_INPUT_TOKEN = new InjectionToken('ET_EMAIL_INPUT_DIRECTIVE_TOKEN');
2477
2467
  class EmailInputDirective {
2478
2468
  constructor() {
2479
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2469
+ this._destroy$ = createDestroy();
2480
2470
  this.input = inject(INPUT_TOKEN);
2481
2471
  }
2482
2472
  ngOnInit() {
@@ -2507,21 +2497,21 @@ class EmailInputDirective {
2507
2497
  this.input._setShouldDisplayError(true);
2508
2498
  }
2509
2499
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EmailInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2510
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: EmailInputDirective, isStandalone: true, providers: [{ provide: EMAIL_INPUT_TOKEN, useExisting: EmailInputDirective }, DestroyService], exportAs: ["etEmailInput"], ngImport: i0 }); }
2500
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: EmailInputDirective, isStandalone: true, providers: [{ provide: EMAIL_INPUT_TOKEN, useExisting: EmailInputDirective }], exportAs: ["etEmailInput"], ngImport: i0 }); }
2511
2501
  }
2512
2502
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EmailInputDirective, decorators: [{
2513
2503
  type: Directive,
2514
2504
  args: [{
2515
2505
  standalone: true,
2516
2506
  exportAs: 'etEmailInput',
2517
- providers: [{ provide: EMAIL_INPUT_TOKEN, useExisting: EmailInputDirective }, DestroyService],
2507
+ providers: [{ provide: EMAIL_INPUT_TOKEN, useExisting: EmailInputDirective }],
2518
2508
  }]
2519
2509
  }] });
2520
2510
 
2521
2511
  const NUMBER_INPUT_TOKEN = new InjectionToken('ET_NUMBER_INPUT_DIRECTIVE_TOKEN');
2522
2512
  class NumberInputDirective {
2523
2513
  constructor() {
2524
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2514
+ this._destroy$ = createDestroy();
2525
2515
  this.input = inject(INPUT_TOKEN);
2526
2516
  }
2527
2517
  ngOnInit() {
@@ -2553,21 +2543,21 @@ class NumberInputDirective {
2553
2543
  this.input._setShouldDisplayError(true);
2554
2544
  }
2555
2545
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NumberInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2556
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NumberInputDirective, isStandalone: true, providers: [{ provide: NUMBER_INPUT_TOKEN, useExisting: NumberInputDirective }, DestroyService], exportAs: ["etNumberInput"], ngImport: i0 }); }
2546
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NumberInputDirective, isStandalone: true, providers: [{ provide: NUMBER_INPUT_TOKEN, useExisting: NumberInputDirective }], exportAs: ["etNumberInput"], ngImport: i0 }); }
2557
2547
  }
2558
2548
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NumberInputDirective, decorators: [{
2559
2549
  type: Directive,
2560
2550
  args: [{
2561
2551
  standalone: true,
2562
2552
  exportAs: 'etNumberInput',
2563
- providers: [{ provide: NUMBER_INPUT_TOKEN, useExisting: NumberInputDirective }, DestroyService],
2553
+ providers: [{ provide: NUMBER_INPUT_TOKEN, useExisting: NumberInputDirective }],
2564
2554
  }]
2565
2555
  }] });
2566
2556
 
2567
2557
  const PASSWORD_INPUT_TOKEN = new InjectionToken('ET_PASSWORD_INPUT_DIRECTIVE_TOKEN');
2568
2558
  class PasswordInputDirective {
2569
2559
  constructor() {
2570
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2560
+ this._destroy$ = createDestroy();
2571
2561
  this.input = inject(INPUT_TOKEN);
2572
2562
  this.showPassword$ = new BehaviorSubject(false);
2573
2563
  }
@@ -2602,21 +2592,21 @@ class PasswordInputDirective {
2602
2592
  this.showPassword$.next(!this.showPassword$.value);
2603
2593
  }
2604
2594
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PasswordInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2605
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: PasswordInputDirective, isStandalone: true, providers: [{ provide: PASSWORD_INPUT_TOKEN, useExisting: PasswordInputDirective }, DestroyService], exportAs: ["etPasswordInput"], ngImport: i0 }); }
2595
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: PasswordInputDirective, isStandalone: true, providers: [{ provide: PASSWORD_INPUT_TOKEN, useExisting: PasswordInputDirective }], exportAs: ["etPasswordInput"], ngImport: i0 }); }
2606
2596
  }
2607
2597
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PasswordInputDirective, decorators: [{
2608
2598
  type: Directive,
2609
2599
  args: [{
2610
2600
  standalone: true,
2611
2601
  exportAs: 'etPasswordInput',
2612
- providers: [{ provide: PASSWORD_INPUT_TOKEN, useExisting: PasswordInputDirective }, DestroyService],
2602
+ providers: [{ provide: PASSWORD_INPUT_TOKEN, useExisting: PasswordInputDirective }],
2613
2603
  }]
2614
2604
  }] });
2615
2605
 
2616
2606
  const SEARCH_INPUT_TOKEN = new InjectionToken('ET_SEARCH_INPUT_DIRECTIVE_TOKEN');
2617
2607
  class SearchInputDirective {
2618
2608
  constructor() {
2619
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2609
+ this._destroy$ = createDestroy();
2620
2610
  this.input = inject(INPUT_TOKEN);
2621
2611
  }
2622
2612
  ngOnInit() {
@@ -2651,21 +2641,21 @@ class SearchInputDirective {
2651
2641
  this._controlTouched();
2652
2642
  }
2653
2643
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2654
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SearchInputDirective, isStandalone: true, providers: [{ provide: SEARCH_INPUT_TOKEN, useExisting: SearchInputDirective }, DestroyService], exportAs: ["etSearchInput"], ngImport: i0 }); }
2644
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SearchInputDirective, isStandalone: true, providers: [{ provide: SEARCH_INPUT_TOKEN, useExisting: SearchInputDirective }], exportAs: ["etSearchInput"], ngImport: i0 }); }
2655
2645
  }
2656
2646
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInputDirective, decorators: [{
2657
2647
  type: Directive,
2658
2648
  args: [{
2659
2649
  standalone: true,
2660
2650
  exportAs: 'etSearchInput',
2661
- providers: [{ provide: SEARCH_INPUT_TOKEN, useExisting: SearchInputDirective }, DestroyService],
2651
+ providers: [{ provide: SEARCH_INPUT_TOKEN, useExisting: SearchInputDirective }],
2662
2652
  }]
2663
2653
  }] });
2664
2654
 
2665
2655
  const TEXT_INPUT_TOKEN = new InjectionToken('ET_TEXT_INPUT_DIRECTIVE_TOKEN');
2666
2656
  class TextInputDirective {
2667
2657
  constructor() {
2668
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2658
+ this._destroy$ = createDestroy();
2669
2659
  this.input = inject(INPUT_TOKEN);
2670
2660
  }
2671
2661
  ngOnInit() {
@@ -2696,21 +2686,21 @@ class TextInputDirective {
2696
2686
  this.input._setShouldDisplayError(true);
2697
2687
  }
2698
2688
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2699
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: TextInputDirective, isStandalone: true, providers: [{ provide: TEXT_INPUT_TOKEN, useExisting: TextInputDirective }, DestroyService], exportAs: ["etTextInput"], ngImport: i0 }); }
2689
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: TextInputDirective, isStandalone: true, providers: [{ provide: TEXT_INPUT_TOKEN, useExisting: TextInputDirective }], exportAs: ["etTextInput"], ngImport: i0 }); }
2700
2690
  }
2701
2691
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextInputDirective, decorators: [{
2702
2692
  type: Directive,
2703
2693
  args: [{
2704
2694
  standalone: true,
2705
2695
  exportAs: 'etTextInput',
2706
- providers: [{ provide: TEXT_INPUT_TOKEN, useExisting: TextInputDirective }, DestroyService],
2696
+ providers: [{ provide: TEXT_INPUT_TOKEN, useExisting: TextInputDirective }],
2707
2697
  }]
2708
2698
  }] });
2709
2699
 
2710
2700
  const TEXTAREA_INPUT_TOKEN = new InjectionToken('ET_TEXTAREA_INPUT_DIRECTIVE_TOKEN');
2711
2701
  class TextareaInputDirective {
2712
2702
  constructor() {
2713
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
2703
+ this._destroy$ = createDestroy();
2714
2704
  this.input = inject(INPUT_TOKEN);
2715
2705
  }
2716
2706
  ngOnInit() {
@@ -2741,14 +2731,14 @@ class TextareaInputDirective {
2741
2731
  this.input._setShouldDisplayError(true);
2742
2732
  }
2743
2733
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextareaInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2744
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: TextareaInputDirective, isStandalone: true, providers: [{ provide: TEXTAREA_INPUT_TOKEN, useExisting: TextareaInputDirective }, DestroyService], exportAs: ["etTextareaInput"], ngImport: i0 }); }
2734
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: TextareaInputDirective, isStandalone: true, providers: [{ provide: TEXTAREA_INPUT_TOKEN, useExisting: TextareaInputDirective }], exportAs: ["etTextareaInput"], ngImport: i0 }); }
2745
2735
  }
2746
2736
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextareaInputDirective, decorators: [{
2747
2737
  type: Directive,
2748
2738
  args: [{
2749
2739
  standalone: true,
2750
2740
  exportAs: 'etTextareaInput',
2751
- providers: [{ provide: TEXTAREA_INPUT_TOKEN, useExisting: TextareaInputDirective }, DestroyService],
2741
+ providers: [{ provide: TEXTAREA_INPUT_TOKEN, useExisting: TextareaInputDirective }],
2752
2742
  }]
2753
2743
  }] });
2754
2744
 
@@ -2758,13 +2748,13 @@ class EmailInputComponent extends DecoratedInputBase {
2758
2748
  this.emailInput = inject(EMAIL_INPUT_TOKEN);
2759
2749
  }
2760
2750
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EmailInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2761
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: EmailInputComponent, isStandalone: true, selector: "et-email-input", host: { classAttribute: "et-email-input" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: EmailInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"emailInput._onInputInteraction($event)\"\n (blur)=\"emailInput._controlTouched()\"\n class=\"et-input-native-control et-email-input-native-control\"\n type=\"email\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2751
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: EmailInputComponent, isStandalone: true, selector: "et-email-input", host: { classAttribute: "et-email-input" }, usesInheritance: true, hostDirectives: [{ directive: EmailInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"emailInput._onInputInteraction($event)\"\n (blur)=\"emailInput._controlTouched()\"\n class=\"et-input-native-control et-email-input-native-control\"\n type=\"email\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2762
2752
  }
2763
2753
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: EmailInputComponent, decorators: [{
2764
2754
  type: Component,
2765
2755
  args: [{ selector: 'et-email-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2766
2756
  class: 'et-email-input',
2767
- }, providers: [DestroyService], imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [EmailInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"emailInput._onInputInteraction($event)\"\n (blur)=\"emailInput._controlTouched()\"\n class=\"et-input-native-control et-email-input-native-control\"\n type=\"email\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2757
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [EmailInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"emailInput._onInputInteraction($event)\"\n (blur)=\"emailInput._controlTouched()\"\n class=\"et-input-native-control et-email-input-native-control\"\n type=\"email\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2768
2758
  }] });
2769
2759
 
2770
2760
  class InputFieldComponent extends DecoratedFormFieldBase {
@@ -2820,13 +2810,13 @@ class NumberInputComponent extends DecoratedInputBase {
2820
2810
  this.numberInput = inject(NUMBER_INPUT_TOKEN);
2821
2811
  }
2822
2812
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NumberInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2823
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NumberInputComponent, isStandalone: true, selector: "et-number-input", host: { classAttribute: "et-number-input" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: NumberInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"numberInput._onInputInteraction($event)\"\n (blur)=\"numberInput._controlTouched()\"\n class=\"et-input-native-control et-number-input-native-control\"\n type=\"number\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2813
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NumberInputComponent, isStandalone: true, selector: "et-number-input", host: { classAttribute: "et-number-input" }, usesInheritance: true, hostDirectives: [{ directive: NumberInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"numberInput._onInputInteraction($event)\"\n (blur)=\"numberInput._controlTouched()\"\n class=\"et-input-native-control et-number-input-native-control\"\n type=\"number\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2824
2814
  }
2825
2815
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NumberInputComponent, decorators: [{
2826
2816
  type: Component,
2827
2817
  args: [{ selector: 'et-number-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2828
2818
  class: 'et-number-input',
2829
- }, providers: [DestroyService], imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [NumberInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"numberInput._onInputInteraction($event)\"\n (blur)=\"numberInput._controlTouched()\"\n class=\"et-input-native-control et-number-input-native-control\"\n type=\"number\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2819
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [NumberInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"numberInput._onInputInteraction($event)\"\n (blur)=\"numberInput._controlTouched()\"\n class=\"et-input-native-control et-number-input-native-control\"\n type=\"number\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2830
2820
  }] });
2831
2821
 
2832
2822
  class PasswordInputComponent extends DecoratedInputBase {
@@ -2835,13 +2825,13 @@ class PasswordInputComponent extends DecoratedInputBase {
2835
2825
  this.passwordInput = inject(PASSWORD_INPUT_TOKEN);
2836
2826
  }
2837
2827
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PasswordInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2838
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: PasswordInputComponent, isStandalone: true, selector: "et-password-input", host: { classAttribute: "et-password-input" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: PasswordInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.type]=\"(passwordInput.showPassword$ | async) ? 'text' : 'password'\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"passwordInput._onInputInteraction($event)\"\n (blur)=\"passwordInput._controlTouched()\"\n class=\"et-input-native-control et-password-input-native-control\"\n etNativeInputRef\n spellcheck=\"false\"\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2828
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: PasswordInputComponent, isStandalone: true, selector: "et-password-input", host: { classAttribute: "et-password-input" }, usesInheritance: true, hostDirectives: [{ directive: PasswordInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.type]=\"(passwordInput.showPassword$ | async) ? 'text' : 'password'\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"passwordInput._onInputInteraction($event)\"\n (blur)=\"passwordInput._controlTouched()\"\n class=\"et-input-native-control et-password-input-native-control\"\n etNativeInputRef\n spellcheck=\"false\"\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2839
2829
  }
2840
2830
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: PasswordInputComponent, decorators: [{
2841
2831
  type: Component,
2842
2832
  args: [{ selector: 'et-password-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2843
2833
  class: 'et-password-input',
2844
- }, providers: [DestroyService], imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [PasswordInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.type]=\"(passwordInput.showPassword$ | async) ? 'text' : 'password'\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"passwordInput._onInputInteraction($event)\"\n (blur)=\"passwordInput._controlTouched()\"\n class=\"et-input-native-control et-password-input-native-control\"\n etNativeInputRef\n spellcheck=\"false\"\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2834
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [PasswordInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.type]=\"(passwordInput.showPassword$ | async) ? 'text' : 'password'\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"passwordInput._onInputInteraction($event)\"\n (blur)=\"passwordInput._controlTouched()\"\n class=\"et-input-native-control et-password-input-native-control\"\n etNativeInputRef\n spellcheck=\"false\"\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2845
2835
  }] });
2846
2836
 
2847
2837
  class SearchInputComponent extends DecoratedInputBase {
@@ -2850,13 +2840,13 @@ class SearchInputComponent extends DecoratedInputBase {
2850
2840
  this.searchInput = inject(SEARCH_INPUT_TOKEN);
2851
2841
  }
2852
2842
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2853
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SearchInputComponent, isStandalone: true, selector: "et-search-input", host: { classAttribute: "et-search-input" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: SearchInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"searchInput._onInputInteraction($event)\"\n (blur)=\"searchInput._controlTouched()\"\n (keyup.escape)=\"searchInput._clear()\"\n class=\"et-input-native-control et-search-input-native-control\"\n type=\"search\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [".et-search-input input[type=search]::-webkit-search-cancel-button,.et-search-input input[type=search]::-webkit-search-decoration{-webkit-appearance:none}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2843
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SearchInputComponent, isStandalone: true, selector: "et-search-input", host: { classAttribute: "et-search-input" }, usesInheritance: true, hostDirectives: [{ directive: SearchInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"searchInput._onInputInteraction($event)\"\n (blur)=\"searchInput._controlTouched()\"\n (keyup.escape)=\"searchInput._clear()\"\n class=\"et-input-native-control et-search-input-native-control\"\n type=\"search\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [".et-search-input input[type=search]::-webkit-search-cancel-button,.et-search-input input[type=search]::-webkit-search-decoration{-webkit-appearance:none}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2854
2844
  }
2855
2845
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SearchInputComponent, decorators: [{
2856
2846
  type: Component,
2857
2847
  args: [{ selector: 'et-search-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2858
2848
  class: 'et-search-input',
2859
- }, providers: [DestroyService], imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [SearchInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"searchInput._onInputInteraction($event)\"\n (blur)=\"searchInput._controlTouched()\"\n (keyup.escape)=\"searchInput._clear()\"\n class=\"et-input-native-control et-search-input-native-control\"\n type=\"search\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [".et-search-input input[type=search]::-webkit-search-cancel-button,.et-search-input input[type=search]::-webkit-search-decoration{-webkit-appearance:none}\n"] }]
2849
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [SearchInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"searchInput._onInputInteraction($event)\"\n (blur)=\"searchInput._controlTouched()\"\n (keyup.escape)=\"searchInput._clear()\"\n class=\"et-input-native-control et-search-input-native-control\"\n type=\"search\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [".et-search-input input[type=search]::-webkit-search-cancel-button,.et-search-input input[type=search]::-webkit-search-decoration{-webkit-appearance:none}\n"] }]
2860
2850
  }] });
2861
2851
 
2862
2852
  class TextInputComponent extends DecoratedInputBase {
@@ -2865,13 +2855,13 @@ class TextInputComponent extends DecoratedInputBase {
2865
2855
  this.textInput = inject(TEXT_INPUT_TOKEN);
2866
2856
  }
2867
2857
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2868
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: TextInputComponent, isStandalone: true, selector: "et-text-input", host: { classAttribute: "et-text-input" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: TextInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"textInput._onInputInteraction($event)\"\n (blur)=\"textInput._controlTouched()\"\n class=\"et-input-native-control et-text-input-native-control\"\n type=\"text\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2858
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: TextInputComponent, isStandalone: true, selector: "et-text-input", host: { classAttribute: "et-text-input" }, usesInheritance: true, hostDirectives: [{ directive: TextInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"textInput._onInputInteraction($event)\"\n (blur)=\"textInput._controlTouched()\"\n class=\"et-input-native-control et-text-input-native-control\"\n type=\"text\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2869
2859
  }
2870
2860
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextInputComponent, decorators: [{
2871
2861
  type: Component,
2872
2862
  args: [{ selector: 'et-text-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2873
2863
  class: 'et-text-input',
2874
- }, providers: [DestroyService], imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [TextInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"textInput._onInputInteraction($event)\"\n (blur)=\"textInput._controlTouched()\"\n class=\"et-input-native-control et-text-input-native-control\"\n type=\"text\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2864
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [TextInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"textInput._onInputInteraction($event)\"\n (blur)=\"textInput._controlTouched()\"\n class=\"et-input-native-control et-text-input-native-control\"\n type=\"text\"\n etNativeInputRef\n/>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
2875
2865
  }] });
2876
2866
 
2877
2867
  class TextareaInputComponent extends DecoratedInputBase {
@@ -2894,13 +2884,13 @@ class TextareaInputComponent extends DecoratedInputBase {
2894
2884
  this._rows = coerceNumberProperty(value);
2895
2885
  }
2896
2886
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextareaInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2897
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: TextareaInputComponent, isStandalone: true, selector: "et-textarea-input", inputs: { cols: "cols", rows: "rows" }, host: { classAttribute: "et-textarea-input" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: TextareaInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<textarea\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [cols]=\"cols\"\n [rows]=\"rows\"\n (input)=\"textareaInput._onInputInteraction($event)\"\n (blur)=\"textareaInput._controlTouched()\"\n class=\"et-input-native-control et-textarea-input-native-control\"\n etNativeInputRef\n></textarea>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2887
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: TextareaInputComponent, isStandalone: true, selector: "et-textarea-input", inputs: { cols: "cols", rows: "rows" }, host: { classAttribute: "et-textarea-input" }, usesInheritance: true, hostDirectives: [{ directive: TextareaInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete", "placeholder", "placeholder"] }], ngImport: i0, template: "<textarea\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [cols]=\"cols\"\n [rows]=\"rows\"\n (input)=\"textareaInput._onInputInteraction($event)\"\n (blur)=\"textareaInput._controlTouched()\"\n class=\"et-input-native-control et-textarea-input-native-control\"\n etNativeInputRef\n></textarea>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2898
2888
  }
2899
2889
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TextareaInputComponent, decorators: [{
2900
2890
  type: Component,
2901
2891
  args: [{ selector: 'et-textarea-input', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
2902
2892
  class: 'et-textarea-input',
2903
- }, providers: [DestroyService], imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [TextareaInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<textarea\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [cols]=\"cols\"\n [rows]=\"rows\"\n (input)=\"textareaInput._onInputInteraction($event)\"\n (blur)=\"textareaInput._controlTouched()\"\n class=\"et-input-native-control et-textarea-input-native-control\"\n etNativeInputRef\n></textarea>\n" }]
2893
+ }, imports: [AsyncPipe, NativeInputRefDirective], hostDirectives: [TextareaInputDirective, { directive: InputDirective, inputs: ['autocomplete', 'placeholder'] }], template: "<textarea\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [cols]=\"cols\"\n [rows]=\"rows\"\n (input)=\"textareaInput._onInputInteraction($event)\"\n (blur)=\"textareaInput._controlTouched()\"\n class=\"et-input-native-control et-textarea-input-native-control\"\n etNativeInputRef\n></textarea>\n" }]
2904
2894
  }], propDecorators: { cols: [{
2905
2895
  type: Input
2906
2896
  }], rows: [{
@@ -3000,13 +2990,13 @@ class RadioDirective {
3000
2990
  this.input._setShouldDisplayError(true);
3001
2991
  }
3002
2992
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3003
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: RadioDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, providers: [{ provide: RADIO_TOKEN, useExisting: RadioDirective }, DestroyService], exportAs: ["etRadio"], ngImport: i0 }); }
2993
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: RadioDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, providers: [{ provide: RADIO_TOKEN, useExisting: RadioDirective }], exportAs: ["etRadio"], ngImport: i0 }); }
3004
2994
  }
3005
2995
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RadioDirective, decorators: [{
3006
2996
  type: Directive,
3007
2997
  args: [{
3008
2998
  standalone: true,
3009
- providers: [{ provide: RADIO_TOKEN, useExisting: RadioDirective }, DestroyService],
2999
+ providers: [{ provide: RADIO_TOKEN, useExisting: RadioDirective }],
3010
3000
  exportAs: 'etRadio',
3011
3001
  }]
3012
3002
  }], propDecorators: { value: [{
@@ -3035,13 +3025,13 @@ class RadioFieldDirective {
3035
3025
  });
3036
3026
  }
3037
3027
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RadioFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3038
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: RadioFieldDirective, isStandalone: true, providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }, DestroyService], queries: [{ propertyName: "_radio", predicate: i0.forwardRef(function () { return RADIO_TOKEN; }), descendants: true }], exportAs: ["etRadioField"], ngImport: i0 }); }
3028
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: RadioFieldDirective, isStandalone: true, providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }], queries: [{ propertyName: "_radio", predicate: i0.forwardRef(function () { return RADIO_TOKEN; }), descendants: true }], exportAs: ["etRadioField"], ngImport: i0 }); }
3039
3029
  }
3040
3030
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RadioFieldDirective, decorators: [{
3041
3031
  type: Directive,
3042
3032
  args: [{
3043
3033
  standalone: true,
3044
- providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }, DestroyService],
3034
+ providers: [{ provide: RADIO_FIELD_TOKEN, useExisting: RadioFieldDirective }],
3045
3035
  exportAs: 'etRadioField',
3046
3036
  }]
3047
3037
  }], propDecorators: { _radio: [{
@@ -3066,13 +3056,13 @@ class RadioGroupDirective {
3066
3056
  });
3067
3057
  }
3068
3058
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3069
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: RadioGroupDirective, isStandalone: true, host: { attributes: { "role": "radiogroup" } }, providers: [{ provide: RADIO_GROUP_TOKEN, useExisting: RadioGroupDirective }, DestroyService], exportAs: ["etRadioGroup"], ngImport: i0 }); }
3059
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: RadioGroupDirective, isStandalone: true, host: { attributes: { "role": "radiogroup" } }, providers: [{ provide: RADIO_GROUP_TOKEN, useExisting: RadioGroupDirective }], exportAs: ["etRadioGroup"], ngImport: i0 }); }
3070
3060
  }
3071
3061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RadioGroupDirective, decorators: [{
3072
3062
  type: Directive,
3073
3063
  args: [{
3074
3064
  standalone: true,
3075
- providers: [{ provide: RADIO_GROUP_TOKEN, useExisting: RadioGroupDirective }, DestroyService],
3065
+ providers: [{ provide: RADIO_GROUP_TOKEN, useExisting: RadioGroupDirective }],
3076
3066
  exportAs: 'etRadioGroup',
3077
3067
  host: {
3078
3068
  role: 'radiogroup',
@@ -3214,13 +3204,13 @@ class SegmentedButtonDirective {
3214
3204
  this.input._setShouldDisplayError(true);
3215
3205
  }
3216
3206
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SegmentedButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3217
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SegmentedButtonDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, providers: [{ provide: SEGMENTED_BUTTON_TOKEN, useExisting: SegmentedButtonDirective }, DestroyService], exportAs: ["etSegmentedButton"], ngImport: i0 }); }
3207
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SegmentedButtonDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, providers: [{ provide: SEGMENTED_BUTTON_TOKEN, useExisting: SegmentedButtonDirective }], exportAs: ["etSegmentedButton"], ngImport: i0 }); }
3218
3208
  }
3219
3209
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SegmentedButtonDirective, decorators: [{
3220
3210
  type: Directive,
3221
3211
  args: [{
3222
3212
  standalone: true,
3223
- providers: [{ provide: SEGMENTED_BUTTON_TOKEN, useExisting: SegmentedButtonDirective }, DestroyService],
3213
+ providers: [{ provide: SEGMENTED_BUTTON_TOKEN, useExisting: SegmentedButtonDirective }],
3224
3214
  exportAs: 'etSegmentedButton',
3225
3215
  }]
3226
3216
  }], propDecorators: { value: [{
@@ -3249,13 +3239,13 @@ class SegmentedButtonFieldDirective {
3249
3239
  });
3250
3240
  }
3251
3241
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SegmentedButtonFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3252
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SegmentedButtonFieldDirective, isStandalone: true, providers: [{ provide: SEGMENTED_BUTTON_FIELD_TOKEN, useExisting: SegmentedButtonFieldDirective }, DestroyService], queries: [{ propertyName: "_segmentedButton", predicate: i0.forwardRef(function () { return SEGMENTED_BUTTON_TOKEN; }), descendants: true }], exportAs: ["etSegmentedButtonField"], ngImport: i0 }); }
3242
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SegmentedButtonFieldDirective, isStandalone: true, providers: [{ provide: SEGMENTED_BUTTON_FIELD_TOKEN, useExisting: SegmentedButtonFieldDirective }], queries: [{ propertyName: "_segmentedButton", predicate: i0.forwardRef(function () { return SEGMENTED_BUTTON_TOKEN; }), descendants: true }], exportAs: ["etSegmentedButtonField"], ngImport: i0 }); }
3253
3243
  }
3254
3244
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SegmentedButtonFieldDirective, decorators: [{
3255
3245
  type: Directive,
3256
3246
  args: [{
3257
3247
  standalone: true,
3258
- providers: [{ provide: SEGMENTED_BUTTON_FIELD_TOKEN, useExisting: SegmentedButtonFieldDirective }, DestroyService],
3248
+ providers: [{ provide: SEGMENTED_BUTTON_FIELD_TOKEN, useExisting: SegmentedButtonFieldDirective }],
3259
3249
  exportAs: 'etSegmentedButtonField',
3260
3250
  }]
3261
3251
  }], propDecorators: { _segmentedButton: [{
@@ -3269,7 +3259,7 @@ class SegmentedButtonGroupDirective {
3269
3259
  constructor() {
3270
3260
  this._formGroupStateService = inject(FormGroupStateService);
3271
3261
  this._inputStateService = inject(InputStateService);
3272
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
3262
+ this._destroy$ = createDestroy();
3273
3263
  this.name = `et-segmented-button-group-${++nextUniqueId$3}`;
3274
3264
  this._bindings = createReactiveBindings({
3275
3265
  attribute: 'aria-labelledby',
@@ -3308,13 +3298,13 @@ class SegmentedButtonGroupDirective {
3308
3298
  .subscribe();
3309
3299
  }
3310
3300
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SegmentedButtonGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3311
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SegmentedButtonGroupDirective, isStandalone: true, host: { attributes: { "role": "group" } }, providers: [{ provide: SEGMENTED_BUTTON_GROUP_TOKEN, useExisting: SegmentedButtonGroupDirective }, DestroyService], queries: [{ propertyName: "_segmentedButtons", predicate: i0.forwardRef(function () { return SEGMENTED_BUTTON_TOKEN; }), descendants: true }], exportAs: ["etSegmentedButtonGroup"], ngImport: i0 }); }
3301
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: SegmentedButtonGroupDirective, isStandalone: true, host: { attributes: { "role": "group" } }, providers: [{ provide: SEGMENTED_BUTTON_GROUP_TOKEN, useExisting: SegmentedButtonGroupDirective }], queries: [{ propertyName: "_segmentedButtons", predicate: i0.forwardRef(function () { return SEGMENTED_BUTTON_TOKEN; }), descendants: true }], exportAs: ["etSegmentedButtonGroup"], ngImport: i0 }); }
3312
3302
  }
3313
3303
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SegmentedButtonGroupDirective, decorators: [{
3314
3304
  type: Directive,
3315
3305
  args: [{
3316
3306
  standalone: true,
3317
- providers: [{ provide: SEGMENTED_BUTTON_GROUP_TOKEN, useExisting: SegmentedButtonGroupDirective }, DestroyService],
3307
+ providers: [{ provide: SEGMENTED_BUTTON_GROUP_TOKEN, useExisting: SegmentedButtonGroupDirective }],
3318
3308
  exportAs: 'etSegmentedButtonGroup',
3319
3309
  host: {
3320
3310
  role: 'group',
@@ -3466,7 +3456,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
3466
3456
  const NATIVE_SELECT_INPUT_TOKEN = new InjectionToken('ET_NATIVE_SELECT_INPUT_DIRECTIVE_TOKEN');
3467
3457
  class NativeSelectInputDirective {
3468
3458
  constructor() {
3469
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
3459
+ this._destroy$ = createDestroy();
3470
3460
  this.input = inject(INPUT_TOKEN);
3471
3461
  this._trackByFn = (index, option) => option.key ?? option.value;
3472
3462
  }
@@ -3501,14 +3491,14 @@ class NativeSelectInputDirective {
3501
3491
  this.input._setShouldDisplayError(true);
3502
3492
  }
3503
3493
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NativeSelectInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3504
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NativeSelectInputDirective, isStandalone: true, providers: [{ provide: NATIVE_SELECT_INPUT_TOKEN, useExisting: NativeSelectInputDirective }, DestroyService], queries: [{ propertyName: "options", predicate: NATIVE_SELECT_OPTION_TOKEN, descendants: true }], exportAs: ["etNativeSelectInput"], ngImport: i0 }); }
3494
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: NativeSelectInputDirective, isStandalone: true, providers: [{ provide: NATIVE_SELECT_INPUT_TOKEN, useExisting: NativeSelectInputDirective }], queries: [{ propertyName: "options", predicate: NATIVE_SELECT_OPTION_TOKEN, descendants: true }], exportAs: ["etNativeSelectInput"], ngImport: i0 }); }
3505
3495
  }
3506
3496
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NativeSelectInputDirective, decorators: [{
3507
3497
  type: Directive,
3508
3498
  args: [{
3509
3499
  standalone: true,
3510
3500
  exportAs: 'etNativeSelectInput',
3511
- providers: [{ provide: NATIVE_SELECT_INPUT_TOKEN, useExisting: NativeSelectInputDirective }, DestroyService],
3501
+ providers: [{ provide: NATIVE_SELECT_INPUT_TOKEN, useExisting: NativeSelectInputDirective }],
3512
3502
  }]
3513
3503
  }], propDecorators: { options: [{
3514
3504
  type: ContentChildren,
@@ -3521,13 +3511,13 @@ class NativeSelectInputComponent extends DecoratedInputBase {
3521
3511
  this.select = inject(NATIVE_SELECT_INPUT_TOKEN);
3522
3512
  }
3523
3513
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NativeSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3524
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NativeSelectInputComponent, isStandalone: true, selector: "et-native-select", host: { classAttribute: "et-native-select" }, providers: [DestroyService], usesInheritance: true, hostDirectives: [{ directive: NativeSelectInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<ng-template>\n <ng-content select=\"et-native-select-option\" />\n</ng-template>\n\n<ng-content select=\"[etInputPrefix]\" />\n\n<select\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"select._onInputInteraction($event)\"\n (blur)=\"select._controlTouched()\"\n class=\"et-native-select-native-input\"\n etNativeInputRef\n>\n <option\n *ngFor=\"let option of select.options; trackBy: select._trackByFn\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.value === input.value ? '' : null\"\n [attr.hidden]=\"option.hidden ? '' : null\"\n class=\"et-native-select-native-option\"\n >\n <ng-container *ngTemplateOutlet=\"option.textTemplate$ | async\" />\n </option>\n</select>\n\n<ng-content select=\"[etInputSuffix]\" />\n", dependencies: [{ kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NativeSelectInputComponent, isStandalone: true, selector: "et-native-select", host: { classAttribute: "et-native-select" }, usesInheritance: true, hostDirectives: [{ directive: NativeSelectInputDirective }, { directive: InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<ng-template>\n <ng-content select=\"et-native-select-option\" />\n</ng-template>\n\n<ng-content select=\"[etInputPrefix]\" />\n\n<select\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"select._onInputInteraction($event)\"\n (blur)=\"select._controlTouched()\"\n class=\"et-native-select-native-input\"\n etNativeInputRef\n>\n <option\n *ngFor=\"let option of select.options; trackBy: select._trackByFn\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.value === input.value ? '' : null\"\n [attr.hidden]=\"option.hidden ? '' : null\"\n class=\"et-native-select-native-option\"\n >\n <ng-container *ngTemplateOutlet=\"option.textTemplate$ | async\" />\n </option>\n</select>\n\n<ng-content select=\"[etInputSuffix]\" />\n", dependencies: [{ kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3525
3515
  }
3526
3516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NativeSelectInputComponent, decorators: [{
3527
3517
  type: Component,
3528
3518
  args: [{ selector: 'et-native-select', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
3529
3519
  class: 'et-native-select',
3530
- }, providers: [DestroyService], imports: [NativeInputRefDirective, NgForOf, NgTemplateOutlet, AsyncPipe], hostDirectives: [NativeSelectInputDirective, { directive: InputDirective, inputs: ['autocomplete'] }], template: "<ng-template>\n <ng-content select=\"et-native-select-option\" />\n</ng-template>\n\n<ng-content select=\"[etInputPrefix]\" />\n\n<select\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"select._onInputInteraction($event)\"\n (blur)=\"select._controlTouched()\"\n class=\"et-native-select-native-input\"\n etNativeInputRef\n>\n <option\n *ngFor=\"let option of select.options; trackBy: select._trackByFn\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.value === input.value ? '' : null\"\n [attr.hidden]=\"option.hidden ? '' : null\"\n class=\"et-native-select-native-option\"\n >\n <ng-container *ngTemplateOutlet=\"option.textTemplate$ | async\" />\n </option>\n</select>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
3520
+ }, imports: [NativeInputRefDirective, NgForOf, NgTemplateOutlet, AsyncPipe], hostDirectives: [NativeSelectInputDirective, { directive: InputDirective, inputs: ['autocomplete'] }], template: "<ng-template>\n <ng-content select=\"et-native-select-option\" />\n</ng-template>\n\n<ng-content select=\"[etInputPrefix]\" />\n\n<select\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [required]=\"input.required$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n (input)=\"select._onInputInteraction($event)\"\n (blur)=\"select._controlTouched()\"\n class=\"et-native-select-native-input\"\n etNativeInputRef\n>\n <option\n *ngFor=\"let option of select.options; trackBy: select._trackByFn\"\n [value]=\"option.value\"\n [disabled]=\"option.disabled\"\n [attr.selected]=\"option.value === input.value ? '' : null\"\n [attr.hidden]=\"option.hidden ? '' : null\"\n class=\"et-native-select-native-option\"\n >\n <ng-container *ngTemplateOutlet=\"option.textTemplate$ | async\" />\n </option>\n</select>\n\n<ng-content select=\"[etInputSuffix]\" />\n" }]
3531
3521
  }] });
3532
3522
 
3533
3523
  class SelectFieldComponent extends DecoratedFormFieldBase {
@@ -3612,52 +3602,19 @@ const NativeSelectImports = [
3612
3602
  LabelComponent,
3613
3603
  ];
3614
3604
 
3615
- class SelectComponent extends DecoratedInputBase {
3616
- constructor() {
3617
- super(...arguments);
3618
- this._searchable$ = new BehaviorSubject(false);
3619
- this.selectBodyTpl = null;
3620
- }
3621
- get searchable() {
3622
- return this._searchable$.value;
3623
- }
3624
- set searchable(value) {
3625
- this._searchable$.next(coerceBooleanProperty(value));
3626
- }
3627
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3628
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SelectComponent, isStandalone: true, selector: "et-select", inputs: { searchable: "searchable" }, host: { classAttribute: "et-select" }, providers: [DestroyService], viewQueries: [{ propertyName: "selectBodyTpl", first: true, predicate: ["selectBodyTpl"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div></div>\n\n<div *ngIf=\"searchable; then searchInput; else noInput\" class=\"et-select-wrapper\"></div>\n<ng-template #searchInput>\n <input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n type=\"text\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n etNativeInputRef\n />\n</ng-template>\n<ng-template #noInput>\n <div\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n ></div>\n</ng-template>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template #selectBodyTpl>\n <ng-content />\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3629
- }
3630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectComponent, decorators: [{
3631
- type: Component,
3632
- args: [{ selector: 'et-select', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
3633
- class: 'et-select',
3634
- }, providers: [DestroyService], imports: [NgIf, NativeInputRefDirective, AsyncPipe], hostDirectives: [{ directive: InputDirective, inputs: ['autocomplete'] }], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div></div>\n\n<div *ngIf=\"searchable; then searchInput; else noInput\" class=\"et-select-wrapper\"></div>\n<ng-template #searchInput>\n <input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n type=\"text\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n etNativeInputRef\n />\n</ng-template>\n<ng-template #noInput>\n <div\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n ></div>\n</ng-template>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template #selectBodyTpl>\n <ng-content />\n</ng-template>\n" }]
3635
- }], propDecorators: { searchable: [{
3636
- type: Input
3637
- }], selectBodyTpl: [{
3638
- type: ViewChild,
3639
- args: ['selectBodyTpl']
3640
- }] } });
3641
-
3642
3605
  class SelectBodyComponent {
3643
3606
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3644
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SelectBodyComponent, isStandalone: true, selector: "et-select-body", host: { classAttribute: "et-select-body" }, ngImport: i0, template: ` <h1>body</h1> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3607
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SelectBodyComponent, isStandalone: true, selector: "et-select-body", host: { classAttribute: "et-select-body et-with-default-animation" }, viewQueries: [{ propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }], ngImport: i0, template: `<div class="et-select-body-container" etAnimatedLifecycle><h1>body</h1></div>`, isInline: true, styles: [".et-select-body.et-with-default-animation .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation .et-select-body-container.et-animation-leave-to{opacity:0}.et-select-body.et-with-default-animation .et-select-body-container.et-animation-enter-active{transition:transform .3s var(--ease-out-5),opacity .3s var(--ease-out-5)}.et-select-body.et-with-default-animation .et-select-body-container.et-animation-leave-active{transition:transform .15s var(--ease-in-5),opacity .15s var(--ease-in-5)}.et-select-body.et-with-default-animation[data-popper-placement^=top] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=top] .et-select-body-container.et-animation-leave-to{transform:translateY(5px)}.et-select-body.et-with-default-animation[data-popper-placement^=right] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=right] .et-select-body-container.et-animation-leave-to{transform:translate(-5px)}.et-select-body.et-with-default-animation[data-popper-placement^=bottom] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=bottom] .et-select-body-container.et-animation-leave-to{transform:translateY(-5px)}.et-select-body.et-with-default-animation[data-popper-placement^=left] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=left] .et-select-body-container.et-animation-leave-to{transform:translate(5px)}.et-select-body-container{display:block;background-color:#3d3d3d;color:#fff}.et-select-body-container h1{margin:0}\n"], dependencies: [{ kind: "directive", type: AnimatedLifecycleDirective, selector: "[etAnimatedLifecycle]", exportAs: ["etAnimatedLifecycle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3645
3608
  }
3646
3609
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectBodyComponent, decorators: [{
3647
3610
  type: Component,
3648
- args: [{
3649
- selector: 'et-select-body',
3650
- template: ` <h1>body</h1> `,
3651
- standalone: true,
3652
- changeDetection: ChangeDetectionStrategy.OnPush,
3653
- encapsulation: ViewEncapsulation.None,
3654
- host: {
3655
- class: 'et-select-body',
3656
- },
3657
- imports: [],
3658
- hostDirectives: [],
3659
- }]
3660
- }] });
3611
+ args: [{ selector: 'et-select-body', template: `<div class="et-select-body-container" etAnimatedLifecycle><h1>body</h1></div>`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
3612
+ class: 'et-select-body et-with-default-animation',
3613
+ }, imports: [AnimatedLifecycleDirective], hostDirectives: [], styles: [".et-select-body.et-with-default-animation .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation .et-select-body-container.et-animation-leave-to{opacity:0}.et-select-body.et-with-default-animation .et-select-body-container.et-animation-enter-active{transition:transform .3s var(--ease-out-5),opacity .3s var(--ease-out-5)}.et-select-body.et-with-default-animation .et-select-body-container.et-animation-leave-active{transition:transform .15s var(--ease-in-5),opacity .15s var(--ease-in-5)}.et-select-body.et-with-default-animation[data-popper-placement^=top] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=top] .et-select-body-container.et-animation-leave-to{transform:translateY(5px)}.et-select-body.et-with-default-animation[data-popper-placement^=right] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=right] .et-select-body-container.et-animation-leave-to{transform:translate(-5px)}.et-select-body.et-with-default-animation[data-popper-placement^=bottom] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=bottom] .et-select-body-container.et-animation-leave-to{transform:translateY(-5px)}.et-select-body.et-with-default-animation[data-popper-placement^=left] .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation[data-popper-placement^=left] .et-select-body-container.et-animation-leave-to{transform:translate(5px)}.et-select-body-container{display:block;background-color:#3d3d3d;color:#fff}.et-select-body-container h1{margin:0}\n"] }]
3614
+ }], propDecorators: { _animatedLifecycle: [{
3615
+ type: ViewChild,
3616
+ args: [ANIMATED_LIFECYCLE_TOKEN, { static: true }]
3617
+ }] } });
3661
3618
 
3662
3619
  class SelectOptionComponent {
3663
3620
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -3699,6 +3656,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
3699
3656
  }]
3700
3657
  }] });
3701
3658
 
3659
+ class SelectComponent extends DecoratedInputBase {
3660
+ get searchable() {
3661
+ return this._searchable$.value;
3662
+ }
3663
+ set searchable(value) {
3664
+ this._searchable$.next(coerceBooleanProperty(value));
3665
+ }
3666
+ constructor() {
3667
+ super();
3668
+ this._animatedOverlay = inject(AnimatedOverlayDirective);
3669
+ this._searchable$ = new BehaviorSubject(false);
3670
+ this.selectBodyTpl = null;
3671
+ this._animatedOverlay.placement = 'bottom';
3672
+ }
3673
+ mountOrUnmountSelectBody() {
3674
+ if (!this._animatedOverlay.isMounted) {
3675
+ this._animatedOverlay.mount({ component: SelectBodyComponent });
3676
+ }
3677
+ else {
3678
+ this._animatedOverlay.unmount();
3679
+ }
3680
+ }
3681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3682
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SelectComponent, isStandalone: true, selector: "et-select", inputs: { searchable: "searchable" }, host: { classAttribute: "et-select" }, viewQueries: [{ propertyName: "selectBodyTpl", first: true, predicate: ["selectBodyTpl"], descendants: true }], usesInheritance: true, hostDirectives: [{ directive: InputDirective, inputs: ["autocomplete", "autocomplete"] }, { directive: i2.AnimatedOverlayDirective }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div></div>\n\n<div *ngIf=\"searchable; then searchInput; else noInput\" class=\"et-select-wrapper\"></div>\n<ng-template #searchInput>\n <input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n type=\"text\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n etNativeInputRef\n />\n</ng-template>\n<ng-template #noInput>\n <div\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n ></div>\n</ng-template>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template #selectBodyTpl>\n <ng-content />\n</ng-template>\n\n<button (click)=\"mountOrUnmountSelectBody()\">Toggle</button>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3683
+ }
3684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SelectComponent, decorators: [{
3685
+ type: Component,
3686
+ args: [{ selector: 'et-select', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
3687
+ class: 'et-select',
3688
+ }, imports: [NgIf, NativeInputRefDirective, AsyncPipe], hostDirectives: [{ directive: InputDirective, inputs: ['autocomplete'] }, AnimatedOverlayDirective], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div></div>\n\n<div *ngIf=\"searchable; then searchInput; else noInput\" class=\"et-select-wrapper\"></div>\n<ng-template #searchInput>\n <input\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n type=\"text\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n etNativeInputRef\n />\n</ng-template>\n<ng-template #noInput>\n <div\n [attr.id]=\"input.id\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n role=\"combobox\"\n aria-controls=\"joketypes\"\n aria-autocomplete=\"list\"\n aria-expanded=\"false\"\n data-active-option=\"item1\"\n aria-activedescendant=\"\"\n aria-haspopup=\"listbox\"\n ></div>\n</ng-template>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template #selectBodyTpl>\n <ng-content />\n</ng-template>\n\n<button (click)=\"mountOrUnmountSelectBody()\">Toggle</button>\n" }]
3689
+ }], ctorParameters: function () { return []; }, propDecorators: { searchable: [{
3690
+ type: Input
3691
+ }], selectBodyTpl: [{
3692
+ type: ViewChild,
3693
+ args: ['selectBodyTpl']
3694
+ }] } });
3695
+
3702
3696
  const SelectImports = [
3703
3697
  SelectComponent,
3704
3698
  SelectOptionComponent,
@@ -3885,7 +3879,7 @@ class SliderComponent {
3885
3879
  this._elementRef = inject(ElementRef);
3886
3880
  this._dirService = inject(Directionality);
3887
3881
  this._document = inject(DOCUMENT);
3888
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
3882
+ this._destroy$ = createDestroy();
3889
3883
  this._mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown', { passive: false });
3890
3884
  this._touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart', {
3891
3885
  passive: false,
@@ -4156,7 +4150,7 @@ class SliderComponent {
4156
4150
  return this._sliderDimensions$;
4157
4151
  }
4158
4152
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SliderComponent, isStandalone: true, selector: "et-slider", inputs: { min: "min", max: "max", step: "step", vertical: "vertical", inverted: "inverted" }, host: { attributes: { "role": "slider" }, properties: { "id": "_input.id" }, classAttribute: "et-slider" }, providers: [DestroyService], hostDirectives: [{ directive: InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<div class=\"et-slider-track-container\">\n <div\n *ngIf=\"trackBackgroundStyles$ | async as trackBackgroundStyles\"\n [style.transform]=\"trackBackgroundStyles.transform\"\n class=\"et-slider-track-background\"\n ></div>\n <div\n *ngIf=\"trackFillStyles$ | async as trackFillStyles\"\n [style.transform]=\"trackFillStyles.transform\"\n [style.display]=\"trackFillStyles.display\"\n class=\"et-slider-track-fill\"\n ></div>\n</div>\n\n<div\n *ngIf=\"thumbContainerStyles$ | async as thumbContainerStyles\"\n [style.transform]=\"thumbContainerStyles.transform\"\n class=\"et-slider-thumb-container\"\n>\n <div class=\"et-slider-thumb\"></div>\n</div>\n", styles: [":where(.et-slider){--et-slider-track-block-size: 2px;--et-slider-track-border-radius: 0;--et-slider-inactive-track-color: #646464;--et-slider-active-track-color: #ffffff;--et-slider-block-size: 32px;--et-slider-min-inline-size: 112px;--et-slider-thumb-target-size: 32px;--et-slider-thumb-size: 12px;--et-slider-thumb-border-radius: 9999px;--et-slider-thumb-color: #ffffff;--et-slider-transition-duration: 80ms;outline:none}.et-slider{position:relative;display:block}.et-slider.et-slider--disable-animations{--et-slider-transition-duration: 0ms}.et-slider[aria-orientation=horizontal]{block-size:var(--et-slider-block-size);min-inline-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=horizontal] .et-slider-track-container{inset-block-start:calc(50% - var(--et-slider-track-block-size) / 2);inset-inline-start:0;block-size:var(--et-slider-track-block-size);inline-size:100%}.et-slider[aria-orientation=horizontal] .et-slider-track-fill{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:0 0}.et-slider[aria-orientation=horizontal] .et-slider-track-background{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=horizontal] .et-slider-thumb-container{inline-size:100%;block-size:0;inset-block-start:50%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:100% 100%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:0 0}.et-slider[aria-orientation=vertical]{inline-size:var(--et-slider-block-size);min-block-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=vertical] .et-slider-track-container{inset-block-start:0;inset-inline-start:calc(50% - var(--et-slider-track-block-size) / 2);block-size:100%;inline-size:var(--et-slider-track-block-size)}.et-slider[aria-orientation=vertical] .et-slider-track-fill{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=vertical] .et-slider-track-background{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:0 0}.et-slider[aria-orientation=vertical] .et-slider-thumb-container{inline-size:0;block-size:100%;inset-inline-start:50%}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:100% 100%}.et-slider .et-slider-track-container{position:absolute;overflow:hidden}.et-slider .et-slider-track-fill{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-active-track-color)}.et-slider .et-slider-track-background{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-inactive-track-color)}.et-slider .et-slider-thumb-container{position:absolute;z-index:1;transition:transform var(--et-slider-transition-duration)}.et-slider .et-slider-thumb{position:absolute;inset-inline-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inset-block-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inline-size:var(--et-slider-thumb-target-size);block-size:var(--et-slider-thumb-target-size);transition:transform var(--et-slider-transition-duration);display:flex;justify-content:center;align-items:center}.et-slider .et-slider-thumb:after{content:\"\";position:relative;inline-size:var(--et-slider-thumb-size);block-size:var(--et-slider-thumb-size);background-color:var(--et-slider-thumb-color);border-radius:var(--et-slider-thumb-border-radius);cursor:grab}.et-slider.et-slider--is-sliding .et-slider-thumb:after{cursor:grabbing}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SliderComponent, isStandalone: true, selector: "et-slider", inputs: { min: "min", max: "max", step: "step", vertical: "vertical", inverted: "inverted" }, host: { attributes: { "role": "slider" }, properties: { "id": "_input.id" }, classAttribute: "et-slider" }, hostDirectives: [{ directive: InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<div class=\"et-slider-track-container\">\n <div\n *ngIf=\"trackBackgroundStyles$ | async as trackBackgroundStyles\"\n [style.transform]=\"trackBackgroundStyles.transform\"\n class=\"et-slider-track-background\"\n ></div>\n <div\n *ngIf=\"trackFillStyles$ | async as trackFillStyles\"\n [style.transform]=\"trackFillStyles.transform\"\n [style.display]=\"trackFillStyles.display\"\n class=\"et-slider-track-fill\"\n ></div>\n</div>\n\n<div\n *ngIf=\"thumbContainerStyles$ | async as thumbContainerStyles\"\n [style.transform]=\"thumbContainerStyles.transform\"\n class=\"et-slider-thumb-container\"\n>\n <div class=\"et-slider-thumb\"></div>\n</div>\n", styles: [":where(.et-slider){--et-slider-track-block-size: 2px;--et-slider-track-border-radius: 0;--et-slider-inactive-track-color: #646464;--et-slider-active-track-color: #ffffff;--et-slider-block-size: 32px;--et-slider-min-inline-size: 112px;--et-slider-thumb-target-size: 32px;--et-slider-thumb-size: 12px;--et-slider-thumb-border-radius: 9999px;--et-slider-thumb-color: #ffffff;--et-slider-transition-duration: 80ms;outline:none}.et-slider{position:relative;display:block}.et-slider.et-slider--disable-animations{--et-slider-transition-duration: 0ms}.et-slider[aria-orientation=horizontal]{block-size:var(--et-slider-block-size);min-inline-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=horizontal] .et-slider-track-container{inset-block-start:calc(50% - var(--et-slider-track-block-size) / 2);inset-inline-start:0;block-size:var(--et-slider-track-block-size);inline-size:100%}.et-slider[aria-orientation=horizontal] .et-slider-track-fill{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:0 0}.et-slider[aria-orientation=horizontal] .et-slider-track-background{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=horizontal] .et-slider-thumb-container{inline-size:100%;block-size:0;inset-block-start:50%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:100% 100%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:0 0}.et-slider[aria-orientation=vertical]{inline-size:var(--et-slider-block-size);min-block-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=vertical] .et-slider-track-container{inset-block-start:0;inset-inline-start:calc(50% - var(--et-slider-track-block-size) / 2);block-size:100%;inline-size:var(--et-slider-track-block-size)}.et-slider[aria-orientation=vertical] .et-slider-track-fill{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=vertical] .et-slider-track-background{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:0 0}.et-slider[aria-orientation=vertical] .et-slider-thumb-container{inline-size:0;block-size:100%;inset-inline-start:50%}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:100% 100%}.et-slider .et-slider-track-container{position:absolute;overflow:hidden}.et-slider .et-slider-track-fill{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-active-track-color)}.et-slider .et-slider-track-background{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-inactive-track-color)}.et-slider .et-slider-thumb-container{position:absolute;z-index:1;transition:transform var(--et-slider-transition-duration)}.et-slider .et-slider-thumb{position:absolute;inset-inline-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inset-block-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inline-size:var(--et-slider-thumb-target-size);block-size:var(--et-slider-thumb-target-size);transition:transform var(--et-slider-transition-duration);display:flex;justify-content:center;align-items:center}.et-slider .et-slider-thumb:after{content:\"\";position:relative;inline-size:var(--et-slider-thumb-size);block-size:var(--et-slider-thumb-size);background-color:var(--et-slider-thumb-color);border-radius:var(--et-slider-thumb-border-radius);cursor:grab}.et-slider.et-slider--is-sliding .et-slider-thumb:after{cursor:grabbing}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4160
4154
  }
4161
4155
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SliderComponent, decorators: [{
4162
4156
  type: Component,
@@ -4164,7 +4158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
4164
4158
  class: 'et-slider',
4165
4159
  role: 'slider',
4166
4160
  '[id]': '_input.id',
4167
- }, providers: [DestroyService], imports: [LetDirective, AsyncPipe, NgIf], hostDirectives: [{ directive: InputDirective, inputs: ['autocomplete'] }], template: "<div class=\"et-slider-track-container\">\n <div\n *ngIf=\"trackBackgroundStyles$ | async as trackBackgroundStyles\"\n [style.transform]=\"trackBackgroundStyles.transform\"\n class=\"et-slider-track-background\"\n ></div>\n <div\n *ngIf=\"trackFillStyles$ | async as trackFillStyles\"\n [style.transform]=\"trackFillStyles.transform\"\n [style.display]=\"trackFillStyles.display\"\n class=\"et-slider-track-fill\"\n ></div>\n</div>\n\n<div\n *ngIf=\"thumbContainerStyles$ | async as thumbContainerStyles\"\n [style.transform]=\"thumbContainerStyles.transform\"\n class=\"et-slider-thumb-container\"\n>\n <div class=\"et-slider-thumb\"></div>\n</div>\n", styles: [":where(.et-slider){--et-slider-track-block-size: 2px;--et-slider-track-border-radius: 0;--et-slider-inactive-track-color: #646464;--et-slider-active-track-color: #ffffff;--et-slider-block-size: 32px;--et-slider-min-inline-size: 112px;--et-slider-thumb-target-size: 32px;--et-slider-thumb-size: 12px;--et-slider-thumb-border-radius: 9999px;--et-slider-thumb-color: #ffffff;--et-slider-transition-duration: 80ms;outline:none}.et-slider{position:relative;display:block}.et-slider.et-slider--disable-animations{--et-slider-transition-duration: 0ms}.et-slider[aria-orientation=horizontal]{block-size:var(--et-slider-block-size);min-inline-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=horizontal] .et-slider-track-container{inset-block-start:calc(50% - var(--et-slider-track-block-size) / 2);inset-inline-start:0;block-size:var(--et-slider-track-block-size);inline-size:100%}.et-slider[aria-orientation=horizontal] .et-slider-track-fill{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:0 0}.et-slider[aria-orientation=horizontal] .et-slider-track-background{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=horizontal] .et-slider-thumb-container{inline-size:100%;block-size:0;inset-block-start:50%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:100% 100%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:0 0}.et-slider[aria-orientation=vertical]{inline-size:var(--et-slider-block-size);min-block-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=vertical] .et-slider-track-container{inset-block-start:0;inset-inline-start:calc(50% - var(--et-slider-track-block-size) / 2);block-size:100%;inline-size:var(--et-slider-track-block-size)}.et-slider[aria-orientation=vertical] .et-slider-track-fill{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=vertical] .et-slider-track-background{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:0 0}.et-slider[aria-orientation=vertical] .et-slider-thumb-container{inline-size:0;block-size:100%;inset-inline-start:50%}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:100% 100%}.et-slider .et-slider-track-container{position:absolute;overflow:hidden}.et-slider .et-slider-track-fill{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-active-track-color)}.et-slider .et-slider-track-background{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-inactive-track-color)}.et-slider .et-slider-thumb-container{position:absolute;z-index:1;transition:transform var(--et-slider-transition-duration)}.et-slider .et-slider-thumb{position:absolute;inset-inline-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inset-block-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inline-size:var(--et-slider-thumb-target-size);block-size:var(--et-slider-thumb-target-size);transition:transform var(--et-slider-transition-duration);display:flex;justify-content:center;align-items:center}.et-slider .et-slider-thumb:after{content:\"\";position:relative;inline-size:var(--et-slider-thumb-size);block-size:var(--et-slider-thumb-size);background-color:var(--et-slider-thumb-color);border-radius:var(--et-slider-thumb-border-radius);cursor:grab}.et-slider.et-slider--is-sliding .et-slider-thumb:after{cursor:grabbing}\n"] }]
4161
+ }, imports: [LetDirective, AsyncPipe, NgIf], hostDirectives: [{ directive: InputDirective, inputs: ['autocomplete'] }], template: "<div class=\"et-slider-track-container\">\n <div\n *ngIf=\"trackBackgroundStyles$ | async as trackBackgroundStyles\"\n [style.transform]=\"trackBackgroundStyles.transform\"\n class=\"et-slider-track-background\"\n ></div>\n <div\n *ngIf=\"trackFillStyles$ | async as trackFillStyles\"\n [style.transform]=\"trackFillStyles.transform\"\n [style.display]=\"trackFillStyles.display\"\n class=\"et-slider-track-fill\"\n ></div>\n</div>\n\n<div\n *ngIf=\"thumbContainerStyles$ | async as thumbContainerStyles\"\n [style.transform]=\"thumbContainerStyles.transform\"\n class=\"et-slider-thumb-container\"\n>\n <div class=\"et-slider-thumb\"></div>\n</div>\n", styles: [":where(.et-slider){--et-slider-track-block-size: 2px;--et-slider-track-border-radius: 0;--et-slider-inactive-track-color: #646464;--et-slider-active-track-color: #ffffff;--et-slider-block-size: 32px;--et-slider-min-inline-size: 112px;--et-slider-thumb-target-size: 32px;--et-slider-thumb-size: 12px;--et-slider-thumb-border-radius: 9999px;--et-slider-thumb-color: #ffffff;--et-slider-transition-duration: 80ms;outline:none}.et-slider{position:relative;display:block}.et-slider.et-slider--disable-animations{--et-slider-transition-duration: 0ms}.et-slider[aria-orientation=horizontal]{block-size:var(--et-slider-block-size);min-inline-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=horizontal] .et-slider-track-container{inset-block-start:calc(50% - var(--et-slider-track-block-size) / 2);inset-inline-start:0;block-size:var(--et-slider-track-block-size);inline-size:100%}.et-slider[aria-orientation=horizontal] .et-slider-track-fill{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:0 0}.et-slider[aria-orientation=horizontal] .et-slider-track-background{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=horizontal] .et-slider-thumb-container{inline-size:100%;block-size:0;inset-block-start:50%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:100% 100%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:0 0}.et-slider[aria-orientation=vertical]{inline-size:var(--et-slider-block-size);min-block-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=vertical] .et-slider-track-container{inset-block-start:0;inset-inline-start:calc(50% - var(--et-slider-track-block-size) / 2);block-size:100%;inline-size:var(--et-slider-track-block-size)}.et-slider[aria-orientation=vertical] .et-slider-track-fill{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=vertical] .et-slider-track-background{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:0 0}.et-slider[aria-orientation=vertical] .et-slider-thumb-container{inline-size:0;block-size:100%;inset-inline-start:50%}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:100% 100%}.et-slider .et-slider-track-container{position:absolute;overflow:hidden}.et-slider .et-slider-track-fill{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-active-track-color)}.et-slider .et-slider-track-background{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-inactive-track-color)}.et-slider .et-slider-thumb-container{position:absolute;z-index:1;transition:transform var(--et-slider-transition-duration)}.et-slider .et-slider-thumb{position:absolute;inset-inline-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inset-block-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inline-size:var(--et-slider-thumb-target-size);block-size:var(--et-slider-thumb-target-size);transition:transform var(--et-slider-transition-duration);display:flex;justify-content:center;align-items:center}.et-slider .et-slider-thumb:after{content:\"\";position:relative;inline-size:var(--et-slider-thumb-size);block-size:var(--et-slider-thumb-size);background-color:var(--et-slider-thumb-color);border-radius:var(--et-slider-thumb-border-radius);cursor:grab}.et-slider.et-slider--is-sliding .et-slider-thumb:after{cursor:grabbing}\n"] }]
4168
4162
  }], propDecorators: { min: [{
4169
4163
  type: Input
4170
4164
  }], max: [{
@@ -4251,7 +4245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
4251
4245
 
4252
4246
  class MasonryComponent {
4253
4247
  constructor() {
4254
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
4248
+ this._destroy$ = createDestroy();
4255
4249
  this._elementRef = inject(ElementRef);
4256
4250
  this._delayable = inject(DELAYABLE_TOKEN, { optional: true });
4257
4251
  this._columWidth$ = new BehaviorSubject(250);
@@ -4421,7 +4415,7 @@ class MasonryComponent {
4421
4415
  this._elementRef.nativeElement.style.setProperty('--et-masonry-column-width', `${width}px`);
4422
4416
  }
4423
4417
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: MasonryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4424
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: MasonryComponent, isStandalone: true, selector: "et-masonry", inputs: { columWidth: "columWidth", gap: "gap" }, outputs: { initializing: "initializing", initialized: "initialized" }, host: { classAttribute: "et-masonry" }, providers: [DestroyService], queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MASONRY_ITEM_TOKEN; }), descendants: true }], ngImport: i0, template: `
4418
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: MasonryComponent, isStandalone: true, selector: "et-masonry", inputs: { columWidth: "columWidth", gap: "gap" }, outputs: { initializing: "initializing", initialized: "initialized" }, host: { classAttribute: "et-masonry" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return MASONRY_ITEM_TOKEN; }), descendants: true }], ngImport: i0, template: `
4425
4419
  <div (etObserveResize)="setResizeEvent()"></div>
4426
4420
  <ng-content select="[etMasonryItem], et-masonry-item, ng-container" />
4427
4421
  `, isInline: true, styles: [".et-masonry{position:relative;display:block}.et-masonry-item{position:absolute;top:0;left:0}.et-masonry.et-masonry--hide-overflow{overflow:hidden}.et-masonry.et-masonry--initialized .et-masonry-item{transition:transform .15s var(--ease-out-3)}\n"], dependencies: [{ kind: "directive", type: ObserveResizeDirective, selector: "[etObserveResize]", inputs: ["etObserveResizeDisabled", "etObserveResizeDebounce"], outputs: ["etObserveResize"], exportAs: ["etObserveResize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -4433,7 +4427,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
4433
4427
  <ng-content select="[etMasonryItem], et-masonry-item, ng-container" />
4434
4428
  `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
4435
4429
  class: 'et-masonry',
4436
- }, imports: [ObserveResizeDirective], providers: [DestroyService], styles: [".et-masonry{position:relative;display:block}.et-masonry-item{position:absolute;top:0;left:0}.et-masonry.et-masonry--hide-overflow{overflow:hidden}.et-masonry.et-masonry--initialized .et-masonry-item{transition:transform .15s var(--ease-out-3)}\n"] }]
4430
+ }, imports: [ObserveResizeDirective], styles: [".et-masonry{position:relative;display:block}.et-masonry-item{position:absolute;top:0;left:0}.et-masonry.et-masonry--hide-overflow{overflow:hidden}.et-masonry.et-masonry--initialized .et-masonry-item{transition:transform .15s var(--ease-out-3)}\n"] }]
4437
4431
  }], propDecorators: { _items: [{
4438
4432
  type: ContentChildren,
4439
4433
  args: [forwardRef(() => MASONRY_ITEM_TOKEN), { descendants: true }]
@@ -4493,7 +4487,7 @@ class BottomSheetContainerBaseComponent extends CdkDialogContainer {
4493
4487
  this._trapFocus();
4494
4488
  }
4495
4489
  }
4496
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetContainerBaseComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: BOTTOM_SHEET_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
4490
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetContainerBaseComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: BOTTOM_SHEET_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2$1.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
4497
4491
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BottomSheetContainerBaseComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
4498
4492
  }
4499
4493
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetContainerBaseComponent, decorators: [{
@@ -4507,7 +4501,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
4507
4501
  }] }, { type: undefined, decorators: [{
4508
4502
  type: Inject,
4509
4503
  args: [BOTTOM_SHEET_CONFIG]
4510
- }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
4504
+ }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2$1.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
4511
4505
 
4512
4506
  const createBottomSheetConfig = (globalConfig, localConfig) => ({
4513
4507
  ...BOTTOM_SHEET_DEFAULT_CONFIG,
@@ -4725,7 +4719,7 @@ class BottomSheetServiceBase {
4725
4719
  }
4726
4720
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetServiceBase, decorators: [{
4727
4721
  type: Directive
4728
- }], ctorParameters: function () { return [{ type: i2.Overlay }, { type: i0.Injector }, { type: undefined }, { type: undefined }, { type: undefined }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }]; } });
4722
+ }], ctorParameters: function () { return [{ type: i2$1.Overlay }, { type: i0.Injector }, { type: undefined }, { type: undefined }, { type: undefined }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }]; } });
4729
4723
 
4730
4724
  let nextUniqueId$2 = 0;
4731
4725
  class SwipeHandlerService {
@@ -4861,12 +4855,12 @@ class BottomSheetService extends BottomSheetServiceBase {
4861
4855
  constructor(overlay, injector, defaultOptions, scrollStrategy, parentBottomSheetService) {
4862
4856
  super(overlay, injector, defaultOptions, parentBottomSheetService, scrollStrategy, BottomSheetRef, BottomSheetContainerComponent, BOTTOM_SHEET_DATA);
4863
4857
  }
4864
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetService, deps: [{ token: i2.Overlay }, { token: i0.Injector }, { token: BOTTOM_SHEET_DEFAULT_OPTIONS, optional: true }, { token: BOTTOM_SHEET_SCROLL_STRATEGY }, { token: BottomSheetService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
4858
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetService, deps: [{ token: i2$1.Overlay }, { token: i0.Injector }, { token: BOTTOM_SHEET_DEFAULT_OPTIONS, optional: true }, { token: BOTTOM_SHEET_SCROLL_STRATEGY }, { token: BottomSheetService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
4865
4859
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetService }); }
4866
4860
  }
4867
4861
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetService, decorators: [{
4868
4862
  type: Injectable
4869
- }], ctorParameters: function () { return [{ type: i2.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
4863
+ }], ctorParameters: function () { return [{ type: i2$1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
4870
4864
  type: Optional
4871
4865
  }, {
4872
4866
  type: Inject,
@@ -4886,7 +4880,7 @@ class BottomSheetDragHandleComponent {
4886
4880
  this._elementRef = inject(ElementRef);
4887
4881
  this._bottomSheetService = inject(BottomSheetService);
4888
4882
  this._bottomSheetSwipeHandlerService = inject(BottomSheetSwipeHandlerService);
4889
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
4883
+ this._destroy$ = createDestroy();
4890
4884
  this.ariaLabel = 'Close sheet';
4891
4885
  this.type = 'button';
4892
4886
  this._swipeHandlerId = null;
@@ -4950,14 +4944,14 @@ class BottomSheetDragHandleComponent {
4950
4944
  }
4951
4945
  }
4952
4946
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetDragHandleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4953
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BottomSheetDragHandleComponent, isStandalone: true, selector: "[et-bottom-sheet-drag-handle], [etBottomSheetDragHandle]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", bottomSheetResult: ["et-bottom-sheet-drag-handle", "bottomSheetResult"], _etBottomSheetDragHandle: ["etBottomSheetDragHandle", "_etBottomSheetDragHandle"] }, host: { listeners: { "click": "_onButtonClick($event)" }, properties: { "attr.aria-label": "ariaLabel || null", "attr.type": "this.type" }, classAttribute: "et-bottom-sheet-drag-handle" }, providers: [BottomSheetSwipeHandlerService, DestroyService], exportAs: ["etBottomSheetDragHandle"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":where(.et-bottom-sheet-drag-handle){--background-color: red}.et-bottom-sheet-drag-handle{--_tap-target-width: 100px;--_tap-target-height: 25px;inset-inline-start:calc(50% - var(--_tap-target-width) / 2);inline-size:var(--_tap-target-width);block-size:var(--_tap-target-height);border:none;position:relative;background-color:#0000;touch-action:manipulation;-webkit-appearance:none;appearance:none}.et-bottom-sheet-drag-handle:before{--_toggle-width: 32px;--_toggle-height: 4px;inline-size:var(--_toggle-width);block-size:var(--_toggle-height);content:\"\";position:absolute;background-color:var(--background-color);border-radius:9999px;inset-inline-start:calc(50% - var(--_toggle-width) / 2);inset-block-start:calc(50% - var(--_toggle-height) / 2);z-index:1}.et-bottom-sheet-drag-handle:after{opacity:0;inline-size:100%;block-size:100%;content:\"\";position:absolute;background-color:#0003;border-radius:8px;inset-block-start:0;inset-inline-start:0;transform:scale(0);transition:opacity .3s var(--ease-5),transform .3s var(--ease-5)}.et-bottom-sheet-drag-handle:focus-visible{outline:none}.et-bottom-sheet-drag-handle:focus-visible:after{opacity:1;transform:scale(1);transition:opacity .3s var(--ease-5),transform .3s var(--ease-squish-3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4947
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BottomSheetDragHandleComponent, isStandalone: true, selector: "[et-bottom-sheet-drag-handle], [etBottomSheetDragHandle]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", bottomSheetResult: ["et-bottom-sheet-drag-handle", "bottomSheetResult"], _etBottomSheetDragHandle: ["etBottomSheetDragHandle", "_etBottomSheetDragHandle"] }, host: { listeners: { "click": "_onButtonClick($event)" }, properties: { "attr.aria-label": "ariaLabel || null", "attr.type": "this.type" }, classAttribute: "et-bottom-sheet-drag-handle" }, providers: [BottomSheetSwipeHandlerService], exportAs: ["etBottomSheetDragHandle"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":where(.et-bottom-sheet-drag-handle){--background-color: red}.et-bottom-sheet-drag-handle{--_tap-target-width: 100px;--_tap-target-height: 25px;inset-inline-start:calc(50% - var(--_tap-target-width) / 2);inline-size:var(--_tap-target-width);block-size:var(--_tap-target-height);border:none;position:relative;background-color:#0000;touch-action:manipulation;-webkit-appearance:none;appearance:none}.et-bottom-sheet-drag-handle:before{--_toggle-width: 32px;--_toggle-height: 4px;inline-size:var(--_toggle-width);block-size:var(--_toggle-height);content:\"\";position:absolute;background-color:var(--background-color);border-radius:9999px;inset-inline-start:calc(50% - var(--_toggle-width) / 2);inset-block-start:calc(50% - var(--_toggle-height) / 2);z-index:1}.et-bottom-sheet-drag-handle:after{opacity:0;inline-size:100%;block-size:100%;content:\"\";position:absolute;background-color:#0003;border-radius:8px;inset-block-start:0;inset-inline-start:0;transform:scale(0);transition:opacity .3s var(--ease-5),transform .3s var(--ease-5)}.et-bottom-sheet-drag-handle:focus-visible{outline:none}.et-bottom-sheet-drag-handle:focus-visible:after{opacity:1;transform:scale(1);transition:opacity .3s var(--ease-5),transform .3s var(--ease-squish-3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4954
4948
  }
4955
4949
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetDragHandleComponent, decorators: [{
4956
4950
  type: Component,
4957
4951
  args: [{ selector: '[et-bottom-sheet-drag-handle], [etBottomSheetDragHandle]', template: '', exportAs: 'etBottomSheetDragHandle', host: {
4958
4952
  class: 'et-bottom-sheet-drag-handle',
4959
4953
  '[attr.aria-label]': 'ariaLabel || null',
4960
- }, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [BottomSheetSwipeHandlerService, DestroyService], styles: [":where(.et-bottom-sheet-drag-handle){--background-color: red}.et-bottom-sheet-drag-handle{--_tap-target-width: 100px;--_tap-target-height: 25px;inset-inline-start:calc(50% - var(--_tap-target-width) / 2);inline-size:var(--_tap-target-width);block-size:var(--_tap-target-height);border:none;position:relative;background-color:#0000;touch-action:manipulation;-webkit-appearance:none;appearance:none}.et-bottom-sheet-drag-handle:before{--_toggle-width: 32px;--_toggle-height: 4px;inline-size:var(--_toggle-width);block-size:var(--_toggle-height);content:\"\";position:absolute;background-color:var(--background-color);border-radius:9999px;inset-inline-start:calc(50% - var(--_toggle-width) / 2);inset-block-start:calc(50% - var(--_toggle-height) / 2);z-index:1}.et-bottom-sheet-drag-handle:after{opacity:0;inline-size:100%;block-size:100%;content:\"\";position:absolute;background-color:#0003;border-radius:8px;inset-block-start:0;inset-inline-start:0;transform:scale(0);transition:opacity .3s var(--ease-5),transform .3s var(--ease-5)}.et-bottom-sheet-drag-handle:focus-visible{outline:none}.et-bottom-sheet-drag-handle:focus-visible:after{opacity:1;transform:scale(1);transition:opacity .3s var(--ease-5),transform .3s var(--ease-squish-3)}\n"] }]
4954
+ }, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [BottomSheetSwipeHandlerService], styles: [":where(.et-bottom-sheet-drag-handle){--background-color: red}.et-bottom-sheet-drag-handle{--_tap-target-width: 100px;--_tap-target-height: 25px;inset-inline-start:calc(50% - var(--_tap-target-width) / 2);inline-size:var(--_tap-target-width);block-size:var(--_tap-target-height);border:none;position:relative;background-color:#0000;touch-action:manipulation;-webkit-appearance:none;appearance:none}.et-bottom-sheet-drag-handle:before{--_toggle-width: 32px;--_toggle-height: 4px;inline-size:var(--_toggle-width);block-size:var(--_toggle-height);content:\"\";position:absolute;background-color:var(--background-color);border-radius:9999px;inset-inline-start:calc(50% - var(--_toggle-width) / 2);inset-block-start:calc(50% - var(--_toggle-height) / 2);z-index:1}.et-bottom-sheet-drag-handle:after{opacity:0;inline-size:100%;block-size:100%;content:\"\";position:absolute;background-color:#0003;border-radius:8px;inset-block-start:0;inset-inline-start:0;transform:scale(0);transition:opacity .3s var(--ease-5),transform .3s var(--ease-5)}.et-bottom-sheet-drag-handle:focus-visible{outline:none}.et-bottom-sheet-drag-handle:focus-visible:after{opacity:1;transform:scale(1);transition:opacity .3s var(--ease-5),transform .3s var(--ease-squish-3)}\n"] }]
4961
4955
  }], propDecorators: { ariaLabel: [{
4962
4956
  type: Input,
4963
4957
  args: ['aria-label']
@@ -5033,8 +5027,8 @@ class BottomSheetContainerComponent extends BottomSheetContainerBaseComponent {
5033
5027
  this._animatedLifecycle.enter();
5034
5028
  });
5035
5029
  }
5036
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: BOTTOM_SHEET_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
5037
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BottomSheetContainerComponent, isStandalone: true, selector: "et-bottom-sheet-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.aria-modal": "_config.ariaModal", "id": "_config.id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "class.et-with-default-animation": "!_config.customAnimated", "class": "_config.containerClass" }, classAttribute: "et-bottom-sheet" }, usesInheritance: true, hostDirectives: [{ directive: i3.AnimatedLifecycleDirective }], ngImport: i0, template: `<ng-template cdkPortalOutlet></ng-template>`, isInline: true, styles: [".et-bottom-sheet{transform:translateY(var(--touch-translate-y))}.et-bottom-sheet.et-with-default-animation{outline:none}.et-bottom-sheet.et-with-default-animation.et-animation-enter-from,.et-bottom-sheet.et-with-default-animation.et-animation-leave-to{transform:translateY(100%)}.et-bottom-sheet.et-with-default-animation.et-animation-enter-active{transition:transform .3s var(--ease-out-5)}.et-bottom-sheet.et-with-default-animation.et-animation-leave-active{transition:transform .15s var(--ease-in-5)}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5030
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: BOTTOM_SHEET_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2$1.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
5031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: BottomSheetContainerComponent, isStandalone: true, selector: "et-bottom-sheet-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.aria-modal": "_config.ariaModal", "id": "_config.id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "class.et-with-default-animation": "!_config.customAnimated", "class": "_config.containerClass" }, classAttribute: "et-bottom-sheet" }, usesInheritance: true, hostDirectives: [{ directive: i2.AnimatedLifecycleDirective }], ngImport: i0, template: `<ng-template cdkPortalOutlet></ng-template>`, isInline: true, styles: [".et-bottom-sheet{transform:translateY(var(--touch-translate-y))}.et-bottom-sheet.et-with-default-animation{outline:none}.et-bottom-sheet.et-with-default-animation.et-animation-enter-from,.et-bottom-sheet.et-with-default-animation.et-animation-leave-to{transform:translateY(100%)}.et-bottom-sheet.et-with-default-animation.et-animation-enter-active{transition:transform .3s var(--ease-out-5)}.et-bottom-sheet.et-with-default-animation.et-animation-leave-active{transition:transform .15s var(--ease-in-5)}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5038
5032
  }
5039
5033
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BottomSheetContainerComponent, decorators: [{
5040
5034
  type: Component,
@@ -5058,7 +5052,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
5058
5052
  }] }, { type: undefined, decorators: [{
5059
5053
  type: Inject,
5060
5054
  args: [BOTTOM_SHEET_CONFIG]
5061
- }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
5055
+ }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2$1.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
5062
5056
 
5063
5057
  const BottomSheetImports = [
5064
5058
  BottomSheetContainerComponent,
@@ -5331,18 +5325,18 @@ class DialogServiceBase {
5331
5325
  }
5332
5326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogServiceBase, decorators: [{
5333
5327
  type: Directive
5334
- }], ctorParameters: function () { return [{ type: i2.Overlay }, { type: i0.Injector }, { type: undefined }, { type: undefined }, { type: undefined }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }]; } });
5328
+ }], ctorParameters: function () { return [{ type: i2$1.Overlay }, { type: i0.Injector }, { type: undefined }, { type: undefined }, { type: undefined }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }]; } });
5335
5329
 
5336
5330
  class DialogService extends DialogServiceBase {
5337
5331
  constructor(overlay, injector, defaultOptions, scrollStrategy, parentDialogService) {
5338
5332
  super(overlay, injector, defaultOptions, parentDialogService, scrollStrategy, DialogRef, DialogContainerComponent, DIALOG_DATA);
5339
5333
  }
5340
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, deps: [{ token: i2.Overlay }, { token: i0.Injector }, { token: DIALOG_DEFAULT_OPTIONS, optional: true }, { token: DIALOG_SCROLL_STRATEGY }, { token: DialogService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
5334
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, deps: [{ token: i2$1.Overlay }, { token: i0.Injector }, { token: DIALOG_DEFAULT_OPTIONS, optional: true }, { token: DIALOG_SCROLL_STRATEGY }, { token: DialogService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
5341
5335
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService }); }
5342
5336
  }
5343
5337
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogService, decorators: [{
5344
5338
  type: Injectable
5345
- }], ctorParameters: function () { return [{ type: i2.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
5339
+ }], ctorParameters: function () { return [{ type: i2$1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
5346
5340
  type: Optional
5347
5341
  }, {
5348
5342
  type: Inject,
@@ -5433,7 +5427,7 @@ class DialogContainerBaseComponent extends CdkDialogContainer {
5433
5427
  this._trapFocus();
5434
5428
  }
5435
5429
  }
5436
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogContainerBaseComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: DIALOG_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
5430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogContainerBaseComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: DIALOG_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2$1.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
5437
5431
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DialogContainerBaseComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
5438
5432
  }
5439
5433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogContainerBaseComponent, decorators: [{
@@ -5447,7 +5441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
5447
5441
  }] }, { type: undefined, decorators: [{
5448
5442
  type: Inject,
5449
5443
  args: [DIALOG_CONFIG]
5450
- }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
5444
+ }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2$1.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
5451
5445
 
5452
5446
  let dialogElementUid = 0;
5453
5447
  class DialogTitleDirective {
@@ -5505,8 +5499,8 @@ class DialogContainerComponent extends DialogContainerBaseComponent {
5505
5499
  this._animatedLifecycle.enter();
5506
5500
  });
5507
5501
  }
5508
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: DIALOG_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
5509
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DialogContainerComponent, isStandalone: true, selector: "et-dialog-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.aria-modal": "_config.ariaModal", "id": "_config.id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "class.et-with-default-animation": "!_config.customAnimated", "class": "_config.containerClass" }, classAttribute: "et-dialog" }, usesInheritance: true, hostDirectives: [{ directive: i3.AnimatedLifecycleDirective }], ngImport: i0, template: `<ng-template cdkPortalOutlet></ng-template>`, isInline: true, styles: [".et-dialog.et-with-default-animation{outline:none}.et-dialog.et-with-default-animation.et-animation-enter-from{opacity:0;transform:scale(1.15)}.et-dialog.et-with-default-animation.et-animation-leave-to{opacity:0;transform:scale(.8)}.et-dialog.et-with-default-animation.et-animation-enter-active{transition:transform .3s var(--ease-out-5),opacity .3s var(--ease-out-5)}.et-dialog.et-with-default-animation.et-animation-leave-active{transition:transform .15s var(--ease-out-5),opacity .15s var(--ease-out-5)}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogContainerComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: DIALOG_CONFIG }, { token: i1$1.InteractivityChecker }, { token: i0.NgZone }, { token: i2$1.OverlayRef }, { token: i1$1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
5503
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: DialogContainerComponent, isStandalone: true, selector: "et-dialog-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.aria-modal": "_config.ariaModal", "id": "_config.id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "class.et-with-default-animation": "!_config.customAnimated", "class": "_config.containerClass" }, classAttribute: "et-dialog" }, usesInheritance: true, hostDirectives: [{ directive: i2.AnimatedLifecycleDirective }], ngImport: i0, template: `<ng-template cdkPortalOutlet></ng-template>`, isInline: true, styles: [".et-dialog.et-with-default-animation{outline:none}.et-dialog.et-with-default-animation.et-animation-enter-from{opacity:0;transform:scale(1.15)}.et-dialog.et-with-default-animation.et-animation-leave-to{opacity:0;transform:scale(.8)}.et-dialog.et-with-default-animation.et-animation-enter-active{transition:transform .3s var(--ease-out-5),opacity .3s var(--ease-out-5)}.et-dialog.et-with-default-animation.et-animation-leave-active{transition:transform .15s var(--ease-out-5),opacity .15s var(--ease-out-5)}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5510
5504
  }
5511
5505
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DialogContainerComponent, decorators: [{
5512
5506
  type: Component,
@@ -5530,7 +5524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
5530
5524
  }] }, { type: undefined, decorators: [{
5531
5525
  type: Inject,
5532
5526
  args: [DIALOG_CONFIG]
5533
- }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
5527
+ }] }, { type: i1$1.InteractivityChecker }, { type: i0.NgZone }, { type: i2$1.OverlayRef }, { type: i1$1.FocusMonitor }]; } });
5534
5528
 
5535
5529
  const DialogImports = [DialogContainerComponent, DialogCloseDirective, DialogTitleDirective];
5536
5530
  const provideDialog = () => {
@@ -5558,24 +5552,6 @@ const provideToggletipConfig = (config = {}) => {
5558
5552
 
5559
5553
  const TOGGLETIP_DIRECTIVE = new InjectionToken('TOGGLETIP_DIRECTIVE');
5560
5554
  class ToggletipDirective {
5561
- constructor() {
5562
- this._defaultConfig = inject(TOGGLETIP_CONFIG, { optional: true }) ?? createToggletipConfig();
5563
- this._toggletip = null;
5564
- this._showToggletip = false;
5565
- this.placement = this._defaultConfig.placement;
5566
- this.toggletipClose = new EventEmitter();
5567
- this._hostElementRef = inject(ElementRef);
5568
- this._viewContainerRef = inject(ViewContainerRef);
5569
- this._overlayService = inject(Overlay);
5570
- this._clickObserverService = inject(ClickObserverService);
5571
- this._injector = inject(Injector);
5572
- this._zone = inject(NgZone);
5573
- this._overlayRef = null;
5574
- this._portal = null;
5575
- this._toggletipRef = null;
5576
- this._popper = null;
5577
- this._listenerSubscriptions = [];
5578
- }
5579
5555
  get toggletip() {
5580
5556
  return this._toggletip;
5581
5557
  }
@@ -5587,32 +5563,54 @@ class ToggletipDirective {
5587
5563
  }
5588
5564
  set showToggletip(value) {
5589
5565
  this._showToggletip = coerceBooleanProperty(value);
5590
- if (this._showToggletip && !this._overlayRef) {
5566
+ if (this._showToggletip && !this._animatedOverlay.isMounted) {
5591
5567
  nextFrame(() => {
5592
5568
  this._mountToggletip();
5593
5569
  this._addListeners();
5594
5570
  });
5595
5571
  }
5596
- else if (!this._showToggletip && this._overlayRef) {
5597
- this._animateUnmount();
5572
+ else if (!this._showToggletip && this._animatedOverlay.isMounted) {
5573
+ this._animatedOverlay.unmount();
5598
5574
  this._removeListeners();
5599
5575
  }
5600
5576
  }
5577
+ constructor() {
5578
+ this._destroy$ = createDestroy();
5579
+ this._defaultConfig = inject(TOGGLETIP_CONFIG, { optional: true }) ?? createToggletipConfig();
5580
+ this._animatedOverlay = inject(AnimatedOverlayDirective);
5581
+ this._toggletip = null;
5582
+ this._showToggletip = false;
5583
+ this.toggletipClose = new EventEmitter();
5584
+ this._clickObserverService = inject(ClickObserverService);
5585
+ this._listenerSubscriptions = [];
5586
+ this._animatedOverlay.placement = this._defaultConfig.placement;
5587
+ this._animatedOverlay.offset = this._defaultConfig.offset;
5588
+ this._animatedOverlay.arrowPadding = this._defaultConfig.arrowPadding;
5589
+ }
5590
+ ngOnInit() {
5591
+ this._animatedOverlay
5592
+ .afterClosed()
5593
+ .pipe(tap(() => {
5594
+ this._removeListeners();
5595
+ this.toggletipClose.emit();
5596
+ }), takeUntil(this._destroy$))
5597
+ .subscribe();
5598
+ }
5601
5599
  ngOnDestroy() {
5602
- this._unmountToggletip();
5600
+ this._animatedOverlay._destroy();
5603
5601
  this._removeListeners();
5604
5602
  }
5605
5603
  _addListeners() {
5606
5604
  const keyupEscSub = fromEvent(document, 'keyup')
5607
- .pipe(filter((e) => e.key === 'Escape'), tap(() => this._animateUnmount()))
5605
+ .pipe(filter((e) => e.key === 'Escape'), tap(() => this._animatedOverlay.unmount()))
5608
5606
  .subscribe();
5609
5607
  const clickOutsideSub = this._clickObserverService
5610
- .observe(this._toggletipRef?.location.nativeElement)
5608
+ .observe(this._animatedOverlay.componentRef?.location.nativeElement)
5611
5609
  .subscribe((e) => {
5612
5610
  const targetElement = e.target;
5613
- const isInside = this._toggletipRef?.location.nativeElement.contains(targetElement);
5611
+ const isInside = this._animatedOverlay.componentRef?.location.nativeElement.contains(targetElement);
5614
5612
  if (!isInside) {
5615
- this._animateUnmount();
5613
+ this._animatedOverlay.unmount();
5616
5614
  }
5617
5615
  });
5618
5616
  this._listenerSubscriptions.push(keyupEscSub, clickOutsideSub);
@@ -5622,9 +5620,8 @@ class ToggletipDirective {
5622
5620
  this._listenerSubscriptions.length = 0;
5623
5621
  }
5624
5622
  _mountToggletip() {
5625
- this._overlayRef = this._createOverlay();
5626
- const injector = Injector.create({
5627
- parent: this._injector,
5623
+ this._animatedOverlay.mount({
5624
+ component: ToggletipComponent,
5628
5625
  providers: [
5629
5626
  {
5630
5627
  provide: TOGGLETIP_CONFIG,
@@ -5643,80 +5640,14 @@ class ToggletipDirective {
5643
5640
  ],
5644
5641
  ],
5645
5642
  });
5646
- this._portal = this._portal ?? new ComponentPortal(ToggletipComponent, this._viewContainerRef, injector);
5647
- this._toggletipRef = this._overlayRef.attach(this._portal);
5648
- this._toggletipRef.instance._markForCheck();
5649
- this._zone.runOutsideAngular(() => {
5650
- if (!this._toggletipRef) {
5651
- return;
5652
- }
5653
- this._popper = createPopper(this._hostElementRef.nativeElement, this._toggletipRef.location.nativeElement, {
5654
- placement: this.placement,
5655
- modifiers: [
5656
- ...(this._defaultConfig.offset
5657
- ? [
5658
- {
5659
- name: 'offset',
5660
- options: {
5661
- offset: this._defaultConfig.offset,
5662
- },
5663
- },
5664
- ]
5665
- : []),
5666
- ...(this._defaultConfig.arrowPadding
5667
- ? [
5668
- {
5669
- name: 'arrow',
5670
- options: {
5671
- padding: this._defaultConfig.arrowPadding,
5672
- },
5673
- },
5674
- ]
5675
- : []),
5676
- ],
5677
- });
5678
- // We need to wait for the toggletip content to be rendered
5679
- nextFrame(() => {
5680
- if (!this._toggletipRef) {
5681
- return;
5682
- }
5683
- this._popper?.update();
5684
- this._toggletipRef.instance._animatedLifecycle?.enter();
5685
- });
5686
- });
5687
- }
5688
- _animateUnmount() {
5689
- if (!this._toggletipRef || this._toggletipRef.instance._animatedLifecycle?.state === 'leaving') {
5690
- return;
5691
- }
5692
- this._toggletipRef.instance._animatedLifecycle?.leave();
5693
- this._toggletipRef.instance._animatedLifecycle?.state$
5694
- .pipe(filter((s) => s === 'left'), take(1))
5695
- .subscribe(() => this._unmountToggletip());
5696
- }
5697
- _unmountToggletip() {
5698
- this._zone.runOutsideAngular(() => {
5699
- this._popper?.destroy();
5700
- this._popper = null;
5701
- });
5702
- if (this._overlayRef) {
5703
- this._overlayRef.dispose();
5704
- this._overlayRef = null;
5705
- }
5706
- this._removeListeners();
5707
- this.toggletipClose.emit();
5708
- }
5709
- _createOverlay() {
5710
- const overlay = this._overlayService.create();
5711
- return overlay;
5712
5643
  }
5713
5644
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToggletipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5714
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: ToggletipDirective, isStandalone: true, selector: "[etToggletip]", inputs: { toggletip: ["etToggletip", "toggletip"], showToggletip: "showToggletip", placement: "placement" }, outputs: { toggletipClose: "toggletipClose" }, providers: [
5645
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: ToggletipDirective, isStandalone: true, selector: "[etToggletip]", inputs: { toggletip: ["etToggletip", "toggletip"], showToggletip: "showToggletip" }, outputs: { toggletipClose: "toggletipClose" }, providers: [
5715
5646
  {
5716
5647
  provide: TOGGLETIP_DIRECTIVE,
5717
5648
  useExisting: ToggletipDirective,
5718
5649
  },
5719
- ], ngImport: i0 }); }
5650
+ ], hostDirectives: [{ directive: i2.AnimatedOverlayDirective, inputs: ["placement", "placement"] }], ngImport: i0 }); }
5720
5651
  }
5721
5652
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToggletipDirective, decorators: [{
5722
5653
  type: Directive,
@@ -5729,14 +5660,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
5729
5660
  useExisting: ToggletipDirective,
5730
5661
  },
5731
5662
  ],
5663
+ hostDirectives: [{ directive: AnimatedOverlayDirective, inputs: ['placement'] }],
5732
5664
  }]
5733
- }], propDecorators: { toggletip: [{
5665
+ }], ctorParameters: function () { return []; }, propDecorators: { toggletip: [{
5734
5666
  type: Input,
5735
5667
  args: ['etToggletip']
5736
5668
  }], showToggletip: [{
5737
5669
  type: Input
5738
- }], placement: [{
5739
- type: Input
5740
5670
  }], toggletipClose: [{
5741
5671
  type: Output
5742
5672
  }] } });
@@ -5820,28 +5750,6 @@ const provideTooltipConfig = (config = {}) => {
5820
5750
 
5821
5751
  const TOOLTIP_DIRECTIVE = new InjectionToken('TOOLTIP_DIRECTIVE');
5822
5752
  class TooltipDirective {
5823
- constructor() {
5824
- this._defaultConfig = inject(TOOLTIP_CONFIG, { optional: true }) ?? createTooltipConfig();
5825
- this._tooltip = null;
5826
- this.placement = this._defaultConfig.placement;
5827
- this._tooltipAriaDescription = null;
5828
- this._lastTooltipText = null;
5829
- this._hostElementRef = inject(ElementRef);
5830
- this._viewContainerRef = inject(ViewContainerRef);
5831
- this._overlayService = inject(Overlay);
5832
- this._ariaDescriberService = inject(AriaDescriber);
5833
- this._focusVisibleService = inject(FocusVisibleService);
5834
- this._injector = inject(Injector);
5835
- this._zone = inject(NgZone);
5836
- this._overlayRef = null;
5837
- this._portal = null;
5838
- this._tooltipRef = null;
5839
- this._popper = null;
5840
- this._willMount = true;
5841
- this._hasFocus = false;
5842
- this._hasHover = false;
5843
- this._listenerSubscriptions = [];
5844
- }
5845
5753
  get tooltip() {
5846
5754
  return this._tooltip;
5847
5755
  }
@@ -5862,61 +5770,75 @@ class TooltipDirective {
5862
5770
  this._tooltipAriaDescription = v;
5863
5771
  this._updateAriaDescription();
5864
5772
  }
5865
- get _isMounted() {
5866
- return this._overlayRef !== null;
5773
+ constructor() {
5774
+ this._defaultConfig = inject(TOOLTIP_CONFIG, { optional: true }) ?? createTooltipConfig();
5775
+ this._animatedOverlay = inject(AnimatedOverlayDirective);
5776
+ this._tooltip = null;
5777
+ this._tooltipAriaDescription = null;
5778
+ this._lastTooltipText = null;
5779
+ this._elementRef = inject(ElementRef);
5780
+ this._ariaDescriberService = inject(AriaDescriber);
5781
+ this._focusVisibleService = inject(FocusVisibleService);
5782
+ this._willMount = true;
5783
+ this._hasFocus = false;
5784
+ this._hasHover = false;
5785
+ this._listenerSubscriptions = [];
5786
+ this._animatedOverlay.placement = this._defaultConfig.placement;
5787
+ this._animatedOverlay.offset = this._defaultConfig.offset;
5788
+ this._animatedOverlay.arrowPadding = this._defaultConfig.arrowPadding;
5867
5789
  }
5868
5790
  ngOnDestroy() {
5869
- this._unmountTooltip();
5791
+ this._animatedOverlay._destroy();
5870
5792
  this._removeListeners();
5871
5793
  }
5872
5794
  _updateAriaDescription() {
5873
5795
  const tooltipText = this._getTooltipText();
5874
5796
  if (tooltipText) {
5875
- this._ariaDescriberService.describe(this._hostElementRef.nativeElement, tooltipText);
5797
+ this._ariaDescriberService.describe(this._elementRef.nativeElement, tooltipText);
5876
5798
  }
5877
5799
  else if (this._lastTooltipText) {
5878
- this._ariaDescriberService.removeDescription(this._hostElementRef.nativeElement, this._lastTooltipText);
5800
+ this._ariaDescriberService.removeDescription(this._elementRef.nativeElement, this._lastTooltipText);
5879
5801
  }
5880
5802
  this._lastTooltipText = tooltipText;
5881
5803
  }
5882
5804
  _addListeners() {
5883
- const mouseEnterSub = fromEvent(this._hostElementRef.nativeElement, 'mouseenter')
5805
+ const mouseEnterSub = fromEvent(this._elementRef.nativeElement, 'mouseenter')
5884
5806
  .pipe(tap(() => {
5885
5807
  this._willMount = true;
5886
5808
  this._hasHover = true;
5887
5809
  }), debounceTime(200))
5888
5810
  .subscribe(() => {
5889
- if (!this._willMount || this._isMounted) {
5811
+ if (!this._willMount || this._animatedOverlay.isMounted) {
5890
5812
  return;
5891
5813
  }
5892
5814
  this._mountTooltip();
5893
5815
  });
5894
- const focusSub = fromEvent(this._hostElementRef.nativeElement, 'focus').subscribe(() => {
5816
+ const focusSub = fromEvent(this._elementRef.nativeElement, 'focus').subscribe(() => {
5895
5817
  if (!this._focusVisibleService.isFocusVisible) {
5896
5818
  return;
5897
5819
  }
5898
5820
  this._hasFocus = true;
5899
- if (this._isMounted) {
5821
+ if (this._animatedOverlay.isMounted) {
5900
5822
  return;
5901
5823
  }
5902
5824
  this._mountTooltip();
5903
5825
  });
5904
- const mouseLeaveSub = fromEvent(this._hostElementRef.nativeElement, 'mouseleave').subscribe(() => {
5826
+ const mouseLeaveSub = fromEvent(this._elementRef.nativeElement, 'mouseleave').subscribe(() => {
5905
5827
  this._hasHover = false;
5906
5828
  this._willMount = false;
5907
- if (this._isMounted && !this._hasFocus) {
5908
- this._animateUnmount();
5829
+ if (this._animatedOverlay.isMounted && !this._hasFocus) {
5830
+ this._animatedOverlay.unmount();
5909
5831
  }
5910
5832
  });
5911
- const blurSub = fromEvent(this._hostElementRef.nativeElement, 'blur').subscribe(() => {
5833
+ const blurSub = fromEvent(this._elementRef.nativeElement, 'blur').subscribe(() => {
5912
5834
  this._hasFocus = false;
5913
5835
  this._willMount = false;
5914
- if (this._isMounted && !this._hasHover) {
5915
- this._animateUnmount();
5836
+ if (this._animatedOverlay.isMounted && !this._hasHover) {
5837
+ this._animatedOverlay.unmount();
5916
5838
  }
5917
5839
  });
5918
5840
  const keyupEscSub = fromEvent(document, 'keyup')
5919
- .pipe(filter((e) => e.key === 'Escape'), filter(() => this._isMounted), tap(() => this._animateUnmount()))
5841
+ .pipe(filter((e) => e.key === 'Escape'), filter(() => this._animatedOverlay.isMounted), tap(() => this._animatedOverlay.unmount()))
5920
5842
  .subscribe();
5921
5843
  this._listenerSubscriptions.push(mouseEnterSub, mouseLeaveSub, focusSub, blurSub, keyupEscSub);
5922
5844
  }
@@ -5925,9 +5847,8 @@ class TooltipDirective {
5925
5847
  this._listenerSubscriptions.length = 0;
5926
5848
  }
5927
5849
  _mountTooltip() {
5928
- this._overlayRef = this._createOverlay();
5929
- const injector = Injector.create({
5930
- parent: this._injector,
5850
+ this._animatedOverlay.mount({
5851
+ component: TooltipComponent,
5931
5852
  providers: [
5932
5853
  {
5933
5854
  provide: TOOLTIP_CONFIG,
@@ -5946,70 +5867,6 @@ class TooltipDirective {
5946
5867
  ],
5947
5868
  ],
5948
5869
  });
5949
- this._portal = this._portal ?? new ComponentPortal(TooltipComponent, this._viewContainerRef, injector);
5950
- this._tooltipRef = this._overlayRef.attach(this._portal);
5951
- this._tooltipRef.instance._markForCheck();
5952
- this._zone.runOutsideAngular(() => {
5953
- if (!this._tooltipRef) {
5954
- return;
5955
- }
5956
- this._popper = createPopper(this._hostElementRef.nativeElement, this._tooltipRef.location.nativeElement, {
5957
- placement: this.placement,
5958
- modifiers: [
5959
- ...(this._defaultConfig.offset
5960
- ? [
5961
- {
5962
- name: 'offset',
5963
- options: {
5964
- offset: this._defaultConfig.offset,
5965
- },
5966
- },
5967
- ]
5968
- : []),
5969
- ...(this._defaultConfig.arrowPadding
5970
- ? [
5971
- {
5972
- name: 'arrow',
5973
- options: {
5974
- padding: this._defaultConfig.arrowPadding,
5975
- },
5976
- },
5977
- ]
5978
- : []),
5979
- ],
5980
- });
5981
- // We need to wait for the tooltip content to be rendered
5982
- nextFrame(() => {
5983
- if (!this._tooltipRef) {
5984
- return;
5985
- }
5986
- this._popper?.update();
5987
- this._tooltipRef.instance._animatedLifecycle?.enter();
5988
- });
5989
- });
5990
- }
5991
- _animateUnmount() {
5992
- if (!this._tooltipRef) {
5993
- return;
5994
- }
5995
- this._tooltipRef.instance._animatedLifecycle?.leave();
5996
- this._tooltipRef.instance._animatedLifecycle?.state$
5997
- .pipe(filter((s) => s === 'left'), take(1))
5998
- .subscribe(() => this._unmountTooltip());
5999
- }
6000
- _unmountTooltip() {
6001
- this._zone.runOutsideAngular(() => {
6002
- this._popper?.destroy();
6003
- this._popper = null;
6004
- });
6005
- if (this._overlayRef) {
6006
- this._overlayRef.dispose();
6007
- this._overlayRef = null;
6008
- }
6009
- }
6010
- _createOverlay() {
6011
- const overlay = this._overlayService.create();
6012
- return overlay;
6013
5870
  }
6014
5871
  _getTooltipText() {
6015
5872
  return this._tooltipAriaDescription
@@ -6019,12 +5876,12 @@ class TooltipDirective {
6019
5876
  : null;
6020
5877
  }
6021
5878
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6022
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: TooltipDirective, isStandalone: true, selector: "[etTooltip]", inputs: { tooltip: ["etTooltip", "tooltip"], placement: "placement", tooltipAriaDescription: "tooltipAriaDescription" }, providers: [
5879
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.0", type: TooltipDirective, isStandalone: true, selector: "[etTooltip]", inputs: { tooltip: ["etTooltip", "tooltip"], tooltipAriaDescription: "tooltipAriaDescription" }, providers: [
6023
5880
  {
6024
5881
  provide: TOOLTIP_DIRECTIVE,
6025
5882
  useExisting: TooltipDirective,
6026
5883
  },
6027
- ], ngImport: i0 }); }
5884
+ ], hostDirectives: [{ directive: i2.AnimatedOverlayDirective, inputs: ["placement", "placement"] }], ngImport: i0 }); }
6028
5885
  }
6029
5886
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TooltipDirective, decorators: [{
6030
5887
  type: Directive,
@@ -6037,12 +5894,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
6037
5894
  useExisting: TooltipDirective,
6038
5895
  },
6039
5896
  ],
5897
+ hostDirectives: [{ directive: AnimatedOverlayDirective, inputs: ['placement'] }],
6040
5898
  }]
6041
- }], propDecorators: { tooltip: [{
5899
+ }], ctorParameters: function () { return []; }, propDecorators: { tooltip: [{
6042
5900
  type: Input,
6043
5901
  args: ['etTooltip']
6044
- }], placement: [{
6045
- type: Input
6046
5902
  }], tooltipAriaDescription: [{
6047
5903
  type: Input
6048
5904
  }] } });
@@ -6116,7 +5972,7 @@ class DynamicOverlayService {
6116
5972
  }
6117
5973
  return this._bottomSheetService.open(componentOrTemplateRef, config.bottomSheetConfig);
6118
5974
  }
6119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayService, deps: [{ token: DialogService }, { token: BottomSheetService }, { token: i3.ViewportService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5975
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayService, deps: [{ token: DialogService }, { token: BottomSheetService }, { token: i2.ViewportService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6120
5976
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayService, providedIn: 'root' }); }
6121
5977
  }
6122
5978
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DynamicOverlayService, decorators: [{
@@ -6124,7 +5980,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
6124
5980
  args: [{
6125
5981
  providedIn: 'root',
6126
5982
  }]
6127
- }], ctorParameters: function () { return [{ type: DialogService }, { type: BottomSheetService }, { type: i3.ViewportService }]; } });
5983
+ }], ctorParameters: function () { return [{ type: DialogService }, { type: BottomSheetService }, { type: i2.ViewportService }]; } });
6128
5984
 
6129
5985
  class PaginationLinkDirective {
6130
5986
  constructor() {
@@ -6577,7 +6433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
6577
6433
 
6578
6434
  class ScrollableComponent {
6579
6435
  constructor() {
6580
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
6436
+ this._destroy$ = createDestroy();
6581
6437
  this._renderer = inject(Renderer2);
6582
6438
  this._elementRef = inject(ElementRef);
6583
6439
  this.itemSize = 'auto';
@@ -6587,6 +6443,9 @@ class ScrollableComponent {
6587
6443
  this._renderScrollbars = false;
6588
6444
  this._stickyButtons = false;
6589
6445
  this._cursorDragScroll = true;
6446
+ this._activeElementScrollMargin = 40;
6447
+ this._disableActiveElementScrolling = false;
6448
+ this.activeElements = null;
6590
6449
  this.scrollState$ = new BehaviorSubject(null);
6591
6450
  }
6592
6451
  get renderMasks() {
@@ -6619,6 +6478,18 @@ class ScrollableComponent {
6619
6478
  set cursorDragScroll(value) {
6620
6479
  this._cursorDragScroll = coerceBooleanProperty(value);
6621
6480
  }
6481
+ get activeElementScrollMargin() {
6482
+ return this._activeElementScrollMargin;
6483
+ }
6484
+ set activeElementScrollMargin(value) {
6485
+ this._activeElementScrollMargin = coerceNumberProperty(value);
6486
+ }
6487
+ get disableActiveElementScrolling() {
6488
+ return this._disableActiveElementScrolling;
6489
+ }
6490
+ set disableActiveElementScrolling(value) {
6491
+ this._disableActiveElementScrolling = coerceBooleanProperty(value);
6492
+ }
6622
6493
  ngOnInit() {
6623
6494
  this.scrollState$
6624
6495
  .pipe(tap((state) => {
@@ -6632,6 +6503,31 @@ class ScrollableComponent {
6632
6503
  }), takeUntil(this._destroy$))
6633
6504
  .subscribe();
6634
6505
  }
6506
+ ngAfterContentInit() {
6507
+ if (!this.activeElements) {
6508
+ return;
6509
+ }
6510
+ this.activeElements.changes
6511
+ .pipe(startWith(this.activeElements), tap((activeElements) => {
6512
+ if (this.disableActiveElementScrolling) {
6513
+ return;
6514
+ }
6515
+ const firstActive = activeElements
6516
+ .filter((a) => !!a)
6517
+ .find((a) => a.isActiveElement);
6518
+ if (!firstActive) {
6519
+ return;
6520
+ }
6521
+ scrollToElement({
6522
+ behavior: 'auto',
6523
+ container: this.scrollable.nativeElement,
6524
+ element: firstActive.elementRef.nativeElement,
6525
+ scrollInlineMargin: this.direction === 'horizontal' ? this.activeElementScrollMargin : 0,
6526
+ scrollBlockMargin: this.direction === 'horizontal' ? 0 : this.activeElementScrollMargin,
6527
+ });
6528
+ }), takeUntil(this._destroy$))
6529
+ .subscribe();
6530
+ }
6635
6531
  _scrollStateChanged(scrollState) {
6636
6532
  if (equal(this.scrollState$.value, scrollState)) {
6637
6533
  return;
@@ -6655,13 +6551,13 @@ class ScrollableComponent {
6655
6551
  });
6656
6552
  }
6657
6553
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6658
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ScrollableComponent, isStandalone: true, selector: "et-scrollable", inputs: { itemSize: "itemSize", direction: "direction", scrollableRole: "scrollableRole", scrollableClass: "scrollableClass", renderMasks: "renderMasks", renderButtons: "renderButtons", renderScrollbars: "renderScrollbars", stickyButtons: "stickyButtons", cursorDragScroll: "cursorDragScroll" }, host: { properties: { "attr.item-size": "this.itemSize", "attr.direction": "this.direction", "attr.render-scrollbars": "this.renderScrollbars", "attr.sticky-buttons": "this.stickyButtons" }, classAttribute: "et-scrollable" }, providers: [DestroyService], viewQueries: [{ propertyName: "scrollable", first: true, predicate: ["scrollable"], descendants: true, static: true }], ngImport: i0, template: "<div\n #scrollable\n [attr.role]=\"scrollableRole ?? undefined\"\n [ngClass]=\"scrollableClass\"\n [etCursorDragScroll]=\"cursorDragScroll\"\n (etObserveScrollState)=\"_scrollStateChanged($event)\"\n class=\"et-scrollable-container\"\n>\n <ng-content />\n</div>\n\n<div *ngIf=\"renderMasks\" class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n</div>\n\n<div *ngIf=\"renderButtons\" class=\"et-scrollable-buttons\">\n <button\n (click)=\"scrollOneContainerSizeToStart()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n <button\n (click)=\"scrollOneContainerSizeToEnd()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</div>\n", styles: [".et-scrollable{--mask: #121212 0, transparent 100%;--mask-size: 25px;--_auto-size: min-content;--_flow: column;display:grid;position:relative}.et-scrollable[item-size=same]{--auto-size: 1fr}.et-scrollable[render-scrollbars=false] .et-scrollable-container{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container::-webkit-scrollbar{display:none}.et-scrollable[direction=horizontal] .et-scrollable-container{grid-auto-columns:var(--_auto-size)}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:rotate(90deg)}.et-scrollable[direction=vertical]{--_flow: row}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-rows:var(--_auto-size)}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[at-start=false] .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{opacity:1}.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable[at-end=false] .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{opacity:1}.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scrollable-container{display:grid;grid-auto-flow:var(--_flow);overflow:auto;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0;transition:opacity .3s var(--ease-5)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons{margin-block:10%}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons .et-scrollable-button{position:sticky}\n"], dependencies: [{ kind: "directive", type: CursorDragScrollDirective, selector: "[etCursorDragScroll]", inputs: ["etCursorDragScroll"], exportAs: ["etCursorDragScroll"] }, { kind: "directive", type: ObserveScrollStateDirective, selector: "[etObserveScrollState]", inputs: ["observerRootMargin", "observerThreshold"], outputs: ["etObserveScrollState"], exportAs: ["etObserveScrollState"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6554
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ScrollableComponent, isStandalone: true, selector: "et-scrollable", inputs: { itemSize: "itemSize", direction: "direction", scrollableRole: "scrollableRole", scrollableClass: "scrollableClass", renderMasks: "renderMasks", renderButtons: "renderButtons", renderScrollbars: "renderScrollbars", stickyButtons: "stickyButtons", cursorDragScroll: "cursorDragScroll", activeElementScrollMargin: "activeElementScrollMargin", disableActiveElementScrolling: "disableActiveElementScrolling" }, host: { properties: { "attr.item-size": "this.itemSize", "attr.direction": "this.direction", "attr.render-scrollbars": "this.renderScrollbars", "attr.sticky-buttons": "this.stickyButtons" }, classAttribute: "et-scrollable" }, queries: [{ propertyName: "activeElements", predicate: IS_ACTIVE_ELEMENT, descendants: true }], viewQueries: [{ propertyName: "scrollable", first: true, predicate: ["scrollable"], descendants: true, static: true }], ngImport: i0, template: "<div\n #scrollable\n [attr.role]=\"scrollableRole ?? undefined\"\n [ngClass]=\"scrollableClass\"\n [etCursorDragScroll]=\"cursorDragScroll\"\n (etObserveScrollState)=\"_scrollStateChanged($event)\"\n class=\"et-scrollable-container\"\n>\n <ng-content />\n</div>\n\n<div *ngIf=\"renderMasks\" class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n</div>\n\n<div *ngIf=\"renderButtons\" class=\"et-scrollable-buttons\">\n <button\n (click)=\"scrollOneContainerSizeToStart()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n <button\n (click)=\"scrollOneContainerSizeToEnd()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</div>\n", styles: [".et-scrollable{--mask: #121212 0, transparent 100%;--mask-size: 25px;--_auto-size: min-content;--_flow: column;display:grid;position:relative}.et-scrollable[item-size=same]{--auto-size: 1fr}.et-scrollable[render-scrollbars=false] .et-scrollable-container{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container::-webkit-scrollbar{display:none}.et-scrollable[direction=horizontal] .et-scrollable-container{grid-auto-columns:var(--_auto-size)}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:rotate(90deg)}.et-scrollable[direction=vertical]{--_flow: row}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-rows:var(--_auto-size)}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[at-start=false] .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{opacity:1}.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable[at-end=false] .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{opacity:1}.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scrollable-container{display:grid;grid-auto-flow:var(--_flow);overflow:auto;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0;transition:opacity .3s var(--ease-5)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons{margin-block:10%}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons .et-scrollable-button{position:sticky}\n"], dependencies: [{ kind: "directive", type: CursorDragScrollDirective, selector: "[etCursorDragScroll]", inputs: ["etCursorDragScroll"], exportAs: ["etCursorDragScroll"] }, { kind: "directive", type: ObserveScrollStateDirective, selector: "[etObserveScrollState]", inputs: ["observerRootMargin", "observerThreshold"], outputs: ["etObserveScrollState"], exportAs: ["etObserveScrollState"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6659
6555
  }
6660
6556
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ScrollableComponent, decorators: [{
6661
6557
  type: Component,
6662
6558
  args: [{ selector: 'et-scrollable', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [CursorDragScrollDirective, ObserveScrollStateDirective, NgClass, NgIf, LetDirective, ChevronIconComponent], host: {
6663
6559
  class: 'et-scrollable',
6664
- }, providers: [DestroyService], template: "<div\n #scrollable\n [attr.role]=\"scrollableRole ?? undefined\"\n [ngClass]=\"scrollableClass\"\n [etCursorDragScroll]=\"cursorDragScroll\"\n (etObserveScrollState)=\"_scrollStateChanged($event)\"\n class=\"et-scrollable-container\"\n>\n <ng-content />\n</div>\n\n<div *ngIf=\"renderMasks\" class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n</div>\n\n<div *ngIf=\"renderButtons\" class=\"et-scrollable-buttons\">\n <button\n (click)=\"scrollOneContainerSizeToStart()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n <button\n (click)=\"scrollOneContainerSizeToEnd()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</div>\n", styles: [".et-scrollable{--mask: #121212 0, transparent 100%;--mask-size: 25px;--_auto-size: min-content;--_flow: column;display:grid;position:relative}.et-scrollable[item-size=same]{--auto-size: 1fr}.et-scrollable[render-scrollbars=false] .et-scrollable-container{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container::-webkit-scrollbar{display:none}.et-scrollable[direction=horizontal] .et-scrollable-container{grid-auto-columns:var(--_auto-size)}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:rotate(90deg)}.et-scrollable[direction=vertical]{--_flow: row}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-rows:var(--_auto-size)}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[at-start=false] .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{opacity:1}.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable[at-end=false] .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{opacity:1}.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scrollable-container{display:grid;grid-auto-flow:var(--_flow);overflow:auto;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0;transition:opacity .3s var(--ease-5)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons{margin-block:10%}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons .et-scrollable-button{position:sticky}\n"] }]
6560
+ }, template: "<div\n #scrollable\n [attr.role]=\"scrollableRole ?? undefined\"\n [ngClass]=\"scrollableClass\"\n [etCursorDragScroll]=\"cursorDragScroll\"\n (etObserveScrollState)=\"_scrollStateChanged($event)\"\n class=\"et-scrollable-container\"\n>\n <ng-content />\n</div>\n\n<div *ngIf=\"renderMasks\" class=\"et-scrollable-masks\">\n <div class=\"et-scrollable-mask et-scrollable-mask--start\"></div>\n <div class=\"et-scrollable-mask et-scrollable-mask--end\"></div>\n</div>\n\n<div *ngIf=\"renderButtons\" class=\"et-scrollable-buttons\">\n <button\n (click)=\"scrollOneContainerSizeToStart()\"\n class=\"et-scrollable-button et-scrollable-button--start\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n <button\n (click)=\"scrollOneContainerSizeToEnd()\"\n class=\"et-scrollable-button et-scrollable-button--end\"\n aria-hidden=\"true\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <et-chevron-icon />\n </button>\n</div>\n", styles: [".et-scrollable{--mask: #121212 0, transparent 100%;--mask-size: 25px;--_auto-size: min-content;--_flow: column;display:grid;position:relative}.et-scrollable[item-size=same]{--auto-size: 1fr}.et-scrollable[render-scrollbars=false] .et-scrollable-container{scrollbar-width:none}.et-scrollable[render-scrollbars=false] .et-scrollable-container::-webkit-scrollbar{display:none}.et-scrollable[direction=horizontal] .et-scrollable-container{grid-auto-columns:var(--_auto-size)}.et-scrollable[direction=horizontal] .et-scrollable-mask,.et-scrollable[direction=horizontal] .et-scrollable-button{inline-size:var(--mask-size);block-size:100%}.et-scrollable[direction=horizontal] .et-scrollable-mask--start,.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:0;inset-inline:0 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--end,.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:0;inset-inline:calc(100% - 40px) 0}.et-scrollable[direction=horizontal] .et-scrollable-mask--start{background:linear-gradient(to right,var(--mask))}.et-scrollable[direction=horizontal] .et-scrollable-mask--end{background:linear-gradient(to left,var(--mask));inset-inline:calc(100% - var(--mask-size)) 100%}.et-scrollable[direction=horizontal] .et-scrollable-button--start{inset-block-start:calc(50% - 20px);transform:rotate(-90deg)}.et-scrollable[direction=horizontal] .et-scrollable-button--end{inset-block-start:calc(50% - 20px);transform:rotate(90deg)}.et-scrollable[direction=vertical]{--_flow: row}.et-scrollable[direction=vertical] .et-scrollable-container{grid-auto-rows:var(--_auto-size)}.et-scrollable[direction=vertical] .et-scrollable-mask,.et-scrollable[direction=vertical] .et-scrollable-button{block-size:var(--mask-size);inline-size:100%}.et-scrollable[direction=vertical] .et-scrollable-mask--start,.et-scrollable[direction=vertical] .et-scrollable-button--start{inset-block-start:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--end,.et-scrollable[direction=vertical] .et-scrollable-button--end{inset-block-end:0;inset-inline-start:0}.et-scrollable[direction=vertical] .et-scrollable-mask--start{background:linear-gradient(to bottom,var(--mask))}.et-scrollable[direction=vertical] .et-scrollable-mask--end{background:linear-gradient(to top,var(--mask))}.et-scrollable[at-start=false] .et-scrollable-masks .et-scrollable-mask--start,.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{opacity:1}.et-scrollable[at-start=false] .et-scrollable-buttons .et-scrollable-button--start{pointer-events:all}.et-scrollable[at-end=false] .et-scrollable-masks .et-scrollable-mask--end,.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{opacity:1}.et-scrollable[at-end=false] .et-scrollable-buttons .et-scrollable-button--end{pointer-events:all}.et-scrollable .et-scrollable-container{display:grid;grid-auto-flow:var(--_flow);overflow:auto;grid-row:1/1;grid-column:1/1}.et-scrollable .et-scrollable-masks,.et-scrollable .et-scrollable-buttons{grid-row:1/1;grid-column:1/1;pointer-events:none}.et-scrollable .et-scrollable-masks .et-scrollable-mask,.et-scrollable .et-scrollable-masks .et-scrollable-button,.et-scrollable .et-scrollable-buttons .et-scrollable-mask,.et-scrollable .et-scrollable-buttons .et-scrollable-button{position:absolute;opacity:0;transition:opacity .3s var(--ease-5)}.et-scrollable .et-scrollable-buttons .et-scrollable-button{background:transparent;border:none;padding:12px;inline-size:40px;block-size:40px;border-radius:4px;cursor:pointer}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-chevron-icon{pointer-events:none}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--start{inset-inline:0 0}.et-scrollable .et-scrollable-buttons .et-scrollable-button .et-scrollable-button--end{inset-inline:calc(100% - 40px) 0}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons{margin-block:10%}.et-scrollable[sticky-buttons=true] .et-scrollable-buttons .et-scrollable-button{position:sticky}\n"] }]
6665
6561
  }], propDecorators: { itemSize: [{
6666
6562
  type: Input
6667
6563
  }, {
@@ -6692,9 +6588,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
6692
6588
  args: ['attr.sticky-buttons']
6693
6589
  }], cursorDragScroll: [{
6694
6590
  type: Input
6591
+ }], activeElementScrollMargin: [{
6592
+ type: Input
6593
+ }], disableActiveElementScrolling: [{
6594
+ type: Input
6695
6595
  }], scrollable: [{
6696
6596
  type: ViewChild,
6697
6597
  args: ['scrollable', { static: true }]
6598
+ }], activeElements: [{
6599
+ type: ContentChildren,
6600
+ args: [IS_ACTIVE_ELEMENT, { descendants: true }]
6698
6601
  }] } });
6699
6602
 
6700
6603
  const ScrollableImports = [ScrollableComponent];
@@ -7164,7 +7067,7 @@ class TableComponent extends CdkTable {
7164
7067
  this._isShowingTableBusy = shouldShow;
7165
7068
  this._cdr.markForCheck();
7166
7069
  }
7167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TableComponent, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: 'role', attribute: true }, { token: i1$3.Directionality, optional: true }, { token: DOCUMENT }, { token: i2$1.Platform }, { token: _VIEW_REPEATER_STRATEGY }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i1$4.ViewportRuler }, { token: STICKY_POSITIONING_LISTENER, optional: true, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
7070
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: TableComponent, deps: [{ token: i0.IterableDiffers }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: 'role', attribute: true }, { token: i1$3.Directionality, optional: true }, { token: DOCUMENT }, { token: i2$2.Platform }, { token: _VIEW_REPEATER_STRATEGY }, { token: _COALESCED_STYLE_SCHEDULER }, { token: i1$4.ViewportRuler }, { token: STICKY_POSITIONING_LISTENER, optional: true, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
7168
7071
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: TableComponent, isStandalone: true, selector: "et-table, table[et-table]", inputs: { busy: "busy" }, host: { properties: { "class.et-table-fixed-layout": "fixedLayout", "attr.aria-busy": "this._attrAriaBusy" }, classAttribute: "et-table et-data-table__table" }, providers: [
7169
7072
  { provide: CdkTable, useExisting: TableComponent },
7170
7073
  { provide: CDK_TABLE, useExisting: TableComponent },
@@ -7213,7 +7116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
7213
7116
  }] }, { type: Document, decorators: [{
7214
7117
  type: Inject,
7215
7118
  args: [DOCUMENT]
7216
- }] }, { type: i2$1.Platform }, { type: undefined, decorators: [{
7119
+ }] }, { type: i2$2.Platform }, { type: undefined, decorators: [{
7217
7120
  type: Inject,
7218
7121
  args: [_VIEW_REPEATER_STRATEGY]
7219
7122
  }] }, { type: i1$2._CoalescedStyleScheduler, decorators: [{
@@ -8155,7 +8058,7 @@ class PaginatedTabHeaderDirective {
8155
8058
  this._ngZone = _ngZone;
8156
8059
  this._scrollDistance = 0;
8157
8060
  this._selectedIndexChanged = false;
8158
- this._destroy$ = new Subject();
8061
+ this._destroy$ = createDestroy();
8159
8062
  this._stopScrolling = new Subject();
8160
8063
  this._selectedIndex = 0;
8161
8064
  this.itemSize = 'auto';
@@ -8220,8 +8123,6 @@ class PaginatedTabHeaderDirective {
8220
8123
  }
8221
8124
  }
8222
8125
  ngOnDestroy() {
8223
- this._destroy$.next();
8224
- this._destroy$.complete();
8225
8126
  this._stopScrolling.complete();
8226
8127
  }
8227
8128
  _handleKeydown(event) {
@@ -8440,7 +8341,7 @@ class InlineTabHeaderComponent extends PaginatedTabHeaderDirective {
8440
8341
  event.preventDefault();
8441
8342
  }
8442
8343
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: InlineTabHeaderComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$4.ViewportRuler }, { token: i1$3.Directionality, optional: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
8443
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: InlineTabHeaderComponent, isStandalone: true, selector: "et-inline-tab-header", host: { classAttribute: "et-inline-tab-header" }, queries: [{ propertyName: "_items", predicate: InlineTabLabelWrapperDirective }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8344
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: InlineTabHeaderComponent, isStandalone: true, selector: "et-inline-tab-header", host: { classAttribute: "et-inline-tab-header" }, queries: [{ propertyName: "_items", predicate: InlineTabLabelWrapperDirective }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll", "activeElementScrollMargin", "disableActiveElementScrolling"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8444
8345
  }
8445
8346
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: InlineTabHeaderComponent, decorators: [{
8446
8347
  type: Component,
@@ -8664,8 +8565,8 @@ class NavTabsComponent extends PaginatedTabHeaderDirective {
8664
8565
  _getRole() {
8665
8566
  return this.tabOutlet ? 'tablist' : this._elementRef.nativeElement.getAttribute('role');
8666
8567
  }
8667
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavTabsComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$4.ViewportRuler }, { token: i3$1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
8668
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NavTabsComponent, isStandalone: true, selector: "[et-nav-tabs]", inputs: { tabOutlet: "tabOutlet" }, host: { properties: { "attr.role": "this._attrRole" }, classAttribute: "et-nav-tabs" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return NavTabLinkComponent; }), descendants: true }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
8568
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavTabsComponent, deps: [{ token: i0.ElementRef }, { token: i1$3.Directionality, optional: true }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1$4.ViewportRuler }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
8569
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NavTabsComponent, isStandalone: true, selector: "[et-nav-tabs]", inputs: { tabOutlet: "tabOutlet" }, host: { properties: { "attr.role": "this._attrRole" }, classAttribute: "et-nav-tabs" }, queries: [{ propertyName: "_items", predicate: i0.forwardRef(function () { return NavTabLinkComponent; }), descendants: true }, { propertyName: "_inkBars", predicate: i0.forwardRef(function () { return ActiveTabUnderlineDirective; }), descendants: true }], viewQueries: [{ propertyName: "_scrollable", first: true, predicate: ScrollableComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n", dependencies: [{ kind: "component", type: ScrollableComponent, selector: "et-scrollable", inputs: ["itemSize", "direction", "scrollableRole", "scrollableClass", "renderMasks", "renderButtons", "renderScrollbars", "stickyButtons", "cursorDragScroll", "activeElementScrollMargin", "disableActiveElementScrolling"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
8669
8570
  }
8670
8571
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavTabsComponent, decorators: [{
8671
8572
  type: Component,
@@ -8674,7 +8575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
8674
8575
  }, template: "<et-scrollable\n [itemSize]=\"itemSize\"\n [renderButtons]=\"renderButtons\"\n [scrollableClass]=\"scrollableClass\"\n [renderMasks]=\"renderMasks\"\n [renderScrollbars]=\"renderScrollbars\"\n (keydown)=\"_handleKeydown($event)\"\n (contentChanged)=\"_onContentChanges()\"\n>\n <ng-content />\n</et-scrollable>\n" }]
8675
8576
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$3.Directionality, decorators: [{
8676
8577
  type: Optional
8677
- }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1$4.ViewportRuler }, { type: i3$1.Router }]; }, propDecorators: { tabOutlet: [{
8578
+ }] }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1$4.ViewportRuler }, { type: i3.Router }]; }, propDecorators: { tabOutlet: [{
8678
8579
  type: Input
8679
8580
  }], _items: [{
8680
8581
  type: ContentChildren,
@@ -8812,7 +8713,7 @@ class NavTabLinkComponent {
8812
8713
  _markForCheck() {
8813
8714
  this._cdr.markForCheck();
8814
8715
  }
8815
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavTabLinkComponent, deps: [{ token: NavTabsComponent }, { token: i0.ElementRef }, { token: 'tabindex', attribute: true }, { token: i1$1.FocusMonitor }, { token: i3$1.Router }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3$1.RouterLink, optional: true }, { token: i3$1.RouterLink, optional: true }, { token: i3$1.RouterLinkActive, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
8716
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NavTabLinkComponent, deps: [{ token: NavTabsComponent }, { token: i0.ElementRef }, { token: 'tabindex', attribute: true }, { token: i1$1.FocusMonitor }, { token: i3.Router }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.RouterLink, optional: true }, { token: i3.RouterLink, optional: true }, { token: i3.RouterLinkActive, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
8816
8717
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NavTabLinkComponent, isStandalone: true, selector: "[et-nav-tab-link]", inputs: { tabIndex: "tabIndex", disabled: "disabled", id: "id" }, host: { listeners: { "focus": "_handleFocus()", "keydown": "_handleKeydown($event)" }, properties: { "attr.id": "this.id", "attr.aria-controls": "this._attrAriaControls", "attr.aria-current": "this._attrAriaCurrent", "attr.aria-disabled": "this._attrAriaDisabled", "attr.aria-selected": "this._attrAriaSelected", "attr.tabIndex": "this._attrTabIndex", "attr.role": "this._attrRole" }, classAttribute: "et-nav-tab-link" }, hostDirectives: [{ directive: ActiveTabUnderlineDirective, inputs: ["fitUnderlineToContent", "fitUnderlineToContent"] }], ngImport: i0, template: `
8817
8718
  <span class="et-tab-content">
8818
8719
  <ng-content />
@@ -8837,11 +8738,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
8837
8738
  }], ctorParameters: function () { return [{ type: NavTabsComponent }, { type: i0.ElementRef }, { type: undefined, decorators: [{
8838
8739
  type: Attribute,
8839
8740
  args: ['tabindex']
8840
- }] }, { type: i1$1.FocusMonitor }, { type: i3$1.Router }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3$1.RouterLink, decorators: [{
8741
+ }] }, { type: i1$1.FocusMonitor }, { type: i3.Router }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.RouterLink, decorators: [{
8841
8742
  type: Optional
8842
- }] }, { type: i3$1.RouterLink, decorators: [{
8743
+ }] }, { type: i3.RouterLink, decorators: [{
8843
8744
  type: Optional
8844
- }] }, { type: i3$1.RouterLinkActive, decorators: [{
8745
+ }] }, { type: i3.RouterLinkActive, decorators: [{
8845
8746
  type: Optional
8846
8747
  }] }]; }, propDecorators: { tabIndex: [{
8847
8748
  type: Input