@ethlete/cdk 4.3.2 → 4.3.4
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ethlete/cdk
|
|
2
2
|
|
|
3
|
+
## 4.3.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#1261](https://github.com/ethlete-io/ethdk/pull/1261) [`59dff1be`](https://github.com/ethlete-io/ethdk/commit/59dff1befc28e14b7d43afc70dec923b3d244466) Thanks [@Gw3i](https://github.com/Gw3i)! - Add missing `NgFor` import inside combobox body
|
|
8
|
+
|
|
9
|
+
## 4.3.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`836768bc`](https://github.com/ethlete-io/ethdk/commit/836768bc16098ba80f80af0d62391cc4b0ae7617) Thanks [@TomTomB](https://github.com/TomTomB)! - Fix template of combobox body after new control flow migration
|
|
14
|
+
|
|
3
15
|
## 4.3.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AsyncPipe, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
|
|
1
|
+
import { AsyncPipe, NgComponentOutlet, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, ElementRef, InjectionToken, ViewChild, ViewChildren, ViewEncapsulation, inject, } from '@angular/core';
|
|
3
3
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
4
|
import { ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, ClickOutsideDirective, LetDirective, TypedQueryList, createDestroy, signalHostAttributes, signalHostClasses, } from '@ethlete/core';
|
|
@@ -46,12 +46,12 @@ export class ComboboxBodyComponent {
|
|
|
46
46
|
this._themeProvider.syncWithProvider(provider);
|
|
47
47
|
}
|
|
48
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ComboboxBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ComboboxBodyComponent, isStandalone: true, selector: "et-combobox-body", host: { attributes: { "tabindex": "-1", "role": "listbox" }, properties: { "attr.id": "id" }, classAttribute: "et-combobox-body et-with-default-animation" }, providers: [
|
|
50
50
|
{
|
|
51
51
|
provide: COMBOBOX_BODY_TOKEN,
|
|
52
52
|
useExisting: ComboboxBodyComponent,
|
|
53
53
|
},
|
|
54
|
-
], viewQueries: [{ propertyName: "_containerElementRef", first: true, predicate: ["containerElement"], descendants: true, read: ElementRef, static: true }, { propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }, { propertyName: "_options", predicate: ComboboxOptionComponent, descendants: true }], hostDirectives: [{ directive: i1.ClickOutsideDirective }, { directive: i2.ProvideThemeDirective }], ngImport: i0, template: "<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n
|
|
54
|
+
], viewQueries: [{ propertyName: "_containerElementRef", first: true, predicate: ["containerElement"], descendants: true, read: ElementRef, static: true }, { propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }, { propertyName: "_options", predicate: ComboboxOptionComponent, descendants: true }], hostDirectives: [{ directive: i1.ClickOutsideDirective }, { directive: i2.ProvideThemeDirective }], ngImport: i0, template: "<!-- TODO(TRB): Use new control flow -->\n<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n <ng-container *ngIf=\"!options?.length && !combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyEmptyTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyEmptyComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyEmptyComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p class=\"et-combobox-body--empty\">{{ combobox._tempEmptyText }}</p>\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyErrorTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl; context: { error: combobox.error }\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyErrorComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (customErrorComponentInputs$ | async) ?? { error: combobox.error }\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.loading$ | async\">\n <ng-container *ngIf=\"combobox.customBodyLoadingTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyLoadingComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyLoadingComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!combobox.error\">\n <et-combobox-option *ngFor=\"let option of options; trackBy: trackByFn\" [option]=\"option\" />\n </ng-container>\n\n <ng-container *ngIf=\"options?.length && combobox.showBodyMoreItemsHint\">\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyMoreItemsHintComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p *ngIf=\"combobox.bodyMoreItemsHintText\" class=\"et-combobox-body--more-items-hint\">\n {{ combobox.bodyMoreItemsHintText }}\n </p>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: ComboboxOptionComponent, selector: "et-combobox-option", inputs: ["option"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: AnimatedLifecycleDirective, selector: "[etAnimatedLifecycle]", exportAs: ["etAnimatedLifecycle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
55
55
|
}
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ComboboxBodyComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
@@ -67,12 +67,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
67
67
|
LetDirective,
|
|
68
68
|
AsyncPipe,
|
|
69
69
|
AnimatedLifecycleDirective,
|
|
70
|
+
NgIf,
|
|
71
|
+
NgFor,
|
|
70
72
|
], hostDirectives: [ClickOutsideDirective, ProvideThemeDirective], providers: [
|
|
71
73
|
{
|
|
72
74
|
provide: COMBOBOX_BODY_TOKEN,
|
|
73
75
|
useExisting: ComboboxBodyComponent,
|
|
74
76
|
},
|
|
75
|
-
], template: "<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n
|
|
77
|
+
], template: "<!-- TODO(TRB): Use new control flow -->\n<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n <ng-container *ngIf=\"!options?.length && !combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyEmptyTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyEmptyComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyEmptyComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p class=\"et-combobox-body--empty\">{{ combobox._tempEmptyText }}</p>\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyErrorTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl; context: { error: combobox.error }\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyErrorComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (customErrorComponentInputs$ | async) ?? { error: combobox.error }\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.loading$ | async\">\n <ng-container *ngIf=\"combobox.customBodyLoadingTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyLoadingComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyLoadingComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!combobox.error\">\n <et-combobox-option *ngFor=\"let option of options; trackBy: trackByFn\" [option]=\"option\" />\n </ng-container>\n\n <ng-container *ngIf=\"options?.length && combobox.showBodyMoreItemsHint\">\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyMoreItemsHintComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p *ngIf=\"combobox.bodyMoreItemsHintText\" class=\"et-combobox-body--more-items-hint\">\n {{ combobox.bodyMoreItemsHintText }}\n </p>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n" }]
|
|
76
78
|
}], propDecorators: { _containerElementRef: [{
|
|
77
79
|
type: ViewChild,
|
|
78
80
|
args: ['containerElement', { static: true, read: ElementRef }]
|
|
@@ -83,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
83
85
|
type: ViewChildren,
|
|
84
86
|
args: [ComboboxOptionComponent]
|
|
85
87
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9jb21ib2JveC9wYXJ0aWFscy9jb21ib2JveC1ib2R5L2NvbWJvYm94LWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvcGFydGlhbHMvY29tYm9ib3gtYm9keS9jb21ib2JveC1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsY0FBYyxFQUlkLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLHdCQUF3QixFQUN4QiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFF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QkE1QmpDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBRWhCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsNENBQTRDO3dCQUNuRCxRQUFRLEVBQUUsSUFBSTt3QkFDZCxXQUFXLEVBQUUsSUFBSTt3QkFDakIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCLFdBQ1E7d0JBQ1AsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsWUFBWTt3QkFDWixTQUFTO3dCQUNULDBCQUEwQjtxQkFDM0Isa0JBQ2UsQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQyxhQUNuRDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLHVCQUF1Qjt5QkFDbkM7cUJBQ0Y7OEJBV1Esb0JBQW9CO3NCQUQ1QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUl4RCxrQkFBa0I7c0JBRDFCLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqRCxRQUFRO3NCQURYLFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIEFOSU1BVEVEX0xJRkVDWUNMRV9UT0tFTixcbiAgQW5pbWF0ZWRMaWZlY3ljbGVEaXJlY3RpdmUsXG4gIENsaWNrT3V0c2lkZURpcmVjdGl2ZSxcbiAgTGV0RGlyZWN0aXZlLFxuICBUeXBlZFF1ZXJ5TGlzdCxcbiAgY3JlYXRlRGVzdHJveSxcbiAgc2lnbmFsSG9zdEF0dHJpYnV0ZXMsXG4gIHNpZ25hbEhvc3RDbGFzc2VzLFxufSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSwgVEhFTUVfUFJPVklERVIgfSBmcm9tICdAZXRobGV0ZS90aGVtaW5nJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb21ib2JveEJvZHksIEFic3RyYWN0Q29tYm9ib3hPcHRpb24sIENPTUJPQk9YX1RPS0VOIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDb21ib2JveE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbWJvYm94LW9wdGlvbic7XG5cbmV4cG9ydCBjb25zdCBDT01CT0JPWF9CT0RZX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPENvbWJvYm94Qm9keUNvbXBvbmVudD4oJ0VUX0NPTUJPQk9YX0JPRFlfVE9LRU4nKTtcblxubGV0IF91bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LWNvbWJvYm94LWJvZHknLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tYm9ib3gtYm9keS5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdldC1jb21ib2JveC1ib2R5IGV0LXdpdGgtZGVmYXVsdC1hbmltYXRpb24nLFxuICAgIHRhYmluZGV4OiAnLTEnLFxuICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgIHJvbGU6ICdsaXN0Ym94JyxcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdDb21wb25lbnRPdXRsZXQsXG4gICAgQ29tYm9ib3hPcHRpb25Db21wb25lbnQsXG4gICAgTGV0RGlyZWN0aXZlLFxuICAgIEFzeW5jUGlwZSxcbiAgICBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDbGlja091dHNpZGVEaXJlY3RpdmUsIFByb3ZpZGVUaGVtZURpcmVjdGl2ZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENPTUJPQk9YX0JPRFlfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogQ29tYm9ib3hCb2R5Q29tcG9uZW50LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvbWJvYm94Qm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWJzdHJhY3RDb21ib2JveEJvZHkge1xuICByZWFkb25seSBpZCA9IGBldC1jb21ib2JveC1ib2R5LSR7X3VuaXF1ZUlkKyt9YDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2xpY2tPdXRzaWRlID0gaW5qZWN0KENsaWNrT3V0c2lkZURpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RoZW1lUHJvdmlkZXIgPSBpbmplY3QoVEhFTUVfUFJPVklERVIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tYm9ib3ggPSBpbmplY3QoQ09NQk9CT1hfVE9LRU4pO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lckVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICByZWFkb25seSBfY29udGFpbmVyRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChBTklNQVRFRF9MSUZFQ1lDTEVfVE9LRU4sIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJlYWRvbmx5IF9hbmltYXRlZExpZmVjeWNsZT86IEFuaW1hdGVkTGlmZWN5Y2xlRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGRyZW4oQ29tYm9ib3hPcHRpb25Db21wb25lbnQpXG4gIHNldCBfb3B0aW9ucyhvcHRpb25zOiBUeXBlZFF1ZXJ5TGlzdDxDb21ib2JveE9wdGlvbkNvbXBvbmVudD4pIHtcbiAgICB0aGlzLl9vcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuICB9XG4gIHJlYWRvbmx5IF9vcHRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHlwZWRRdWVyeUxpc3Q8QWJzdHJhY3RDb21ib2JveE9wdGlvbj4gfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBob3N0Q2xhc3NCaW5kaW5ncyA9IHNpZ25hbEhvc3RDbGFzc2VzKHtcbiAgICAnZXQtY29tYm9ib3gtYm9keS0tbG9hZGluZyc6IHRvU2lnbmFsKHRoaXMuY29tYm9ib3gubG9hZGluZyQpLFxuICAgICdldC1jb21ib2JveC1ib2R5LS1tdWx0aXBsZSc6IHRvU2lnbmFsKHRoaXMuY29tYm9ib3gubXVsdGlwbGUkKSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaG9zdEF0dHJpYnV0ZUJpbmRpbmdzID0gc2lnbmFsSG9zdEF0dHJpYnV0ZXMoe1xuICAgICdhcmlhLW11bHRpc2VsZWN0YWJsZSc6IHRvU2lnbmFsKHRoaXMuY29tYm9ib3gubXVsdGlwbGUkKSxcbiAgICAnYXJpYS1sYWJlbGxlZGJ5JzogdG9TaWduYWwodGhpcy5jb21ib2JveC5faW5wdXQubGFiZWxJZCQpLFxuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VzdG9tRXJyb3JDb21wb25lbnRJbnB1dHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5jb21ib2JveC5lcnJvciQsXG4gICAgdGhpcy5jb21ib2JveC5jdXN0b21Cb2R5RXJyb3JDb21wb25lbnRJbnB1dHMkLFxuICBdKS5waXBlKG1hcCgoW2Vycm9yLCBpbnB1dHNdKSA9PiAoeyBlcnJvciwgLi4uaW5wdXRzIH0pKSk7XG5cbiAgX2JvZHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbGlja091dHNpZGUuZXRDbGlja091dHNpZGVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5jb21ib2JveC5jbG9zZSgpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjx1bmtub3duPiA9IChpbmRleCwgaXRlbSkgPT4gdGhpcy5jb21ib2JveC5fc2VsZWN0aW9uTW9kZWwuZ2V0S2V5KGl0ZW0pO1xuXG4gIF9zZXRUaGVtZUZyb21Qcm92aWRlcihwcm92aWRlcjogUHJvdmlkZVRoZW1lRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fdGhlbWVQcm92aWRlci5zeW5jV2l0aFByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgfVxufVxuIiwiPGRpdiAjY29udGFpbmVyRWxlbWVudCBjbGFzcz1cImV0LWNvbWJvYm94LWJvZHktY29udGFpbmVyXCIgZXRBbmltYXRlZExpZmVjeWNsZT5cbiAgPG5nLWNvbnRhaW5lciAqZXRMZXQ9XCJjb21ib2JveC5vcHRpb25zJCB8IGFzeW5jIGFzIG9wdGlvbnNcIj5cbiAgICBAaWYgKCFvcHRpb25zPy5sZW5ndGggJiYgIWNvbWJvYm94LmVycm9yICYmICFjb21ib2JveC5sb2FkaW5nKSB7XG4gICAgICBAaWYgKGNvbWJvYm94LmN1c3RvbUJvZHlFbXB0eVRwbCQgfCBhc3luYzsgYXMgdHBsKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cGxcIiAvPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAoY29tYm9ib3guY3VzdG9tQm9keU1vcmVJdGVtc0hpbnRDb21wb25lbnQkIHwgYXN5bmM7IGFzIGNvbXApIHtcbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJjb21wOyBpbnB1dHM6IChjb21ib2JveC5jdXN0b21Cb2R5TW9yZUl0ZW1zSGludENvbXBvbmVudElucHV0cyQgfCBhc3luYykgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAvPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaWYgKGNvbWJvYm94LmJvZHlNb3JlSXRlbXNIaW50VGV4dCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJldC1jb21ib2JveC1ib2R5LS1tb3JlLWl0ZW1zLWhpbnRcIj5cbiAgICAgICAgICAgICAge3sgY29tYm9ib3guYm9keU1vcmVJdGVtc0hpbnRUZXh0IH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgICBAaWYgKGNvbWJvYm94LmJvZHlNb3JlSXRlbXNIaW50VGV4dCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJldC1jb21ib2JveC1ib2R5LS1tb3JlLWl0ZW1zLWhpbnRcIj5cbiAgICAgICAgICAgICAge3sgY29tYm9ib3guYm9keU1vcmVJdGVtc0hpbnRUZXh0IH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgfVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgfVxuICAgICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRPck5vbmU+XG4gICAgICAgIEBpZiAoY29tYm9ib3guY3VzdG9tQm9keUVtcHR5Q29tcG9uZW50JCB8IGFzeW5jOyBhcyBjb21wKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcDsgaW5wdXRzOiAoY29tYm9ib3guY3VzdG9tQm9keUVtcHR5Q29tcG9uZW50SW5wdXRzJCB8IGFzeW5jKSA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICNkZWZhdWx0fFxuICAgICAgICB9XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgICA8cCBjbGFzcz1cImV0LWNvbWJvYm94LWJvZHktLWVtcHR5XCI+e3sgY29tYm9ib3guX3RlbXBFbXB0eVRleHQgfX08L3A+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cblxuICAgIEBpZiAoY29tYm9ib3guZXJyb3IgJiYgIWNvbWJvYm94LmxvYWRpbmcpIHtcbiAgICAgIEBpZiAoY29tYm9ib3guY3VzdG9tQm9keUVycm9yVHBsJCB8IGFzeW5jOyBhcyB0cGwpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbDsgY29udGV4dDogeyBlcnJvcjogY29tYm9ib3guZXJyb3IgfVwiIC8+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI2NvbXBvbmVudE9yTm9uZXxcbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3JOb25lPlxuICAgICAgICBAaWYgKGNvbWJvYm94LmN1c3RvbUJvZHlFcnJvckNvbXBvbmVudCQgfCBhc3luYzsgYXMgY29tcCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGN1c3RvbUVycm9yQ29tcG9uZW50SW5wdXRzJCB8IGFzeW5jKSA/PyB7IGVycm9yOiBjb21ib2JveC5lcnJvciB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIH1cblxuICAgIEBpZiAoY29tYm9ib3gubG9hZGluZyQgfCBhc3luYykge1xuICAgICAgQGlmIChjb21ib2JveC5jdXN0b21Cb2R5TG9hZGluZ1RwbCQgfCBhc3luYzsgYXMgdHBsKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cGxcIiAvPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICNjb21wb25lbnRPck5vbmV8XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudE9yTm9uZT5cbiAgICAgICAgQGlmIChjb21ib2JveC5jdXN0b21Cb2R5TG9hZGluZ0NvbXBvbmVudCQgfCBhc3luYzsgYXMgY29tcCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGNvbWJvYm94LmN1c3RvbUJvZHlMb2FkaW5nQ29tcG9uZW50SW5wdXRzJCB8IGFzeW5jKSA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgfVxuXG4gICAgQGlmICghY29tYm9ib3guZXJyb3IpIHtcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBvcHRpb25zOyB0cmFjayB0cmFja0J5Rm4oJGluZGV4LCBvcHRpb24pKSB7XG4gICAgICAgIDxldC1jb21ib2JveC1vcHRpb24gW29wdGlvbl09XCJvcHRpb25cIiAvPlxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAob3B0aW9ucz8ubGVuZ3RoICYmIGNvbWJvYm94LnNob3dCb2R5TW9yZUl0ZW1zSGludCkge1xuICAgICAgQGlmIChjb21ib2JveC5jdXN0b21Cb2R5TW9yZUl0ZW1zSGludFRwbCQgfCBhc3luYzsgYXMgdHBsKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cGxcIiAvPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICNjb21wb25lbnRPck5vbmV8XG4gICAgICB9XG4gICAgICA8bmctdGVtcGxhdGUgI2NvbXBvbmVudE9yTm9uZT5cbiAgICAgICAgQGlmIChjb21ib2JveC5jdXN0b21Cb2R5TW9yZUl0ZW1zSGludENvbXBvbmVudCQgfCBhc3luYzsgYXMgY29tcCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGNvbWJvYm94LmN1c3RvbUJvZHlNb3JlSXRlbXNIaW50Q29tcG9uZW50SW5wdXRzJCB8IGFzeW5jKSA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICNkZWZhdWx0fFxuICAgICAgICB9XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgICBAaWYgKGNvbWJvYm94LmJvZHlNb3JlSXRlbXNIaW50VGV4dCkge1xuICAgICAgICAgICAgPHAgY2xhc3M9XCJldC1jb21ib2JveC1ib2R5LS1tb3JlLWl0ZW1zLWhpbnRcIj5cbiAgICAgICAgICAgICAge3sgY29tYm9ib3guYm9keU1vcmVJdGVtc0hpbnRUZXh0IH19XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgfVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9jb21ib2JveC9wYXJ0aWFscy9jb21ib2JveC1ib2R5L2NvbWJvYm94LWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvcGFydGlhbHMvY29tYm9ib3gtYm9keS9jb21ib2JveC1ib2R5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEVBSWQsU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFF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QTBCLHFHQUMxQixJQUFJLDZGQUNKLEtBQUs7OzJGQVVJLHFCQUFxQjtrQkE5QmpDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBRWhCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsNENBQTRDO3dCQUNuRCxRQUFRLEVBQUUsSUFBSTt3QkFDZCxXQUFXLEVBQUUsSUFBSTt3QkFDakIsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCLFdBQ1E7d0JBQ1AsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsWUFBWTt3QkFDWixTQUFTO3dCQUNULDBCQUEwQjt3QkFDMUIsSUFBSTt3QkFDSixLQUFLO3FCQUNOLGtCQUNlLENBQUMscUJBQXFCLEVBQUUscUJBQXFCLENBQUMsYUFDbkQ7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyx1QkFBdUI7eUJBQ25DO3FCQUNGOzhCQVdRLG9CQUFvQjtzQkFENUIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJeEQsa0JBQWtCO3NCQUQxQixTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJakQsUUFBUTtzQkFEWCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdDb21wb25lbnRPdXRsZXQsIE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgQU5JTUFURURfTElGRUNZQ0xFX1RPS0VOLFxuICBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZSxcbiAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICBMZXREaXJlY3RpdmUsXG4gIFR5cGVkUXVlcnlMaXN0LFxuICBjcmVhdGVEZXN0cm95LFxuICBzaWduYWxIb3N0QXR0cmlidXRlcyxcbiAgc2lnbmFsSG9zdENsYXNzZXMsXG59IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgUHJvdmlkZVRoZW1lRGlyZWN0aXZlLCBUSEVNRV9QUk9WSURFUiB9IGZyb20gJ0BldGhsZXRlL3RoZW1pbmcnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbWJvYm94Qm9keSwgQWJzdHJhY3RDb21ib2JveE9wdGlvbiwgQ09NQk9CT1hfVE9LRU4gfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbWJvYm94T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tYm9ib3gtb3B0aW9uJztcblxuZXhwb3J0IGNvbnN0IENPTUJPQk9YX0JPRFlfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tYm9ib3hCb2R5Q29tcG9uZW50PignRVRfQ09NQk9CT1hfQk9EWV9UT0tFTicpO1xuXG5sZXQgX3VuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29tYm9ib3gtYm9keScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21ib2JveC1ib2R5LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LWNvbWJvYm94LWJvZHkgZXQtd2l0aC1kZWZhdWx0LWFuaW1hdGlvbicsXG4gICAgdGFiaW5kZXg6ICctMScsXG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gICAgcm9sZTogJ2xpc3Rib3gnLFxuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICBDb21ib2JveE9wdGlvbkNvbXBvbmVudCxcbiAgICBMZXREaXJlY3RpdmUsXG4gICAgQXN5bmNQaXBlLFxuICAgIEFuaW1hdGVkTGlmZWN5Y2xlRGlyZWN0aXZlLFxuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBQcm92aWRlVGhlbWVEaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBDT01CT0JPWF9CT0RZX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IENvbWJvYm94Qm9keUNvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb21ib2JveEJvZHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFic3RyYWN0Q29tYm9ib3hCb2R5IHtcbiAgcmVhZG9ubHkgaWQgPSBgZXQtY29tYm9ib3gtYm9keS0ke191bmlxdWVJZCsrfWA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NsaWNrT3V0c2lkZSA9IGluamVjdChDbGlja091dHNpZGVEaXJlY3RpdmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZVByb3ZpZGVyID0gaW5qZWN0KFRIRU1FX1BST1ZJREVSKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbWJvYm94ID0gaW5qZWN0KENPTUJPQk9YX1RPS0VOKTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXJFbGVtZW50JywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcmVhZG9ubHkgX2NvbnRhaW5lckVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoQU5JTUFURURfTElGRUNZQ0xFX1RPS0VOLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByZWFkb25seSBfYW5pbWF0ZWRMaWZlY3ljbGU/OiBBbmltYXRlZExpZmVjeWNsZURpcmVjdGl2ZTtcblxuICBAVmlld0NoaWxkcmVuKENvbWJvYm94T3B0aW9uQ29tcG9uZW50KVxuICBzZXQgX29wdGlvbnMob3B0aW9uczogVHlwZWRRdWVyeUxpc3Q8Q29tYm9ib3hPcHRpb25Db21wb25lbnQ+KSB7XG4gICAgdGhpcy5fb3B0aW9ucyQubmV4dChvcHRpb25zKTtcbiAgfVxuICByZWFkb25seSBfb3B0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR5cGVkUXVlcnlMaXN0PEFic3RyYWN0Q29tYm9ib3hPcHRpb24+IHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzQmluZGluZ3MgPSBzaWduYWxIb3N0Q2xhc3Nlcyh7XG4gICAgJ2V0LWNvbWJvYm94LWJvZHktLWxvYWRpbmcnOiB0b1NpZ25hbCh0aGlzLmNvbWJvYm94LmxvYWRpbmckKSxcbiAgICAnZXQtY29tYm9ib3gtYm9keS0tbXVsdGlwbGUnOiB0b1NpZ25hbCh0aGlzLmNvbWJvYm94Lm11bHRpcGxlJCksXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhvc3RBdHRyaWJ1dGVCaW5kaW5ncyA9IHNpZ25hbEhvc3RBdHRyaWJ1dGVzKHtcbiAgICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiB0b1NpZ25hbCh0aGlzLmNvbWJvYm94Lm11bHRpcGxlJCksXG4gICAgJ2FyaWEtbGFiZWxsZWRieSc6IHRvU2lnbmFsKHRoaXMuY29tYm9ib3guX2lucHV0LmxhYmVsSWQkKSxcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1c3RvbUVycm9yQ29tcG9uZW50SW5wdXRzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuY29tYm9ib3guZXJyb3IkLFxuICAgIHRoaXMuY29tYm9ib3guY3VzdG9tQm9keUVycm9yQ29tcG9uZW50SW5wdXRzJCxcbiAgXSkucGlwZShtYXAoKFtlcnJvciwgaW5wdXRzXSkgPT4gKHsgZXJyb3IsIC4uLmlucHV0cyB9KSkpO1xuXG4gIF9ib2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xpY2tPdXRzaWRlLmV0Q2xpY2tPdXRzaWRlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuY29tYm9ib3guY2xvc2UoKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248dW5rbm93bj4gPSAoaW5kZXgsIGl0ZW0pID0+IHRoaXMuY29tYm9ib3guX3NlbGVjdGlvbk1vZGVsLmdldEtleShpdGVtKTtcblxuICBfc2V0VGhlbWVGcm9tUHJvdmlkZXIocHJvdmlkZXI6IFByb3ZpZGVUaGVtZURpcmVjdGl2ZSkge1xuICAgIHRoaXMuX3RoZW1lUHJvdmlkZXIuc3luY1dpdGhQcm92aWRlcihwcm92aWRlcik7XG4gIH1cbn1cbiIsIjwhLS0gVE9ETyhUUkIpOiBVc2UgbmV3IGNvbnRyb2wgZmxvdyAtLT5cbjxkaXYgI2NvbnRhaW5lckVsZW1lbnQgY2xhc3M9XCJldC1jb21ib2JveC1ib2R5LWNvbnRhaW5lclwiIGV0QW5pbWF0ZWRMaWZlY3ljbGU+XG4gIDxuZy1jb250YWluZXIgKmV0TGV0PVwiY29tYm9ib3gub3B0aW9ucyQgfCBhc3luYyBhcyBvcHRpb25zXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFvcHRpb25zPy5sZW5ndGggJiYgIWNvbWJvYm94LmVycm9yICYmICFjb21ib2JveC5sb2FkaW5nXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tQm9keUVtcHR5VHBsJCB8IGFzeW5jIGFzIHRwbDsgZWxzZSBjb21wb25lbnRPck5vbmVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbFwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3JOb25lPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tQm9keUVtcHR5Q29tcG9uZW50JCB8IGFzeW5jIGFzIGNvbXA7IGVsc2UgZGVmYXVsdFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGNvbWJvYm94LmN1c3RvbUJvZHlFbXB0eUNvbXBvbmVudElucHV0cyQgfCBhc3luYykgPz8gdW5kZWZpbmVkXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZXQtY29tYm9ib3gtYm9keS0tZW1wdHlcIj57eyBjb21ib2JveC5fdGVtcEVtcHR5VGV4dCB9fTwvcD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guZXJyb3IgJiYgIWNvbWJvYm94LmxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21ib2JveC5jdXN0b21Cb2R5RXJyb3JUcGwkIHwgYXN5bmMgYXMgdHBsOyBlbHNlIGNvbXBvbmVudE9yTm9uZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHBsOyBjb250ZXh0OiB7IGVycm9yOiBjb21ib2JveC5lcnJvciB9XCIgLz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNjb21wb25lbnRPck5vbmU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21ib2JveC5jdXN0b21Cb2R5RXJyb3JDb21wb25lbnQkIHwgYXN5bmMgYXMgY29tcFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGN1c3RvbUVycm9yQ29tcG9uZW50SW5wdXRzJCB8IGFzeW5jKSA/PyB7IGVycm9yOiBjb21ib2JveC5lcnJvciB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3gubG9hZGluZyQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbWJvYm94LmN1c3RvbUJvZHlMb2FkaW5nVHBsJCB8IGFzeW5jIGFzIHRwbDsgZWxzZSBjb21wb25lbnRPck5vbmVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbFwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3JOb25lPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tQm9keUxvYWRpbmdDb21wb25lbnQkIHwgYXN5bmMgYXMgY29tcFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogKGNvbWJvYm94LmN1c3RvbUJvZHlMb2FkaW5nQ29tcG9uZW50SW5wdXRzJCB8IGFzeW5jKSA/PyB1bmRlZmluZWRcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29tYm9ib3guZXJyb3JcIj5cbiAgICAgIDxldC1jb21ib2JveC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIiBbb3B0aW9uXT1cIm9wdGlvblwiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3B0aW9ucz8ubGVuZ3RoICYmIGNvbWJvYm94LnNob3dCb2R5TW9yZUl0ZW1zSGludFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbWJvYm94LmN1c3RvbUJvZHlNb3JlSXRlbXNIaW50VHBsJCB8IGFzeW5jIGFzIHRwbDsgZWxzZSBjb21wb25lbnRPck5vbmVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbFwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcG9uZW50T3JOb25lPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tQm9keU1vcmVJdGVtc0hpbnRDb21wb25lbnQkIHwgYXN5bmMgYXMgY29tcDsgZWxzZSBkZWZhdWx0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcDsgaW5wdXRzOiAoY29tYm9ib3guY3VzdG9tQm9keU1vcmVJdGVtc0hpbnRDb21wb25lbnRJbnB1dHMkIHwgYXN5bmMpID8/IHVuZGVmaW5lZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgICA8cCAqbmdJZj1cImNvbWJvYm94LmJvZHlNb3JlSXRlbXNIaW50VGV4dFwiIGNsYXNzPVwiZXQtY29tYm9ib3gtYm9keS0tbW9yZS1pdGVtcy1oaW50XCI+XG4gICAgICAgICAgICB7eyBjb21ib2JveC5ib2R5TW9yZUl0ZW1zSGludFRleHQgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
|
package/fesm2022/ethlete-cdk.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i1 from '@angular/cdk/portal';
|
|
2
2
|
import { CdkPortal, PortalModule, ComponentPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
|
3
|
-
import { AsyncPipe, NgClass, NgTemplateOutlet, NgComponentOutlet, DOCUMENT, JsonPipe, formatDate } from '@angular/common';
|
|
3
|
+
import { AsyncPipe, NgClass, NgTemplateOutlet, NgComponentOutlet, DOCUMENT, JsonPipe, formatDate, NgIf, NgFor } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, computed, signal, Optional, Inject, Injectable, SkipSelf, HostListener, ViewContainerRef, EventEmitter, NgZone, isDevMode, Output, NgModule, ChangeDetectorRef, ViewChild, assertInInjectionContext, runInInjectionContext, TemplateRef, forwardRef, LOCALE_ID, numberAttribute, ViewChildren, Pipe, effect, Attribute } from '@angular/core';
|
|
6
6
|
import * as i1$2 from '@ethlete/core';
|
|
@@ -9509,12 +9509,12 @@ class ComboboxBodyComponent {
|
|
|
9509
9509
|
this._themeProvider.syncWithProvider(provider);
|
|
9510
9510
|
}
|
|
9511
9511
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ComboboxBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9512
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
9512
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.3", type: ComboboxBodyComponent, isStandalone: true, selector: "et-combobox-body", host: { attributes: { "tabindex": "-1", "role": "listbox" }, properties: { "attr.id": "id" }, classAttribute: "et-combobox-body et-with-default-animation" }, providers: [
|
|
9513
9513
|
{
|
|
9514
9514
|
provide: COMBOBOX_BODY_TOKEN,
|
|
9515
9515
|
useExisting: ComboboxBodyComponent,
|
|
9516
9516
|
},
|
|
9517
|
-
], viewQueries: [{ propertyName: "_containerElementRef", first: true, predicate: ["containerElement"], descendants: true, read: ElementRef, static: true }, { propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }, { propertyName: "_options", predicate: ComboboxOptionComponent, descendants: true }], hostDirectives: [{ directive: i1$2.ClickOutsideDirective }, { directive: i2$1.ProvideThemeDirective }], ngImport: i0, template: "<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n
|
|
9517
|
+
], viewQueries: [{ propertyName: "_containerElementRef", first: true, predicate: ["containerElement"], descendants: true, read: ElementRef, static: true }, { propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }, { propertyName: "_options", predicate: ComboboxOptionComponent, descendants: true }], hostDirectives: [{ directive: i1$2.ClickOutsideDirective }, { directive: i2$1.ProvideThemeDirective }], ngImport: i0, template: "<!-- TODO(TRB): Use new control flow -->\n<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n <ng-container *ngIf=\"!options?.length && !combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyEmptyTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyEmptyComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyEmptyComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p class=\"et-combobox-body--empty\">{{ combobox._tempEmptyText }}</p>\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyErrorTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl; context: { error: combobox.error }\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyErrorComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (customErrorComponentInputs$ | async) ?? { error: combobox.error }\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.loading$ | async\">\n <ng-container *ngIf=\"combobox.customBodyLoadingTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyLoadingComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyLoadingComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!combobox.error\">\n <et-combobox-option *ngFor=\"let option of options; trackBy: trackByFn\" [option]=\"option\" />\n </ng-container>\n\n <ng-container *ngIf=\"options?.length && combobox.showBodyMoreItemsHint\">\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyMoreItemsHintComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p *ngIf=\"combobox.bodyMoreItemsHintText\" class=\"et-combobox-body--more-items-hint\">\n {{ combobox.bodyMoreItemsHintText }}\n </p>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "component", type: ComboboxOptionComponent, selector: "et-combobox-option", inputs: ["option"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: AnimatedLifecycleDirective, selector: "[etAnimatedLifecycle]", exportAs: ["etAnimatedLifecycle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
9518
9518
|
}
|
|
9519
9519
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: ComboboxBodyComponent, decorators: [{
|
|
9520
9520
|
type: Component,
|
|
@@ -9530,12 +9530,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImpor
|
|
|
9530
9530
|
LetDirective,
|
|
9531
9531
|
AsyncPipe,
|
|
9532
9532
|
AnimatedLifecycleDirective,
|
|
9533
|
+
NgIf,
|
|
9534
|
+
NgFor,
|
|
9533
9535
|
], hostDirectives: [ClickOutsideDirective, ProvideThemeDirective], providers: [
|
|
9534
9536
|
{
|
|
9535
9537
|
provide: COMBOBOX_BODY_TOKEN,
|
|
9536
9538
|
useExisting: ComboboxBodyComponent,
|
|
9537
9539
|
},
|
|
9538
|
-
], template: "<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n
|
|
9540
|
+
], template: "<!-- TODO(TRB): Use new control flow -->\n<div #containerElement class=\"et-combobox-body-container\" etAnimatedLifecycle>\n <ng-container *etLet=\"combobox.options$ | async as options\">\n <ng-container *ngIf=\"!options?.length && !combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyEmptyTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyEmptyComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyEmptyComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p class=\"et-combobox-body--empty\">{{ combobox._tempEmptyText }}</p>\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.error && !combobox.loading\">\n <ng-container *ngIf=\"combobox.customBodyErrorTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl; context: { error: combobox.error }\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyErrorComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (customErrorComponentInputs$ | async) ?? { error: combobox.error }\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"combobox.loading$ | async\">\n <ng-container *ngIf=\"combobox.customBodyLoadingTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyLoadingComponent$ | async as comp\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyLoadingComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"!combobox.error\">\n <et-combobox-option *ngFor=\"let option of options; trackBy: trackByFn\" [option]=\"option\" />\n </ng-container>\n\n <ng-container *ngIf=\"options?.length && combobox.showBodyMoreItemsHint\">\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintTpl$ | async as tpl; else componentOrNone\">\n <ng-container *ngTemplateOutlet=\"tpl\" />\n </ng-container>\n <ng-template #componentOrNone>\n <ng-container *ngIf=\"combobox.customBodyMoreItemsHintComponent$ | async as comp; else default\">\n <ng-container\n *ngComponentOutlet=\"comp; inputs: (combobox.customBodyMoreItemsHintComponentInputs$ | async) ?? undefined\"\n />\n </ng-container>\n <ng-template #default>\n <p *ngIf=\"combobox.bodyMoreItemsHintText\" class=\"et-combobox-body--more-items-hint\">\n {{ combobox.bodyMoreItemsHintText }}\n </p>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n</div>\n" }]
|
|
9539
9541
|
}], propDecorators: { _containerElementRef: [{
|
|
9540
9542
|
type: ViewChild,
|
|
9541
9543
|
args: ['containerElement', { static: true, read: ElementRef }]
|