@ethlete/core 1.9.1 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/esm2022/lib/components/structured-data/structured-data.component.mjs +38 -0
  2. package/esm2022/lib/directives/animatable/animatable.directive.mjs +116 -0
  3. package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +116 -0
  4. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +38 -0
  5. package/esm2022/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +148 -0
  6. package/esm2022/lib/directives/delayable/delayable.directive.mjs +56 -0
  7. package/esm2022/lib/directives/let/let.directive.mjs +41 -0
  8. package/esm2022/lib/directives/observe-content/observe-content.directive.mjs +69 -0
  9. package/esm2022/lib/directives/observe-resize/observe-resize.directive.mjs +69 -0
  10. package/esm2022/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +177 -0
  11. package/esm2022/lib/directives/repeat/repeat.directive.mjs +37 -0
  12. package/esm2022/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +32 -0
  13. package/esm2022/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +19 -0
  14. package/esm2022/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +35 -0
  15. package/esm2022/lib/directives/seo/seo.directive.mjs +167 -0
  16. package/esm2022/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +16 -0
  17. package/esm2022/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +16 -0
  18. package/esm2022/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +16 -0
  19. package/esm2022/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +16 -0
  20. package/esm2022/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +16 -0
  21. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +16 -0
  22. package/esm2022/lib/services/click-observer.service.mjs +75 -0
  23. package/esm2022/lib/services/content-observer.service.mjs +81 -0
  24. package/esm2022/lib/services/destroy.service.mjs +24 -0
  25. package/esm2022/lib/services/focus-visible.service.mjs +35 -0
  26. package/esm2022/lib/services/resize-observer.service.mjs +77 -0
  27. package/esm2022/lib/services/router-state.service.mjs +116 -0
  28. package/esm2022/lib/services/viewport.service.mjs +169 -0
  29. package/esm2022/lib/types/angular.types.mjs +15 -0
  30. package/esm2022/lib/utils/scrollable.utils.mjs +85 -0
  31. package/{fesm2020 → fesm2022}/ethlete-core.mjs +119 -140
  32. package/{fesm2020 → fesm2022}/ethlete-core.mjs.map +1 -1
  33. package/lib/components/structured-data/structured-data.component.d.ts +1 -1
  34. package/lib/directives/animatable/animatable.directive.d.ts +1 -1
  35. package/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.d.ts +1 -1
  36. package/lib/directives/let/let.directive.d.ts +1 -1
  37. package/lib/directives/observe-content/observe-content.directive.d.ts +1 -1
  38. package/lib/directives/observe-resize/observe-resize.directive.d.ts +1 -1
  39. package/lib/directives/observe-scroll-state/observe-scroll-state.directive.d.ts +1 -1
  40. package/lib/directives/repeat/repeat.directive.d.ts +1 -1
  41. package/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.d.ts +1 -1
  42. package/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.d.ts +1 -1
  43. package/lib/types/angular.types.d.ts +6 -8
  44. package/package.json +13 -19
  45. package/esm2020/lib/components/structured-data/structured-data.component.mjs +0 -37
  46. package/esm2020/lib/directives/animatable/animatable.directive.mjs +0 -115
  47. package/esm2020/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +0 -115
  48. package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +0 -37
  49. package/esm2020/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +0 -147
  50. package/esm2020/lib/directives/delayable/delayable.directive.mjs +0 -55
  51. package/esm2020/lib/directives/let/let.directive.mjs +0 -40
  52. package/esm2020/lib/directives/observe-content/observe-content.directive.mjs +0 -68
  53. package/esm2020/lib/directives/observe-resize/observe-resize.directive.mjs +0 -68
  54. package/esm2020/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +0 -176
  55. package/esm2020/lib/directives/repeat/repeat.directive.mjs +0 -36
  56. package/esm2020/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +0 -31
  57. package/esm2020/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +0 -18
  58. package/esm2020/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +0 -34
  59. package/esm2020/lib/directives/seo/seo.directive.mjs +0 -166
  60. package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +0 -15
  61. package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +0 -15
  62. package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +0 -15
  63. package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +0 -15
  64. package/esm2020/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +0 -15
  65. package/esm2020/lib/pipes/to-array/to-array.pipe.mjs +0 -15
  66. package/esm2020/lib/services/click-observer.service.mjs +0 -73
  67. package/esm2020/lib/services/content-observer.service.mjs +0 -79
  68. package/esm2020/lib/services/destroy.service.mjs +0 -23
  69. package/esm2020/lib/services/focus-visible.service.mjs +0 -34
  70. package/esm2020/lib/services/resize-observer.service.mjs +0 -75
  71. package/esm2020/lib/services/router-state.service.mjs +0 -115
  72. package/esm2020/lib/services/viewport.service.mjs +0 -168
  73. package/esm2020/lib/types/angular.types.mjs +0 -36
  74. package/esm2020/lib/utils/scrollable.utils.mjs +0 -85
  75. package/fesm2015/ethlete-core.mjs +0 -2787
  76. package/fesm2015/ethlete-core.mjs.map +0 -1
  77. /package/{esm2020 → esm2022}/ethlete-core.mjs +0 -0
  78. /package/{esm2020 → esm2022}/index.mjs +0 -0
  79. /package/{esm2020 → esm2022}/lib/components/public-api.mjs +0 -0
  80. /package/{esm2020 → esm2022}/lib/components/structured-data/public-api.mjs +0 -0
  81. /package/{esm2020 → esm2022}/lib/constants/index.mjs +0 -0
  82. /package/{esm2020 → esm2022}/lib/constants/public-api.mjs +0 -0
  83. /package/{esm2020 → esm2022}/lib/constants/viewport.constants.mjs +0 -0
  84. /package/{esm2020 → esm2022}/lib/decorators/index.mjs +0 -0
  85. /package/{esm2020 → esm2022}/lib/decorators/memo/memo.decorator.mjs +0 -0
  86. /package/{esm2020 → esm2022}/lib/decorators/memo/public-api.mjs +0 -0
  87. /package/{esm2020 → esm2022}/lib/decorators/public-api.mjs +0 -0
  88. /package/{esm2020 → esm2022}/lib/directives/animatable/index.mjs +0 -0
  89. /package/{esm2020 → esm2022}/lib/directives/animatable/public-api.mjs +0 -0
  90. /package/{esm2020 → esm2022}/lib/directives/animated-lifecycle/public-api.mjs +0 -0
  91. /package/{esm2020 → esm2022}/lib/directives/click-outside/public-api.mjs +0 -0
  92. /package/{esm2020 → esm2022}/lib/directives/cursor-drag-scroll/cursor-drag-scroll.constants.mjs +0 -0
  93. /package/{esm2020 → esm2022}/lib/directives/cursor-drag-scroll/public-api.mjs +0 -0
  94. /package/{esm2020 → esm2022}/lib/directives/delayable/public-api.mjs +0 -0
  95. /package/{esm2020 → esm2022}/lib/directives/let/let.types.mjs +0 -0
  96. /package/{esm2020 → esm2022}/lib/directives/let/public-api.mjs +0 -0
  97. /package/{esm2020 → esm2022}/lib/directives/observe-content/public-api.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/directives/observe-resize/public-api.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/directives/observe-scroll-state/observe-scroll-state.constants.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/directives/observe-scroll-state/observe-scroll-state.types.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/directives/observe-scroll-state/public-api.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/directives/repeat/public-api.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/directives/scroll-observer-first-element/index.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/directives/scroll-observer-first-element/public-api.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/directives/scroll-observer-ignore-target/index.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/directives/scroll-observer-ignore-target/public-api.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/directives/scroll-observer-last-element/index.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/directives/scroll-observer-last-element/public-api.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/directives/seo/public-api.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/directives/seo/seo.directive.constants.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/directives/seo/seo.directive.types.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/directives/seo/seo.directive.utils.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/pipes/normalize-game-result-type/normalize-game-result-type.types.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/pipes/normalize-game-result-type/public-api.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-participants/normalize-match-participants.types.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-participants/normalize-match-participants.util.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-participants/public-api.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-score/normalize-match-score.types.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-score/normalize-match-score.util.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-score/public-api.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/index.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/normalize-match-state.constants.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/normalize-match-state.util.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-state/public-api.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-type/normalize-match-type.util.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/pipes/normalize-match-type/public-api.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/pipes/public-api.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/pipes/to-array/public-api.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/pipes/to-array/to-array.util.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/public-api.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/services/public-api.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/services/viewport.types.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/types/i18n.types.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/types/index.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/types/public-api.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/types/viewport.types.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/utils/animation.utils.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/utils/clamp.util.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/utils/clone.util.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/utils/cookie.util.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/utils/equal.util.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/utils/index.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/utils/media-query-observable.util.mjs +0 -0
  147. /package/{esm2020 → esm2022}/lib/utils/public-api.mjs +0 -0
  148. /package/{esm2020 → esm2022}/lib/utils/reactive-binding.util.mjs +0 -0
  149. /package/{esm2020 → esm2022}/lib/utils/rxjs.utils.mjs +0 -0
  150. /package/{esm2020 → esm2022}/lib/utils/smart-block-scroll-strategy.utils.mjs +0 -0
  151. /package/{esm2020 → esm2022}/lib/utils/viewport.util.mjs +0 -0
  152. /package/{esm2020 → esm2022}/lib/validators/is-array-not-empty.validator.mjs +0 -0
  153. /package/{esm2020 → esm2022}/lib/validators/is-email.validator.mjs +0 -0
  154. /package/{esm2020 → esm2022}/lib/validators/must-match.validator.mjs +0 -0
  155. /package/{esm2020 → esm2022}/lib/validators/public-api.mjs +0 -0
@@ -7,5 +7,5 @@ export declare class StructuredDataComponent {
7
7
  jsonLD?: SafeHtml;
8
8
  getSafeHTML(value: JsonLD.WithContext<JsonLD.Thing> | JsonLD.Graph | null | undefined): SafeHtml;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<StructuredDataComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<StructuredDataComponent, "et-structured-data", never, { "data": "data"; }, {}, never, never, true, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<StructuredDataComponent, "et-structured-data", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
11
11
  }
@@ -18,5 +18,5 @@ export declare class AnimatableDirective implements OnInit {
18
18
  readonly isAnimating$: Observable<boolean>;
19
19
  ngOnInit(): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<AnimatableDirective, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatableDirective, "[etAnimatable]", ["etAnimatable"], { "animatedElement": "etAnimatable"; }, {}, never, never, true, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatableDirective, "[etAnimatable]", ["etAnimatable"], { "animatedElement": { "alias": "etAnimatable"; "required": false; }; }, {}, never, never, true, never>;
22
22
  }
@@ -23,5 +23,5 @@ export declare class CursorDragScrollDirective implements AfterViewInit {
23
23
  private _mouseUpHandler;
24
24
  private _updateCanScrollState;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<CursorDragScrollDirective, never>;
26
- static ɵdir: i0.ɵɵDirectiveDeclaration<CursorDragScrollDirective, "[etCursorDragScroll]", ["etCursorDragScroll"], { "enabled": "etCursorDragScroll"; }, {}, never, never, true, never>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CursorDragScrollDirective, "[etCursorDragScroll]", ["etCursorDragScroll"], { "enabled": { "alias": "etCursorDragScroll"; "required": false; }; }, {}, never, never, true, never>;
27
27
  }
@@ -12,5 +12,5 @@ export declare class LetDirective<T = unknown> {
12
12
  static ngTemplateContextGuard<T>(dir: LetDirective<T>, ctx: any): ctx is LetContext<T>;
13
13
  private _updateView;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<LetDirective<any>, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<LetDirective<any>, "[etLet]", never, { "etLet": "etLet"; }, {}, never, never, true, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LetDirective<any>, "[etLet]", never, { "etLet": { "alias": "etLet"; "required": false; }; }, {}, never, never, true, never>;
16
16
  }
@@ -18,5 +18,5 @@ export declare class ObserveContentDirective implements AfterContentInit, OnDest
18
18
  private _subscribe;
19
19
  private _unsubscribe;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<ObserveContentDirective, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentDirective, "[etObserveContent]", ["etObserveContent"], { "disabled": "etObserveContentDisabled"; "debounce": "etObserveContentDebounce"; }, { "valueChange": "etObserveContent"; }, never, never, true, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentDirective, "[etObserveContent]", ["etObserveContent"], { "disabled": { "alias": "etObserveContentDisabled"; "required": false; }; "debounce": { "alias": "etObserveContentDebounce"; "required": false; }; }, { "valueChange": "etObserveContent"; }, never, never, true, never>;
22
22
  }
@@ -18,5 +18,5 @@ export declare class ObserveResizeDirective implements AfterContentInit, OnDestr
18
18
  private _subscribe;
19
19
  private _unsubscribe;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<ObserveResizeDirective, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveResizeDirective, "[etObserveResize]", ["etObserveResize"], { "disabled": "etObserveResizeDisabled"; "debounce": "etObserveResizeDebounce"; }, { "valueChange": "etObserveResize"; }, never, never, true, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveResizeDirective, "[etObserveResize]", ["etObserveResize"], { "disabled": { "alias": "etObserveResizeDisabled"; "required": false; }; "debounce": { "alias": "etObserveResizeDebounce"; "required": false; }; }, { "valueChange": "etObserveResize"; }, never, never, true, never>;
22
22
  }
@@ -27,5 +27,5 @@ export declare class ObserveScrollStateDirective implements OnInit, OnDestroy {
27
27
  private _clearIntersectionObserver;
28
28
  private _getNonIgnoredChild;
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<ObserveScrollStateDirective, never>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveScrollStateDirective, "[etObserveScrollState]", ["etObserveScrollState"], { "observerRootMargin": "observerRootMargin"; "observerThreshold": "observerThreshold"; }, { "valueChange": "etObserveScrollState"; }, never, never, true, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveScrollStateDirective, "[etObserveScrollState]", ["etObserveScrollState"], { "observerRootMargin": { "alias": "observerRootMargin"; "required": false; }; "observerThreshold": { "alias": "observerThreshold"; "required": false; }; }, { "valueChange": "etObserveScrollState"; }, never, never, true, never>;
31
31
  }
@@ -10,5 +10,5 @@ export declare class RepeatDirective {
10
10
  constructor(_mainTemplateRef: TemplateRef<unknown>, _viewContainerRef: ViewContainerRef);
11
11
  private _render;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<RepeatDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<RepeatDirective, "[etRepeat]", never, { "repeatCount": "etRepeat"; }, {}, never, never, true, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RepeatDirective, "[etRepeat]", never, { "repeatCount": { "alias": "etRepeat"; "required": false; }; }, {}, never, never, true, never>;
14
14
  }
@@ -6,5 +6,5 @@ export declare class ScrollObserverFirstElementDirective {
6
6
  set isFirstElement(value: BooleanInput);
7
7
  private _isFirstElement;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<ScrollObserverFirstElementDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverFirstElementDirective, "[etScrollObserverFirstElement]", never, { "isFirstElement": "etScrollObserverFirstElement"; }, {}, never, never, true, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverFirstElementDirective, "[etScrollObserverFirstElement]", never, { "isFirstElement": { "alias": "etScrollObserverFirstElement"; "required": false; }; }, {}, never, never, true, never>;
10
10
  }
@@ -6,5 +6,5 @@ export declare class ScrollObserverLastElementDirective {
6
6
  set isLastElement(value: BooleanInput);
7
7
  private _isLastElement;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<ScrollObserverLastElementDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverLastElementDirective, "[etScrollObserverLastElement]", never, { "isLastElement": "etScrollObserverLastElement"; }, {}, never, never, true, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverLastElementDirective, "[etScrollObserverLastElement]", never, { "isLastElement": { "alias": "etScrollObserverLastElement"; "required": false; }; }, {}, never, never, true, never>;
10
10
  }
@@ -1,16 +1,14 @@
1
- import { QueryList } from '@angular/core';
1
+ import { QueryList, Type } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  export type NgClassType = string | string[] | Set<string> | {
4
4
  [klass: string]: any;
5
5
  } | null | undefined;
6
+ export type HostDirective = Type<unknown> | {
7
+ directive: Type<unknown>;
8
+ inputs?: string[];
9
+ outputs?: string[];
10
+ };
6
11
  export declare class TypedQueryList<T> extends QueryList<T | undefined> {
7
12
  [Symbol.iterator]: () => Iterator<T>;
8
13
  get changes(): Observable<TypedQueryList<T>>;
9
- toArray(): T[];
10
- forEach(fn: (item: T, index: number, array: T[]) => void): void;
11
- filter(fn: (item: T, index: number, array: T[]) => boolean): T[];
12
- map<U>(fn: (item: T, index: number, array: T[]) => U): U[];
13
- reduce<U>(fn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;
14
- some(fn: (value: T, index: number, array: T[]) => boolean): boolean;
15
- find(fn: (value: T, index: number, array: T[]) => boolean): T | undefined;
16
14
  }
package/package.json CHANGED
@@ -1,24 +1,20 @@
1
1
  {
2
2
  "name": "@ethlete/core",
3
- "version": "1.9.1",
3
+ "version": "1.10.1",
4
4
  "dependencies": {
5
5
  "tslib": "^2.5.0"
6
6
  },
7
7
  "peerDependencies": {
8
- "@angular/common": "^15.2.1",
9
- "@angular/core": "^15.2.1",
10
- "@angular/platform-browser": "15.2.5",
11
- "@ethlete/types": "1.1.0",
12
- "rxjs": "7.8.0",
13
- "@angular/cdk": "15.2.5",
14
- "@angular/router": "15.2.5",
15
- "@angular/forms": "15.2.5"
8
+ "@angular/common": "^15.2.1 || ^16.0.0",
9
+ "@angular/core": "^15.2.1 || ^16.0.0",
10
+ "@angular/platform-browser": "16.0.0",
11
+ "@ethlete/types": "1.1.1",
12
+ "rxjs": "7.8.1",
13
+ "@angular/cdk": "16.0.0",
14
+ "@angular/router": "16.0.0",
15
+ "@angular/forms": "16.0.0"
16
16
  },
17
- "module": "fesm2015/ethlete-core.mjs",
18
- "es2020": "fesm2020/ethlete-core.mjs",
19
- "esm2020": "esm2020/ethlete-core.mjs",
20
- "fesm2020": "fesm2020/ethlete-core.mjs",
21
- "fesm2015": "fesm2015/ethlete-core.mjs",
17
+ "module": "fesm2022/ethlete-core.mjs",
22
18
  "typings": "index.d.ts",
23
19
  "exports": {
24
20
  "./package.json": {
@@ -26,11 +22,9 @@
26
22
  },
27
23
  ".": {
28
24
  "types": "./index.d.ts",
29
- "esm2020": "./esm2020/ethlete-core.mjs",
30
- "es2020": "./fesm2020/ethlete-core.mjs",
31
- "es2015": "./fesm2015/ethlete-core.mjs",
32
- "node": "./fesm2015/ethlete-core.mjs",
33
- "default": "./fesm2020/ethlete-core.mjs"
25
+ "esm2022": "./esm2022/ethlete-core.mjs",
26
+ "esm": "./esm2022/ethlete-core.mjs",
27
+ "default": "./fesm2022/ethlete-core.mjs"
34
28
  }
35
29
  },
36
30
  "sideEffects": false
@@ -1,37 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, inject, Input, ViewEncapsulation } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import * as i0 from "@angular/core";
4
- export class StructuredDataComponent {
5
- constructor() {
6
- this._sanitizer = inject(DomSanitizer);
7
- }
8
- set data(currentValue) {
9
- this.jsonLD = this.getSafeHTML(currentValue);
10
- }
11
- getSafeHTML(value) {
12
- const json = value ? JSON.stringify(value, null, 2).replace(/<\/script>/g, '<\\/script>') : '';
13
- const html = `<script type="application/ld+json">${json}</script>`;
14
- return this._sanitizer.bypassSecurityTrustHtml(html);
15
- }
16
- }
17
- StructuredDataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- StructuredDataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: StructuredDataComponent, isStandalone: true, selector: "et-structured-data", inputs: { data: "data" }, host: { properties: { "innerHTML": "this.jsonLD" }, styleAttribute: "display: none" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: StructuredDataComponent, decorators: [{
20
- type: Component,
21
- args: [{
22
- selector: 'et-structured-data',
23
- standalone: true,
24
- template: '',
25
- changeDetection: ChangeDetectionStrategy.OnPush,
26
- encapsulation: ViewEncapsulation.None,
27
- host: {
28
- style: 'display: none',
29
- },
30
- }]
31
- }], propDecorators: { data: [{
32
- type: Input
33
- }], jsonLD: [{
34
- type: HostBinding,
35
- args: ['innerHTML']
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc3RydWN0dXJlZC1kYXRhL3N0cnVjdHVyZWQtZGF0YS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7O0FBYW5FLE1BQU0sT0FBTyx1QkFBdUI7SUFWcEM7UUFXbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQWVwRDtJQWJDLElBQ0ksSUFBSSxDQUFDLFlBQWdGO1FBQ3ZGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBS0QsV0FBVyxDQUFDLEtBQXlFO1FBQ25GLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRixNQUFNLElBQUksR0FBRyxzQ0FBc0MsSUFBSSxXQUFXLENBQUM7UUFDbkUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O29IQWZVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLCtMQVB4QixFQUFFOzJGQU9ELHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGVBQWU7cUJBQ3ZCO2lCQUNGOzhCQUtLLElBQUk7c0JBRFAsS0FBSztnQkFNTixNQUFNO3NCQURMLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSnNvbkxEIH0gZnJvbSAnQGV0aGxldGUvdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdldC1zdHJ1Y3R1cmVkLWRhdGEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgc3R5bGU6ICdkaXNwbGF5OiBub25lJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3RydWN0dXJlZERhdGFDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcblxuICBASW5wdXQoKVxuICBzZXQgZGF0YShjdXJyZW50VmFsdWU6IEpzb25MRC5XaXRoQ29udGV4dDxKc29uTEQuVGhpbmc+IHwgSnNvbkxELkdyYXBoIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuanNvbkxEID0gdGhpcy5nZXRTYWZlSFRNTChjdXJyZW50VmFsdWUpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdpbm5lckhUTUwnKVxuICBqc29uTEQ/OiBTYWZlSHRtbDtcblxuICBnZXRTYWZlSFRNTCh2YWx1ZTogSnNvbkxELldpdGhDb250ZXh0PEpzb25MRC5UaGluZz4gfCBKc29uTEQuR3JhcGggfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QganNvbiA9IHZhbHVlID8gSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpLnJlcGxhY2UoLzxcXC9zY3JpcHQ+L2csICc8XFxcXC9zY3JpcHQ+JykgOiAnJztcbiAgICBjb25zdCBodG1sID0gYDxzY3JpcHQgdHlwZT1cImFwcGxpY2F0aW9uL2xkK2pzb25cIj4ke2pzb259PC9zY3JpcHQ+YDtcbiAgICByZXR1cm4gdGhpcy5fc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICB9XG59XG4iXX0=
@@ -1,115 +0,0 @@
1
- import { Directive, ElementRef, inject, InjectionToken, Input, isDevMode } from '@angular/core';
2
- import { BehaviorSubject, debounceTime, filter, fromEvent, map, merge, skip, Subject, takeUntil, tap, } from 'rxjs';
3
- import { DestroyService } from '../../services';
4
- import * as i0 from "@angular/core";
5
- export const ANIMATABLE_TOKEN = new InjectionToken('ANIMATABLE_DIRECTIVE_TOKEN');
6
- export class AnimatableDirective {
7
- constructor() {
8
- this._didEmitStart = false;
9
- this._parent = inject(ANIMATABLE_TOKEN, { optional: true, skipSelf: true });
10
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
11
- this._elementRef = inject(ElementRef);
12
- this._animationStart$ = new Subject();
13
- this._animationEnd$ = new Subject();
14
- this._animatedElement$ = new BehaviorSubject(this._elementRef.nativeElement);
15
- this.animationStart$ = this._animationStart$.asObservable().pipe(debounceTime(0));
16
- this.animationEnd$ = this._animationEnd$.asObservable().pipe(debounceTime(0));
17
- this._hostActiveAnimationCount$ = new BehaviorSubject(0);
18
- this._totalActiveAnimationCount$ = new BehaviorSubject(0);
19
- this.isAnimating$ = this._totalActiveAnimationCount$.pipe(map((count) => count > 0), debounceTime(0));
20
- }
21
- set animatedElement(value) {
22
- let newElement = null;
23
- if (value === null || value === undefined) {
24
- newElement = this._elementRef.nativeElement;
25
- }
26
- else if (typeof value === 'string') {
27
- const el = document.querySelector(value);
28
- if (el) {
29
- newElement = el;
30
- }
31
- else {
32
- if (isDevMode()) {
33
- console.warn(`Element with selector ${value} not found. Animatable directive will use host element.`);
34
- }
35
- newElement = this._elementRef.nativeElement;
36
- }
37
- }
38
- else {
39
- newElement = value;
40
- }
41
- if (this._animatedElement$.value !== newElement) {
42
- this._animatedElement$.next(newElement);
43
- }
44
- }
45
- ngOnInit() {
46
- this._animatedElement$
47
- .pipe(tap((el) => {
48
- this._totalActiveAnimationCount$.next(this._totalActiveAnimationCount$.value - this._hostActiveAnimationCount$.value);
49
- this._hostActiveAnimationCount$.next(0);
50
- merge(fromEvent(el, 'animationstart'), fromEvent(el, 'transitionstart'))
51
- .pipe(filter((e) => e.target === el), // skip events from children
52
- tap(() => {
53
- const count = this._hostActiveAnimationCount$.value + 1;
54
- this._hostActiveAnimationCount$.next(count);
55
- this._totalActiveAnimationCount$.next(count);
56
- }), takeUntil(this._destroy$), takeUntil(this._animatedElement$.pipe(skip(1))))
57
- .subscribe();
58
- merge(fromEvent(el, 'animationend'), fromEvent(el, 'animationcancel'), fromEvent(el, 'transitionend'), fromEvent(el, 'transitioncancel'))
59
- .pipe(filter((e) => e.target === el), // skip events from children
60
- tap(() => {
61
- const count = this._hostActiveAnimationCount$.value - 1;
62
- this._hostActiveAnimationCount$.next(count);
63
- this._totalActiveAnimationCount$.next(count);
64
- }), takeUntil(this._destroy$), takeUntil(this._animatedElement$.pipe(skip(1))))
65
- .subscribe();
66
- }), takeUntil(this._destroy$))
67
- .subscribe();
68
- this._totalActiveAnimationCount$
69
- .pipe(tap((count) => {
70
- if (count > 0 && !this._didEmitStart) {
71
- this._animationStart$.next();
72
- this._didEmitStart = true;
73
- }
74
- else if (count === 0) {
75
- this._animationEnd$.next();
76
- this._didEmitStart = false;
77
- }
78
- }), takeUntil(this._destroy$))
79
- .subscribe();
80
- if (this._parent) {
81
- this._parent._hostActiveAnimationCount$
82
- .pipe(takeUntil(this._destroy$), tap((count) => {
83
- this._totalActiveAnimationCount$.next(count + this._hostActiveAnimationCount$.value);
84
- }))
85
- .subscribe();
86
- }
87
- }
88
- }
89
- AnimatableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
90
- AnimatableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", inputs: { animatedElement: ["etAnimatable", "animatedElement"] }, providers: [
91
- {
92
- provide: ANIMATABLE_TOKEN,
93
- useExisting: AnimatableDirective,
94
- },
95
- DestroyService,
96
- ], exportAs: ["etAnimatable"], ngImport: i0 });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AnimatableDirective, decorators: [{
98
- type: Directive,
99
- args: [{
100
- selector: '[etAnimatable]',
101
- exportAs: 'etAnimatable',
102
- standalone: true,
103
- providers: [
104
- {
105
- provide: ANIMATABLE_TOKEN,
106
- useExisting: AnimatableDirective,
107
- },
108
- DestroyService,
109
- ],
110
- }]
111
- }], propDecorators: { animatedElement: [{
112
- type: Input,
113
- args: ['etAnimatable']
114
- }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2FuaW1hdGFibGUvYW5pbWF0YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssRUFFTCxJQUFJLEVBQ0osT0FBTyxFQUNQLFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFzQiw0QkFBNEIsQ0FBQyxDQUFDO0FBY3RHLE1BQU0sT0FBTyxtQkFBbUI7SUFaaEM7UUFhVSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUViLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVELGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUUxRCxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3ZDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTJCOUMsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxD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Y3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIElucHV0LCBpc0Rldk1vZGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBkZWJvdW5jZVRpbWUsXG4gIGZpbHRlcixcbiAgZnJvbUV2ZW50LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBza2lwLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuZXhwb3J0IGNvbnN0IEFOSU1BVEFCTEVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QW5pbWF0YWJsZURpcmVjdGl2ZT4oJ0FOSU1BVEFCTEVfRElSRUNUSVZFX1RPS0VOJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldEFuaW1hdGFibGVdJyxcbiAgZXhwb3J0QXM6ICdldEFuaW1hdGFibGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBTklNQVRBQkxFX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFuaW1hdGFibGVEaXJlY3RpdmUsXG4gICAgfSxcbiAgICBEZXN0cm95U2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQW5pbWF0YWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgX2RpZEVtaXRTdGFydCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudCA9IGluamVjdChBTklNQVRBQkxFX1RPS0VOLCB7IG9wdGlvbmFsOiB0cnVlLCBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveVNlcnZpY2UsIHsgaG9zdDogdHJ1ZSB9KS5kZXN0cm95JDtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYW5pbWF0aW9uU3RhcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYW5pbWF0aW9uRW5kJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KCdldEFuaW1hdGFibGUnKVxuICBzZXQgYW5pbWF0ZWRFbGVtZW50KHZhbHVlOiBzdHJpbmcgfCBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBsZXQgbmV3RWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3RWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih2YWx1ZSkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChlbCkge1xuICAgICAgICBuZXdFbGVtZW50ID0gZWw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgd2l0aCBzZWxlY3RvciAke3ZhbHVlfSBub3QgZm91bmQuIEFuaW1hdGFibGUgZGlyZWN0aXZlIHdpbGwgdXNlIGhvc3QgZWxlbWVudC5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ld0VsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0VsZW1lbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fYW5pbWF0ZWRFbGVtZW50JC52YWx1ZSAhPT0gbmV3RWxlbWVudCkge1xuICAgICAgdGhpcy5fYW5pbWF0ZWRFbGVtZW50JC5uZXh0KG5ld0VsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9hbmltYXRlZEVsZW1lbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIVE1MRWxlbWVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICByZWFkb25seSBhbmltYXRpb25TdGFydCQgPSB0aGlzLl9hbmltYXRpb25TdGFydCQuYXNPYnNlcnZhYmxlKCkucGlwZShkZWJvdW5jZVRpbWUoMCkpO1xuICByZWFkb25seSBhbmltYXRpb25FbmQkID0gdGhpcy5fYW5pbWF0aW9uRW5kJC5hc09ic2VydmFibGUoKS5waXBlKGRlYm91bmNlVGltZSgwKSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdEFjdGl2ZUFuaW1hdGlvbkNvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG90YWxBY3RpdmVBbmltYXRpb25Db3VudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG5cbiAgcmVhZG9ubHkgaXNBbmltYXRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fdG90YWxBY3RpdmVBbmltYXRpb25Db3VudCQucGlwZShcbiAgICBtYXAoKGNvdW50KSA9PiBjb3VudCA+IDApLFxuICAgIGRlYm91bmNlVGltZSgwKSxcbiAgKTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmltYXRlZEVsZW1lbnQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChlbCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3RvdGFsQWN0aXZlQW5pbWF0aW9uQ291bnQkLm5leHQoXG4gICAgICAgICAgICB0aGlzLl90b3RhbEFjdGl2ZUFuaW1hdGlvbkNvdW50JC52YWx1ZSAtIHRoaXMuX2hvc3RBY3RpdmVBbmltYXRpb25Db3VudCQudmFsdWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLl9ob3N0QWN0aXZlQW5pbWF0aW9uQ291bnQkLm5leHQoMCk7XG5cbiAgICAgICAgICBtZXJnZShmcm9tRXZlbnQ8QW5pbWF0aW9uRXZlbnQ+KGVsLCAnYW5pbWF0aW9uc3RhcnQnKSwgZnJvbUV2ZW50PFRyYW5zaXRpb25FdmVudD4oZWwsICd0cmFuc2l0aW9uc3RhcnQnKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBmaWx0ZXIoKGUpID0+IGUudGFyZ2V0ID09PSBlbCksIC8vIHNraXAgZXZlbnRzIGZyb20gY2hpbGRyZW5cbiAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3VudCA9IHRoaXMuX2hvc3RBY3RpdmVBbmltYXRpb25Db3VudCQudmFsdWUgKyAxO1xuICAgICAgICAgICAgICAgIHRoaXMuX2hvc3RBY3RpdmVBbmltYXRpb25Db3VudCQubmV4dChjb3VudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG90YWxBY3RpdmVBbmltYXRpb25Db3VudCQubmV4dChjb3VudCk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fYW5pbWF0ZWRFbGVtZW50JC5waXBlKHNraXAoMSkpKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEFuaW1hdGlvbkV2ZW50PihlbCwgJ2FuaW1hdGlvbmVuZCcpLFxuICAgICAgICAgICAgZnJvbUV2ZW50PEFuaW1hdGlvbkV2ZW50PihlbCwgJ2FuaW1hdGlvbmNhbmNlbCcpLFxuICAgICAgICAgICAgZnJvbUV2ZW50PFRyYW5zaXRpb25FdmVudD4oZWwsICd0cmFuc2l0aW9uZW5kJyksXG4gICAgICAgICAgICBmcm9tRXZlbnQ8VHJhbnNpdGlvbkV2ZW50PihlbCwgJ3RyYW5zaXRpb25jYW5jZWwnKSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgZmlsdGVyKChlKSA9PiBlLnRhcmdldCA9PT0gZWwpLCAvLyBza2lwIGV2ZW50cyBmcm9tIGNoaWxkcmVuXG4gICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLl9ob3N0QWN0aXZlQW5pbWF0aW9uQ291bnQkLnZhbHVlIC0gMTtcbiAgICAgICAgICAgICAgICB0aGlzLl9ob3N0QWN0aXZlQW5pbWF0aW9uQ291bnQkLm5leHQoY291bnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvdGFsQWN0aXZlQW5pbWF0aW9uQ291bnQkLm5leHQoY291bnQpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2FuaW1hdGVkRWxlbWVudCQucGlwZShza2lwKDEpKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdG90YWxBY3RpdmVBbmltYXRpb25Db3VudCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGNvdW50KSA9PiB7XG4gICAgICAgICAgaWYgKGNvdW50ID4gMCAmJiAhdGhpcy5fZGlkRW1pdFN0YXJ0KSB7XG4gICAgICAgICAgICB0aGlzLl9hbmltYXRpb25TdGFydCQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5fZGlkRW1pdFN0YXJ0ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLl9hbmltYXRpb25FbmQkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuX2RpZEVtaXRTdGFydCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAodGhpcy5fcGFyZW50KSB7XG4gICAgICB0aGlzLl9wYXJlbnQuX2hvc3RBY3RpdmVBbmltYXRpb25Db3VudCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgICB0YXAoKGNvdW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLl90b3RhbEFjdGl2ZUFuaW1hdGlvbkNvdW50JC5uZXh0KGNvdW50ICsgdGhpcy5faG9zdEFjdGl2ZUFuaW1hdGlvbkNvdW50JC52YWx1ZSk7XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,115 +0,0 @@
1
- import { Directive, ElementRef, inject, InjectionToken, isDevMode } from '@angular/core';
2
- import { BehaviorSubject, map, switchMap, take, takeUntil, tap } from 'rxjs';
3
- import { DestroyService } from '../../services';
4
- import { createReactiveBindings, forceReflow, fromNextFrame } from '../../utils';
5
- import { AnimatableDirective, ANIMATABLE_TOKEN } from '../animatable';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../animatable/animatable.directive";
8
- export const ANIMATED_LIFECYCLE_TOKEN = new InjectionToken('ANIMATED_LIFECYCLE_DIRECTIVE_TOKEN');
9
- const ANIMATION_CLASSES = {
10
- enterFrom: 'et-animation-enter-from',
11
- enterActive: 'et-animation-enter-active',
12
- enterTo: 'et-animation-enter-to',
13
- leaveFrom: 'et-animation-leave-from',
14
- leaveActive: 'et-animation-leave-active',
15
- leaveTo: 'et-animation-leave-to',
16
- };
17
- export class AnimatedLifecycleDirective {
18
- constructor() {
19
- this._destroy$ = inject(DestroyService, { host: true }).destroy$;
20
- this._elementRef = inject(ElementRef);
21
- this._animatable = inject(ANIMATABLE_TOKEN);
22
- this._classList = this._elementRef.nativeElement.classList;
23
- this._state$ = new BehaviorSubject('init');
24
- this.state$ = this._state$.asObservable();
25
- this._bindings = createReactiveBindings({
26
- attribute: 'class.et-force-invisible',
27
- observable: this._state$.pipe(map((state) => state === 'init')),
28
- });
29
- }
30
- get state() {
31
- return this._state$.value;
32
- }
33
- enter(config) {
34
- if (this.state !== 'init' && this.state !== 'left' && isDevMode()) {
35
- console.warn('Tried to enter but the element is not in the initial state. This may result in unexpected behavior.', this);
36
- }
37
- this._state$.next('entering');
38
- if (!config?.onlyTransition) {
39
- this._classList.add(ANIMATION_CLASSES.enterFrom);
40
- }
41
- forceReflow();
42
- this._classList.add(ANIMATION_CLASSES.enterActive);
43
- fromNextFrame()
44
- .pipe(tap(() => {
45
- if (!config?.onlyTransition) {
46
- this._classList.remove(ANIMATION_CLASSES.enterFrom);
47
- this._classList.add(ANIMATION_CLASSES.enterTo);
48
- }
49
- }), switchMap(() => this._animatable.animationEnd$), tap(() => {
50
- this._state$.next('entered');
51
- this._classList.remove(ANIMATION_CLASSES.enterActive);
52
- if (!config?.onlyTransition) {
53
- this._classList.remove(ANIMATION_CLASSES.enterTo);
54
- }
55
- }), takeUntil(this._destroy$), take(1))
56
- .subscribe();
57
- }
58
- leave(config) {
59
- if (this.state !== 'entered' && this.state !== 'entering' && isDevMode()) {
60
- console.warn('Tried to leave while already leaving or left. This may result in unexpected behavior.', this);
61
- }
62
- if (this._classList.contains(ANIMATION_CLASSES.enterFrom) ||
63
- this._classList.contains(ANIMATION_CLASSES.enterActive) ||
64
- this._classList.contains(ANIMATION_CLASSES.enterTo)) {
65
- this._classList.remove(ANIMATION_CLASSES.enterFrom);
66
- this._classList.remove(ANIMATION_CLASSES.enterActive);
67
- this._classList.remove(ANIMATION_CLASSES.enterTo);
68
- }
69
- this._state$.next('leaving');
70
- if (!config?.onlyTransition) {
71
- this._classList.add(ANIMATION_CLASSES.leaveFrom);
72
- }
73
- forceReflow();
74
- this._classList.add(ANIMATION_CLASSES.leaveActive);
75
- fromNextFrame()
76
- .pipe(tap(() => {
77
- if (!config?.onlyTransition) {
78
- this._classList.remove(ANIMATION_CLASSES.leaveFrom);
79
- this._classList.add(ANIMATION_CLASSES.leaveTo);
80
- }
81
- }), switchMap(() => this._animatable.animationEnd$), tap(() => {
82
- this._state$.next('left');
83
- this._classList.remove(ANIMATION_CLASSES.leaveActive);
84
- if (!config?.onlyTransition) {
85
- this._classList.remove(ANIMATION_CLASSES.leaveTo);
86
- }
87
- }), takeUntil(this._destroy$), take(1))
88
- .subscribe();
89
- }
90
- }
91
- AnimatedLifecycleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
92
- AnimatedLifecycleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: AnimatedLifecycleDirective, isStandalone: true, selector: "[etAnimatedLifecycle]", providers: [
93
- {
94
- provide: ANIMATED_LIFECYCLE_TOKEN,
95
- useExisting: AnimatedLifecycleDirective,
96
- },
97
- DestroyService,
98
- ], exportAs: ["etAnimatedLifecycle"], hostDirectives: [{ directive: i1.AnimatableDirective }], ngImport: i0 });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
100
- type: Directive,
101
- args: [{
102
- selector: '[etAnimatedLifecycle]',
103
- exportAs: 'etAnimatedLifecycle',
104
- standalone: true,
105
- providers: [
106
- {
107
- provide: ANIMATED_LIFECYCLE_TOKEN,
108
- useExisting: AnimatedLifecycleDirective,
109
- },
110
- DestroyService,
111
- ],
112
- hostDirectives: [AnimatableDirective],
113
- }]
114
- }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0ZWQtbGlmZWN5Y2xlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvYW5pbWF0ZWQtbGlmZWN5Y2xlL2FuaW1hdGVkLWxpZmVjeWNsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUV0RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsb0NBQW9DLENBQ3JDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLFNBQVMsRUFBRSx5QkFBeUI7SUFDcEMsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxPQUFPLEVBQUUsdUJBQXVCO0NBQ3hCLENBQUM7QUFlWCxNQUFNLE9BQU8sMEJBQTBCO0lBYnZDO1FBY21CLGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzVELGdCQUFX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QUFVLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXRELElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFO2dCQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuRDtRQUNILENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O3VIQXZHVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixvRUFUMUI7UUFDVDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsV0FBVyxFQUFFLDBCQUEwQjtTQUN4QztRQUNELGNBQWM7S0FDZjsyRkFHVSwwQkFBMEI7a0JBYnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxXQUFXLDRCQUE0Qjt5QkFDeEM7d0JBQ0QsY0FBYztxQkFDZjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlc3Ryb3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncywgZm9yY2VSZWZsb3csIGZyb21OZXh0RnJhbWUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBbmltYXRhYmxlRGlyZWN0aXZlLCBBTklNQVRBQkxFX1RPS0VOIH0gZnJvbSAnLi4vYW5pbWF0YWJsZSc7XG5cbmV4cG9ydCBjb25zdCBBTklNQVRFRF9MSUZFQ1lDTEVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QW5pbWF0ZWRMaWZlY3ljbGVEaXJlY3RpdmU+KFxuICAnQU5JTUFURURfTElGRUNZQ0xFX0RJUkVDVElWRV9UT0tFTicsXG4pO1xuXG5jb25zdCBBTklNQVRJT05fQ0xBU1NFUyA9IHtcbiAgZW50ZXJGcm9tOiAnZXQtYW5pbWF0aW9uLWVudGVyLWZyb20nLFxuICBlbnRlckFjdGl2ZTogJ2V0LWFuaW1hdGlvbi1lbnRlci1hY3RpdmUnLFxuICBlbnRlclRvOiAnZXQtYW5pbWF0aW9uLWVudGVyLXRvJyxcbiAgbGVhdmVGcm9tOiAnZXQtYW5pbWF0aW9uLWxlYXZlLWZyb20nLFxuICBsZWF2ZUFjdGl2ZTogJ2V0LWFuaW1hdGlvbi1sZWF2ZS1hY3RpdmUnLFxuICBsZWF2ZVRvOiAnZXQtYW5pbWF0aW9uLWxlYXZlLXRvJyxcbn0gYXMgY29uc3Q7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldEFuaW1hdGVkTGlmZWN5Y2xlXScsXG4gIGV4cG9ydEFzOiAnZXRBbmltYXRlZExpZmVjeWNsZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFOSU1BVEVEX0xJRkVDWUNMRV9UT0tFTixcbiAgICAgIHVzZUV4aXN0aW5nOiBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZSxcbiAgICB9LFxuICAgIERlc3Ryb3lTZXJ2aWNlLFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW0FuaW1hdGFibGVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gaW5qZWN0KERlc3Ryb3lTZXJ2aWNlLCB7IGhvc3Q6IHRydWUgfSkuZGVzdHJveSQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hbmltYXRhYmxlID0gaW5qZWN0KEFOSU1BVEFCTEVfVE9LRU4pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbGFzc0xpc3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gIHByaXZhdGUgX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J2VudGVyaW5nJyB8ICdlbnRlcmVkJyB8ICdsZWF2aW5nJyB8ICdsZWZ0JyB8ICdpbml0Jz4oJ2luaXQnKTtcbiAgcmVhZG9ubHkgc3RhdGUkID0gdGhpcy5fc3RhdGUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUkLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKHtcbiAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1mb3JjZS1pbnZpc2libGUnLFxuICAgIG9ic2VydmFibGU6IHRoaXMuX3N0YXRlJC5waXBlKG1hcCgoc3RhdGUpID0+IHN0YXRlID09PSAnaW5pdCcpKSxcbiAgfSk7XG5cbiAgZW50ZXIoY29uZmlnPzogeyBvbmx5VHJhbnNpdGlvbj86IGJvb2xlYW4gfSkge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnaW5pdCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2xlZnQnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdUcmllZCB0byBlbnRlciBidXQgdGhlIGVsZW1lbnQgaXMgbm90IGluIHRoZSBpbml0aWFsIHN0YXRlLiBUaGlzIG1heSByZXN1bHQgaW4gdW5leHBlY3RlZCBiZWhhdmlvci4nLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0ZSQubmV4dCgnZW50ZXJpbmcnKTtcblxuICAgIGlmICghY29uZmlnPy5vbmx5VHJhbnNpdGlvbikge1xuICAgICAgdGhpcy5fY2xhc3NMaXN0LmFkZChBTklNQVRJT05fQ0xBU1NFUy5lbnRlckZyb20pO1xuICAgIH1cblxuICAgIGZvcmNlUmVmbG93KCk7XG4gICAgdGhpcy5fY2xhc3NMaXN0LmFkZChBTklNQVRJT05fQ0xBU1NFUy5lbnRlckFjdGl2ZSk7XG5cbiAgICBmcm9tTmV4dEZyYW1lKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghY29uZmlnPy5vbmx5VHJhbnNpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fY2xhc3NMaXN0LnJlbW92ZShBTklNQVRJT05fQ0xBU1NFUy5lbnRlckZyb20pO1xuICAgICAgICAgICAgdGhpcy5fY2xhc3NMaXN0LmFkZChBTklNQVRJT05fQ0xBU1NFUy5lbnRlclRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fYW5pbWF0YWJsZS5hbmltYXRpb25FbmQkKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCgnZW50ZXJlZCcpO1xuICAgICAgICAgIHRoaXMuX2NsYXNzTGlzdC5yZW1vdmUoQU5JTUFUSU9OX0NMQVNTRVMuZW50ZXJBY3RpdmUpO1xuXG4gICAgICAgICAgaWYgKCFjb25maWc/Lm9ubHlUcmFuc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9jbGFzc0xpc3QucmVtb3ZlKEFOSU1BVElPTl9DTEFTU0VTLmVudGVyVG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBsZWF2ZShjb25maWc/OiB7IG9ubHlUcmFuc2l0aW9uPzogYm9vbGVhbiB9KSB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdlbnRlcmVkJyAmJiB0aGlzLnN0YXRlICE9PSAnZW50ZXJpbmcnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1RyaWVkIHRvIGxlYXZlIHdoaWxlIGFscmVhZHkgbGVhdmluZyBvciBsZWZ0LiBUaGlzIG1heSByZXN1bHQgaW4gdW5leHBlY3RlZCBiZWhhdmlvci4nLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLl9jbGFzc0xpc3QuY29udGFpbnMoQU5JTUFUSU9OX0NMQVNTRVMuZW50ZXJGcm9tKSB8fFxuICAgICAgdGhpcy5fY2xhc3NMaXN0LmNvbnRhaW5zKEFOSU1BVElPTl9DTEFTU0VTLmVudGVyQWN0aXZlKSB8fFxuICAgICAgdGhpcy5fY2xhc3NMaXN0LmNvbnRhaW5zKEFOSU1BVElPTl9DTEFTU0VTLmVudGVyVG8pXG4gICAgKSB7XG4gICAgICB0aGlzLl9jbGFzc0xpc3QucmVtb3ZlKEFOSU1BVElPTl9DTEFTU0VTLmVudGVyRnJvbSk7XG4gICAgICB0aGlzLl9jbGFzc0xpc3QucmVtb3ZlKEFOSU1BVElPTl9DTEFTU0VTLmVudGVyQWN0aXZlKTtcbiAgICAgIHRoaXMuX2NsYXNzTGlzdC5yZW1vdmUoQU5JTUFUSU9OX0NMQVNTRVMuZW50ZXJUbyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUkLm5leHQoJ2xlYXZpbmcnKTtcblxuICAgIGlmICghY29uZmlnPy5vbmx5VHJhbnNpdGlvbikge1xuICAgICAgdGhpcy5fY2xhc3NMaXN0LmFkZChBTklNQVRJT05fQ0xBU1NFUy5sZWF2ZUZyb20pO1xuICAgIH1cblxuICAgIGZvcmNlUmVmbG93KCk7XG4gICAgdGhpcy5fY2xhc3NMaXN0LmFkZChBTklNQVRJT05fQ0xBU1NFUy5sZWF2ZUFjdGl2ZSk7XG5cbiAgICBmcm9tTmV4dEZyYW1lKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghY29uZmlnPy5vbmx5VHJhbnNpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fY2xhc3NMaXN0LnJlbW92ZShBTklNQVRJT05fQ0xBU1NFUy5sZWF2ZUZyb20pO1xuICAgICAgICAgICAgdGhpcy5fY2xhc3NMaXN0LmFkZChBTklNQVRJT05fQ0xBU1NFUy5sZWF2ZVRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fYW5pbWF0YWJsZS5hbmltYXRpb25FbmQkKSxcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCgnbGVmdCcpO1xuICAgICAgICAgIHRoaXMuX2NsYXNzTGlzdC5yZW1vdmUoQU5JTUFUSU9OX0NMQVNTRVMubGVhdmVBY3RpdmUpO1xuXG4gICAgICAgICAgaWYgKCFjb25maWc/Lm9ubHlUcmFuc2l0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9jbGFzc0xpc3QucmVtb3ZlKEFOSU1BVElPTl9DTEFTU0VTLmxlYXZlVG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Directive, ElementRef, EventEmitter, inject, Output } from '@angular/core';
2
- import { ClickObserverService } from '../../services';
3
- import * as i0 from "@angular/core";
4
- export class ClickOutsideDirective {
5
- constructor() {
6
- this._elementRef = inject(ElementRef);
7
- this._clickObserverService = inject(ClickObserverService);
8
- this._subscription = null;
9
- this.etClickOutside = new EventEmitter();
10
- }
11
- ngOnInit() {
12
- setTimeout(() => {
13
- this._subscription = this._clickObserverService.observe(this._elementRef.nativeElement).subscribe((event) => {
14
- const activeElement = event.target;
15
- const isInside = this._elementRef.nativeElement.contains(activeElement);
16
- if (!isInside) {
17
- this.etClickOutside.emit(event);
18
- }
19
- });
20
- });
21
- }
22
- ngOnDestroy() {
23
- this._subscription?.unsubscribe();
24
- }
25
- }
26
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
27
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { etClickOutside: "etClickOutside" }, ngImport: i0 });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: ClickOutsideDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- selector: '[etClickOutside]',
32
- standalone: true,
33
- }]
34
- }], propDecorators: { etClickOutside: [{
35
- type: Output
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU10RCxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS1UsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFckQsa0JBQWEsR0FBd0IsSUFBSSxDQUFDO1FBR2xELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQWtCakQ7SUFoQkMsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDMUcsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7Z0JBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFFeEUsSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDYixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O2tIQXhCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFRQyxjQUFjO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsaWNrT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZXRDbGlja091dHNpZGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIF9jbGlja09ic2VydmVyU2VydmljZSA9IGluamVjdChDbGlja09ic2VydmVyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KClcbiAgZXRDbGlja091dHNpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zdWJzY3JpcHRpb24gPSB0aGlzLl9jbGlja09ic2VydmVyU2VydmljZS5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBpc0luc2lkZSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhhY3RpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoIWlzSW5zaWRlKSB7XG4gICAgICAgICAgdGhpcy5ldENsaWNrT3V0c2lkZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==