@mintplayer/ng-bootstrap 16.11.0 → 16.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/multiselect/src/directives/button-template/button-template.directive.mjs +9 -1
- package/esm2022/navbar/src/expand-button/expand-button.directive.mjs +9 -1
- package/esm2022/searchbox/src/directives/suggestion.directive.mjs +19 -4
- package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +3 -3
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +9 -1
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +9 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +20 -5
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
- package/multiselect/src/directives/button-template/button-template.directive.d.ts +4 -0
- package/navbar/src/expand-button/expand-button.directive.d.ts +5 -0
- package/package.json +1 -1
- package/searchbox/src/directives/suggestion.directive.d.ts +10 -3
- package/searchbox/src/searchbox/searchbox.component.d.ts +2 -1
|
@@ -6,6 +6,9 @@ export class BsButtonTemplateDirective {
|
|
|
6
6
|
constructor(template, multiselect) {
|
|
7
7
|
multiselect.buttonTemplate = template;
|
|
8
8
|
}
|
|
9
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
9
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsButtonTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: i1.BsMultiselectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
13
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsButtonTemplateDirective, selector: "[bsButtonTemplate]", ngImport: i0 }); }
|
|
11
14
|
}
|
|
@@ -15,4 +18,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
15
18
|
selector: '[bsButtonTemplate]'
|
|
16
19
|
}]
|
|
17
20
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i1.BsMultiselectComponent }]; } });
|
|
18
|
-
|
|
21
|
+
export class BsRButtonTemplateContext {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.$implicit = null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvbXVsdGlzZWxlY3Qvc3JjL2RpcmVjdGl2ZXMvYnV0dG9uLXRlbXBsYXRlL2J1dHRvbi10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQUsvRSxNQUFNLE9BQU8seUJBQXlCO0lBRXBDLFlBQVksUUFBMEIsRUFBRSxXQUFzQztRQUM1RSxXQUFXLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUNsQyxHQUFxQyxFQUNyQyxHQUFRO1FBRVIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQVhVLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9COztBQWdCRCxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBQ1MsY0FBUyxHQUFXLElBQUssQ0FBQztJQUNuQyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc011bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50L211bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic0J1dHRvblRlbXBsYXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNCdXR0b25UZW1wbGF0ZURpcmVjdGl2ZTxUPiB7XG5cbiAgY29uc3RydWN0b3IodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIG11bHRpc2VsZWN0OiBCc011bHRpc2VsZWN0Q29tcG9uZW50PFQ+KSB7XG4gICAgbXVsdGlzZWxlY3QuYnV0dG9uVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgfVxuICBcbiAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFREYXRhPihcbiAgICBkaXI6IEJzQnV0dG9uVGVtcGxhdGVEaXJlY3RpdmU8VERhdGE+LFxuICAgIGN0eDogYW55XG4gICk6IGN0eCBpcyBCc1JCdXR0b25UZW1wbGF0ZUNvbnRleHQge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbn1cblxuZXhwb3J0IGNsYXNzIEJzUkJ1dHRvblRlbXBsYXRlQ29udGV4dCB7XG4gIHB1YmxpYyAkaW1wbGljaXQ6IG51bWJlciA9IG51bGwhO1xufVxuIl19
|
|
@@ -6,6 +6,9 @@ export class BsExpandButtonDirective {
|
|
|
6
6
|
constructor(navbar, templateRef) {
|
|
7
7
|
navbar.expandButtonTemplate = templateRef;
|
|
8
8
|
}
|
|
9
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
9
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsExpandButtonDirective, deps: [{ token: i1.BsNavbarComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
13
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsExpandButtonDirective, selector: "[bsExpandButton]", ngImport: i0 }); }
|
|
11
14
|
}
|
|
@@ -15,4 +18,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
15
18
|
selector: '[bsExpandButton]'
|
|
16
19
|
}]
|
|
17
20
|
}], ctorParameters: function () { return [{ type: i1.BsNavbarComponent }, { type: i0.TemplateRef }]; } });
|
|
18
|
-
|
|
21
|
+
export class BsExpandButtonContext {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.$implicit = null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL25hdmJhci9zcmMvZXhwYW5kLWJ1dHRvbi9leHBhbmQtYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBSy9ELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBWSxNQUF5QixFQUFFLFdBQTZCO1FBQ2xFLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxXQUFXLENBQUM7SUFDNUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDbEMsR0FBNEIsRUFDNUIsR0FBUTtRQUVSLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FYVSx1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7QUFnQkQsTUFBTSxPQUFPLHFCQUFxQjtJQUFsQztRQUNTLGNBQVMsR0FBZ0IsSUFBSyxDQUFDO0lBQ3hDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzVmlld1N0YXRlIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEJzTmF2YmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNFeHBhbmRCdXR0b25dJ1xufSlcbmV4cG9ydCBjbGFzcyBCc0V4cGFuZEJ1dHRvbkRpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IobmF2YmFyOiBCc05hdmJhckNvbXBvbmVudCwgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICBuYXZiYXIuZXhwYW5kQnV0dG9uVGVtcGxhdGUgPSB0ZW1wbGF0ZVJlZjtcbiAgfVxuICBcbiAgcHVibGljIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKFxuICAgIGRpcjogQnNFeHBhbmRCdXR0b25EaXJlY3RpdmUsXG4gICAgY3R4OiBhbnlcbiAgKTogY3R4IGlzIEJzRXhwYW5kQnV0dG9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxufVxuXG5leHBvcnQgY2xhc3MgQnNFeHBhbmRCdXR0b25Db250ZXh0IHtcbiAgcHVibGljICRpbXBsaWNpdDogQnNWaWV3U3RhdGUgPSBudWxsITtcbn0iXX0=
|
|
@@ -1,18 +1,33 @@
|
|
|
1
|
-
import { Directive, TemplateRef } from '@angular/core';
|
|
1
|
+
import { Directive, Input, TemplateRef } from '@angular/core';
|
|
2
2
|
import { BsSearchboxComponent } from '../searchbox/searchbox.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../searchbox/searchbox.component";
|
|
5
5
|
export class BsSuggestionTemplateDirective {
|
|
6
6
|
constructor(searchbox, template) {
|
|
7
|
+
this.searchbox = searchbox;
|
|
7
8
|
searchbox.suggestionTemplate = template;
|
|
8
9
|
}
|
|
10
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
set bsSuggestionTemplateOf(value) {
|
|
14
|
+
this.searchbox.suggestions = value;
|
|
15
|
+
}
|
|
9
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSuggestionTemplateDirective, deps: [{ token: i1.BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", ngImport: i0 }); }
|
|
17
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", inputs: { bsSuggestionTemplateOf: "bsSuggestionTemplateOf" }, ngImport: i0 }); }
|
|
11
18
|
}
|
|
12
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
|
|
13
20
|
type: Directive,
|
|
14
21
|
args: [{
|
|
15
22
|
selector: '[bsSuggestionTemplate]',
|
|
16
23
|
}]
|
|
17
|
-
}], ctorParameters: function () { return [{ type: i1.BsSearchboxComponent }, { type: i0.TemplateRef }]; }
|
|
18
|
-
|
|
24
|
+
}], ctorParameters: function () { return [{ type: i1.BsSearchboxComponent }, { type: i0.TemplateRef }]; }, propDecorators: { bsSuggestionTemplateOf: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}] } });
|
|
27
|
+
export class BsSuggestionTemplateContext {
|
|
28
|
+
constructor() {
|
|
29
|
+
this.$implicit = null;
|
|
30
|
+
this.searchbox = null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VnZ2VzdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NlYXJjaGJveC9zcmMvZGlyZWN0aXZlcy9zdWdnZXN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUt4RSxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW9CLFNBQXlDLEVBQUUsUUFBNEQ7UUFBdkcsY0FBUyxHQUFULFNBQVMsQ0FBZ0M7UUFDM0QsU0FBUyxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUNsQyxHQUE0QyxFQUM1QyxHQUFRO1FBRVIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBYSxzQkFBc0IsQ0FBQyxLQUFjO1FBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDOzhHQWRVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DO3FJQWFjLHNCQUFzQjtzQkFBbEMsS0FBSzs7QUFLUixNQUFNLE9BQU8sMkJBQTJCO0lBQXhDO1FBQ1MsY0FBUyxHQUFVLElBQUssQ0FBQztRQUN6QixjQUFTLEdBQW1DLElBQUssQ0FBQztJQUMzRCxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFzSWQgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvaGFzLWlkJztcbmltcG9ydCB7IEJzU2VhcmNoYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoYm94L3NlYXJjaGJveC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTdWdnZXN0aW9uVGVtcGxhdGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgQnNTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmU8VERhdGEgZXh0ZW5kcyBIYXNJZDxVPiwgVT4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlYXJjaGJveDogQnNTZWFyY2hib3hDb21wb25lbnQ8VERhdGEsIFU+LCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QnNTdWdnZXN0aW9uVGVtcGxhdGVDb250ZXh0PFREYXRhLCBVPj4pIHtcbiAgICBzZWFyY2hib3guc3VnZ2VzdGlvblRlbXBsYXRlID0gdGVtcGxhdGU7XG4gIH1cbiAgXG4gIHB1YmxpYyBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxURGF0YSBleHRlbmRzIEhhc0lkPFU+LCBVPihcbiAgICBkaXI6IEJzU3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlPFREYXRhLCBVPixcbiAgICBjdHg6IGFueVxuICApOiBjdHggaXMgQnNTdWdnZXN0aW9uVGVtcGxhdGVDb250ZXh0PEV4Y2x1ZGU8VERhdGEsIGZhbHNlIHwgMCB8ICcnIHwgbnVsbCB8IHVuZGVmaW5lZD4sIFU+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBic1N1Z2dlc3Rpb25UZW1wbGF0ZU9mKHZhbHVlOiBURGF0YVtdKSB7XG4gICAgdGhpcy5zZWFyY2hib3guc3VnZ2VzdGlvbnMgPSB2YWx1ZTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnNTdWdnZXN0aW9uVGVtcGxhdGVDb250ZXh0PFREYXRhIGV4dGVuZHMgSGFzSWQ8VT4sIFU+IHtcbiAgcHVibGljICRpbXBsaWNpdDogVERhdGEgPSBudWxsITtcbiAgcHVibGljIHNlYXJjaGJveDogQnNTZWFyY2hib3hDb21wb25lbnQ8VERhdGEsIFU+ID0gbnVsbCE7XG59Il19
|
|
@@ -82,11 +82,11 @@ export class BsSearchboxComponent {
|
|
|
82
82
|
this.searchterm = '';
|
|
83
83
|
}
|
|
84
84
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxComponent, deps: [{ token: i1.BsFormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsSearchboxComponent, selector: "bs-searchbox", inputs: { isOpen: "isOpen", suggestions: "suggestions", selectedItem: "selectedItem", searchterm: "searchterm" }, outputs: { selectedItemChange: "selectedItemChange", provideSuggestions: "provideSuggestions" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsSearchboxComponent, selector: "bs-searchbox", inputs: { isOpen: "isOpen", suggestions: "suggestions", selectedItem: "selectedItem", searchterm: "searchterm" }, outputs: { selectedItemChange: "selectedItemChange", provideSuggestions: "provideSuggestions" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FocusOnLoadDirective, selector: "*[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "component", type: i6.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "directive", type: i7.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i7.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: i7.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i8.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i9.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i9.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "directive", type: i10.BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color]", inputs: ["color"] }, { kind: "component", type: i11.BsProgressBarComponent, selector: "bs-progress-bar", inputs: ["minimum", "maximum", "value", "color", "striped", "animated"] }, { kind: "component", type: i11.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
86
86
|
}
|
|
87
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
|
-
args: [{ selector: 'bs-searchbox', template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate
|
|
89
|
+
args: [{ selector: 'bs-searchbox', template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"] }]
|
|
90
90
|
}], ctorParameters: function () { return [{ type: i1.BsFormComponent, decorators: [{
|
|
91
91
|
type: Optional
|
|
92
92
|
}] }]; }, propDecorators: { textbox: [{
|
|
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
105
105
|
}], provideSuggestions: [{
|
|
106
106
|
type: Output
|
|
107
107
|
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc2VhcmNoYm94L3NyYy9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc2VhcmNoYm94L3NyYy9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztBQU9yRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQXdCLE1BQXVCO1FBZS9DLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHOUMsZ0JBQWdCO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVd4QixZQUFZO1FBRVoscUJBQXFCO1FBQ2IsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFtQnJCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBQ2pFLFlBQVk7UUFFWixvQkFBb0I7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztR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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBCc0Zvcm1Db21wb25lbnQgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvZm9ybSc7XG5pbXBvcnQgeyBIYXNJZCB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9oYXMtaWQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtc2VhcmNoYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaGJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaGJveC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCc1NlYXJjaGJveENvbXBvbmVudDxUIGV4dGVuZHMgSGFzSWQ8VT4sIFU+IHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgYnNGb3JtOiBCc0Zvcm1Db21wb25lbnQpIHtcbiAgICBpZiAoIWJzRm9ybSkge1xuICAgICAgdGhyb3cgJzxicy1zZWFyY2hib3g+IG11c3QgYmUgaW5zaWRlIGEgPGJzLWZvcm0+JztcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaHRlcm0kLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHNlYXJjaHRlcm0pID0+IHtcbiAgICAgIGlmIChzZWFyY2h0ZXJtID09PSAnJykge1xuICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzQnVzeSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5wcm92aWRlU3VnZ2VzdGlvbnMuZW1pdChzZWFyY2h0ZXJtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbG9ycyA9IENvbG9yO1xuICBpc0J1c3kkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIEBWaWV3Q2hpbGQoJ3RleHRib3gnKSB0ZXh0Ym94ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgXG4gIC8vI3JlZ2lvbiBpc09wZW5cbiAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG4gIHB1YmxpYyBnZXQgaXNPcGVuKCkge1xuICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gKHRoaXMuX2lzT3BlbiAhPT0gdmFsdWUpO1xuICAgIHRoaXMuX2lzT3BlbiA9IHZhbHVlO1xuICAgIGlmIChjaGFuZ2VkICYmIHZhbHVlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudGV4dGJveC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDAsIC0xKSwgMjApO1xuICAgIH1cbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gc3VnZ2VzdGlvbnNcbiAgcHJpdmF0ZSBfc3VnZ2VzdGlvbnM6IFRbXSA9IFtdO1xuICBwdWJsaWMgZ2V0IHN1Z2dlc3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9zdWdnZXN0aW9ucztcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHN1Z2dlc3Rpb25zKHZhbHVlOiBUW10pIHtcbiAgICB0aGlzLl9zdWdnZXN0aW9ucyA9IHZhbHVlO1xuICAgIHRoaXMuaXNCdXN5JC5uZXh0KGZhbHNlKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gc2VsZWN0ZWRJdGVtXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbT86IFQ7XG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW07XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZEl0ZW0odmFsdWU6IFQgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VCB8IHVuZGVmaW5lZD4oKTtcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIHNlYXJjaHRlcm1cbiAgc2VhcmNodGVybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwdWJsaWMgZ2V0IHNlYXJjaHRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNodGVybSQudmFsdWU7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBzZWFyY2h0ZXJtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaHRlcm0kLm5leHQodmFsdWUpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIHN1Z2dlc3Rpb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPFQ+O1xuICBlbnRlclNlYXJjaHRlcm1UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPFQ+O1xuICBub1Jlc3VsdHNUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPFQ+O1xuICBAT3V0cHV0KCkgcHJvdmlkZVN1Z2dlc3Rpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgb25TZWFyY2h0ZXJtQ2hhbmdlKHNlYXJjaHRlcm06IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNodGVybSQubmV4dChzZWFyY2h0ZXJtKTtcbiAgfVxuXG4gIG9uU3VnZ2VzdGlvbkNsaWNrZWQoc3VnZ2VzdGlvbjogVCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gc3VnZ2VzdGlvbjtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNodGVybSA9ICcnO1xuICB9XG59XG4iLCI8YnMtaGFzLW92ZXJsYXk+PC9icy1oYXMtb3ZlcmxheT5cbjxkaXYgYnNEcm9wZG93biBbKGlzT3BlbildPVwiaXNPcGVuXCIgW2hhc0JhY2tkcm9wXT1cImZhbHNlXCIgW3NhbWVEcm9wZG93bldpZHRoXT1cInRydWVcIj5cbiAgICA8YnV0dG9uIFtjb2xvcl09XCJjb2xvcnMucHJpbWFyeVwiIGNsYXNzPVwiZC1mbGV4IHctMTAwXCIgYnNEcm9wZG93blRvZ2dsZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cIiFzZWxlY3RlZEl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRJdGVtXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Z2dlc3Rpb25UZW1wbGF0ZSA/PyBkZWZhdWx0U3VnZ2VzdGlvblRlbXBsYXRlOyBjb250ZXh0OiB7IHN1Z2dlc3Rpb246IHNlbGVjdGVkSXRlbSwgc2VhcmNoYm94OiB0aGlzIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJzLWljb24gW2ljb25dPVwiaXNPcGVuID8gJ2NhcmV0LXVwLWZpbGwnIDogJ2NhcmV0LWRvd24tZmlsbCdcIiBjbGFzcz1cImZsb2F0LWVuZFwiPjwvYnMtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnMtZHJvcGRvd24tbWVudSAqYnNEcm9wZG93bk1lbnU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmJzTGV0PVwiKGlzQnVzeSQgfCBhc3luYykgYXMgaXNCdXN5XCI+XG4gICAgICAgICAgICA8YnMtcHJvZ3Jlc3MgW2lzSW5kZXRlcm1pbmF0ZV09XCJ0cnVlXCIgY2xhc3M9XCJwcm9nXCIgKm5nSWY9XCJpc0J1c3lcIj5cbiAgICAgICAgICAgICAgICA8YnMtcHJvZ3Jlc3MtYmFyPjwvYnMtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICAgICAgPC9icy1wcm9ncmVzcz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBweC0yIG1iLTJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAjdGV4dGJveCBhdXRvZm9jdXMgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZC1ibG9ja1wiIFtuZ01vZGVsXT1cInNlYXJjaHRlcm0kIHwgYXN5bmNcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaHRlcm1DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxicy1kcm9wZG93bi1pdGVtIFtkaXNhYmxlZF09XCJ0cnVlXCIgKm5nSWY9XCJzZWFyY2h0ZXJtID09PSAnJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbnRlclNlYXJjaHRlcm1UZW1wbGF0ZSA/PyBkZWZhdWx0RW50ZXJTZWFyY2h0ZXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9icy1kcm9wZG93bi1pdGVtPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNlYXJjaHRlcm0gIT09ICcnXCIgY2xhc3M9XCJvdmVyZmxvdy15LWF1dG9cIiBbc3R5bGUubWF4LWhlaWdodC5weF09XCIyMDBcIj5cbiAgICAgICAgICAgICAgICA8YnMtZHJvcGRvd24taXRlbSAqbmdGb3I9XCJsZXQgc3VnZ2VzdGlvbiBvZiBzdWdnZXN0aW9uc1wiIChjbGljayk9XCJvblN1Z2dlc3Rpb25DbGlja2VkKHN1Z2dlc3Rpb24pXCIgW2lzU2VsZWN0ZWRdPVwic2VsZWN0ZWRJdGVtPy5pZCA9PT0gc3VnZ2VzdGlvbi5pZFwiIFtkaXNhYmxlZF09XCJpc0J1c3kgPz8gdHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VnZ2VzdGlvblRlbXBsYXRlID8/IGRlZmF1bHRTdWdnZXN0aW9uVGVtcGxhdGU7IGNvbnRleHQ6IHsgc3VnZ2VzdGlvbjogc3VnZ2VzdGlvbiwgc2VhcmNoYm94OiB0aGlzIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2JzLWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGJzLWRyb3Bkb3duLWl0ZW0gKm5nSWY9XCJzdWdnZXN0aW9ucy5sZW5ndGggPT09IDBcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXN1bHRzVGVtcGxhdGUgPz8gZGVmYXVsdE5vUmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiB7IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2JzLWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9icy1kcm9wZG93bi1tZW51PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVudGVyU2VhcmNodGVybVRlbXBsYXRlPlxuICAgIEVudGVyIGEgc2VhcmNoIHRlcm1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRTdWdnZXN0aW9uVGVtcGxhdGUgbGV0LXN1Z2dlc3Rpb249XCJzdWdnZXN0aW9uXCIgbGV0LXNlYXJjaGJveD1cInNlYXJjaGJveFwiPlxuICAgIHt7IHN1Z2dlc3Rpb24udGV4dCB9fVxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5vUmVzdWx0c1RlbXBsYXRlPlxuICAgIE5vIHJlc3VsdHNcbjwvbmctdGVtcGxhdGU+Il19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc2VhcmNoYm94L3NyYy9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc2VhcmNoYm94L3NyYy9zZWFyY2hib3gvc2VhcmNoYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFyRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQXdCLE1BQXVCO1FBZS9DLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHOUMsZ0JBQWdCO1FBQ1IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVd4QixZQUFZO1FBRVoscUJBQXFCO1FBQ2IsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFtQnJCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBQ2pFLFlBQVk7UUFFWixvQkFBb0I7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQVlwQyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBcEV4RCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSwyQ0FBMkMsQ0FBQztTQUNuRDtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEYsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFO2dCQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMxQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVFELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBb0IsTUFBTSxDQUFDLEtBQWM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksT0FBTyxJQUFJLEtBQUssRUFBRTtZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDM0U7SUFDSCxDQUFDO0lBS0QsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBb0IsV0FBVyxDQUFDLEtBQVU7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUtELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQW9CLFlBQVksQ0FBQyxLQUFvQjtRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFBQSxDQUFDO0lBTUYsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQW9CLFVBQVUsQ0FBQyxLQUFhO1FBQzFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFRRCxrQkFBa0IsQ0FBQyxVQUFrQjtRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBYTtRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQWhGVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwyV0NiakMsKy9FQTBDYzs7MkZEN0JELG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxjQUFjOzswQkFLWCxRQUFROzRDQWlCQyxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBT0EsTUFBTTtzQkFBekIsS0FBSztnQkFjYyxXQUFXO3NCQUE5QixLQUFLO2dCQVdjLFlBQVk7c0JBQS9CLEtBQUs7Z0JBSUksa0JBQWtCO3NCQUEzQixNQUFNO2dCQVFhLFVBQVU7c0JBQTdCLEtBQUs7Z0JBUUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBCc0Zvcm1Db21wb25lbnQgfSBmcm9tICdAbWludHBsYXllci9uZy1ib290c3RyYXAvZm9ybSc7XG5pbXBvcnQgeyBIYXNJZCB9IGZyb20gJ0BtaW50cGxheWVyL25nLWJvb3RzdHJhcC9oYXMtaWQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJzU3VnZ2VzdGlvblRlbXBsYXRlQ29udGV4dCB9IGZyb20gJy4uL2RpcmVjdGl2ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1zZWFyY2hib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoYm94LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzU2VhcmNoYm94Q29tcG9uZW50PFQgZXh0ZW5kcyBIYXNJZDxVPiwgVT4ge1xuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBic0Zvcm06IEJzRm9ybUNvbXBvbmVudCkge1xuICAgIGlmICghYnNGb3JtKSB7XG4gICAgICB0aHJvdyAnPGJzLXNlYXJjaGJveD4gbXVzdCBiZSBpbnNpZGUgYSA8YnMtZm9ybT4nO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNodGVybSQucGlwZShkZWJvdW5jZVRpbWUoMjAwKSwgdGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoc2VhcmNodGVybSkgPT4ge1xuICAgICAgaWYgKHNlYXJjaHRlcm0gPT09ICcnKSB7XG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNCdXN5JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLnByb3ZpZGVTdWdnZXN0aW9ucy5lbWl0KHNlYXJjaHRlcm0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29sb3JzID0gQ29sb3I7XG4gIGlzQnVzeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgQFZpZXdDaGlsZCgndGV4dGJveCcpIHRleHRib3ghOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBcbiAgLy8jcmVnaW9uIGlzT3BlblxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgcHVibGljIGdldCBpc09wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGlzT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNoYW5nZWQgPSAodGhpcy5faXNPcGVuICE9PSB2YWx1ZSk7XG4gICAgdGhpcy5faXNPcGVuID0gdmFsdWU7XG4gICAgaWYgKGNoYW5nZWQgJiYgdmFsdWUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50ZXh0Ym94Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgLTEpLCAyMCk7XG4gICAgfVxuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBzdWdnZXN0aW9uc1xuICBwcml2YXRlIF9zdWdnZXN0aW9uczogVFtdID0gW107XG4gIHB1YmxpYyBnZXQgc3VnZ2VzdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N1Z2dlc3Rpb25zO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc3VnZ2VzdGlvbnModmFsdWU6IFRbXSkge1xuICAgIHRoaXMuX3N1Z2dlc3Rpb25zID0gdmFsdWU7XG4gICAgdGhpcy5pc0J1c3kkLm5leHQoZmFsc2UpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBzZWxlY3RlZEl0ZW1cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtPzogVDtcbiAgcHVibGljIGdldCBzZWxlY3RlZEl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNlbGVjdGVkSXRlbSh2YWx1ZTogVCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IHZhbHVlO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9O1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUIHwgdW5kZWZpbmVkPigpO1xuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gc2VhcmNodGVybVxuICBzZWFyY2h0ZXJtJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHB1YmxpYyBnZXQgc2VhcmNodGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2h0ZXJtJC52YWx1ZTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNlYXJjaHRlcm0odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNodGVybSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgc3VnZ2VzdGlvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8QnNTdWdnZXN0aW9uVGVtcGxhdGVDb250ZXh0PFQsIFU+PjtcbiAgZW50ZXJTZWFyY2h0ZXJtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxUPjtcbiAgbm9SZXN1bHRzVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxUPjtcbiAgQE91dHB1dCgpIHByb3ZpZGVTdWdnZXN0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIG9uU2VhcmNodGVybUNoYW5nZShzZWFyY2h0ZXJtOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaHRlcm0kLm5leHQoc2VhcmNodGVybSk7XG4gIH1cblxuICBvblN1Z2dlc3Rpb25DbGlja2VkKHN1Z2dlc3Rpb246IFQpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHN1Z2dlc3Rpb247XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaHRlcm0gPSAnJztcbiAgfVxufVxuIiwiPGJzLWhhcy1vdmVybGF5PjwvYnMtaGFzLW92ZXJsYXk+XG48ZGl2IGJzRHJvcGRvd24gWyhpc09wZW4pXT1cImlzT3BlblwiIFtoYXNCYWNrZHJvcF09XCJmYWxzZVwiIFtzYW1lRHJvcGRvd25XaWR0aF09XCJ0cnVlXCI+XG4gICAgPGJ1dHRvbiBbY29sb3JdPVwiY29sb3JzLnByaW1hcnlcIiBjbGFzcz1cImQtZmxleCB3LTEwMFwiIGJzRHJvcGRvd25Ub2dnbGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhc2VsZWN0ZWRJdGVtXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBzdWdnZXN0aW9uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3VnZ2VzdGlvblRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VsZWN0ZWRJdGVtLCBzZWFyY2hib3g6IHRoaXMgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnMtaWNvbiBbaWNvbl09XCJpc09wZW4gPyAnY2FyZXQtdXAtZmlsbCcgOiAnY2FyZXQtZG93bi1maWxsJ1wiIGNsYXNzPVwiZmxvYXQtZW5kXCI+PC9icy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxicy1kcm9wZG93bi1tZW51ICpic0Ryb3Bkb3duTWVudT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYnNMZXQ9XCIoaXNCdXN5JCB8IGFzeW5jKSBhcyBpc0J1c3lcIj5cbiAgICAgICAgICAgIDxicy1wcm9ncmVzcyBbaXNJbmRldGVybWluYXRlXT1cInRydWVcIiBjbGFzcz1cInByb2dcIiAqbmdJZj1cImlzQnVzeVwiPlxuICAgICAgICAgICAgICAgIDxicy1wcm9ncmVzcy1iYXI+PC9icy1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgICA8L2JzLXByb2dyZXNzPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHB4LTIgbWItMlwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiICN0ZXh0Ym94IGF1dG9mb2N1cyBjbGFzcz1cImZvcm0tY29udHJvbCBkLWJsb2NrXCIgW25nTW9kZWxdPVwic2VhcmNodGVybSQgfCBhc3luY1wiIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNodGVybUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGJzLWRyb3Bkb3duLWl0ZW0gW2Rpc2FibGVkXT1cInRydWVcIiAqbmdJZj1cInNlYXJjaHRlcm0gPT09ICcnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVudGVyU2VhcmNodGVybVRlbXBsYXRlID8/IGRlZmF1bHRFbnRlclNlYXJjaHRlcm1UZW1wbGF0ZTsgY29udGV4dDogeyB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2JzLWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VhcmNodGVybSAhPT0gJydcIiBjbGFzcz1cIm92ZXJmbG93LXktYXV0b1wiIFtzdHlsZS5tYXgtaGVpZ2h0LnB4XT1cIjIwMFwiPlxuICAgICAgICAgICAgICAgIDxicy1kcm9wZG93bi1pdGVtICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCIgKGNsaWNrKT1cIm9uU3VnZ2VzdGlvbkNsaWNrZWQoc3VnZ2VzdGlvbilcIiBbaXNTZWxlY3RlZF09XCJzZWxlY3RlZEl0ZW0/LmlkID09PSBzdWdnZXN0aW9uLmlkXCIgW2Rpc2FibGVkXT1cImlzQnVzeSA/PyB0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdWdnZXN0aW9uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWdnZXN0aW9uVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzdWdnZXN0aW9uLCBzZWFyY2hib3g6IHRoaXMgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2JzLWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICAgICAgPGJzLWRyb3Bkb3duLWl0ZW0gKm5nSWY9XCJzdWdnZXN0aW9ucy5sZW5ndGggPT09IDBcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9SZXN1bHRzVGVtcGxhdGUgPz8gZGVmYXVsdE5vUmVzdWx0c1RlbXBsYXRlOyBjb250ZXh0OiB7IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2JzLWRyb3Bkb3duLWl0ZW0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9icy1kcm9wZG93bi1tZW51PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVudGVyU2VhcmNodGVybVRlbXBsYXRlPlxuICAgIEVudGVyIGEgc2VhcmNoIHRlcm1cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RlZmF1bHROb1Jlc3VsdHNUZW1wbGF0ZT5cbiAgICBObyByZXN1bHRzXG48L25nLXRlbXBsYXRlPiJdfQ==
|
|
@@ -83,6 +83,9 @@ class BsButtonTemplateDirective {
|
|
|
83
83
|
constructor(template, multiselect) {
|
|
84
84
|
multiselect.buttonTemplate = template;
|
|
85
85
|
}
|
|
86
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
86
89
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsButtonTemplateDirective, deps: [{ token: i0.TemplateRef }, { token: BsMultiselectComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
87
90
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsButtonTemplateDirective, selector: "[bsButtonTemplate]", ngImport: i0 }); }
|
|
88
91
|
}
|
|
@@ -92,6 +95,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
92
95
|
selector: '[bsButtonTemplate]'
|
|
93
96
|
}]
|
|
94
97
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: BsMultiselectComponent }]; } });
|
|
98
|
+
class BsRButtonTemplateContext {
|
|
99
|
+
constructor() {
|
|
100
|
+
this.$implicit = null;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
95
103
|
|
|
96
104
|
class BsMultiselectModule {
|
|
97
105
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -147,5 +155,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
147
155
|
* Generated bundle index. Do not edit.
|
|
148
156
|
*/
|
|
149
157
|
|
|
150
|
-
export { BsButtonTemplateDirective, BsFooterTemplateDirective, BsHeaderTemplateDirective, BsMultiselectComponent, BsMultiselectModule };
|
|
158
|
+
export { BsButtonTemplateDirective, BsFooterTemplateDirective, BsHeaderTemplateDirective, BsMultiselectComponent, BsMultiselectModule, BsRButtonTemplateContext };
|
|
151
159
|
//# sourceMappingURL=mintplayer-ng-bootstrap-multiselect.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-multiselect.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.html","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/header-template/header-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/footer-template/footer-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/button-template/button-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/multiselect.module.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/mintplayer-ng-bootstrap-multiselect.ts"],"sourcesContent":["import { Component, Input, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss']\n})\nexport class BsMultiselectComponent<T> {\n\n headerTemplate!: TemplateRef<any>;\n footerTemplate!: TemplateRef<any>;\n buttonTemplate!: TemplateRef<any>;\n colors = Color;\n\n\n @Input() public items: T[] = [];\n @Input() public selectedItems: T[] = [];\n @ViewChild('defaultButtonTemplate') defaultButtonTemplate!: TemplateRef<any>;\n @Input() public itemsTrackBy?: TrackByFunction<T>;\n\n // itemChange(item: any, ev: Event) {\n itemChange(item: T, value: boolean | null) {\n // const value = (<any>ev.target).checked;\n if (value) {\n this.selectedItems.push(item);\n } else {\n this.selectedItems.splice(this.selectedItems.findIndex((i) => i === item), 1);\n }\n }\n \n defaultTrackBy(index: number, item: T) {\n return item;\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate ?? defaultButtonTemplate; context: { $implicit: selectedItems.length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <hr class=\"my-2\" *ngIf=\"headerTemplate\">\n <bs-toggle-button *ngFor=\"let item of items; trackBy: itemsTrackBy ?? defaultTrackBy\" [ngModel]=\"selectedItems.indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\">{{ item }}</bs-toggle-button>\n <hr class=\"my-2\" *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsHeaderTemplate]'\n})\nexport class BsHeaderTemplateDirective<T> {\n\n constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>) {\n multiselect.headerTemplate = template;\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsFooterTemplate]'\n})\nexport class BsFooterTemplateDirective<T> {\n\n constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>) {\n multiselect.footerTemplate = template;\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsButtonTemplate]'\n})\nexport class BsButtonTemplateDirective<T> {\n\n constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>) {\n multiselect.buttonTemplate = template;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsToggleButtonModule } from '@mintplayer/ng-bootstrap/toggle-button';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsMultiselectComponent } from './component/multiselect.component';\nimport { BsHeaderTemplateDirective } from './directives/header-template/header-template.directive';\nimport { BsFooterTemplateDirective } from './directives/footer-template/footer-template.directive';\nimport { BsButtonTemplateDirective } from './directives/button-template/button-template.directive';\n\n@NgModule({\n declarations: [\n BsMultiselectComponent,\n BsHeaderTemplateDirective,\n BsFooterTemplateDirective,\n BsButtonTemplateDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n BsDropdownModule,\n BsToggleButtonModule,\n BsButtonTypeModule,\n BsHasOverlayModule,\n FocusOnLoadModule,\n ],\n exports: [\n BsMultiselectComponent,\n BsHeaderTemplateDirective,\n BsFooterTemplateDirective,\n BsButtonTemplateDirective\n ]\n})\nexport class BsMultiselectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsMultiselectComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-multiselect.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/component/multiselect.component.html","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/header-template/header-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/footer-template/footer-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/directives/button-template/button-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/src/multiselect.module.ts","../../../../libs/mintplayer-ng-bootstrap/multiselect/mintplayer-ng-bootstrap-multiselect.ts"],"sourcesContent":["import { Component, Input, TemplateRef, TrackByFunction, ViewChild } from '@angular/core';\nimport { Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-multiselect',\n templateUrl: './multiselect.component.html',\n styleUrls: ['./multiselect.component.scss']\n})\nexport class BsMultiselectComponent<T> {\n\n headerTemplate!: TemplateRef<any>;\n footerTemplate!: TemplateRef<any>;\n buttonTemplate!: TemplateRef<any>;\n colors = Color;\n\n\n @Input() public items: T[] = [];\n @Input() public selectedItems: T[] = [];\n @ViewChild('defaultButtonTemplate') defaultButtonTemplate!: TemplateRef<any>;\n @Input() public itemsTrackBy?: TrackByFunction<T>;\n\n // itemChange(item: any, ev: Event) {\n itemChange(item: T, value: boolean | null) {\n // const value = (<any>ev.target).checked;\n if (value) {\n this.selectedItems.push(item);\n } else {\n this.selectedItems.splice(this.selectedItems.findIndex((i) => i === item), 1);\n }\n }\n \n defaultTrackBy(index: number, item: T) {\n return item;\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle [color]=\"colors.primary\">\n <ng-container *ngTemplateOutlet=\"buttonTemplate ?? defaultButtonTemplate; context: { $implicit: selectedItems.length }\"></ng-container>\n </button>\n <div *bsDropdownMenu class=\"bg-white mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n <hr class=\"my-2\" *ngIf=\"headerTemplate\">\n <bs-toggle-button *ngFor=\"let item of items; trackBy: itemsTrackBy ?? defaultTrackBy\" [ngModel]=\"selectedItems.indexOf(item) > -1\" (ngModelChange)=\"itemChange(item, $event)\" class=\"d-block\">{{ item }}</bs-toggle-button>\n <hr class=\"my-2\" *ngIf=\"footerTemplate\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</div>\n<ng-template #defaultButtonTemplate let-count>\n {{ count }} selected\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsHeaderTemplate]'\n})\nexport class BsHeaderTemplateDirective<T> {\n\n constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>) {\n multiselect.headerTemplate = template;\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsFooterTemplate]'\n})\nexport class BsFooterTemplateDirective<T> {\n\n constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>) {\n multiselect.footerTemplate = template;\n }\n\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { BsMultiselectComponent } from '../../component/multiselect.component';\n\n@Directive({\n selector: '[bsButtonTemplate]'\n})\nexport class BsButtonTemplateDirective<T> {\n\n constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>) {\n multiselect.buttonTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData>(\n dir: BsButtonTemplateDirective<TData>,\n ctx: any\n ): ctx is BsRButtonTemplateContext {\n return true;\n }\n\n}\n\nexport class BsRButtonTemplateContext {\n public $implicit: number = null!;\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsToggleButtonModule } from '@mintplayer/ng-bootstrap/toggle-button';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsMultiselectComponent } from './component/multiselect.component';\nimport { BsHeaderTemplateDirective } from './directives/header-template/header-template.directive';\nimport { BsFooterTemplateDirective } from './directives/footer-template/footer-template.directive';\nimport { BsButtonTemplateDirective } from './directives/button-template/button-template.directive';\n\n@NgModule({\n declarations: [\n BsMultiselectComponent,\n BsHeaderTemplateDirective,\n BsFooterTemplateDirective,\n BsButtonTemplateDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n BsDropdownModule,\n BsToggleButtonModule,\n BsButtonTypeModule,\n BsHasOverlayModule,\n FocusOnLoadModule,\n ],\n exports: [\n BsMultiselectComponent,\n BsHeaderTemplateDirective,\n BsFooterTemplateDirective,\n BsButtonTemplateDirective\n ]\n})\nexport class BsMultiselectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsMultiselectComponent"],"mappings":";;;;;;;;;;;;;;;;;MAQa,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;QAUE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QAGC,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;QAChB,IAAa,CAAA,aAAA,GAAQ,EAAE,CAAC;AAkBzC,KAAA;;IAbC,UAAU,CAAC,IAAO,EAAE,KAAqB,EAAA;;AAEvC,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,SAAA;KACF;IAED,cAAc,CAAC,KAAa,EAAE,IAAO,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC;KACb;8GAzBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,gRCRnC,u/BAec,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,2EAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDPD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,u/BAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA;8BAYV,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBAC8B,qBAAqB,EAAA,CAAA;sBAAxD,SAAS;uBAAC,uBAAuB,CAAA;gBAClB,YAAY,EAAA,CAAA;sBAA3B,KAAK;;;MEbK,yBAAyB,CAAA;IAEpC,WAAY,CAAA,QAA0B,EAAE,WAAsC,EAAA;AAC5E,QAAA,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC;KACvC;8GAJU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;;;MCCY,yBAAyB,CAAA;IAEpC,WAAY,CAAA,QAA0B,EAAE,WAAsC,EAAA;AAC5E,QAAA,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC;KACvC;8GAJU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;;;MCCY,yBAAyB,CAAA;IAEpC,WAAY,CAAA,QAA0B,EAAE,WAAsC,EAAA;AAC5E,QAAA,WAAW,CAAC,cAAc,GAAG,QAAQ,CAAC;KACvC;AAEM,IAAA,OAAO,sBAAsB,CAClC,GAAqC,EACrC,GAAQ,EAAA;AAER,QAAA,OAAO,IAAI,CAAC;KACb;8GAXU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;;MAgBY,wBAAwB,CAAA;AAArC,IAAA,WAAA,GAAA;QACS,IAAS,CAAA,SAAA,GAAW,IAAK,CAAC;KAClC;AAAA;;MCaY,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBArB5B,sBAAsB;YACtB,yBAAyB;YACzB,yBAAyB;AACzB,YAAA,yBAAyB,aAGzB,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,oBAAoB;YACpB,kBAAkB;YAClB,kBAAkB;AAClB,YAAA,iBAAiB,aAGjB,sBAAsB;YACtB,yBAAyB;YACzB,yBAAyB;YACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAf5B,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,oBAAoB;YACpB,kBAAkB;YAClB,kBAAkB;YAClB,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FASR,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAvB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,yBAAyB;wBACzB,yBAAyB;wBACzB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,gBAAgB;wBAChB,oBAAoB;wBACpB,kBAAkB;wBAClB,kBAAkB;wBAClB,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,yBAAyB;wBACzB,yBAAyB;wBACzB,yBAAyB;AAC1B,qBAAA;AACF,iBAAA,CAAA;;;ACnCD;;AAEG;;;;"}
|
|
@@ -569,6 +569,9 @@ class BsExpandButtonDirective {
|
|
|
569
569
|
constructor(navbar, templateRef) {
|
|
570
570
|
navbar.expandButtonTemplate = templateRef;
|
|
571
571
|
}
|
|
572
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
573
|
+
return true;
|
|
574
|
+
}
|
|
572
575
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsExpandButtonDirective, deps: [{ token: BsNavbarComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
573
576
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsExpandButtonDirective, selector: "[bsExpandButton]", ngImport: i0 }); }
|
|
574
577
|
}
|
|
@@ -578,6 +581,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
578
581
|
selector: '[bsExpandButton]'
|
|
579
582
|
}]
|
|
580
583
|
}], ctorParameters: function () { return [{ type: BsNavbarComponent }, { type: i0.TemplateRef }]; } });
|
|
584
|
+
class BsExpandButtonContext {
|
|
585
|
+
constructor() {
|
|
586
|
+
this.$implicit = null;
|
|
587
|
+
}
|
|
588
|
+
}
|
|
581
589
|
|
|
582
590
|
class BsNavbarTogglerComponent {
|
|
583
591
|
constructor() {
|
|
@@ -703,5 +711,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
703
711
|
* Generated bundle index. Do not edit.
|
|
704
712
|
*/
|
|
705
713
|
|
|
706
|
-
export { BsExpandButtonDirective, BsNavbarBrandComponent, BsNavbarComponent, BsNavbarContentDirective, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsNavbarTogglerComponent, DropdownToggleDirective, NavLinkDirective };
|
|
714
|
+
export { BsExpandButtonContext, BsExpandButtonDirective, BsNavbarBrandComponent, BsNavbarComponent, BsNavbarContentDirective, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsNavbarTogglerComponent, DropdownToggleDirective, NavLinkDirective };
|
|
707
715
|
//# sourceMappingURL=mintplayer-ng-bootstrap-navbar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-navbar.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/dropdown-toggle/dropdown-toggle.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/nav-link/nav-link.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-content/navbar-content.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/expand-button/expand-button.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-toggler/navbar-toggler.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-toggler/navbar-toggler.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar.module.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/mintplayer-ng-bootstrap-navbar.ts"],"sourcesContent":["import { Component, ElementRef, HostListener, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Breakpoint, Color } from '@mintplayer/ng-bootstrap';\nimport { BehaviorSubject, combineLatest, debounceTime, filter, map, Observable, take } from 'rxjs';\n\n@Component({\n selector: 'bs-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n})\nexport class BsNavbarComponent {\n\n constructor() {\n this.expandAt$ = this.breakPoint$\n .pipe(map((breakpoint) => {\n switch (breakpoint) {\n case 'xxl': return 1400;\n case 'xl': return 1200;\n case 'lg': return 992;\n case 'md': return 768;\n case 'sm': return 576;\n case 'xs': return 0;\n default: return null;\n }\n }));\n\n this.isSmallMode$ = combineLatest([this.expandAt$, this.windowWidth$])\n .pipe(filter(([expandAt, windowWidth]) => {\n return windowWidth !== null;\n }))\n .pipe(map(([expandAt, windowWidth]) => {\n if (windowWidth === null) {\n throw 'windowWidth should not be null here';\n } else if (!expandAt) {\n return true;\n } else if (windowWidth >= expandAt) {\n return false;\n } else {\n return true;\n }\n }));\n\n this.windowWidth$\n .pipe(debounceTime(300), takeUntilDestroyed())\n .subscribe(() => this.isResizing$.next(false));\n\n this.onWindowResize();\n\n this.expandClass$ = this.breakPoint$.pipe(map((breakpoint) => {\n if (breakpoint === null) {\n return null;\n } else {\n return `navbar-expand-${breakpoint}`;\n }\n }));\n this.wAutoClass$ = this.breakPoint$.pipe(map((breakpoint) => {\n if (breakpoint === null) {\n return null;\n } else {\n return `w-${breakpoint}-auto`;\n }\n }));\n this.dNoneClass$ = this.breakPoint$.pipe(map((breakpoint) => {\n if (breakpoint === null) {\n return null;\n } else {\n return `d-${breakpoint}-none`;\n }\n }));\n\n this.backgroundColorClass$ = this.color$.pipe(map((color) => {\n switch (color) {\n case Color.light:\n case null:\n return ['navbar-light'];\n default:\n return ['navbar-dark', `bg-${Color[color]}`];\n }\n }));\n\n this.navClassList$ = combineLatest([this.expandClass$, this.backgroundColorClass$])\n .pipe(map(([expandClass, backgroundColorClass]) => {\n const result: string[] = [];\n return result.concat(expandClass ?? [], ...backgroundColorClass);\n }));\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing$.next(true);\n if (typeof window !== 'undefined') {\n this.windowWidth$.next(window.innerWidth);\n }\n }\n\n @ViewChild('nav') nav!: ElementRef;\n @Input() autoclose = true;\n\n expandButtonTemplate: TemplateRef<any> | null = null;\n \n \n expandClass$: Observable<string | null>;\n wAutoClass$: Observable<string | null>;\n dNoneClass$: Observable<string | null>;\n isExpanded$ = new BehaviorSubject<boolean>(false);\n windowWidth$ = new BehaviorSubject<number | null>(null);\n isResizing$ = new BehaviorSubject<boolean>(false);\n expandAt$: Observable<number | null>;\n isSmallMode$: Observable<boolean>;\n backgroundColorClass$: Observable<string[]>;\n navClassList$: Observable<string[]>;\n\n toggleExpanded() {\n this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {\n this.isExpanded$.next(!isExpanded);\n });\n }\n\n //#region Color\n color$ = new BehaviorSubject<Color | null>(null);\n public get color() {\n return this.color$.value;\n }\n @Input() public set color(value: Color | null) {\n this.color$.next(value);\n }\n //#endregion\n\n //#region Breakpoint\n breakPoint$ = new BehaviorSubject<Breakpoint | null>('md');\n public get breakpoint() {\n return this.breakPoint$.value;\n }\n @Input() public set breakpoint(value: Breakpoint | null) {\n this.breakPoint$.next(value);\n }\n //#endregion\n\n \n}\n","<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList$ | async\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex\" [class]=\"wAutoClass$ | async\" [class.w-100]=\"isSmallMode$ | async\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass$ | async\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: (isExpanded$ | async) ? 'open' : 'closed' }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>","import { Component, HostListener, Input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SlideUpDownAnimation } from '@mintplayer/ng-animations';\nimport { BehaviorSubject, combineLatest, debounceTime, filter, map, Observable } from 'rxjs';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Component({\n selector: 'bs-navbar-nav',\n templateUrl: './navbar-nav.component.html',\n styleUrls: ['./navbar-nav.component.scss'],\n animations: [SlideUpDownAnimation]\n})\nexport class BsNavbarNavComponent {\n\n constructor(bsNavbar: BsNavbarComponent) {\n this.bsNavbar = bsNavbar;\n this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.bsNavbar.expandAt$, this.windowWidth$])\n .pipe(filter(([isExpanded, expandAt, windowWidth]) => {\n return windowWidth !== null;\n }))\n .pipe(map(([isExpanded, expandAt, windowWidth]) => {\n if (windowWidth === null) {\n throw 'windowWidth should not be null here';\n } else if (expandAt === null) {\n return isExpanded;\n } else if (windowWidth >= expandAt) {\n return true;\n } else {\n return isExpanded;\n }\n }));\n\n this.windowWidth$\n .pipe(debounceTime(300), takeUntilDestroyed())\n .subscribe(() => this.isResizing$.next(false));\n this.onWindowResize();\n }\n \n bsNavbar: BsNavbarComponent;\n collapse$ = new BehaviorSubject<boolean>(true);\n windowWidth$ = new BehaviorSubject<number | null>(null);\n showNavs$: Observable<boolean>;\n isResizing$ = new BehaviorSubject<boolean>(false);\n \n //#region collapse\n @Input() public set collapse(value: boolean) {\n this.collapse$.next(value);\n }\n public get collapse() {\n return this.collapse$.value;\n }\n //#endregion\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing$.next(true);\n if (typeof window !== 'undefined') {\n this.windowWidth$.next(window.innerWidth);\n }\n }\n}\n","<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" [@slideUpDown]=\"showNavs$ | async\" [@.disabled]=\"isResizing$ | async\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>","import { AfterContentChecked, Component, ContentChildren, DestroyRef, ElementRef, forwardRef, Inject, Optional, PLATFORM_ID, QueryList, ViewContainerRef } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Component({\n selector: 'bs-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss']\n})\nexport class BsNavbarItemComponent implements AfterContentChecked {\n\n constructor(\n private navbar: BsNavbarComponent,\n element: ElementRef,\n private destroy: DestroyRef,\n @Inject(PLATFORM_ID) private platformId: Object,\n @Optional() parentDropdown: BsNavbarDropdownComponent,\n ) {\n this.element = element;\n this.parentDropdown = parentDropdown;\n }\n\n element: ElementRef;\n parentDropdown: BsNavbarDropdownComponent;\n hasDropdown = false;\n anchorTag: HTMLAnchorElement | null = null;\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent)) dropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n ngAfterContentChecked() {\n this.anchorTag = this.element.nativeElement.querySelector('li a');\n\n if (this.hasDropdown) {\n if (this.anchorTag) {\n this.anchorTag.classList.add('dropdown-toggle');\n\n if (isPlatformServer(this.platformId)) {\n this.anchorTag.href = 'javascript:;';\n }\n \n if (!this.anchorTag.getAttribute('close-init-b')) {\n this.anchorTag.setAttribute('close-init-b', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n ev.preventDefault();\n // Normally there should be only one dropdown in this list\n this.dropdowns.forEach((dropdown) => {\n if (!(dropdown.isVisible = !dropdown.isVisible)) {\n dropdown.childDropdowns.forEach((child) => child.isVisible = false);\n } else if (this.parentDropdown) {\n // import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {\n // const overlayService = this.injector.get(Overlay);\n // return overlayService;\n // }).then((overlayService) => {\n\n // const p = new DomPortal(dropdown.element);\n // const overlayRef = overlayService.create({\n // positionStrategy: overlayService.position()\n // .flexibleConnectedTo(this.element)\n // .withPositions([\n // { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' }\n // ])\n // });\n // overlayRef.attach(p);\n\n // });\n // dropdown.showInOverlay = true;\n\n this.navbar.isSmallMode$\n .pipe(takeUntilDestroyed(this.destroy))\n .subscribe((isSmallMode) => dropdown.showInOverlay = !isSmallMode);\n }\n });\n return false;\n });\n }\n }\n } else {\n\n // Close if this is a link\n if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {\n this.anchorTag.setAttribute('close-init-a', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n let d = this.parentDropdown;\n while (d && d.autoclose) {\n d.isVisible = false;\n d = d.parentDropdown;\n }\n if (this.navbar.autoclose) {\n this.navbar.isExpanded$.next(false);\n }\n });\n }\n\n }\n }\n}\n","<li [class.nav-item]=\"parentDropdown === null\" [class.dropdown]=\"(dropdowns.length > 0) && (parentDropdown === null)\" [class.dropend]=\"(dropdowns.length > 0) && (parentDropdown !== null)\">\n <ng-content></ng-content>\n</li>","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { Component, ContentChildren, ElementRef, forwardRef, Host, Inject, Injector, Input, Optional, PLATFORM_ID, QueryList, SkipSelf, ViewChild } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'bs-navbar-dropdown',\n templateUrl: './navbar-dropdown.component.html',\n styleUrls: ['./navbar-dropdown.component.scss']\n})\nexport class BsNavbarDropdownComponent {\n\n constructor(\n private navbar: BsNavbarComponent,\n @SkipSelf() @Host() @Optional() parentDropdown: BsNavbarDropdownComponent,\n @Host() @Inject(forwardRef(() => BsNavbarItemComponent)) navbarItem: BsNavbarItemComponent,\n public element: ElementRef<HTMLElement>,\n private injector: Injector,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) platformId: Object,\n ) {\n this.parentDropdown = parentDropdown;\n this.navbarItem = navbarItem;\n this.isBrowser = !isPlatformServer(platformId);\n\n this.isVisible$.pipe(takeUntilDestroyed()).subscribe((isVisible) => {\n if (isVisible) {\n setTimeout(() => {\n try { this.overlay && this.overlay.updatePosition(); }\n catch (ex) { }\n }, 20);\n this.topPos$.next(this.element.nativeElement.offsetTop);\n } else {\n this.topPos$.next(null);\n }\n });\n\n this.maxHeight$ = this.topPos$.pipe(map((topPos) => {\n const w: Window | null = this.document.defaultView;\n if (!topPos) {\n return null;\n } else if (w) {\n const style = w.getComputedStyle(this.dropdownElement.nativeElement);\n return `calc(100vh - ${topPos}px - ${style.getPropertyValue('padding-top')} - ${style.getPropertyValue('padding-bottom')})`;\n } else {\n return null;\n }\n }));\n\n this.maxHeightOrNull$ = combineLatest([this.maxHeight$, this.navbar.isSmallMode$]).pipe(map(([maxHeight, isSmallMode]) => {\n if (isSmallMode) {\n return null;\n } else if (isPlatformServer(platformId)) {\n // Javascript disabled\n // Only apply max-height to the top-dropdown\n return parentDropdown ? null : maxHeight;\n } else {\n // If javascript enabled\n return maxHeight;\n }\n }));\n\n if (!!parentDropdown) {\n // Setup overlay\n import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {\n const overlayService = this.injector.get(Overlay);\n return overlayService;\n }).then((overlayService) => {\n\n this.domPortal = new DomPortal(this.element);\n this.overlay = overlayService.create({\n positionStrategy: overlayService.position()\n .flexibleConnectedTo(this.navbarItem.element)\n .withPositions([\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -9, offsetY: -9 }\n ])\n });\n\n // For some reason we have to trigger this from the BsDropdownItem\n // this.showInOverlay = true;\n });\n }\n\n }\n\n private isAttached = false;\n private domPortal?: DomPortal;\n private overlay?: OverlayRef;\n public set showInOverlay(value: boolean) {\n if (this.overlay && this.domPortal) {\n // if (value && !this.overlay.hasAttached()) {\n if (value && !this.isAttached) {\n this.overlay.attach(this.domPortal);\n this.isAttached = true;\n }\n if (!value && this.isAttached) {\n this.overlay.detach();\n this.isAttached = false;\n }\n }\n }\n\n @Input() public autoclose = true;\n navbarItem: BsNavbarItemComponent;\n parentDropdown: BsNavbarDropdownComponent;\n @ViewChild('dd') dropdownElement!: ElementRef<HTMLDivElement>;\n isBrowser = false;\n topPos$ = new BehaviorSubject<number | null>(null);\n maxHeight$: Observable<string | null>;\n maxHeightOrNull$: Observable<string | null>;\n\n //#region IsVisible\n isVisible$ = new BehaviorSubject<boolean>(false);\n public get isVisible() {\n return this.isVisible$.value;\n }\n public set isVisible(value: boolean) {\n this.isVisible$.next(value);\n }\n //#endregion\n\n get elementsToExclude() {\n return [this.navbarItem.anchorTag].filter((a) => a).map((a) => <HTMLElement>a);\n }\n\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent), { descendants: true }) childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n}\n","<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull$ | async\" bsNoNoscript (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->","import { AfterContentInit, Component, ContentChildren, Directive, ElementRef, forwardRef, Inject, Optional, QueryList } from '@angular/core';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Directive({\n // selector: 'bs-navbar-item > a[routerLink]',\n selector: 'bs-navbar-item',\n queries: {\n childDropdowns: new ContentChildren(BsNavbarDropdownComponent)\n }\n})\nexport class DropdownToggleDirective implements AfterContentInit {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Inject(forwardRef(() => BsNavbarItemComponent)) private bsNavbarItem: BsNavbarItemComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n }\n\n childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n ngAfterContentInit() {\n if (this.bsNavbarItem.dropdowns.length > 0) {\n this.bsNavbarItem.hasDropdown = true;\n }\n }\n}","import { Directive, ElementRef, forwardRef, HostBinding, Inject, Optional, PLATFORM_ID } from '@angular/core';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: 'bs-navbar-item > li > a'\n // Below selector doesn't work well either (does not select the github link)\n // selector: 'bs-navbar-item > a[routerLink]'\n // Below selector seems to target other a's that aren't even remotely inside a bs-navbar-item\n // selector: 'bs-navbar-item:first-child > a'\n})\nexport class NavLinkDirective {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Optional() parentNavbar: BsNavbarComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n if (parentNavbar) {\n if (parentDropdown == null) {\n this.elementRef.nativeElement.classList.add('nav-link');\n } else {\n this.elementRef.nativeElement.classList.add('dropdown-item');\n }\n }\n this.cursorPointer = !!parentNavbar;\n }\n\n @HostBinding('class.cursor-pointer') cursorPointer: boolean;\n\n}","import { isPlatformServer } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, Inject, Input, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, take } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsNavbarContent]'\n})\nexport class BsNavbarContentDirective implements AfterViewInit, OnDestroy {\n\n constructor(private element: ElementRef, @Inject(PLATFORM_ID) private platformId: any) {\n combineLatest([this.viewInit$, this.navbar$])\n .pipe(filter(([viewInit, navbar]) => viewInit && !!navbar))\n .pipe(take(1), takeUntilDestroyed())\n .subscribe(([viewInit, navbar]) => {\n if (isPlatformServer(platformId)) {\n this.element.nativeElement.style.paddingTop = (this.initialPadding + 58) + 'px';\n } else {\n // Initialize the ResizeObserver\n this.resizeObserver = new ResizeObserver((entries) => {\n const height = navbar\n ? navbar.nav.nativeElement.offsetHeight\n : entries[0].contentRect.height;\n\n this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';\n });\n\n // Monitor the size\n const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');\n const pt = parseInt(px.replace(/px$/, ''));\n this.initialPadding = isNaN(pt) ? 0 : pt;\n if (this.resizeObserver && navbar) {\n this.resizeObserver.observe(navbar.nav.nativeElement);\n }\n }\n });\n }\n\n private viewInit$ = new BehaviorSubject<boolean>(false);\n private navbar$ = new BehaviorSubject<BsNavbarComponent | null>(null);\n resizeObserver: ResizeObserver | null = null;\n initialPadding = 0;\n\n @Input('bsNavbarContent') set navbar(value: BsNavbarComponent) {\n this.navbar$.next(value);\n }\n \n ngAfterViewInit() {\n this.viewInit$.next(true);\n }\n\n ngOnDestroy() {\n this.resizeObserver?.unobserve(this.navbar$.value?.nav.nativeElement);\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-navbar-brand',\n templateUrl: './navbar-brand.component.html',\n styleUrls: ['./navbar-brand.component.scss']\n})\nexport class BsNavbarBrandComponent {\n @Input() public routerLink: any[] = [];\n @HostBinding('class.mx-auto') mxAuto = true;\n}\n","<span class=\"navbar-brand mx-auto mx-md-unset\">\n <ng-content></ng-content>\n</span>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsExpandButton]'\n})\nexport class BsExpandButtonDirective {\n\n constructor(navbar: BsNavbarComponent, templateRef: TemplateRef<any>) {\n navbar.expandButtonTemplate = templateRef;\n }\n\n}\n","import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { BsViewState } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-navbar-toggler',\n templateUrl: './navbar-toggler.component.html',\n styleUrls: ['./navbar-toggler.component.scss'],\n})\nexport class BsNavbarTogglerComponent {\n //#region State\n _state: BsViewState = 'closed';\n @Output() public stateChange = new EventEmitter<BsViewState>();\n public get state() {\n return this._state;\n }\n @Input() public set state(value: BsViewState) {\n this._state = value;\n this.stateChange.emit(this._state);\n }\n //#endregion\n\n @Input() public toggleOnClick = true;\n\n @HostListener('click', ['$event'])\n toggleState(ev: MouseEvent) {\n if (this.toggleOnClick) {\n switch (this._state) {\n case 'open':\n this.state = 'closed';\n break;\n default:\n this.state = 'open';\n break;\n }\n }\n }\n}\n","<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n <div></div>\n <div></div>\n <div></div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClickOutsideModule } from '@mintplayer/ng-click-outside';\nimport { BsUserAgentModule } from '@mintplayer/ng-bootstrap/user-agent';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDividerDirective, BsDropdownDividerModule } from '@mintplayer/ng-bootstrap/dropdown-divider';\nimport { BsContainerModule } from '@mintplayer/ng-bootstrap/container';\nimport { BsNavbarComponent } from './navbar/navbar.component';\nimport { BsNavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { BsNavbarDropdownComponent } from './navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { DropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\nimport { NavLinkDirective } from './nav-link/nav-link.directive';\nimport { BsNavbarContentDirective } from './navbar-content/navbar-content.directive';\nimport { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';\nimport { BsExpandButtonDirective } from './expand-button/expand-button.directive';\nimport { BsNavbarTogglerComponent } from './navbar-toggler/navbar-toggler.component';\n\n@NgModule({\n declarations: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n BsNavbarTogglerComponent,\n ],\n imports: [\n CommonModule,\n ClickOutsideModule,\n BsContainerModule,\n BsUserAgentModule,\n BsNoNoscriptModule,\n BsHasOverlayModule,\n BsDropdownDividerModule,\n ],\n exports: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n BsNavbarTogglerComponent,\n\n BsDropdownDividerDirective,\n ]\n})\nexport class BsNavbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsNavbarComponent","i2","i2.BsNavbarDropdownComponent","i3","i4","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-navbar.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/dropdown-toggle/dropdown-toggle.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/nav-link/nav-link.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-content/navbar-content.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/expand-button/expand-button.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-toggler/navbar-toggler.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-toggler/navbar-toggler.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar.module.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/mintplayer-ng-bootstrap-navbar.ts"],"sourcesContent":["import { Component, ElementRef, HostListener, Input, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Breakpoint, Color } from '@mintplayer/ng-bootstrap';\nimport { BehaviorSubject, combineLatest, debounceTime, filter, map, Observable, take } from 'rxjs';\n\n@Component({\n selector: 'bs-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n})\nexport class BsNavbarComponent {\n\n constructor() {\n this.expandAt$ = this.breakPoint$\n .pipe(map((breakpoint) => {\n switch (breakpoint) {\n case 'xxl': return 1400;\n case 'xl': return 1200;\n case 'lg': return 992;\n case 'md': return 768;\n case 'sm': return 576;\n case 'xs': return 0;\n default: return null;\n }\n }));\n\n this.isSmallMode$ = combineLatest([this.expandAt$, this.windowWidth$])\n .pipe(filter(([expandAt, windowWidth]) => {\n return windowWidth !== null;\n }))\n .pipe(map(([expandAt, windowWidth]) => {\n if (windowWidth === null) {\n throw 'windowWidth should not be null here';\n } else if (!expandAt) {\n return true;\n } else if (windowWidth >= expandAt) {\n return false;\n } else {\n return true;\n }\n }));\n\n this.windowWidth$\n .pipe(debounceTime(300), takeUntilDestroyed())\n .subscribe(() => this.isResizing$.next(false));\n\n this.onWindowResize();\n\n this.expandClass$ = this.breakPoint$.pipe(map((breakpoint) => {\n if (breakpoint === null) {\n return null;\n } else {\n return `navbar-expand-${breakpoint}`;\n }\n }));\n this.wAutoClass$ = this.breakPoint$.pipe(map((breakpoint) => {\n if (breakpoint === null) {\n return null;\n } else {\n return `w-${breakpoint}-auto`;\n }\n }));\n this.dNoneClass$ = this.breakPoint$.pipe(map((breakpoint) => {\n if (breakpoint === null) {\n return null;\n } else {\n return `d-${breakpoint}-none`;\n }\n }));\n\n this.backgroundColorClass$ = this.color$.pipe(map((color) => {\n switch (color) {\n case Color.light:\n case null:\n return ['navbar-light'];\n default:\n return ['navbar-dark', `bg-${Color[color]}`];\n }\n }));\n\n this.navClassList$ = combineLatest([this.expandClass$, this.backgroundColorClass$])\n .pipe(map(([expandClass, backgroundColorClass]) => {\n const result: string[] = [];\n return result.concat(expandClass ?? [], ...backgroundColorClass);\n }));\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing$.next(true);\n if (typeof window !== 'undefined') {\n this.windowWidth$.next(window.innerWidth);\n }\n }\n\n @ViewChild('nav') nav!: ElementRef;\n @Input() autoclose = true;\n\n expandButtonTemplate: TemplateRef<any> | null = null;\n \n \n expandClass$: Observable<string | null>;\n wAutoClass$: Observable<string | null>;\n dNoneClass$: Observable<string | null>;\n isExpanded$ = new BehaviorSubject<boolean>(false);\n windowWidth$ = new BehaviorSubject<number | null>(null);\n isResizing$ = new BehaviorSubject<boolean>(false);\n expandAt$: Observable<number | null>;\n isSmallMode$: Observable<boolean>;\n backgroundColorClass$: Observable<string[]>;\n navClassList$: Observable<string[]>;\n\n toggleExpanded() {\n this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {\n this.isExpanded$.next(!isExpanded);\n });\n }\n\n //#region Color\n color$ = new BehaviorSubject<Color | null>(null);\n public get color() {\n return this.color$.value;\n }\n @Input() public set color(value: Color | null) {\n this.color$.next(value);\n }\n //#endregion\n\n //#region Breakpoint\n breakPoint$ = new BehaviorSubject<Breakpoint | null>('md');\n public get breakpoint() {\n return this.breakPoint$.value;\n }\n @Input() public set breakpoint(value: Breakpoint | null) {\n this.breakPoint$.next(value);\n }\n //#endregion\n\n \n}\n","<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList$ | async\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex\" [class]=\"wAutoClass$ | async\" [class.w-100]=\"isSmallMode$ | async\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass$ | async\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: (isExpanded$ | async) ? 'open' : 'closed' }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>","import { Component, HostListener, Input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { SlideUpDownAnimation } from '@mintplayer/ng-animations';\nimport { BehaviorSubject, combineLatest, debounceTime, filter, map, Observable } from 'rxjs';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Component({\n selector: 'bs-navbar-nav',\n templateUrl: './navbar-nav.component.html',\n styleUrls: ['./navbar-nav.component.scss'],\n animations: [SlideUpDownAnimation]\n})\nexport class BsNavbarNavComponent {\n\n constructor(bsNavbar: BsNavbarComponent) {\n this.bsNavbar = bsNavbar;\n this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.bsNavbar.expandAt$, this.windowWidth$])\n .pipe(filter(([isExpanded, expandAt, windowWidth]) => {\n return windowWidth !== null;\n }))\n .pipe(map(([isExpanded, expandAt, windowWidth]) => {\n if (windowWidth === null) {\n throw 'windowWidth should not be null here';\n } else if (expandAt === null) {\n return isExpanded;\n } else if (windowWidth >= expandAt) {\n return true;\n } else {\n return isExpanded;\n }\n }));\n\n this.windowWidth$\n .pipe(debounceTime(300), takeUntilDestroyed())\n .subscribe(() => this.isResizing$.next(false));\n this.onWindowResize();\n }\n \n bsNavbar: BsNavbarComponent;\n collapse$ = new BehaviorSubject<boolean>(true);\n windowWidth$ = new BehaviorSubject<number | null>(null);\n showNavs$: Observable<boolean>;\n isResizing$ = new BehaviorSubject<boolean>(false);\n \n //#region collapse\n @Input() public set collapse(value: boolean) {\n this.collapse$.next(value);\n }\n public get collapse() {\n return this.collapse$.value;\n }\n //#endregion\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing$.next(true);\n if (typeof window !== 'undefined') {\n this.windowWidth$.next(window.innerWidth);\n }\n }\n}\n","<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" [@slideUpDown]=\"showNavs$ | async\" [@.disabled]=\"isResizing$ | async\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>","import { AfterContentChecked, Component, ContentChildren, DestroyRef, ElementRef, forwardRef, Inject, Optional, PLATFORM_ID, QueryList, ViewContainerRef } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Component({\n selector: 'bs-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss']\n})\nexport class BsNavbarItemComponent implements AfterContentChecked {\n\n constructor(\n private navbar: BsNavbarComponent,\n element: ElementRef,\n private destroy: DestroyRef,\n @Inject(PLATFORM_ID) private platformId: Object,\n @Optional() parentDropdown: BsNavbarDropdownComponent,\n ) {\n this.element = element;\n this.parentDropdown = parentDropdown;\n }\n\n element: ElementRef;\n parentDropdown: BsNavbarDropdownComponent;\n hasDropdown = false;\n anchorTag: HTMLAnchorElement | null = null;\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent)) dropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n ngAfterContentChecked() {\n this.anchorTag = this.element.nativeElement.querySelector('li a');\n\n if (this.hasDropdown) {\n if (this.anchorTag) {\n this.anchorTag.classList.add('dropdown-toggle');\n\n if (isPlatformServer(this.platformId)) {\n this.anchorTag.href = 'javascript:;';\n }\n \n if (!this.anchorTag.getAttribute('close-init-b')) {\n this.anchorTag.setAttribute('close-init-b', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n ev.preventDefault();\n // Normally there should be only one dropdown in this list\n this.dropdowns.forEach((dropdown) => {\n if (!(dropdown.isVisible = !dropdown.isVisible)) {\n dropdown.childDropdowns.forEach((child) => child.isVisible = false);\n } else if (this.parentDropdown) {\n // import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {\n // const overlayService = this.injector.get(Overlay);\n // return overlayService;\n // }).then((overlayService) => {\n\n // const p = new DomPortal(dropdown.element);\n // const overlayRef = overlayService.create({\n // positionStrategy: overlayService.position()\n // .flexibleConnectedTo(this.element)\n // .withPositions([\n // { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' }\n // ])\n // });\n // overlayRef.attach(p);\n\n // });\n // dropdown.showInOverlay = true;\n\n this.navbar.isSmallMode$\n .pipe(takeUntilDestroyed(this.destroy))\n .subscribe((isSmallMode) => dropdown.showInOverlay = !isSmallMode);\n }\n });\n return false;\n });\n }\n }\n } else {\n\n // Close if this is a link\n if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {\n this.anchorTag.setAttribute('close-init-a', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n let d = this.parentDropdown;\n while (d && d.autoclose) {\n d.isVisible = false;\n d = d.parentDropdown;\n }\n if (this.navbar.autoclose) {\n this.navbar.isExpanded$.next(false);\n }\n });\n }\n\n }\n }\n}\n","<li [class.nav-item]=\"parentDropdown === null\" [class.dropdown]=\"(dropdowns.length > 0) && (parentDropdown === null)\" [class.dropend]=\"(dropdowns.length > 0) && (parentDropdown !== null)\">\n <ng-content></ng-content>\n</li>","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { Component, ContentChildren, ElementRef, forwardRef, Host, Inject, Injector, Input, Optional, PLATFORM_ID, QueryList, SkipSelf, ViewChild } from '@angular/core';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { OverlayRef } from '@angular/cdk/overlay';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'bs-navbar-dropdown',\n templateUrl: './navbar-dropdown.component.html',\n styleUrls: ['./navbar-dropdown.component.scss']\n})\nexport class BsNavbarDropdownComponent {\n\n constructor(\n private navbar: BsNavbarComponent,\n @SkipSelf() @Host() @Optional() parentDropdown: BsNavbarDropdownComponent,\n @Host() @Inject(forwardRef(() => BsNavbarItemComponent)) navbarItem: BsNavbarItemComponent,\n public element: ElementRef<HTMLElement>,\n private injector: Injector,\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) platformId: Object,\n ) {\n this.parentDropdown = parentDropdown;\n this.navbarItem = navbarItem;\n this.isBrowser = !isPlatformServer(platformId);\n\n this.isVisible$.pipe(takeUntilDestroyed()).subscribe((isVisible) => {\n if (isVisible) {\n setTimeout(() => {\n try { this.overlay && this.overlay.updatePosition(); }\n catch (ex) { }\n }, 20);\n this.topPos$.next(this.element.nativeElement.offsetTop);\n } else {\n this.topPos$.next(null);\n }\n });\n\n this.maxHeight$ = this.topPos$.pipe(map((topPos) => {\n const w: Window | null = this.document.defaultView;\n if (!topPos) {\n return null;\n } else if (w) {\n const style = w.getComputedStyle(this.dropdownElement.nativeElement);\n return `calc(100vh - ${topPos}px - ${style.getPropertyValue('padding-top')} - ${style.getPropertyValue('padding-bottom')})`;\n } else {\n return null;\n }\n }));\n\n this.maxHeightOrNull$ = combineLatest([this.maxHeight$, this.navbar.isSmallMode$]).pipe(map(([maxHeight, isSmallMode]) => {\n if (isSmallMode) {\n return null;\n } else if (isPlatformServer(platformId)) {\n // Javascript disabled\n // Only apply max-height to the top-dropdown\n return parentDropdown ? null : maxHeight;\n } else {\n // If javascript enabled\n return maxHeight;\n }\n }));\n\n if (!!parentDropdown) {\n // Setup overlay\n import('@angular/cdk/overlay').then(({ OverlayModule, Overlay }) => {\n const overlayService = this.injector.get(Overlay);\n return overlayService;\n }).then((overlayService) => {\n\n this.domPortal = new DomPortal(this.element);\n this.overlay = overlayService.create({\n positionStrategy: overlayService.position()\n .flexibleConnectedTo(this.navbarItem.element)\n .withPositions([\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -9, offsetY: -9 }\n ])\n });\n\n // For some reason we have to trigger this from the BsDropdownItem\n // this.showInOverlay = true;\n });\n }\n\n }\n\n private isAttached = false;\n private domPortal?: DomPortal;\n private overlay?: OverlayRef;\n public set showInOverlay(value: boolean) {\n if (this.overlay && this.domPortal) {\n // if (value && !this.overlay.hasAttached()) {\n if (value && !this.isAttached) {\n this.overlay.attach(this.domPortal);\n this.isAttached = true;\n }\n if (!value && this.isAttached) {\n this.overlay.detach();\n this.isAttached = false;\n }\n }\n }\n\n @Input() public autoclose = true;\n navbarItem: BsNavbarItemComponent;\n parentDropdown: BsNavbarDropdownComponent;\n @ViewChild('dd') dropdownElement!: ElementRef<HTMLDivElement>;\n isBrowser = false;\n topPos$ = new BehaviorSubject<number | null>(null);\n maxHeight$: Observable<string | null>;\n maxHeightOrNull$: Observable<string | null>;\n\n //#region IsVisible\n isVisible$ = new BehaviorSubject<boolean>(false);\n public get isVisible() {\n return this.isVisible$.value;\n }\n public set isVisible(value: boolean) {\n this.isVisible$.next(value);\n }\n //#endregion\n\n get elementsToExclude() {\n return [this.navbarItem.anchorTag].filter((a) => a).map((a) => <HTMLElement>a);\n }\n\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent), { descendants: true }) childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n}\n","<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible$ | async\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull$ | async\" bsNoNoscript (clickOutside)=\"isVisible = false\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!-- \n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!-- \n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->","import { AfterContentInit, Component, ContentChildren, Directive, ElementRef, forwardRef, Inject, Optional, QueryList } from '@angular/core';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Directive({\n // selector: 'bs-navbar-item > a[routerLink]',\n selector: 'bs-navbar-item',\n queries: {\n childDropdowns: new ContentChildren(BsNavbarDropdownComponent)\n }\n})\nexport class DropdownToggleDirective implements AfterContentInit {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Inject(forwardRef(() => BsNavbarItemComponent)) private bsNavbarItem: BsNavbarItemComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n }\n\n childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n ngAfterContentInit() {\n if (this.bsNavbarItem.dropdowns.length > 0) {\n this.bsNavbarItem.hasDropdown = true;\n }\n }\n}","import { Directive, ElementRef, forwardRef, HostBinding, Inject, Optional, PLATFORM_ID } from '@angular/core';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: 'bs-navbar-item > li > a'\n // Below selector doesn't work well either (does not select the github link)\n // selector: 'bs-navbar-item > a[routerLink]'\n // Below selector seems to target other a's that aren't even remotely inside a bs-navbar-item\n // selector: 'bs-navbar-item:first-child > a'\n})\nexport class NavLinkDirective {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Optional() parentNavbar: BsNavbarComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n if (parentNavbar) {\n if (parentDropdown == null) {\n this.elementRef.nativeElement.classList.add('nav-link');\n } else {\n this.elementRef.nativeElement.classList.add('dropdown-item');\n }\n }\n this.cursorPointer = !!parentNavbar;\n }\n\n @HostBinding('class.cursor-pointer') cursorPointer: boolean;\n\n}","import { isPlatformServer } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, Inject, Input, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, take } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsNavbarContent]'\n})\nexport class BsNavbarContentDirective implements AfterViewInit, OnDestroy {\n\n constructor(private element: ElementRef, @Inject(PLATFORM_ID) private platformId: any) {\n combineLatest([this.viewInit$, this.navbar$])\n .pipe(filter(([viewInit, navbar]) => viewInit && !!navbar))\n .pipe(take(1), takeUntilDestroyed())\n .subscribe(([viewInit, navbar]) => {\n if (isPlatformServer(platformId)) {\n this.element.nativeElement.style.paddingTop = (this.initialPadding + 58) + 'px';\n } else {\n // Initialize the ResizeObserver\n this.resizeObserver = new ResizeObserver((entries) => {\n const height = navbar\n ? navbar.nav.nativeElement.offsetHeight\n : entries[0].contentRect.height;\n\n this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';\n });\n\n // Monitor the size\n const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');\n const pt = parseInt(px.replace(/px$/, ''));\n this.initialPadding = isNaN(pt) ? 0 : pt;\n if (this.resizeObserver && navbar) {\n this.resizeObserver.observe(navbar.nav.nativeElement);\n }\n }\n });\n }\n\n private viewInit$ = new BehaviorSubject<boolean>(false);\n private navbar$ = new BehaviorSubject<BsNavbarComponent | null>(null);\n resizeObserver: ResizeObserver | null = null;\n initialPadding = 0;\n\n @Input('bsNavbarContent') set navbar(value: BsNavbarComponent) {\n this.navbar$.next(value);\n }\n \n ngAfterViewInit() {\n this.viewInit$.next(true);\n }\n\n ngOnDestroy() {\n this.resizeObserver?.unobserve(this.navbar$.value?.nav.nativeElement);\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-navbar-brand',\n templateUrl: './navbar-brand.component.html',\n styleUrls: ['./navbar-brand.component.scss']\n})\nexport class BsNavbarBrandComponent {\n @Input() public routerLink: any[] = [];\n @HostBinding('class.mx-auto') mxAuto = true;\n}\n","<span class=\"navbar-brand mx-auto mx-md-unset\">\n <ng-content></ng-content>\n</span>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsViewState } from '@mintplayer/ng-bootstrap';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsExpandButton]'\n})\nexport class BsExpandButtonDirective {\n\n constructor(navbar: BsNavbarComponent, templateRef: TemplateRef<any>) {\n navbar.expandButtonTemplate = templateRef;\n }\n \n public static ngTemplateContextGuard(\n dir: BsExpandButtonDirective,\n ctx: any\n ): ctx is BsExpandButtonContext {\n return true;\n }\n\n}\n\nexport class BsExpandButtonContext {\n public $implicit: BsViewState = null!;\n}","import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { BsViewState } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-navbar-toggler',\n templateUrl: './navbar-toggler.component.html',\n styleUrls: ['./navbar-toggler.component.scss'],\n})\nexport class BsNavbarTogglerComponent {\n //#region State\n _state: BsViewState = 'closed';\n @Output() public stateChange = new EventEmitter<BsViewState>();\n public get state() {\n return this._state;\n }\n @Input() public set state(value: BsViewState) {\n this._state = value;\n this.stateChange.emit(this._state);\n }\n //#endregion\n\n @Input() public toggleOnClick = true;\n\n @HostListener('click', ['$event'])\n toggleState(ev: MouseEvent) {\n if (this.toggleOnClick) {\n switch (this._state) {\n case 'open':\n this.state = 'closed';\n break;\n default:\n this.state = 'open';\n break;\n }\n }\n }\n}\n","<div class=\"navbar-toggler float-left\" [ngClass]=\"state\">\n <div></div>\n <div></div>\n <div></div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClickOutsideModule } from '@mintplayer/ng-click-outside';\nimport { BsUserAgentModule } from '@mintplayer/ng-bootstrap/user-agent';\nimport { BsNoNoscriptModule } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDividerDirective, BsDropdownDividerModule } from '@mintplayer/ng-bootstrap/dropdown-divider';\nimport { BsContainerModule } from '@mintplayer/ng-bootstrap/container';\nimport { BsNavbarComponent } from './navbar/navbar.component';\nimport { BsNavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { BsNavbarDropdownComponent } from './navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { DropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\nimport { NavLinkDirective } from './nav-link/nav-link.directive';\nimport { BsNavbarContentDirective } from './navbar-content/navbar-content.directive';\nimport { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';\nimport { BsExpandButtonDirective } from './expand-button/expand-button.directive';\nimport { BsNavbarTogglerComponent } from './navbar-toggler/navbar-toggler.component';\n\n@NgModule({\n declarations: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n BsNavbarTogglerComponent,\n ],\n imports: [\n CommonModule,\n ClickOutsideModule,\n BsContainerModule,\n BsUserAgentModule,\n BsNoNoscriptModule,\n BsHasOverlayModule,\n BsDropdownDividerModule,\n ],\n exports: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n BsNavbarTogglerComponent,\n\n BsDropdownDividerDirective,\n ]\n})\nexport class BsNavbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsNavbarComponent","i2","i2.BsNavbarDropdownComponent","i3","i4","i5"],"mappings":"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"}
|
|
@@ -92,11 +92,11 @@ class BsSearchboxComponent {
|
|
|
92
92
|
this.searchterm = '';
|
|
93
93
|
}
|
|
94
94
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxComponent, deps: [{ token: i1.BsFormComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsSearchboxComponent, selector: "bs-searchbox", inputs: { isOpen: "isOpen", suggestions: "suggestions", selectedItem: "selectedItem", searchterm: "searchterm" }, outputs: { selectedItemChange: "selectedItemChange", provideSuggestions: "provideSuggestions" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsSearchboxComponent, selector: "bs-searchbox", inputs: { isOpen: "isOpen", suggestions: "suggestions", selectedItem: "selectedItem", searchterm: "searchterm" }, outputs: { selectedItemChange: "selectedItemChange", provideSuggestions: "provideSuggestions" }, viewQueries: [{ propertyName: "textbox", first: true, predicate: ["textbox"], descendants: true }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FocusOnLoadDirective, selector: "*[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: i5.BsLetDirective, selector: "[bsLet]", inputs: ["bsLet"] }, { kind: "component", type: i6.BsIconComponent, selector: "bs-icon", inputs: ["icon"] }, { kind: "directive", type: i7.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i7.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { kind: "directive", type: i7.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i8.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i9.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i9.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "directive", type: i10.BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color]", inputs: ["color"] }, { kind: "component", type: i11.BsProgressBarComponent, selector: "bs-progress-bar", inputs: ["minimum", "maximum", "value", "color", "striped", "animated"] }, { kind: "component", type: i11.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
96
96
|
}
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
|
-
args: [{ selector: 'bs-searchbox', template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate
|
|
99
|
+
args: [{ selector: 'bs-searchbox', template: "<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"] }]
|
|
100
100
|
}], ctorParameters: function () { return [{ type: i1.BsFormComponent, decorators: [{
|
|
101
101
|
type: Optional
|
|
102
102
|
}] }]; }, propDecorators: { textbox: [{
|
|
@@ -132,17 +132,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
132
132
|
|
|
133
133
|
class BsSuggestionTemplateDirective {
|
|
134
134
|
constructor(searchbox, template) {
|
|
135
|
+
this.searchbox = searchbox;
|
|
135
136
|
searchbox.suggestionTemplate = template;
|
|
136
137
|
}
|
|
138
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
set bsSuggestionTemplateOf(value) {
|
|
142
|
+
this.searchbox.suggestions = value;
|
|
143
|
+
}
|
|
137
144
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSuggestionTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
138
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", ngImport: i0 }); }
|
|
145
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsSuggestionTemplateDirective, selector: "[bsSuggestionTemplate]", inputs: { bsSuggestionTemplateOf: "bsSuggestionTemplateOf" }, ngImport: i0 }); }
|
|
139
146
|
}
|
|
140
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
|
|
141
148
|
type: Directive,
|
|
142
149
|
args: [{
|
|
143
150
|
selector: '[bsSuggestionTemplate]',
|
|
144
151
|
}]
|
|
145
|
-
}], ctorParameters: function () { return [{ type: BsSearchboxComponent }, { type: i0.TemplateRef }]; }
|
|
152
|
+
}], ctorParameters: function () { return [{ type: BsSearchboxComponent }, { type: i0.TemplateRef }]; }, propDecorators: { bsSuggestionTemplateOf: [{
|
|
153
|
+
type: Input
|
|
154
|
+
}] } });
|
|
155
|
+
class BsSuggestionTemplateContext {
|
|
156
|
+
constructor() {
|
|
157
|
+
this.$implicit = null;
|
|
158
|
+
this.searchbox = null;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
146
161
|
|
|
147
162
|
class BsNoResultsTemplateDirective {
|
|
148
163
|
constructor(searchbox, template) {
|
|
@@ -221,5 +236,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImpor
|
|
|
221
236
|
* Generated bundle index. Do not edit.
|
|
222
237
|
*/
|
|
223
238
|
|
|
224
|
-
export { BsEnterSearchTermTemplateDirective, BsNoResultsTemplateDirective, BsSearchboxComponent, BsSearchboxModule, BsSuggestionTemplateDirective };
|
|
239
|
+
export { BsEnterSearchTermTemplateDirective, BsNoResultsTemplateDirective, BsSearchboxComponent, BsSearchboxModule, BsSuggestionTemplateContext, BsSuggestionTemplateDirective };
|
|
225
240
|
//# sourceMappingURL=mintplayer-ng-bootstrap-searchbox.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-searchbox.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.html","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/enter-search-term.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/suggestion.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/no-results.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox.module.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/mintplayer-ng-bootstrap-searchbox.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BehaviorSubject, debounceTime } from 'rxjs';\n\n@Component({\n selector: 'bs-searchbox',\n templateUrl: './searchbox.component.html',\n styleUrls: ['./searchbox.component.scss'],\n})\nexport class BsSearchboxComponent<T extends HasId<U>, U> {\n constructor(@Optional() bsForm: BsFormComponent) {\n if (!bsForm) {\n throw '<bs-searchbox> must be inside a <bs-form>';\n }\n\n this.searchterm$.pipe(debounceTime(200), takeUntilDestroyed()).subscribe((searchterm) => {\n if (searchterm === '') {\n this.suggestions = [];\n } else {\n this.isBusy$.next(true);\n this.provideSuggestions.emit(searchterm);\n }\n });\n }\n\n colors = Color;\n isBusy$ = new BehaviorSubject<boolean>(false);\n @ViewChild('textbox') textbox!: ElementRef<HTMLInputElement>;\n \n //#region isOpen\n private _isOpen = false;\n public get isOpen() {\n return this._isOpen;\n }\n @Input() public set isOpen(value: boolean) {\n const changed = (this._isOpen !== value);\n this._isOpen = value;\n if (changed && value) {\n setTimeout(() => this.textbox.nativeElement.setSelectionRange(0, -1), 20);\n }\n }\n //#endregion\n\n //#region suggestions\n private _suggestions: T[] = [];\n public get suggestions() {\n return this._suggestions;\n }\n @Input() public set suggestions(value: T[]) {\n this._suggestions = value;\n this.isBusy$.next(false);\n }\n //#endregion\n\n //#region selectedItem\n private _selectedItem?: T;\n public get selectedItem() {\n return this._selectedItem;\n }\n @Input() public set selectedItem(value: T | undefined) {\n this._selectedItem = value;\n this.selectedItemChange.emit(value);\n };\n @Output() selectedItemChange = new EventEmitter<T | undefined>();\n //#endregion\n\n //#region searchterm\n searchterm$ = new BehaviorSubject<string>('');\n public get searchterm() {\n return this.searchterm$.value;\n }\n @Input() public set searchterm(value: string) {\n this.searchterm$.next(value);\n }\n //#endregion\n\n suggestionTemplate?: TemplateRef<T>;\n enterSearchtermTemplate?: TemplateRef<T>;\n noResultsTemplate?: TemplateRef<T>;\n @Output() provideSuggestions = new EventEmitter<string>();\n\n onSearchtermChange(searchterm: string) {\n this.searchterm$.next(searchterm);\n }\n\n onSuggestionClicked(suggestion: T) {\n this.selectedItem = suggestion;\n this.isOpen = false;\n this.searchterm = '';\n }\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { suggestion: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { suggestion: suggestion, searchbox: this }\"></ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultSuggestionTemplate let-suggestion=\"suggestion\" let-searchbox=\"searchbox\">\n {{ suggestion.text }}\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsEnterSearchTermTemplate]',\n})\nexport class BsEnterSearchTermTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.enterSearchtermTemplate = template;\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n})\nexport class BsSuggestionTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.suggestionTemplate = template;\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsNoResultsTemplate]',\n})\nexport class BsNoResultsTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.noResultsTemplate = template;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsIconModule } from '@mintplayer/ng-bootstrap/icon';\nimport { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSearchboxComponent } from './searchbox/searchbox.component';\nimport { BsEnterSearchTermTemplateDirective } from './directives/enter-search-term.directive';\nimport { BsSuggestionTemplateDirective } from './directives/suggestion.directive';\nimport { BsNoResultsTemplateDirective } from './directives/no-results.directive';\n\n@NgModule({\n declarations: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n FocusOnLoadModule,\n BsLetModule,\n BsIconModule,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsButtonTypeModule,\n BsProgressBarModule,\n BsHasOverlayModule,\n ],\n exports: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n})\nexport class BsSearchboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSearchboxComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-searchbox.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.html","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/enter-search-term.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/suggestion.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/no-results.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox.module.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/mintplayer-ng-bootstrap-searchbox.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BehaviorSubject, debounceTime } from 'rxjs';\nimport { BsSuggestionTemplateContext } from '../directives';\n\n@Component({\n selector: 'bs-searchbox',\n templateUrl: './searchbox.component.html',\n styleUrls: ['./searchbox.component.scss'],\n})\nexport class BsSearchboxComponent<T extends HasId<U>, U> {\n constructor(@Optional() bsForm: BsFormComponent) {\n if (!bsForm) {\n throw '<bs-searchbox> must be inside a <bs-form>';\n }\n\n this.searchterm$.pipe(debounceTime(200), takeUntilDestroyed()).subscribe((searchterm) => {\n if (searchterm === '') {\n this.suggestions = [];\n } else {\n this.isBusy$.next(true);\n this.provideSuggestions.emit(searchterm);\n }\n });\n }\n\n colors = Color;\n isBusy$ = new BehaviorSubject<boolean>(false);\n @ViewChild('textbox') textbox!: ElementRef<HTMLInputElement>;\n \n //#region isOpen\n private _isOpen = false;\n public get isOpen() {\n return this._isOpen;\n }\n @Input() public set isOpen(value: boolean) {\n const changed = (this._isOpen !== value);\n this._isOpen = value;\n if (changed && value) {\n setTimeout(() => this.textbox.nativeElement.setSelectionRange(0, -1), 20);\n }\n }\n //#endregion\n\n //#region suggestions\n private _suggestions: T[] = [];\n public get suggestions() {\n return this._suggestions;\n }\n @Input() public set suggestions(value: T[]) {\n this._suggestions = value;\n this.isBusy$.next(false);\n }\n //#endregion\n\n //#region selectedItem\n private _selectedItem?: T;\n public get selectedItem() {\n return this._selectedItem;\n }\n @Input() public set selectedItem(value: T | undefined) {\n this._selectedItem = value;\n this.selectedItemChange.emit(value);\n };\n @Output() selectedItemChange = new EventEmitter<T | undefined>();\n //#endregion\n\n //#region searchterm\n searchterm$ = new BehaviorSubject<string>('');\n public get searchterm() {\n return this.searchterm$.value;\n }\n @Input() public set searchterm(value: string) {\n this.searchterm$.next(value);\n }\n //#endregion\n\n suggestionTemplate?: TemplateRef<BsSuggestionTemplateContext<T, U>>;\n enterSearchtermTemplate?: TemplateRef<T>;\n noResultsTemplate?: TemplateRef<T>;\n @Output() provideSuggestions = new EventEmitter<string>();\n\n onSearchtermChange(searchterm: string) {\n this.searchterm$.next(searchterm);\n }\n\n onSuggestionClicked(suggestion: T) {\n this.selectedItem = suggestion;\n this.isOpen = false;\n this.searchterm = '';\n }\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n <ng-content *ngIf=\"!selectedItem\"></ng-content>\n <ng-container *ngIf=\"selectedItem && suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem, searchbox: this }\"></ng-container>\n </ng-container>\n </div>\n <bs-icon [icon]=\"isOpen ? 'caret-up-fill' : 'caret-down-fill'\" class=\"float-end\"></bs-icon>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n <ng-container *bsLet=\"(isBusy$ | async) as isBusy\">\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\" *ngIf=\"isBusy\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm$ | async\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n \n <bs-dropdown-item [disabled]=\"true\" *ngIf=\"searchterm === ''\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n <div *ngIf=\"searchterm !== ''\" class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem?.id === suggestion.id\" [disabled]=\"isBusy ?? true\">\n <ng-container *ngIf=\"suggestionTemplate\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n </ng-container>\n </bs-dropdown-item>\n <bs-dropdown-item *ngIf=\"suggestions.length === 0\" [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n </div>\n </ng-container>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsEnterSearchTermTemplate]',\n})\nexport class BsEnterSearchTermTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.enterSearchtermTemplate = template;\n }\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n})\nexport class BsSuggestionTemplateDirective<TData extends HasId<U>, U> {\n constructor(private searchbox: BsSearchboxComponent<TData, U>, template: TemplateRef<BsSuggestionTemplateContext<TData, U>>) {\n searchbox.suggestionTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData extends HasId<U>, U>(\n dir: BsSuggestionTemplateDirective<TData, U>,\n ctx: any\n ): ctx is BsSuggestionTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n\n @Input() set bsSuggestionTemplateOf(value: TData[]) {\n this.searchbox.suggestions = value;\n }\n}\n\nexport class BsSuggestionTemplateContext<TData extends HasId<U>, U> {\n public $implicit: TData = null!;\n public searchbox: BsSearchboxComponent<TData, U> = null!;\n}","import { Directive, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsNoResultsTemplate]',\n})\nexport class BsNoResultsTemplateDirective<T extends HasId<U>, U> {\n constructor(searchbox: BsSearchboxComponent<T, U>, template: TemplateRef<T>) {\n searchbox.noResultsTemplate = template;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsLetModule } from '@mintplayer/ng-bootstrap/let';\nimport { BsIconModule } from '@mintplayer/ng-bootstrap/icon';\nimport { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSearchboxComponent } from './searchbox/searchbox.component';\nimport { BsEnterSearchTermTemplateDirective } from './directives/enter-search-term.directive';\nimport { BsSuggestionTemplateDirective } from './directives/suggestion.directive';\nimport { BsNoResultsTemplateDirective } from './directives/no-results.directive';\n\n@NgModule({\n declarations: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n FocusOnLoadModule,\n BsLetModule,\n BsIconModule,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsButtonTypeModule,\n BsProgressBarModule,\n BsHasOverlayModule,\n ],\n exports: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n})\nexport class BsSearchboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSearchboxComponent"],"mappings":"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"}
|
|
@@ -3,6 +3,10 @@ import { BsMultiselectComponent } from '../../component/multiselect.component';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class BsButtonTemplateDirective<T> {
|
|
5
5
|
constructor(template: TemplateRef<any>, multiselect: BsMultiselectComponent<T>);
|
|
6
|
+
static ngTemplateContextGuard<TData>(dir: BsButtonTemplateDirective<TData>, ctx: any): ctx is BsRButtonTemplateContext;
|
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsButtonTemplateDirective<any>, never>;
|
|
7
8
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BsButtonTemplateDirective<any>, "[bsButtonTemplate]", never, {}, {}, never, never, false, never>;
|
|
8
9
|
}
|
|
10
|
+
export declare class BsRButtonTemplateContext {
|
|
11
|
+
$implicit: number;
|
|
12
|
+
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { BsViewState } from '@mintplayer/ng-bootstrap';
|
|
2
3
|
import { BsNavbarComponent } from '../navbar/navbar.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class BsExpandButtonDirective {
|
|
5
6
|
constructor(navbar: BsNavbarComponent, templateRef: TemplateRef<any>);
|
|
7
|
+
static ngTemplateContextGuard(dir: BsExpandButtonDirective, ctx: any): ctx is BsExpandButtonContext;
|
|
6
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsExpandButtonDirective, never>;
|
|
7
9
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BsExpandButtonDirective, "[bsExpandButton]", never, {}, {}, never, never, false, never>;
|
|
8
10
|
}
|
|
11
|
+
export declare class BsExpandButtonContext {
|
|
12
|
+
$implicit: BsViewState;
|
|
13
|
+
}
|
package/package.json
CHANGED
|
@@ -2,8 +2,15 @@ import { TemplateRef } from '@angular/core';
|
|
|
2
2
|
import { HasId } from '@mintplayer/ng-bootstrap/has-id';
|
|
3
3
|
import { BsSearchboxComponent } from '../searchbox/searchbox.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class BsSuggestionTemplateDirective<
|
|
6
|
-
|
|
5
|
+
export declare class BsSuggestionTemplateDirective<TData extends HasId<U>, U> {
|
|
6
|
+
private searchbox;
|
|
7
|
+
constructor(searchbox: BsSearchboxComponent<TData, U>, template: TemplateRef<BsSuggestionTemplateContext<TData, U>>);
|
|
8
|
+
static ngTemplateContextGuard<TData extends HasId<U>, U>(dir: BsSuggestionTemplateDirective<TData, U>, ctx: any): ctx is BsSuggestionTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>, U>;
|
|
9
|
+
set bsSuggestionTemplateOf(value: TData[]);
|
|
7
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsSuggestionTemplateDirective<any, any>, never>;
|
|
8
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BsSuggestionTemplateDirective<any, any>, "[bsSuggestionTemplate]", never, {}, {}, never, never, false, never>;
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BsSuggestionTemplateDirective<any, any>, "[bsSuggestionTemplate]", never, { "bsSuggestionTemplateOf": { "alias": "bsSuggestionTemplateOf"; "required": false; }; }, {}, never, never, false, never>;
|
|
12
|
+
}
|
|
13
|
+
export declare class BsSuggestionTemplateContext<TData extends HasId<U>, U> {
|
|
14
|
+
$implicit: TData;
|
|
15
|
+
searchbox: BsSearchboxComponent<TData, U>;
|
|
9
16
|
}
|
|
@@ -3,6 +3,7 @@ import { Color } from '@mintplayer/ng-bootstrap';
|
|
|
3
3
|
import { BsFormComponent } from '@mintplayer/ng-bootstrap/form';
|
|
4
4
|
import { HasId } from '@mintplayer/ng-bootstrap/has-id';
|
|
5
5
|
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { BsSuggestionTemplateContext } from '../directives';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare class BsSearchboxComponent<T extends HasId<U>, U> {
|
|
8
9
|
constructor(bsForm: BsFormComponent);
|
|
@@ -22,7 +23,7 @@ export declare class BsSearchboxComponent<T extends HasId<U>, U> {
|
|
|
22
23
|
searchterm$: BehaviorSubject<string>;
|
|
23
24
|
get searchterm(): string;
|
|
24
25
|
set searchterm(value: string);
|
|
25
|
-
suggestionTemplate?: TemplateRef<T
|
|
26
|
+
suggestionTemplate?: TemplateRef<BsSuggestionTemplateContext<T, U>>;
|
|
26
27
|
enterSearchtermTemplate?: TemplateRef<T>;
|
|
27
28
|
noResultsTemplate?: TemplateRef<T>;
|
|
28
29
|
provideSuggestions: EventEmitter<string>;
|