@ethlete/core 0.2.0-next.2 → 0.2.0-next.3
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.
- package/esm2020/lib/directives/observe-content/observe-content.directive.mjs +10 -10
- package/esm2020/lib/directives/observe-resize/observe-resize.directive.mjs +9 -10
- package/fesm2015/ethlete-core.mjs +16 -15
- package/fesm2015/ethlete-core.mjs.map +1 -1
- package/fesm2020/ethlete-core.mjs +16 -15
- package/fesm2020/ethlete-core.mjs.map +1 -1
- package/lib/directives/observe-content/observe-content.directive.d.ts +2 -4
- package/lib/directives/observe-resize/observe-resize.directive.d.ts +2 -4
- package/package.json +1 -1
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { Directive, ElementRef, EventEmitter, Input, NgZone, Output } from '@angular/core';
|
|
2
|
+
import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';
|
|
3
3
|
import { debounceTime } from 'rxjs/operators';
|
|
4
4
|
import { ContentObserverService } from '../../services';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../services";
|
|
7
6
|
export class ObserveContentDirective {
|
|
8
|
-
constructor(
|
|
9
|
-
this._contentObserver =
|
|
10
|
-
this._elementRef =
|
|
11
|
-
this._ngZone =
|
|
7
|
+
constructor() {
|
|
8
|
+
this._contentObserver = inject(ContentObserverService);
|
|
9
|
+
this._elementRef = inject(ElementRef);
|
|
10
|
+
this._ngZone = inject(NgZone);
|
|
12
11
|
this.event = new EventEmitter();
|
|
13
12
|
this._disabled = false;
|
|
14
13
|
this._debounce = null;
|
|
@@ -47,15 +46,16 @@ export class ObserveContentDirective {
|
|
|
47
46
|
this._currentSubscription?.unsubscribe();
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
ObserveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, deps: [
|
|
51
|
-
ObserveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveContentDirective, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { event: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 });
|
|
49
|
+
ObserveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
50
|
+
ObserveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { event: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 });
|
|
52
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, decorators: [{
|
|
53
52
|
type: Directive,
|
|
54
53
|
args: [{
|
|
55
54
|
selector: '[etObserveContent]',
|
|
56
55
|
exportAs: 'etObserveContent',
|
|
56
|
+
standalone: true,
|
|
57
57
|
}]
|
|
58
|
-
}],
|
|
58
|
+
}], propDecorators: { event: [{
|
|
59
59
|
type: Output,
|
|
60
60
|
args: ['etObserveContent']
|
|
61
61
|
}], disabled: [{
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
65
65
|
type: Input,
|
|
66
66
|
args: ['etObserveContentDebounce']
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1jb250ZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1jb250ZW50L29ic2VydmUtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUE2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU94RCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBTVUscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbEQsZ0JBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQzFELFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFHeEIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBVTlDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFVbEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFFaEMseUJBQW9CLEdBQXdCLElBQUksQ0FBQztLQTBCMUQ7SUE5Q0MsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNELENBQUM7SUFHRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFLRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQ3ZHLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7O29IQXJEVSx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFPVSxLQUFLO3NCQURiLE1BQU07dUJBQUMsa0JBQWtCO2dCQUl0QixRQUFRO3NCQURYLEtBQUs7dUJBQUMsMEJBQTBCO2dCQVc3QixRQUFRO3NCQURYLEtBQUs7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbnRlbnRPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldE9ic2VydmVDb250ZW50XScsXG4gIGV4cG9ydEFzOiAnZXRPYnNlcnZlQ29udGVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE9ic2VydmVDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfY29udGVudE9ic2VydmVyID0gaW5qZWN0KENvbnRlbnRPYnNlcnZlclNlcnZpY2UpO1xuICBwcml2YXRlIF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgQE91dHB1dCgnZXRPYnNlcnZlQ29udGVudCcpXG4gIHJlYWRvbmx5IGV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxNdXRhdGlvblJlY29yZFtdPigpO1xuXG4gIEBJbnB1dCgnZXRPYnNlcnZlQ29udGVudERpc2FibGVkJylcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLl9kaXNhYmxlZCA/IHRoaXMuX3Vuc3Vic2NyaWJlKCkgOiB0aGlzLl9zdWJzY3JpYmUoKTtcbiAgfVxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnZXRPYnNlcnZlQ29udGVudERlYm91bmNlJylcbiAgZ2V0IGRlYm91bmNlKCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9kZWJvdW5jZTtcbiAgfVxuICBzZXQgZGVib3VuY2UodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fZGVib3VuY2UgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGVib3VuY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICBjb25zdCBzdHJlYW0gPSB0aGlzLl9jb250ZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmKTtcblxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uID0gKHRoaXMuZGVib3VuY2UgPyBzdHJlYW0ucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSkpIDogc3RyZWFtKS5zdWJzY3JpYmUoXG4gICAgICAgIHRoaXMuZXZlbnQsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fY3VycmVudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { Directive, ElementRef, EventEmitter, Input, NgZone, Output } from '@angular/core';
|
|
2
|
+
import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';
|
|
3
3
|
import { debounceTime } from 'rxjs';
|
|
4
4
|
import { ResizeObserverService } from '../../services';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../../services";
|
|
7
6
|
export class ObserveResizeDirective {
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
10
|
-
this._elementRef =
|
|
11
|
-
this._ngZone =
|
|
7
|
+
constructor() {
|
|
8
|
+
this._resizeObserver = inject(ResizeObserverService);
|
|
9
|
+
this._elementRef = inject(ElementRef);
|
|
10
|
+
this._ngZone = inject(NgZone);
|
|
12
11
|
this.event = new EventEmitter();
|
|
13
12
|
this._disabled = false;
|
|
14
13
|
this._debounce = null;
|
|
@@ -38,7 +37,7 @@ export class ObserveResizeDirective {
|
|
|
38
37
|
}
|
|
39
38
|
_subscribe() {
|
|
40
39
|
this._unsubscribe();
|
|
41
|
-
const stream = this.
|
|
40
|
+
const stream = this._resizeObserver.observe(this._elementRef);
|
|
42
41
|
this._ngZone.runOutsideAngular(() => {
|
|
43
42
|
this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);
|
|
44
43
|
});
|
|
@@ -47,7 +46,7 @@ export class ObserveResizeDirective {
|
|
|
47
46
|
this._currentSubscription?.unsubscribe();
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
|
-
ObserveResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, deps: [
|
|
49
|
+
ObserveResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
51
50
|
ObserveResizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { event: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 });
|
|
52
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, decorators: [{
|
|
53
52
|
type: Directive,
|
|
@@ -56,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
56
55
|
exportAs: 'etObserveResize',
|
|
57
56
|
standalone: true,
|
|
58
57
|
}]
|
|
59
|
-
}],
|
|
58
|
+
}], propDecorators: { event: [{
|
|
60
59
|
type: Output,
|
|
61
60
|
args: ['etObserveResize']
|
|
62
61
|
}], disabled: [{
|
|
@@ -66,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
66
65
|
type: Input,
|
|
67
66
|
args: ['etObserveResizeDebounce']
|
|
68
67
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2ZS1yZXNpemUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9vYnNlcnZlLXJlc2l6ZS9vYnNlcnZlLXJlc2l6ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUE2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNVSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2hELGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBR3hCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQVVuRCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBVWxCLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBRWhDLHlCQUFvQixHQUF3QixJQUFJLENBQUM7S0EwQjFEO0lBOUNDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBR0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFrQjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBS0Qsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FDdkcsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7bUhBckRVLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQU9VLEtBQUs7c0JBRGIsTUFBTTt1QkFBQyxpQkFBaUI7Z0JBSXJCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBVzVCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5LCBCb29sZWFuSW5wdXQsIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tldE9ic2VydmVSZXNpemVdJyxcbiAgZXhwb3J0QXM6ICdldE9ic2VydmVSZXNpemUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBPYnNlcnZlUmVzaXplRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXIgPSBpbmplY3QoUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIEBPdXRwdXQoJ2V0T2JzZXJ2ZVJlc2l6ZScpXG4gIHJlYWRvbmx5IGV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNpemVPYnNlcnZlckVudHJ5W10+KCk7XG5cbiAgQElucHV0KCdldE9ic2VydmVSZXNpemVEaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLl91bnN1YnNjcmliZSgpIDogdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ2V0T2JzZXJ2ZVJlc2l6ZURlYm91bmNlJylcbiAgZ2V0IGRlYm91bmNlKCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9kZWJvdW5jZTtcbiAgfVxuICBzZXQgZGVib3VuY2UodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fZGVib3VuY2UgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy5fc3Vic2NyaWJlKCk7XG4gIH1cbiAgcHJpdmF0ZSBfZGVib3VuY2U6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICBjb25zdCBzdHJlYW0gPSB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb24gPSAodGhpcy5kZWJvdW5jZSA/IHN0cmVhbS5waXBlKGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlKSkgOiBzdHJlYW0pLnN1YnNjcmliZShcbiAgICAgICAgdGhpcy5ldmVudCxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Directive, Input, Injectable, Inject, Optional, inject, EventEmitter, Output, Pipe } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Directive, Input, Injectable, Inject, Optional, inject, ElementRef, NgZone, EventEmitter, Output, Pipe } from '@angular/core';
|
|
3
3
|
import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
4
|
import { BehaviorSubject, combineLatest, map, shareReplay, Observable, Subject, debounceTime } from 'rxjs';
|
|
5
5
|
import { __decorate, __metadata } from 'tslib';
|
|
@@ -471,10 +471,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
471
471
|
}], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });
|
|
472
472
|
|
|
473
473
|
class ObserveResizeDirective {
|
|
474
|
-
constructor(
|
|
475
|
-
this.
|
|
476
|
-
this._elementRef =
|
|
477
|
-
this._ngZone =
|
|
474
|
+
constructor() {
|
|
475
|
+
this._resizeObserver = inject(ResizeObserverService);
|
|
476
|
+
this._elementRef = inject(ElementRef);
|
|
477
|
+
this._ngZone = inject(NgZone);
|
|
478
478
|
this.event = new EventEmitter();
|
|
479
479
|
this._disabled = false;
|
|
480
480
|
this._debounce = null;
|
|
@@ -504,7 +504,7 @@ class ObserveResizeDirective {
|
|
|
504
504
|
}
|
|
505
505
|
_subscribe() {
|
|
506
506
|
this._unsubscribe();
|
|
507
|
-
const stream = this.
|
|
507
|
+
const stream = this._resizeObserver.observe(this._elementRef);
|
|
508
508
|
this._ngZone.runOutsideAngular(() => {
|
|
509
509
|
this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);
|
|
510
510
|
});
|
|
@@ -514,7 +514,7 @@ class ObserveResizeDirective {
|
|
|
514
514
|
(_a = this._currentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
515
515
|
}
|
|
516
516
|
}
|
|
517
|
-
ObserveResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, deps: [
|
|
517
|
+
ObserveResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
518
518
|
ObserveResizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { event: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 });
|
|
519
519
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, decorators: [{
|
|
520
520
|
type: Directive,
|
|
@@ -523,7 +523,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
523
523
|
exportAs: 'etObserveResize',
|
|
524
524
|
standalone: true,
|
|
525
525
|
}]
|
|
526
|
-
}],
|
|
526
|
+
}], propDecorators: { event: [{
|
|
527
527
|
type: Output,
|
|
528
528
|
args: ['etObserveResize']
|
|
529
529
|
}], disabled: [{
|
|
@@ -535,10 +535,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
535
535
|
}] } });
|
|
536
536
|
|
|
537
537
|
class ObserveContentDirective {
|
|
538
|
-
constructor(
|
|
539
|
-
this._contentObserver =
|
|
540
|
-
this._elementRef =
|
|
541
|
-
this._ngZone =
|
|
538
|
+
constructor() {
|
|
539
|
+
this._contentObserver = inject(ContentObserverService);
|
|
540
|
+
this._elementRef = inject(ElementRef);
|
|
541
|
+
this._ngZone = inject(NgZone);
|
|
542
542
|
this.event = new EventEmitter();
|
|
543
543
|
this._disabled = false;
|
|
544
544
|
this._debounce = null;
|
|
@@ -578,15 +578,16 @@ class ObserveContentDirective {
|
|
|
578
578
|
(_a = this._currentSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
|
-
ObserveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, deps: [
|
|
582
|
-
ObserveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveContentDirective, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { event: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 });
|
|
581
|
+
ObserveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
582
|
+
ObserveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { event: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 });
|
|
583
583
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, decorators: [{
|
|
584
584
|
type: Directive,
|
|
585
585
|
args: [{
|
|
586
586
|
selector: '[etObserveContent]',
|
|
587
587
|
exportAs: 'etObserveContent',
|
|
588
|
+
standalone: true,
|
|
588
589
|
}]
|
|
589
|
-
}],
|
|
590
|
+
}], propDecorators: { event: [{
|
|
590
591
|
type: Output,
|
|
591
592
|
args: ['etObserveContent']
|
|
592
593
|
}], disabled: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethlete-core.mjs","sources":["../../../../libs/core/src/lib/constants/viewport.constants.ts","../../../../libs/core/src/lib/decorators/memo/memo.decorator.ts","../../../../libs/core/src/lib/directives/let/let.types.ts","../../../../libs/core/src/lib/directives/let/let.directive.ts","../../../../libs/core/src/lib/directives/repeat/repeat.directive.ts","../../../../libs/core/src/lib/services/viewport.service.ts","../../../../libs/core/src/lib/services/focus-visible.service.ts","../../../../libs/core/src/lib/services/resize-observer.service.ts","../../../../libs/core/src/lib/services/content-observer.service.ts","../../../../libs/core/src/lib/directives/observe-resize/observe-resize.directive.ts","../../../../libs/core/src/lib/directives/observe-content/observe-content.directive.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.util.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.pipe.ts","../../../../libs/core/src/lib/utils/viewport.util.ts","../../../../libs/core/src/lib/utils/clamp.util.ts","../../../../libs/core/src/ethlete-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ViewportConfig } from '../types';\n\nexport const VIEWPORT_CONFIG = new InjectionToken<ViewportConfig>('ViewportConfig');\n\n/**\n * Default viewport config based on Tailwind CSS.\n * @see https://tailwindcss.com/docs/screens\n */\nexport const DEFAULT_VIEWPORT_CONFIG: ViewportConfig = {\n breakpoints: {\n xs: [0, 639],\n sm: [640, 767],\n md: [768, 1023],\n lg: [1024, 1279],\n xl: [1280, 1535],\n '2xl': [1536, Infinity],\n },\n};\n","export interface MemoResolver {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (...args: any[]): any;\n}\n\nexport interface MapLike<K = unknown, V = unknown> {\n set(key: K, v: V): MapLike<K, V>;\n get(key: K): V;\n has(key: K): boolean;\n}\n\nexport interface MemoConfig {\n resolver?: MemoResolver;\n cache?: MapLike;\n}\n\nfunction memoize(func: (..._args: unknown[]) => unknown, resolver: MemoResolver, cache: MapLike) {\n const memoized = function (this: unknown, ...args: unknown[]) {\n const key = resolver.apply(this, args);\n const cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n const result = func.apply(this, args);\n memoized.cache = cache.set(key, result) ?? cache;\n return result;\n };\n\n memoized.cache = cache;\n\n return memoized;\n}\n\nconst defaultResolver: MemoResolver = (...args: unknown[]) => args.join('-');\n\nexport const Memo =\n (config: MemoConfig = {}) =>\n (_: unknown, __: string, descriptor: PropertyDescriptor): PropertyDescriptor => {\n if (typeof descriptor.value !== 'function') {\n throw new Error('Memoization can be applied only to methods');\n }\n\n const resolver = config.resolver ?? defaultResolver;\n const cache = config.cache ?? new Map();\n\n descriptor.value = memoize(descriptor.value, resolver, cache);\n return descriptor;\n };\n","export class LetContext<T = unknown> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public $implicit: T = null!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public etLet: T = null!;\n}\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { LetContext } from './let.types';\n\n@Directive({\n selector: '[etLet]',\n standalone: true,\n})\nexport class LetDirective<T = unknown> {\n @Input()\n set etLet(value: T) {\n this._context.$implicit = this._context.etLet = value;\n this._updateView();\n }\n\n static ngTemplateGuard_ngLet: 'binding';\n\n private _context: LetContext<T> = new LetContext<T>();\n private _templateRef: TemplateRef<LetContext<T>> | null = null;\n private _viewRef: EmbeddedViewRef<LetContext<T>> | null = null;\n\n constructor(private _viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n this._templateRef = templateRef;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static ngTemplateContextGuard<T>(dir: LetDirective<T>, ctx: any): ctx is LetContext<T> {\n return true;\n }\n\n private _updateView() {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef) {\n this._viewRef = this._viewContainer.createEmbeddedView(this._templateRef, this._context);\n }\n }\n }\n}\n","import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[etRepeat]',\n standalone: true,\n})\nexport class RepeatDirective implements OnInit {\n @Input('etRepeat')\n get repeatCount(): number {\n return this._repeatCount;\n }\n set repeatCount(value: NumberInput) {\n this._repeatCount = coerceNumberProperty(value);\n }\n private _repeatCount = 2;\n\n constructor(private _mainTemplateRef: TemplateRef<unknown>, private _viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n this._render();\n }\n\n private _render() {\n for (let i = 0; i < this.repeatCount; i++) {\n this._viewContainerRef.createEmbeddedView(this._mainTemplateRef);\n }\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, shareReplay } from 'rxjs';\nimport { DEFAULT_VIEWPORT_CONFIG, VIEWPORT_CONFIG } from '../constants';\nimport { Breakpoint, ViewportConfig } from '../types';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Memo } from '../decorators';\nimport { BuildMediaQueryOptions } from './viewport.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ViewportService {\n private _viewportConfig: ViewportConfig;\n\n private _isXs$ = new BehaviorSubject(false);\n private _isSm$ = new BehaviorSubject(false);\n private _isMd$ = new BehaviorSubject(false);\n private _isLg$ = new BehaviorSubject(false);\n private _isXl$ = new BehaviorSubject(false);\n private _is2Xl$ = new BehaviorSubject(false);\n\n get isXs$() {\n return this._isXs$.asObservable();\n }\n\n get isXs() {\n return this._isXs$.value;\n }\n\n get isSm$() {\n return this._isSm$.asObservable();\n }\n\n get isSm() {\n return this._isSm$.value;\n }\n\n get isMd$() {\n return this._isMd$.asObservable();\n }\n\n get isMd() {\n return this._isMd$.value;\n }\n\n get isLg$() {\n return this._isLg$.asObservable();\n }\n\n get isLg() {\n return this._isLg$.value;\n }\n\n get isXl$() {\n return this._isXl$.asObservable();\n }\n\n get isXl() {\n return this._isXl$.value;\n }\n\n get is2Xl$() {\n return this._is2Xl$.asObservable();\n }\n\n get is2Xl() {\n return this._is2Xl$.value;\n }\n\n currentViewport$ = combineLatest([this.isXs$, this.isSm$, this.isMd$, this.isLg$, this.isXl$, this.is2Xl$]).pipe(\n map((val) => this.getCurrentViewport(val)),\n shareReplay(),\n );\n\n get currentViewport() {\n return this.getCurrentViewport([this.isXs, this.isSm, this.isMd, this.isLg, this.isXl, this.is2Xl]);\n }\n\n constructor(\n @Inject(VIEWPORT_CONFIG) @Optional() _viewportConfig: ViewportConfig | null,\n private _breakpointObserver: BreakpointObserver,\n ) {\n this._viewportConfig = _viewportConfig || DEFAULT_VIEWPORT_CONFIG;\n this._observeDefaultBreakpoints();\n }\n\n observe(options: { min?: number | Breakpoint; max?: number | Breakpoint }): Observable<boolean> {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.observe(mediaQuery).pipe(\n map((x) => x.matches),\n shareReplay(),\n );\n }\n\n isMatched(options: { min?: number | Breakpoint; max?: number | Breakpoint }): boolean {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.isMatched(mediaQuery);\n }\n\n private _observeDefaultBreakpoints() {\n this.observe({ max: 'xs' }).subscribe(this._isXs$);\n this.observe({ min: 'sm', max: 'sm' }).subscribe(this._isSm$);\n this.observe({ min: 'md', max: 'md' }).subscribe(this._isMd$);\n this.observe({ min: 'lg', max: 'lg' }).subscribe(this._isLg$);\n this.observe({ min: 'xl', max: 'xl' }).subscribe(this._isXl$);\n this.observe({ min: '2xl' }).subscribe(this._is2Xl$);\n }\n\n @Memo()\n private _getViewportSize(type: Breakpoint, option: 'min' | 'max') {\n const index = option === 'min' ? 0 : 1;\n const size = this._viewportConfig.breakpoints[type][index];\n\n if (size === Infinity || size === 0) {\n return size;\n }\n\n if (option === 'min') {\n return size;\n }\n\n // Due to scaling, the actual size of the viewport may be a decimal number.\n // Eg. on Windows 11 with 150% scaling, the viewport size may be 1535.33px\n // and thus not matching any of the default breakpoints.\n return size + 0.9;\n }\n\n @Memo({\n resolver: (v: BuildMediaQueryOptions) => {\n return `${v.min ?? ''}-${v.max ?? ''}`;\n },\n })\n private _buildMediaQuery(options: BuildMediaQueryOptions) {\n if (!options.min && !options.max) {\n throw new Error('At least one of min or max must be defined');\n }\n\n const mediaQueryParts: string[] = [];\n\n if (options.min) {\n if (typeof options.min === 'number') {\n mediaQueryParts.push(`(min-width: ${options.min}px)`);\n } else {\n mediaQueryParts.push(`(min-width: ${this._getViewportSize(options.min, 'min')}px)`);\n }\n }\n\n if (options.min && options.max) {\n mediaQueryParts.push('and');\n }\n\n if (options.max) {\n if (typeof options.max === 'number') {\n mediaQueryParts.push(`(max-width: ${options.max}px)`);\n } else {\n mediaQueryParts.push(`(max-width: ${this._getViewportSize(options.max, 'max')}px)`);\n }\n }\n\n return mediaQueryParts.join(' ');\n }\n\n private getCurrentViewport([isXs, isSm, isMd, isLg, isXl, is2Xl]: [\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n ]): Breakpoint {\n if (isXs) {\n return 'xs';\n } else if (isSm) {\n return 'sm';\n } else if (isMd) {\n return 'md';\n } else if (isLg) {\n return 'lg';\n } else if (isXl) {\n return 'xl';\n } else if (is2Xl) {\n return '2xl';\n }\n\n return 'xs';\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FocusVisibleService {\n private readonly _document = inject<Document>(DOCUMENT);\n\n private _hadKeyboardEvent = false;\n\n get isFocusVisible() {\n return this._hadKeyboardEvent;\n }\n\n constructor() {\n this._document.addEventListener('keydown', this.onKeyDown.bind(this), true);\n this._document.addEventListener('mousedown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('pointerdown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('touchstart', this.onPointerDown.bind(this), true);\n }\n\n onKeyDown(e: KeyboardEvent) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n this._hadKeyboardEvent = true;\n }\n\n onPointerDown() {\n this._hadKeyboardEvent = false;\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverFactory {\n create(callback: ResizeObserverCallback): ResizeObserver | null {\n return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: ResizeObserver | null;\n readonly stream: Subject<ResizeObserverEntry[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: ResizeObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<ResizeObserverEntry[]>;\n observe(element: ElementRef<Element>): Observable<ResizeObserverEntry[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<ResizeObserverEntry[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<ResizeObserverEntry[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<ResizeObserverEntry[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<ResizeObserverEntry[]>();\n const observer = this._mutationObserverFactory.create((resizes) => stream.next(resizes));\n if (observer) {\n observer.observe(element);\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContentObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: MutationObserver | null;\n readonly stream: Subject<MutationRecord[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<MutationRecord[]>;\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { AfterContentInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output } from '@angular/core';\nimport { Subscription, debounceTime } from 'rxjs';\nimport { ResizeObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveResize]',\n exportAs: 'etObserveResize',\n standalone: true,\n})\nexport class ObserveResizeDirective implements AfterContentInit, OnDestroy {\n @Output('etObserveResize')\n readonly event = new EventEmitter<ResizeObserverEntry[]>();\n\n @Input('etObserveResizeDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveResizeDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(\n private _contentObserver: ResizeObserverService,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n ) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { AfterContentInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ContentObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveContent]',\n exportAs: 'etObserveContent',\n})\nexport class ObserveContentDirective implements AfterContentInit, OnDestroy {\n @Output('etObserveContent') readonly event = new EventEmitter<MutationRecord[]>();\n\n @Input('etObserveContentDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveContentDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(\n private _contentObserver: ContentObserverService,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n ) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { TrackByFunction } from '@angular/core';\n\nexport const toArray = (value: number) => {\n return Array.from({ length: value }, (_, i) => i);\n};\n\nexport const toArrayTrackByFn: TrackByFunction<number> = (_, item) => item;\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { toArray } from './to-array.util';\n\n@Pipe({ name: 'toArray', standalone: true })\nexport class ToArrayPipe implements PipeTransform {\n transform = toArray;\n}\n","import { VIEWPORT_CONFIG } from '../constants';\nimport { ViewportConfig } from '../types';\n\nexport const provideViewportConfig = (\n viewportConfig: ViewportConfig,\n): { provide: typeof VIEWPORT_CONFIG; useValue: typeof viewportConfig } => {\n return { provide: VIEWPORT_CONFIG, useValue: viewportConfig };\n};\n","export const clamp = (value: number, min = 0, max = 100) => {\n return Math.max(min, Math.min(max, value));\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ResizeObserverService","debounceTime","i1.ContentObserverService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ethlete-core.mjs","sources":["../../../../libs/core/src/lib/constants/viewport.constants.ts","../../../../libs/core/src/lib/decorators/memo/memo.decorator.ts","../../../../libs/core/src/lib/directives/let/let.types.ts","../../../../libs/core/src/lib/directives/let/let.directive.ts","../../../../libs/core/src/lib/directives/repeat/repeat.directive.ts","../../../../libs/core/src/lib/services/viewport.service.ts","../../../../libs/core/src/lib/services/focus-visible.service.ts","../../../../libs/core/src/lib/services/resize-observer.service.ts","../../../../libs/core/src/lib/services/content-observer.service.ts","../../../../libs/core/src/lib/directives/observe-resize/observe-resize.directive.ts","../../../../libs/core/src/lib/directives/observe-content/observe-content.directive.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.util.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.pipe.ts","../../../../libs/core/src/lib/utils/viewport.util.ts","../../../../libs/core/src/lib/utils/clamp.util.ts","../../../../libs/core/src/ethlete-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ViewportConfig } from '../types';\n\nexport const VIEWPORT_CONFIG = new InjectionToken<ViewportConfig>('ViewportConfig');\n\n/**\n * Default viewport config based on Tailwind CSS.\n * @see https://tailwindcss.com/docs/screens\n */\nexport const DEFAULT_VIEWPORT_CONFIG: ViewportConfig = {\n breakpoints: {\n xs: [0, 639],\n sm: [640, 767],\n md: [768, 1023],\n lg: [1024, 1279],\n xl: [1280, 1535],\n '2xl': [1536, Infinity],\n },\n};\n","export interface MemoResolver {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (...args: any[]): any;\n}\n\nexport interface MapLike<K = unknown, V = unknown> {\n set(key: K, v: V): MapLike<K, V>;\n get(key: K): V;\n has(key: K): boolean;\n}\n\nexport interface MemoConfig {\n resolver?: MemoResolver;\n cache?: MapLike;\n}\n\nfunction memoize(func: (..._args: unknown[]) => unknown, resolver: MemoResolver, cache: MapLike) {\n const memoized = function (this: unknown, ...args: unknown[]) {\n const key = resolver.apply(this, args);\n const cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n const result = func.apply(this, args);\n memoized.cache = cache.set(key, result) ?? cache;\n return result;\n };\n\n memoized.cache = cache;\n\n return memoized;\n}\n\nconst defaultResolver: MemoResolver = (...args: unknown[]) => args.join('-');\n\nexport const Memo =\n (config: MemoConfig = {}) =>\n (_: unknown, __: string, descriptor: PropertyDescriptor): PropertyDescriptor => {\n if (typeof descriptor.value !== 'function') {\n throw new Error('Memoization can be applied only to methods');\n }\n\n const resolver = config.resolver ?? defaultResolver;\n const cache = config.cache ?? new Map();\n\n descriptor.value = memoize(descriptor.value, resolver, cache);\n return descriptor;\n };\n","export class LetContext<T = unknown> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public $implicit: T = null!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public etLet: T = null!;\n}\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { LetContext } from './let.types';\n\n@Directive({\n selector: '[etLet]',\n standalone: true,\n})\nexport class LetDirective<T = unknown> {\n @Input()\n set etLet(value: T) {\n this._context.$implicit = this._context.etLet = value;\n this._updateView();\n }\n\n static ngTemplateGuard_ngLet: 'binding';\n\n private _context: LetContext<T> = new LetContext<T>();\n private _templateRef: TemplateRef<LetContext<T>> | null = null;\n private _viewRef: EmbeddedViewRef<LetContext<T>> | null = null;\n\n constructor(private _viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n this._templateRef = templateRef;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static ngTemplateContextGuard<T>(dir: LetDirective<T>, ctx: any): ctx is LetContext<T> {\n return true;\n }\n\n private _updateView() {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef) {\n this._viewRef = this._viewContainer.createEmbeddedView(this._templateRef, this._context);\n }\n }\n }\n}\n","import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[etRepeat]',\n standalone: true,\n})\nexport class RepeatDirective implements OnInit {\n @Input('etRepeat')\n get repeatCount(): number {\n return this._repeatCount;\n }\n set repeatCount(value: NumberInput) {\n this._repeatCount = coerceNumberProperty(value);\n }\n private _repeatCount = 2;\n\n constructor(private _mainTemplateRef: TemplateRef<unknown>, private _viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n this._render();\n }\n\n private _render() {\n for (let i = 0; i < this.repeatCount; i++) {\n this._viewContainerRef.createEmbeddedView(this._mainTemplateRef);\n }\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, shareReplay } from 'rxjs';\nimport { DEFAULT_VIEWPORT_CONFIG, VIEWPORT_CONFIG } from '../constants';\nimport { Breakpoint, ViewportConfig } from '../types';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Memo } from '../decorators';\nimport { BuildMediaQueryOptions } from './viewport.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ViewportService {\n private _viewportConfig: ViewportConfig;\n\n private _isXs$ = new BehaviorSubject(false);\n private _isSm$ = new BehaviorSubject(false);\n private _isMd$ = new BehaviorSubject(false);\n private _isLg$ = new BehaviorSubject(false);\n private _isXl$ = new BehaviorSubject(false);\n private _is2Xl$ = new BehaviorSubject(false);\n\n get isXs$() {\n return this._isXs$.asObservable();\n }\n\n get isXs() {\n return this._isXs$.value;\n }\n\n get isSm$() {\n return this._isSm$.asObservable();\n }\n\n get isSm() {\n return this._isSm$.value;\n }\n\n get isMd$() {\n return this._isMd$.asObservable();\n }\n\n get isMd() {\n return this._isMd$.value;\n }\n\n get isLg$() {\n return this._isLg$.asObservable();\n }\n\n get isLg() {\n return this._isLg$.value;\n }\n\n get isXl$() {\n return this._isXl$.asObservable();\n }\n\n get isXl() {\n return this._isXl$.value;\n }\n\n get is2Xl$() {\n return this._is2Xl$.asObservable();\n }\n\n get is2Xl() {\n return this._is2Xl$.value;\n }\n\n currentViewport$ = combineLatest([this.isXs$, this.isSm$, this.isMd$, this.isLg$, this.isXl$, this.is2Xl$]).pipe(\n map((val) => this.getCurrentViewport(val)),\n shareReplay(),\n );\n\n get currentViewport() {\n return this.getCurrentViewport([this.isXs, this.isSm, this.isMd, this.isLg, this.isXl, this.is2Xl]);\n }\n\n constructor(\n @Inject(VIEWPORT_CONFIG) @Optional() _viewportConfig: ViewportConfig | null,\n private _breakpointObserver: BreakpointObserver,\n ) {\n this._viewportConfig = _viewportConfig || DEFAULT_VIEWPORT_CONFIG;\n this._observeDefaultBreakpoints();\n }\n\n observe(options: { min?: number | Breakpoint; max?: number | Breakpoint }): Observable<boolean> {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.observe(mediaQuery).pipe(\n map((x) => x.matches),\n shareReplay(),\n );\n }\n\n isMatched(options: { min?: number | Breakpoint; max?: number | Breakpoint }): boolean {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.isMatched(mediaQuery);\n }\n\n private _observeDefaultBreakpoints() {\n this.observe({ max: 'xs' }).subscribe(this._isXs$);\n this.observe({ min: 'sm', max: 'sm' }).subscribe(this._isSm$);\n this.observe({ min: 'md', max: 'md' }).subscribe(this._isMd$);\n this.observe({ min: 'lg', max: 'lg' }).subscribe(this._isLg$);\n this.observe({ min: 'xl', max: 'xl' }).subscribe(this._isXl$);\n this.observe({ min: '2xl' }).subscribe(this._is2Xl$);\n }\n\n @Memo()\n private _getViewportSize(type: Breakpoint, option: 'min' | 'max') {\n const index = option === 'min' ? 0 : 1;\n const size = this._viewportConfig.breakpoints[type][index];\n\n if (size === Infinity || size === 0) {\n return size;\n }\n\n if (option === 'min') {\n return size;\n }\n\n // Due to scaling, the actual size of the viewport may be a decimal number.\n // Eg. on Windows 11 with 150% scaling, the viewport size may be 1535.33px\n // and thus not matching any of the default breakpoints.\n return size + 0.9;\n }\n\n @Memo({\n resolver: (v: BuildMediaQueryOptions) => {\n return `${v.min ?? ''}-${v.max ?? ''}`;\n },\n })\n private _buildMediaQuery(options: BuildMediaQueryOptions) {\n if (!options.min && !options.max) {\n throw new Error('At least one of min or max must be defined');\n }\n\n const mediaQueryParts: string[] = [];\n\n if (options.min) {\n if (typeof options.min === 'number') {\n mediaQueryParts.push(`(min-width: ${options.min}px)`);\n } else {\n mediaQueryParts.push(`(min-width: ${this._getViewportSize(options.min, 'min')}px)`);\n }\n }\n\n if (options.min && options.max) {\n mediaQueryParts.push('and');\n }\n\n if (options.max) {\n if (typeof options.max === 'number') {\n mediaQueryParts.push(`(max-width: ${options.max}px)`);\n } else {\n mediaQueryParts.push(`(max-width: ${this._getViewportSize(options.max, 'max')}px)`);\n }\n }\n\n return mediaQueryParts.join(' ');\n }\n\n private getCurrentViewport([isXs, isSm, isMd, isLg, isXl, is2Xl]: [\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n ]): Breakpoint {\n if (isXs) {\n return 'xs';\n } else if (isSm) {\n return 'sm';\n } else if (isMd) {\n return 'md';\n } else if (isLg) {\n return 'lg';\n } else if (isXl) {\n return 'xl';\n } else if (is2Xl) {\n return '2xl';\n }\n\n return 'xs';\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FocusVisibleService {\n private readonly _document = inject<Document>(DOCUMENT);\n\n private _hadKeyboardEvent = false;\n\n get isFocusVisible() {\n return this._hadKeyboardEvent;\n }\n\n constructor() {\n this._document.addEventListener('keydown', this.onKeyDown.bind(this), true);\n this._document.addEventListener('mousedown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('pointerdown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('touchstart', this.onPointerDown.bind(this), true);\n }\n\n onKeyDown(e: KeyboardEvent) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n this._hadKeyboardEvent = true;\n }\n\n onPointerDown() {\n this._hadKeyboardEvent = false;\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverFactory {\n create(callback: ResizeObserverCallback): ResizeObserver | null {\n return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: ResizeObserver | null;\n readonly stream: Subject<ResizeObserverEntry[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: ResizeObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<ResizeObserverEntry[]>;\n observe(element: ElementRef<Element>): Observable<ResizeObserverEntry[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<ResizeObserverEntry[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<ResizeObserverEntry[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<ResizeObserverEntry[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<ResizeObserverEntry[]>();\n const observer = this._mutationObserverFactory.create((resizes) => stream.next(resizes));\n if (observer) {\n observer.observe(element);\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContentObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: MutationObserver | null;\n readonly stream: Subject<MutationRecord[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<MutationRecord[]>;\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { Subscription, debounceTime } from 'rxjs';\nimport { ResizeObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveResize]',\n exportAs: 'etObserveResize',\n standalone: true,\n})\nexport class ObserveResizeDirective implements AfterContentInit, OnDestroy {\n private _resizeObserver = inject(ResizeObserverService);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ngZone = inject(NgZone);\n\n @Output('etObserveResize')\n readonly event = new EventEmitter<ResizeObserverEntry[]>();\n\n @Input('etObserveResizeDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveResizeDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._resizeObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ContentObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveContent]',\n exportAs: 'etObserveContent',\n standalone: true,\n})\nexport class ObserveContentDirective implements AfterContentInit, OnDestroy {\n private _contentObserver = inject(ContentObserverService);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ngZone = inject(NgZone);\n\n @Output('etObserveContent')\n readonly event = new EventEmitter<MutationRecord[]>();\n\n @Input('etObserveContentDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveContentDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { TrackByFunction } from '@angular/core';\n\nexport const toArray = (value: number) => {\n return Array.from({ length: value }, (_, i) => i);\n};\n\nexport const toArrayTrackByFn: TrackByFunction<number> = (_, item) => item;\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { toArray } from './to-array.util';\n\n@Pipe({ name: 'toArray', standalone: true })\nexport class ToArrayPipe implements PipeTransform {\n transform = toArray;\n}\n","import { VIEWPORT_CONFIG } from '../constants';\nimport { ViewportConfig } from '../types';\n\nexport const provideViewportConfig = (\n viewportConfig: ViewportConfig,\n): { provide: typeof VIEWPORT_CONFIG; useValue: typeof viewportConfig } => {\n return { provide: VIEWPORT_CONFIG, useValue: viewportConfig };\n};\n","export const clamp = (value: number, min = 0, max = 100) => {\n return Math.max(min, Math.min(max, value));\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["debounceTime"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Directive, Input, Injectable, Inject, Optional, inject, EventEmitter, Output, Pipe } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Directive, Input, Injectable, Inject, Optional, inject, ElementRef, NgZone, EventEmitter, Output, Pipe } from '@angular/core';
|
|
3
3
|
import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
4
|
import { BehaviorSubject, combineLatest, map, shareReplay, Observable, Subject, debounceTime } from 'rxjs';
|
|
5
5
|
import { __decorate, __metadata } from 'tslib';
|
|
@@ -466,10 +466,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
466
466
|
}], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });
|
|
467
467
|
|
|
468
468
|
class ObserveResizeDirective {
|
|
469
|
-
constructor(
|
|
470
|
-
this.
|
|
471
|
-
this._elementRef =
|
|
472
|
-
this._ngZone =
|
|
469
|
+
constructor() {
|
|
470
|
+
this._resizeObserver = inject(ResizeObserverService);
|
|
471
|
+
this._elementRef = inject(ElementRef);
|
|
472
|
+
this._ngZone = inject(NgZone);
|
|
473
473
|
this.event = new EventEmitter();
|
|
474
474
|
this._disabled = false;
|
|
475
475
|
this._debounce = null;
|
|
@@ -499,7 +499,7 @@ class ObserveResizeDirective {
|
|
|
499
499
|
}
|
|
500
500
|
_subscribe() {
|
|
501
501
|
this._unsubscribe();
|
|
502
|
-
const stream = this.
|
|
502
|
+
const stream = this._resizeObserver.observe(this._elementRef);
|
|
503
503
|
this._ngZone.runOutsideAngular(() => {
|
|
504
504
|
this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);
|
|
505
505
|
});
|
|
@@ -508,7 +508,7 @@ class ObserveResizeDirective {
|
|
|
508
508
|
this._currentSubscription?.unsubscribe();
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
|
-
ObserveResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, deps: [
|
|
511
|
+
ObserveResizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
512
512
|
ObserveResizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveResizeDirective, isStandalone: true, selector: "[etObserveResize]", inputs: { disabled: ["etObserveResizeDisabled", "disabled"], debounce: ["etObserveResizeDebounce", "debounce"] }, outputs: { event: "etObserveResize" }, exportAs: ["etObserveResize"], ngImport: i0 });
|
|
513
513
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveResizeDirective, decorators: [{
|
|
514
514
|
type: Directive,
|
|
@@ -517,7 +517,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
517
517
|
exportAs: 'etObserveResize',
|
|
518
518
|
standalone: true,
|
|
519
519
|
}]
|
|
520
|
-
}],
|
|
520
|
+
}], propDecorators: { event: [{
|
|
521
521
|
type: Output,
|
|
522
522
|
args: ['etObserveResize']
|
|
523
523
|
}], disabled: [{
|
|
@@ -529,10 +529,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
529
529
|
}] } });
|
|
530
530
|
|
|
531
531
|
class ObserveContentDirective {
|
|
532
|
-
constructor(
|
|
533
|
-
this._contentObserver =
|
|
534
|
-
this._elementRef =
|
|
535
|
-
this._ngZone =
|
|
532
|
+
constructor() {
|
|
533
|
+
this._contentObserver = inject(ContentObserverService);
|
|
534
|
+
this._elementRef = inject(ElementRef);
|
|
535
|
+
this._ngZone = inject(NgZone);
|
|
536
536
|
this.event = new EventEmitter();
|
|
537
537
|
this._disabled = false;
|
|
538
538
|
this._debounce = null;
|
|
@@ -571,15 +571,16 @@ class ObserveContentDirective {
|
|
|
571
571
|
this._currentSubscription?.unsubscribe();
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
|
-
ObserveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, deps: [
|
|
575
|
-
ObserveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveContentDirective, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { event: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 });
|
|
574
|
+
ObserveContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
575
|
+
ObserveContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ObserveContentDirective, isStandalone: true, selector: "[etObserveContent]", inputs: { disabled: ["etObserveContentDisabled", "disabled"], debounce: ["etObserveContentDebounce", "debounce"] }, outputs: { event: "etObserveContent" }, exportAs: ["etObserveContent"], ngImport: i0 });
|
|
576
576
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ObserveContentDirective, decorators: [{
|
|
577
577
|
type: Directive,
|
|
578
578
|
args: [{
|
|
579
579
|
selector: '[etObserveContent]',
|
|
580
580
|
exportAs: 'etObserveContent',
|
|
581
|
+
standalone: true,
|
|
581
582
|
}]
|
|
582
|
-
}],
|
|
583
|
+
}], propDecorators: { event: [{
|
|
583
584
|
type: Output,
|
|
584
585
|
args: ['etObserveContent']
|
|
585
586
|
}], disabled: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ethlete-core.mjs","sources":["../../../../libs/core/src/lib/constants/viewport.constants.ts","../../../../libs/core/src/lib/decorators/memo/memo.decorator.ts","../../../../libs/core/src/lib/directives/let/let.types.ts","../../../../libs/core/src/lib/directives/let/let.directive.ts","../../../../libs/core/src/lib/directives/repeat/repeat.directive.ts","../../../../libs/core/src/lib/services/viewport.service.ts","../../../../libs/core/src/lib/services/focus-visible.service.ts","../../../../libs/core/src/lib/services/resize-observer.service.ts","../../../../libs/core/src/lib/services/content-observer.service.ts","../../../../libs/core/src/lib/directives/observe-resize/observe-resize.directive.ts","../../../../libs/core/src/lib/directives/observe-content/observe-content.directive.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.util.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.pipe.ts","../../../../libs/core/src/lib/utils/viewport.util.ts","../../../../libs/core/src/lib/utils/clamp.util.ts","../../../../libs/core/src/ethlete-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ViewportConfig } from '../types';\n\nexport const VIEWPORT_CONFIG = new InjectionToken<ViewportConfig>('ViewportConfig');\n\n/**\n * Default viewport config based on Tailwind CSS.\n * @see https://tailwindcss.com/docs/screens\n */\nexport const DEFAULT_VIEWPORT_CONFIG: ViewportConfig = {\n breakpoints: {\n xs: [0, 639],\n sm: [640, 767],\n md: [768, 1023],\n lg: [1024, 1279],\n xl: [1280, 1535],\n '2xl': [1536, Infinity],\n },\n};\n","export interface MemoResolver {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (...args: any[]): any;\n}\n\nexport interface MapLike<K = unknown, V = unknown> {\n set(key: K, v: V): MapLike<K, V>;\n get(key: K): V;\n has(key: K): boolean;\n}\n\nexport interface MemoConfig {\n resolver?: MemoResolver;\n cache?: MapLike;\n}\n\nfunction memoize(func: (..._args: unknown[]) => unknown, resolver: MemoResolver, cache: MapLike) {\n const memoized = function (this: unknown, ...args: unknown[]) {\n const key = resolver.apply(this, args);\n const cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n const result = func.apply(this, args);\n memoized.cache = cache.set(key, result) ?? cache;\n return result;\n };\n\n memoized.cache = cache;\n\n return memoized;\n}\n\nconst defaultResolver: MemoResolver = (...args: unknown[]) => args.join('-');\n\nexport const Memo =\n (config: MemoConfig = {}) =>\n (_: unknown, __: string, descriptor: PropertyDescriptor): PropertyDescriptor => {\n if (typeof descriptor.value !== 'function') {\n throw new Error('Memoization can be applied only to methods');\n }\n\n const resolver = config.resolver ?? defaultResolver;\n const cache = config.cache ?? new Map();\n\n descriptor.value = memoize(descriptor.value, resolver, cache);\n return descriptor;\n };\n","export class LetContext<T = unknown> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public $implicit: T = null!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public etLet: T = null!;\n}\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { LetContext } from './let.types';\n\n@Directive({\n selector: '[etLet]',\n standalone: true,\n})\nexport class LetDirective<T = unknown> {\n @Input()\n set etLet(value: T) {\n this._context.$implicit = this._context.etLet = value;\n this._updateView();\n }\n\n static ngTemplateGuard_ngLet: 'binding';\n\n private _context: LetContext<T> = new LetContext<T>();\n private _templateRef: TemplateRef<LetContext<T>> | null = null;\n private _viewRef: EmbeddedViewRef<LetContext<T>> | null = null;\n\n constructor(private _viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n this._templateRef = templateRef;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static ngTemplateContextGuard<T>(dir: LetDirective<T>, ctx: any): ctx is LetContext<T> {\n return true;\n }\n\n private _updateView() {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef) {\n this._viewRef = this._viewContainer.createEmbeddedView(this._templateRef, this._context);\n }\n }\n }\n}\n","import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[etRepeat]',\n standalone: true,\n})\nexport class RepeatDirective implements OnInit {\n @Input('etRepeat')\n get repeatCount(): number {\n return this._repeatCount;\n }\n set repeatCount(value: NumberInput) {\n this._repeatCount = coerceNumberProperty(value);\n }\n private _repeatCount = 2;\n\n constructor(private _mainTemplateRef: TemplateRef<unknown>, private _viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n this._render();\n }\n\n private _render() {\n for (let i = 0; i < this.repeatCount; i++) {\n this._viewContainerRef.createEmbeddedView(this._mainTemplateRef);\n }\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, shareReplay } from 'rxjs';\nimport { DEFAULT_VIEWPORT_CONFIG, VIEWPORT_CONFIG } from '../constants';\nimport { Breakpoint, ViewportConfig } from '../types';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Memo } from '../decorators';\nimport { BuildMediaQueryOptions } from './viewport.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ViewportService {\n private _viewportConfig: ViewportConfig;\n\n private _isXs$ = new BehaviorSubject(false);\n private _isSm$ = new BehaviorSubject(false);\n private _isMd$ = new BehaviorSubject(false);\n private _isLg$ = new BehaviorSubject(false);\n private _isXl$ = new BehaviorSubject(false);\n private _is2Xl$ = new BehaviorSubject(false);\n\n get isXs$() {\n return this._isXs$.asObservable();\n }\n\n get isXs() {\n return this._isXs$.value;\n }\n\n get isSm$() {\n return this._isSm$.asObservable();\n }\n\n get isSm() {\n return this._isSm$.value;\n }\n\n get isMd$() {\n return this._isMd$.asObservable();\n }\n\n get isMd() {\n return this._isMd$.value;\n }\n\n get isLg$() {\n return this._isLg$.asObservable();\n }\n\n get isLg() {\n return this._isLg$.value;\n }\n\n get isXl$() {\n return this._isXl$.asObservable();\n }\n\n get isXl() {\n return this._isXl$.value;\n }\n\n get is2Xl$() {\n return this._is2Xl$.asObservable();\n }\n\n get is2Xl() {\n return this._is2Xl$.value;\n }\n\n currentViewport$ = combineLatest([this.isXs$, this.isSm$, this.isMd$, this.isLg$, this.isXl$, this.is2Xl$]).pipe(\n map((val) => this.getCurrentViewport(val)),\n shareReplay(),\n );\n\n get currentViewport() {\n return this.getCurrentViewport([this.isXs, this.isSm, this.isMd, this.isLg, this.isXl, this.is2Xl]);\n }\n\n constructor(\n @Inject(VIEWPORT_CONFIG) @Optional() _viewportConfig: ViewportConfig | null,\n private _breakpointObserver: BreakpointObserver,\n ) {\n this._viewportConfig = _viewportConfig || DEFAULT_VIEWPORT_CONFIG;\n this._observeDefaultBreakpoints();\n }\n\n observe(options: { min?: number | Breakpoint; max?: number | Breakpoint }): Observable<boolean> {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.observe(mediaQuery).pipe(\n map((x) => x.matches),\n shareReplay(),\n );\n }\n\n isMatched(options: { min?: number | Breakpoint; max?: number | Breakpoint }): boolean {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.isMatched(mediaQuery);\n }\n\n private _observeDefaultBreakpoints() {\n this.observe({ max: 'xs' }).subscribe(this._isXs$);\n this.observe({ min: 'sm', max: 'sm' }).subscribe(this._isSm$);\n this.observe({ min: 'md', max: 'md' }).subscribe(this._isMd$);\n this.observe({ min: 'lg', max: 'lg' }).subscribe(this._isLg$);\n this.observe({ min: 'xl', max: 'xl' }).subscribe(this._isXl$);\n this.observe({ min: '2xl' }).subscribe(this._is2Xl$);\n }\n\n @Memo()\n private _getViewportSize(type: Breakpoint, option: 'min' | 'max') {\n const index = option === 'min' ? 0 : 1;\n const size = this._viewportConfig.breakpoints[type][index];\n\n if (size === Infinity || size === 0) {\n return size;\n }\n\n if (option === 'min') {\n return size;\n }\n\n // Due to scaling, the actual size of the viewport may be a decimal number.\n // Eg. on Windows 11 with 150% scaling, the viewport size may be 1535.33px\n // and thus not matching any of the default breakpoints.\n return size + 0.9;\n }\n\n @Memo({\n resolver: (v: BuildMediaQueryOptions) => {\n return `${v.min ?? ''}-${v.max ?? ''}`;\n },\n })\n private _buildMediaQuery(options: BuildMediaQueryOptions) {\n if (!options.min && !options.max) {\n throw new Error('At least one of min or max must be defined');\n }\n\n const mediaQueryParts: string[] = [];\n\n if (options.min) {\n if (typeof options.min === 'number') {\n mediaQueryParts.push(`(min-width: ${options.min}px)`);\n } else {\n mediaQueryParts.push(`(min-width: ${this._getViewportSize(options.min, 'min')}px)`);\n }\n }\n\n if (options.min && options.max) {\n mediaQueryParts.push('and');\n }\n\n if (options.max) {\n if (typeof options.max === 'number') {\n mediaQueryParts.push(`(max-width: ${options.max}px)`);\n } else {\n mediaQueryParts.push(`(max-width: ${this._getViewportSize(options.max, 'max')}px)`);\n }\n }\n\n return mediaQueryParts.join(' ');\n }\n\n private getCurrentViewport([isXs, isSm, isMd, isLg, isXl, is2Xl]: [\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n ]): Breakpoint {\n if (isXs) {\n return 'xs';\n } else if (isSm) {\n return 'sm';\n } else if (isMd) {\n return 'md';\n } else if (isLg) {\n return 'lg';\n } else if (isXl) {\n return 'xl';\n } else if (is2Xl) {\n return '2xl';\n }\n\n return 'xs';\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FocusVisibleService {\n private readonly _document = inject<Document>(DOCUMENT);\n\n private _hadKeyboardEvent = false;\n\n get isFocusVisible() {\n return this._hadKeyboardEvent;\n }\n\n constructor() {\n this._document.addEventListener('keydown', this.onKeyDown.bind(this), true);\n this._document.addEventListener('mousedown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('pointerdown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('touchstart', this.onPointerDown.bind(this), true);\n }\n\n onKeyDown(e: KeyboardEvent) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n this._hadKeyboardEvent = true;\n }\n\n onPointerDown() {\n this._hadKeyboardEvent = false;\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverFactory {\n create(callback: ResizeObserverCallback): ResizeObserver | null {\n return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: ResizeObserver | null;\n readonly stream: Subject<ResizeObserverEntry[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: ResizeObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<ResizeObserverEntry[]>;\n observe(element: ElementRef<Element>): Observable<ResizeObserverEntry[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<ResizeObserverEntry[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<ResizeObserverEntry[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<ResizeObserverEntry[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<ResizeObserverEntry[]>();\n const observer = this._mutationObserverFactory.create((resizes) => stream.next(resizes));\n if (observer) {\n observer.observe(element);\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContentObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: MutationObserver | null;\n readonly stream: Subject<MutationRecord[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<MutationRecord[]>;\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { AfterContentInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output } from '@angular/core';\nimport { Subscription, debounceTime } from 'rxjs';\nimport { ResizeObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveResize]',\n exportAs: 'etObserveResize',\n standalone: true,\n})\nexport class ObserveResizeDirective implements AfterContentInit, OnDestroy {\n @Output('etObserveResize')\n readonly event = new EventEmitter<ResizeObserverEntry[]>();\n\n @Input('etObserveResizeDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveResizeDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(\n private _contentObserver: ResizeObserverService,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n ) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { AfterContentInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ContentObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveContent]',\n exportAs: 'etObserveContent',\n})\nexport class ObserveContentDirective implements AfterContentInit, OnDestroy {\n @Output('etObserveContent') readonly event = new EventEmitter<MutationRecord[]>();\n\n @Input('etObserveContentDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveContentDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n constructor(\n private _contentObserver: ContentObserverService,\n private _elementRef: ElementRef<HTMLElement>,\n private _ngZone: NgZone,\n ) {}\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { TrackByFunction } from '@angular/core';\n\nexport const toArray = (value: number) => {\n return Array.from({ length: value }, (_, i) => i);\n};\n\nexport const toArrayTrackByFn: TrackByFunction<number> = (_, item) => item;\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { toArray } from './to-array.util';\n\n@Pipe({ name: 'toArray', standalone: true })\nexport class ToArrayPipe implements PipeTransform {\n transform = toArray;\n}\n","import { VIEWPORT_CONFIG } from '../constants';\nimport { ViewportConfig } from '../types';\n\nexport const provideViewportConfig = (\n viewportConfig: ViewportConfig,\n): { provide: typeof VIEWPORT_CONFIG; useValue: typeof viewportConfig } => {\n return { provide: VIEWPORT_CONFIG, useValue: viewportConfig };\n};\n","export const clamp = (value: number, min = 0, max = 100) => {\n return Math.max(min, Math.min(max, value));\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ResizeObserverService","debounceTime","i1.ContentObserverService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ethlete-core.mjs","sources":["../../../../libs/core/src/lib/constants/viewport.constants.ts","../../../../libs/core/src/lib/decorators/memo/memo.decorator.ts","../../../../libs/core/src/lib/directives/let/let.types.ts","../../../../libs/core/src/lib/directives/let/let.directive.ts","../../../../libs/core/src/lib/directives/repeat/repeat.directive.ts","../../../../libs/core/src/lib/services/viewport.service.ts","../../../../libs/core/src/lib/services/focus-visible.service.ts","../../../../libs/core/src/lib/services/resize-observer.service.ts","../../../../libs/core/src/lib/services/content-observer.service.ts","../../../../libs/core/src/lib/directives/observe-resize/observe-resize.directive.ts","../../../../libs/core/src/lib/directives/observe-content/observe-content.directive.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.util.ts","../../../../libs/core/src/lib/pipes/to-array/to-array.pipe.ts","../../../../libs/core/src/lib/utils/viewport.util.ts","../../../../libs/core/src/lib/utils/clamp.util.ts","../../../../libs/core/src/ethlete-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ViewportConfig } from '../types';\n\nexport const VIEWPORT_CONFIG = new InjectionToken<ViewportConfig>('ViewportConfig');\n\n/**\n * Default viewport config based on Tailwind CSS.\n * @see https://tailwindcss.com/docs/screens\n */\nexport const DEFAULT_VIEWPORT_CONFIG: ViewportConfig = {\n breakpoints: {\n xs: [0, 639],\n sm: [640, 767],\n md: [768, 1023],\n lg: [1024, 1279],\n xl: [1280, 1535],\n '2xl': [1536, Infinity],\n },\n};\n","export interface MemoResolver {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (...args: any[]): any;\n}\n\nexport interface MapLike<K = unknown, V = unknown> {\n set(key: K, v: V): MapLike<K, V>;\n get(key: K): V;\n has(key: K): boolean;\n}\n\nexport interface MemoConfig {\n resolver?: MemoResolver;\n cache?: MapLike;\n}\n\nfunction memoize(func: (..._args: unknown[]) => unknown, resolver: MemoResolver, cache: MapLike) {\n const memoized = function (this: unknown, ...args: unknown[]) {\n const key = resolver.apply(this, args);\n const cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n const result = func.apply(this, args);\n memoized.cache = cache.set(key, result) ?? cache;\n return result;\n };\n\n memoized.cache = cache;\n\n return memoized;\n}\n\nconst defaultResolver: MemoResolver = (...args: unknown[]) => args.join('-');\n\nexport const Memo =\n (config: MemoConfig = {}) =>\n (_: unknown, __: string, descriptor: PropertyDescriptor): PropertyDescriptor => {\n if (typeof descriptor.value !== 'function') {\n throw new Error('Memoization can be applied only to methods');\n }\n\n const resolver = config.resolver ?? defaultResolver;\n const cache = config.cache ?? new Map();\n\n descriptor.value = memoize(descriptor.value, resolver, cache);\n return descriptor;\n };\n","export class LetContext<T = unknown> {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public $implicit: T = null!;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n public etLet: T = null!;\n}\n","import { Directive, EmbeddedViewRef, Input, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { LetContext } from './let.types';\n\n@Directive({\n selector: '[etLet]',\n standalone: true,\n})\nexport class LetDirective<T = unknown> {\n @Input()\n set etLet(value: T) {\n this._context.$implicit = this._context.etLet = value;\n this._updateView();\n }\n\n static ngTemplateGuard_ngLet: 'binding';\n\n private _context: LetContext<T> = new LetContext<T>();\n private _templateRef: TemplateRef<LetContext<T>> | null = null;\n private _viewRef: EmbeddedViewRef<LetContext<T>> | null = null;\n\n constructor(private _viewContainer: ViewContainerRef, templateRef: TemplateRef<LetContext<T>>) {\n this._templateRef = templateRef;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static ngTemplateContextGuard<T>(dir: LetDirective<T>, ctx: any): ctx is LetContext<T> {\n return true;\n }\n\n private _updateView() {\n if (!this._viewRef) {\n this._viewContainer.clear();\n if (this._templateRef) {\n this._viewRef = this._viewContainer.createEmbeddedView(this._templateRef, this._context);\n }\n }\n }\n}\n","import { coerceNumberProperty, NumberInput } from '@angular/cdk/coercion';\nimport { Directive, Input, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[etRepeat]',\n standalone: true,\n})\nexport class RepeatDirective implements OnInit {\n @Input('etRepeat')\n get repeatCount(): number {\n return this._repeatCount;\n }\n set repeatCount(value: NumberInput) {\n this._repeatCount = coerceNumberProperty(value);\n }\n private _repeatCount = 2;\n\n constructor(private _mainTemplateRef: TemplateRef<unknown>, private _viewContainerRef: ViewContainerRef) {}\n\n ngOnInit(): void {\n this._render();\n }\n\n private _render() {\n for (let i = 0; i < this.repeatCount; i++) {\n this._viewContainerRef.createEmbeddedView(this._mainTemplateRef);\n }\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable, shareReplay } from 'rxjs';\nimport { DEFAULT_VIEWPORT_CONFIG, VIEWPORT_CONFIG } from '../constants';\nimport { Breakpoint, ViewportConfig } from '../types';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { Memo } from '../decorators';\nimport { BuildMediaQueryOptions } from './viewport.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ViewportService {\n private _viewportConfig: ViewportConfig;\n\n private _isXs$ = new BehaviorSubject(false);\n private _isSm$ = new BehaviorSubject(false);\n private _isMd$ = new BehaviorSubject(false);\n private _isLg$ = new BehaviorSubject(false);\n private _isXl$ = new BehaviorSubject(false);\n private _is2Xl$ = new BehaviorSubject(false);\n\n get isXs$() {\n return this._isXs$.asObservable();\n }\n\n get isXs() {\n return this._isXs$.value;\n }\n\n get isSm$() {\n return this._isSm$.asObservable();\n }\n\n get isSm() {\n return this._isSm$.value;\n }\n\n get isMd$() {\n return this._isMd$.asObservable();\n }\n\n get isMd() {\n return this._isMd$.value;\n }\n\n get isLg$() {\n return this._isLg$.asObservable();\n }\n\n get isLg() {\n return this._isLg$.value;\n }\n\n get isXl$() {\n return this._isXl$.asObservable();\n }\n\n get isXl() {\n return this._isXl$.value;\n }\n\n get is2Xl$() {\n return this._is2Xl$.asObservable();\n }\n\n get is2Xl() {\n return this._is2Xl$.value;\n }\n\n currentViewport$ = combineLatest([this.isXs$, this.isSm$, this.isMd$, this.isLg$, this.isXl$, this.is2Xl$]).pipe(\n map((val) => this.getCurrentViewport(val)),\n shareReplay(),\n );\n\n get currentViewport() {\n return this.getCurrentViewport([this.isXs, this.isSm, this.isMd, this.isLg, this.isXl, this.is2Xl]);\n }\n\n constructor(\n @Inject(VIEWPORT_CONFIG) @Optional() _viewportConfig: ViewportConfig | null,\n private _breakpointObserver: BreakpointObserver,\n ) {\n this._viewportConfig = _viewportConfig || DEFAULT_VIEWPORT_CONFIG;\n this._observeDefaultBreakpoints();\n }\n\n observe(options: { min?: number | Breakpoint; max?: number | Breakpoint }): Observable<boolean> {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.observe(mediaQuery).pipe(\n map((x) => x.matches),\n shareReplay(),\n );\n }\n\n isMatched(options: { min?: number | Breakpoint; max?: number | Breakpoint }): boolean {\n const mediaQuery = this._buildMediaQuery(options);\n\n return this._breakpointObserver.isMatched(mediaQuery);\n }\n\n private _observeDefaultBreakpoints() {\n this.observe({ max: 'xs' }).subscribe(this._isXs$);\n this.observe({ min: 'sm', max: 'sm' }).subscribe(this._isSm$);\n this.observe({ min: 'md', max: 'md' }).subscribe(this._isMd$);\n this.observe({ min: 'lg', max: 'lg' }).subscribe(this._isLg$);\n this.observe({ min: 'xl', max: 'xl' }).subscribe(this._isXl$);\n this.observe({ min: '2xl' }).subscribe(this._is2Xl$);\n }\n\n @Memo()\n private _getViewportSize(type: Breakpoint, option: 'min' | 'max') {\n const index = option === 'min' ? 0 : 1;\n const size = this._viewportConfig.breakpoints[type][index];\n\n if (size === Infinity || size === 0) {\n return size;\n }\n\n if (option === 'min') {\n return size;\n }\n\n // Due to scaling, the actual size of the viewport may be a decimal number.\n // Eg. on Windows 11 with 150% scaling, the viewport size may be 1535.33px\n // and thus not matching any of the default breakpoints.\n return size + 0.9;\n }\n\n @Memo({\n resolver: (v: BuildMediaQueryOptions) => {\n return `${v.min ?? ''}-${v.max ?? ''}`;\n },\n })\n private _buildMediaQuery(options: BuildMediaQueryOptions) {\n if (!options.min && !options.max) {\n throw new Error('At least one of min or max must be defined');\n }\n\n const mediaQueryParts: string[] = [];\n\n if (options.min) {\n if (typeof options.min === 'number') {\n mediaQueryParts.push(`(min-width: ${options.min}px)`);\n } else {\n mediaQueryParts.push(`(min-width: ${this._getViewportSize(options.min, 'min')}px)`);\n }\n }\n\n if (options.min && options.max) {\n mediaQueryParts.push('and');\n }\n\n if (options.max) {\n if (typeof options.max === 'number') {\n mediaQueryParts.push(`(max-width: ${options.max}px)`);\n } else {\n mediaQueryParts.push(`(max-width: ${this._getViewportSize(options.max, 'max')}px)`);\n }\n }\n\n return mediaQueryParts.join(' ');\n }\n\n private getCurrentViewport([isXs, isSm, isMd, isLg, isXl, is2Xl]: [\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n boolean,\n ]): Breakpoint {\n if (isXs) {\n return 'xs';\n } else if (isSm) {\n return 'sm';\n } else if (isMd) {\n return 'md';\n } else if (isLg) {\n return 'lg';\n } else if (isXl) {\n return 'xl';\n } else if (is2Xl) {\n return '2xl';\n }\n\n return 'xs';\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class FocusVisibleService {\n private readonly _document = inject<Document>(DOCUMENT);\n\n private _hadKeyboardEvent = false;\n\n get isFocusVisible() {\n return this._hadKeyboardEvent;\n }\n\n constructor() {\n this._document.addEventListener('keydown', this.onKeyDown.bind(this), true);\n this._document.addEventListener('mousedown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('pointerdown', this.onPointerDown.bind(this), true);\n this._document.addEventListener('touchstart', this.onPointerDown.bind(this), true);\n }\n\n onKeyDown(e: KeyboardEvent) {\n if (e.metaKey || e.altKey || e.ctrlKey) {\n return;\n }\n\n this._hadKeyboardEvent = true;\n }\n\n onPointerDown() {\n this._hadKeyboardEvent = false;\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverFactory {\n create(callback: ResizeObserverCallback): ResizeObserver | null {\n return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: ResizeObserver | null;\n readonly stream: Subject<ResizeObserverEntry[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: ResizeObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<ResizeObserverEntry[]>;\n observe(element: ElementRef<Element>): Observable<ResizeObserverEntry[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<ResizeObserverEntry[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<ResizeObserverEntry[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<ResizeObserverEntry[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<ResizeObserverEntry[]>();\n const observer = this._mutationObserverFactory.create((resizes) => stream.next(resizes));\n if (observer) {\n observer.observe(element);\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { coerceElement } from '@angular/cdk/coercion';\nimport { Injectable, OnDestroy, ElementRef } from '@angular/core';\nimport { Subject, Observable, Observer } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MutationObserverFactory {\n create(callback: MutationCallback): MutationObserver | null {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ContentObserverService implements OnDestroy {\n private _observedElements = new Map<\n Element,\n {\n observer: MutationObserver | null;\n readonly stream: Subject<MutationRecord[]>;\n count: number;\n }\n >();\n\n constructor(private _mutationObserverFactory: MutationObserverFactory) {}\n\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n\n observe(element: Element): Observable<MutationRecord[]>;\n observe(element: ElementRef<Element>): Observable<MutationRecord[]>;\n observe(elementOrRef: Element | ElementRef<Element>): Observable<MutationRecord[]> {\n const element = coerceElement(elementOrRef);\n\n return new Observable((observer: Observer<MutationRecord[]>) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n\n private _observeElement(element: Element): Subject<MutationRecord[]> {\n if (!this._observedElements.has(element)) {\n const stream = new Subject<MutationRecord[]>();\n const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n } else {\n this._observedElements.get(element)!.count++;\n }\n return this._observedElements.get(element)!.stream;\n }\n\n private _unobserveElement(element: Element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element)!.count--;\n if (!this._observedElements.get(element)!.count) {\n this._cleanupObserver(element);\n }\n }\n }\n\n private _cleanupObserver(element: Element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element)!;\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { Subscription, debounceTime } from 'rxjs';\nimport { ResizeObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveResize]',\n exportAs: 'etObserveResize',\n standalone: true,\n})\nexport class ObserveResizeDirective implements AfterContentInit, OnDestroy {\n private _resizeObserver = inject(ResizeObserverService);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ngZone = inject(NgZone);\n\n @Output('etObserveResize')\n readonly event = new EventEmitter<ResizeObserverEntry[]>();\n\n @Input('etObserveResizeDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveResizeDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._resizeObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ContentObserverService } from '../../services';\n\n@Directive({\n selector: '[etObserveContent]',\n exportAs: 'etObserveContent',\n standalone: true,\n})\nexport class ObserveContentDirective implements AfterContentInit, OnDestroy {\n private _contentObserver = inject(ContentObserverService);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ngZone = inject(NgZone);\n\n @Output('etObserveContent')\n readonly event = new EventEmitter<MutationRecord[]>();\n\n @Input('etObserveContentDisabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n private _disabled = false;\n\n @Input('etObserveContentDebounce')\n get debounce(): number | null {\n return this._debounce;\n }\n set debounce(value: NumberInput) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n private _debounce: number | null = null;\n\n private _currentSubscription: Subscription | null = null;\n\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n\n ngOnDestroy() {\n this._unsubscribe();\n }\n\n private _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(\n this.event,\n );\n });\n }\n\n private _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\n","import { TrackByFunction } from '@angular/core';\n\nexport const toArray = (value: number) => {\n return Array.from({ length: value }, (_, i) => i);\n};\n\nexport const toArrayTrackByFn: TrackByFunction<number> = (_, item) => item;\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { toArray } from './to-array.util';\n\n@Pipe({ name: 'toArray', standalone: true })\nexport class ToArrayPipe implements PipeTransform {\n transform = toArray;\n}\n","import { VIEWPORT_CONFIG } from '../constants';\nimport { ViewportConfig } from '../types';\n\nexport const provideViewportConfig = (\n viewportConfig: ViewportConfig,\n): { provide: typeof VIEWPORT_CONFIG; useValue: typeof viewportConfig } => {\n return { provide: VIEWPORT_CONFIG, useValue: viewportConfig };\n};\n","export const clamp = (value: number, min = 0, max = 100) => {\n return Math.max(min, Math.min(max, value));\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["debounceTime"],"mappings":";;;;;;;;;MAGa,eAAe,GAAG,IAAI,cAAc,CAAiB,gBAAgB,EAAE;AAEpF;;;AAGG;AACU,MAAA,uBAAuB,GAAmB;AACrD,IAAA,WAAW,EAAE;AACX,QAAA,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;AACZ,QAAA,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACd,QAAA,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC;AACf,QAAA,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AAChB,QAAA,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AAChB,QAAA,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;AACxB,KAAA;;;ACDH,SAAS,OAAO,CAAC,IAAsC,EAAE,QAAsB,EAAE,KAAc,EAAA;AAC7F,IAAA,MAAM,QAAQ,GAAG,UAAyB,GAAG,IAAe,EAAA;QAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAE7B,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAClB,YAAA,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,SAAA;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,QAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;AACjD,QAAA,OAAO,MAAM,CAAC;AAChB,KAAC,CAAC;AAEF,IAAA,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;AAEvB,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,eAAe,GAAiB,CAAC,GAAG,IAAe,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEhE,MAAA,IAAI,GACf,CAAC,SAAqB,EAAE,KACxB,CAAC,CAAU,EAAE,EAAU,EAAE,UAA8B,KAAwB;AAC7E,IAAA,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE;AAC1C,QAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAC/D,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,eAAe,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,EAAE,CAAC;AAExC,IAAA,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,IAAA,OAAO,UAAU,CAAC;AACpB;;MCjDW,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;;QAES,IAAS,CAAA,SAAA,GAAM,IAAK,CAAC;;QAErB,IAAK,CAAA,KAAA,GAAM,IAAK,CAAC;KACzB;AAAA;;MCEY,YAAY,CAAA;IAavB,WAAoB,CAAA,cAAgC,EAAE,WAAuC,EAAA;QAAzE,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkB;AAJ5C,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,UAAU,EAAK,CAAC;QAC9C,IAAY,CAAA,YAAA,GAAsC,IAAI,CAAC;QACvD,IAAQ,CAAA,QAAA,GAA0C,IAAI,CAAC;AAG7D,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;KACjC;IAdD,IACI,KAAK,CAAC,KAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;AAaD,IAAA,OAAO,sBAAsB,CAAI,GAAoB,EAAE,GAAQ,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC;KACb;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1F,aAAA;AACF,SAAA;KACF;;yGA7BU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;iIAGK,KAAK,EAAA,CAAA;sBADR,KAAK;;;MCDK,eAAe,CAAA;IAU1B,WAAoB,CAAA,gBAAsC,EAAU,iBAAmC,EAAA;QAAnF,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAsB;QAAU,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;QAF/F,IAAY,CAAA,YAAA,GAAG,CAAC,CAAC;KAEkF;AAT3G,IAAA,IACI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAI,WAAW,CAAC,KAAkB,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACjD;IAKD,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAEO,OAAO,GAAA;AACb,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAClE,SAAA;KACF;;4GApBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,UAAA,EAAA,aAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;iIAGK,WAAW,EAAA,CAAA;sBADd,KAAK;uBAAC,UAAU,CAAA;;;MCGN,eAAe,CAAA;IAmE1B,WACuC,CAAA,eAAsC,EACnE,mBAAuC,EAAA;QAAvC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAoB;AAlEzC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAkD7C,IAAgB,CAAA,gBAAA,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAC9G,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAC1C,WAAW,EAAE,CACd,CAAC;AAUA,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,uBAAuB,CAAC;QAClE,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACnC;AA/DD,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACnC;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACnC;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACnC;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACnC;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACnC;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;KACpC;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC3B;AAOD,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACrG;AAUD,IAAA,OAAO,CAAC,OAAiE,EAAA;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CACtD,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EACrB,WAAW,EAAE,CACd,CAAC;KACH;AAED,IAAA,SAAS,CAAC,OAAiE,EAAA;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KACvD;IAEO,0BAA0B,GAAA;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9D,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtD;IAGO,gBAAgB,CAAC,IAAgB,EAAE,MAAqB,EAAA;AAC9D,QAAA,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAE3D,QAAA,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,CAAC,EAAE;AACnC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,IAAI,MAAM,KAAK,KAAK,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;;;QAKD,OAAO,IAAI,GAAG,GAAG,CAAC;KACnB;AAOO,IAAA,gBAAgB,CAAC,OAA+B,EAAA;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAChC,YAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAC/D,SAAA;QAED,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,IAAI,OAAO,CAAC,GAAG,EAAE;AACf,YAAA,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACnC,eAAe,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,OAAO,CAAC,GAAG,CAAK,GAAA,CAAA,CAAC,CAAC;AACvD,aAAA;AAAM,iBAAA;AACL,gBAAA,eAAe,CAAC,IAAI,CAAC,CAAe,YAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA,GAAA,CAAK,CAAC,CAAC;AACrF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;AAC9B,YAAA,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAA;QAED,IAAI,OAAO,CAAC,GAAG,EAAE;AACf,YAAA,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACnC,eAAe,CAAC,IAAI,CAAC,CAAA,YAAA,EAAe,OAAO,CAAC,GAAG,CAAK,GAAA,CAAA,CAAC,CAAC;AACvD,aAAA;AAAM,iBAAA;AACL,gBAAA,eAAe,CAAC,IAAI,CAAC,CAAe,YAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA,GAAA,CAAK,CAAC,CAAC;AACrF,aAAA;AACF,SAAA;AAED,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClC;AAEO,IAAA,kBAAkB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAO9D,EAAA;AACC,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA,IAAI,IAAI,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA,IAAI,IAAI,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA,IAAI,IAAI,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA,IAAI,IAAI,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA,IAAI,KAAK,EAAE;AAChB,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;;AAhLU,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAoEhB,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AApEd,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;AAqGlB,UAAA,CAAA;AAAC,IAAA,IAAI,EAAE;;;;AAiBN,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;AAED,UAAA,CAAA;AAAC,IAAA,IAAI,CAAC;AACJ,QAAA,QAAQ,EAAE,CAAC,CAAyB,KAAI;AACtC,YAAA,OAAO,CAAG,EAAA,CAAC,CAAC,GAAG,IAAI,EAAE,CAAI,CAAA,EAAA,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;SACxC;KACF,CAAC;;;;AA6BD,CAAA,EAAA,eAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,IAAA,CAAA,CAAA;2FAvJU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAqEI,MAAM;2BAAC,eAAe,CAAA;;0BAAG,QAAQ;AAgC5B,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,CAAA,EAAA,EAAA,cAAA,EAAA,EAAA,gBAAgB,MAuBhB,gBAAgB,EAAA,EAAA,EAAA,EAAA,CAAA;;MChIb,mBAAmB,CAAA;AAS9B,IAAA,WAAA,GAAA;AARiB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAW,QAAQ,CAAC,CAAC;QAEhD,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAOhC,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AACpF,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;KACpF;AATD,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;KAC/B;AASD,IAAA,SAAS,CAAC,CAAgB,EAAA;QACxB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE;YACtC,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;KAC/B;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;KAChC;;gHA1BU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACLD;MAMa,qBAAqB,CAAA;AAChC,IAAA,MAAM,CAAC,QAAgC,EAAA;AACrC,QAAA,OAAO,OAAO,cAAc,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;KACpF;;kHAHU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;MAQrB,qBAAqB,CAAA;AAUhC,IAAA,WAAA,CAAoB,wBAA+C,EAAA;QAA/C,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAAuB;AAT3D,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAOhC,CAAC;KAEmE;IAEvE,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;KAChF;AAID,IAAA,OAAO,CAAC,YAA2C,EAAA;AACjD,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAE5C,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAyC,KAAI;YAClE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhD,YAAA,OAAO,MAAK;gBACV,YAAY,CAAC,WAAW,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAClC,aAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,eAAe,CAAC,OAAgB,EAAA;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACxC,YAAA,MAAM,MAAM,GAAG,IAAI,OAAO,EAAyB,CAAC;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACzF,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,aAAA;AACD,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;AAC9C,SAAA;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,MAAM,CAAC;KACpD;AAEO,IAAA,iBAAiB,CAAC,OAAgB,EAAA;QACxC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE;AAC/C,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAChC,aAAA;AACF,SAAA;KACF;AAEO,IAAA,gBAAgB,CAAC,OAAgB,EAAA;QACvC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACvC,YAAA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;AAClE,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvB,aAAA;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClB,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxC,SAAA;KACF;;kHAhEU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACZlC;MAMa,uBAAuB,CAAA;AAClC,IAAA,MAAM,CAAC,QAA0B,EAAA;AAC/B,QAAA,OAAO,OAAO,gBAAgB,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KACxF;;oHAHU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA,CAAA;2FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;MAQrB,sBAAsB,CAAA;AAUjC,IAAA,WAAA,CAAoB,wBAAiD,EAAA;QAAjD,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAAyB;AAT7D,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,GAAG,EAOhC,CAAC;KAEqE;IAEzE,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;KAChF;AAID,IAAA,OAAO,CAAC,YAA2C,EAAA;AACjD,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAE5C,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,QAAoC,KAAI;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhD,YAAA,OAAO,MAAK;gBACV,YAAY,CAAC,WAAW,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAClC,aAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;AAEO,IAAA,eAAe,CAAC,OAAgB,EAAA;QACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACxC,YAAA,MAAM,MAAM,GAAG,IAAI,OAAO,EAAoB,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7F,YAAA,IAAI,QAAQ,EAAE;AACZ,gBAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;AACxB,oBAAA,aAAa,EAAE,IAAI;AACnB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACrE,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;AAC9C,SAAA;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,MAAM,CAAC;KACpD;AAEO,IAAA,iBAAiB,CAAC,OAAgB,EAAA;QACxC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE;AAC/C,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAChC,aAAA;AACF,SAAA;KACF;AAEO,IAAA,gBAAgB,CAAC,OAAgB,EAAA;QACvC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AACvC,YAAA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;AAClE,YAAA,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;AACvB,aAAA;YACD,MAAM,CAAC,QAAQ,EAAE,CAAC;AAClB,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxC,SAAA;KACF;;mHApEU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCQrB,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAChD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAGxB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAyB,CAAC;QAUnD,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAUlB,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QAEhC,IAAoB,CAAA,oBAAA,GAAwB,IAAI,CAAC;AA0B1D,KAAA;AA9CC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;KAC1D;AAGD,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAkB,EAAA;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAKD,kBAAkB,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAEO,UAAU,GAAA;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAE9D,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,YAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,CACvG,IAAI,CAAC,KAAK,CACX,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC;KAC1C;;mHArDU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAOU,KAAK,EAAA,CAAA;sBADb,MAAM;uBAAC,iBAAiB,CAAA;gBAIrB,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,yBAAyB,CAAA;gBAW5B,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,yBAAyB,CAAA;;;MCjBrB,uBAAuB,CAAA;AALpC,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAClD,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;AAC1D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAGxB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAoB,CAAC;QAU9C,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAUlB,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;QAEhC,IAAoB,CAAA,oBAAA,GAAwB,IAAI,CAAC;AA0B1D,KAAA;AA9CC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;KAC1D;AAGD,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAkB,EAAA;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAKD,kBAAkB,GAAA;QAChB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAEO,UAAU,GAAA;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAE/D,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAK;AAClC,YAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAACA,cAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,CACvG,IAAI,CAAC,KAAK,CACX,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,CAAC;KAC1C;;oHArDU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,EAAA,UAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;8BAOU,KAAK,EAAA,CAAA;sBADb,MAAM;uBAAC,kBAAkB,CAAA;gBAItB,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,0BAA0B,CAAA;gBAW7B,QAAQ,EAAA,CAAA;sBADX,KAAK;uBAAC,0BAA0B,CAAA;;;ACrCtB,MAAA,OAAO,GAAG,CAAC,KAAa,KAAI;AACvC,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,EAAE;AAEK,MAAM,gBAAgB,GAA4B,CAAC,CAAC,EAAE,IAAI,KAAK;;MCFzD,WAAW,CAAA;AADxB,IAAA,WAAA,GAAA;QAEE,IAAS,CAAA,SAAA,GAAG,OAAO,CAAC;AACrB,KAAA;;wGAFY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;;;ACA9B,MAAA,qBAAqB,GAAG,CACnC,cAA8B,KAC0C;IACxE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAChE;;ACPO,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,KAAI;AACzD,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C;;ACFA;;AAEG;;;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
|
-
import { AfterContentInit,
|
|
3
|
-
import { ContentObserverService } from '../../services';
|
|
2
|
+
import { AfterContentInit, EventEmitter, OnDestroy } from '@angular/core';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class ObserveContentDirective implements AfterContentInit, OnDestroy {
|
|
6
5
|
private _contentObserver;
|
|
@@ -14,11 +13,10 @@ export declare class ObserveContentDirective implements AfterContentInit, OnDest
|
|
|
14
13
|
set debounce(value: NumberInput);
|
|
15
14
|
private _debounce;
|
|
16
15
|
private _currentSubscription;
|
|
17
|
-
constructor(_contentObserver: ContentObserverService, _elementRef: ElementRef<HTMLElement>, _ngZone: NgZone);
|
|
18
16
|
ngAfterContentInit(): void;
|
|
19
17
|
ngOnDestroy(): void;
|
|
20
18
|
private _subscribe;
|
|
21
19
|
private _unsubscribe;
|
|
22
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<ObserveContentDirective, never>;
|
|
23
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentDirective, "[etObserveContent]", ["etObserveContent"], { "disabled": "etObserveContentDisabled"; "debounce": "etObserveContentDebounce"; }, { "event": "etObserveContent"; }, never, never,
|
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentDirective, "[etObserveContent]", ["etObserveContent"], { "disabled": "etObserveContentDisabled"; "debounce": "etObserveContentDebounce"; }, { "event": "etObserveContent"; }, never, never, true>;
|
|
24
22
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
|
-
import { AfterContentInit,
|
|
3
|
-
import { ResizeObserverService } from '../../services';
|
|
2
|
+
import { AfterContentInit, EventEmitter, OnDestroy } from '@angular/core';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class ObserveResizeDirective implements AfterContentInit, OnDestroy {
|
|
6
|
-
private
|
|
5
|
+
private _resizeObserver;
|
|
7
6
|
private _elementRef;
|
|
8
7
|
private _ngZone;
|
|
9
8
|
readonly event: EventEmitter<ResizeObserverEntry[]>;
|
|
@@ -14,7 +13,6 @@ export declare class ObserveResizeDirective implements AfterContentInit, OnDestr
|
|
|
14
13
|
set debounce(value: NumberInput);
|
|
15
14
|
private _debounce;
|
|
16
15
|
private _currentSubscription;
|
|
17
|
-
constructor(_contentObserver: ResizeObserverService, _elementRef: ElementRef<HTMLElement>, _ngZone: NgZone);
|
|
18
16
|
ngAfterContentInit(): void;
|
|
19
17
|
ngOnDestroy(): void;
|
|
20
18
|
private _subscribe;
|