@mintplayer/ng-bootstrap 16.10.4 → 16.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/src/calendar.module.d.ts +2 -2
- package/esm2022/calendar/src/calendar.component.mjs +4 -4
- package/esm2022/calendar/src/calendar.module.mjs +5 -5
- package/esm2022/dropdown/src/dropdown-toggle/dropdown-toggle.directive.mjs +2 -5
- package/esm2022/dropdown-menu/src/dropdown-menu/dropdown-menu.component.mjs +3 -3
- package/esm2022/font-color/index.mjs +3 -0
- package/esm2022/font-color/mintplayer-ng-bootstrap-font-color.mjs +5 -0
- package/esm2022/font-color/src/font-color.module.mjs +24 -0
- package/esm2022/font-color/src/font-color.pipe.mjs +26 -0
- package/esm2022/has-id/index.mjs +2 -0
- package/esm2022/has-id/mintplayer-ng-bootstrap-has-id.mjs +5 -0
- package/esm2022/has-id/src/has-id.mjs +2 -0
- package/esm2022/in-list/index.mjs +3 -0
- package/esm2022/in-list/mintplayer-ng-bootstrap-in-list.mjs +5 -0
- package/esm2022/{lib/pipes/in-list → in-list/src}/in-list.module.mjs +1 -1
- package/esm2022/in-list/src/in-list.pipe.mjs +16 -0
- package/esm2022/index.mjs +1 -2
- package/esm2022/searchbox/index.mjs +4 -0
- package/esm2022/searchbox/mintplayer-ng-bootstrap-searchbox.mjs +5 -0
- package/esm2022/searchbox/src/directives/enter-search-term.directive.mjs +18 -0
- package/esm2022/searchbox/src/directives/index.mjs +4 -0
- package/esm2022/searchbox/src/directives/no-results.directive.mjs +18 -0
- package/esm2022/searchbox/src/directives/suggestion.directive.mjs +18 -0
- package/esm2022/searchbox/src/searchbox/searchbox.component.mjs +108 -0
- package/esm2022/searchbox/src/searchbox.module.mjs +75 -0
- package/esm2022/select2/src/component/select2.component.mjs +4 -4
- package/esm2022/select2/src/directive/item-template/item-template.directive.mjs +1 -1
- package/esm2022/select2/src/directive/suggestion-template/suggestion-template.directive.mjs +1 -1
- package/esm2022/select2/src/index.mjs +1 -2
- package/esm2022/select2/src/select2.module.mjs +2 -2
- package/esm2022/slugify/index.mjs +3 -0
- package/esm2022/slugify/mintplayer-ng-bootstrap-slugify.mjs +5 -0
- package/esm2022/slugify/src/slugify.module.mjs +18 -0
- package/esm2022/slugify/src/slugify.pipe.mjs +22 -0
- package/esm2022/split-string/index.mjs +3 -0
- package/esm2022/split-string/mintplayer-ng-bootstrap-split-string.mjs +5 -0
- package/esm2022/split-string/src/split-string.module.mjs +18 -0
- package/esm2022/split-string/src/split-string.pipe.mjs +17 -0
- package/esm2022/trust-html/index.mjs +3 -0
- package/esm2022/trust-html/mintplayer-ng-bootstrap-trust-html.mjs +5 -0
- package/esm2022/trust-html/src/trust-html.module.mjs +18 -0
- package/esm2022/trust-html/src/trust-html.pipe.mjs +21 -0
- package/esm2022/uc-first/index.mjs +3 -0
- package/esm2022/uc-first/mintplayer-ng-bootstrap-uc-first.mjs +5 -0
- package/esm2022/uc-first/src/uc-first.module.mjs +24 -0
- package/esm2022/uc-first/src/uc-first.pipe.mjs +16 -0
- package/esm2022/word-count/index.mjs +3 -0
- package/esm2022/word-count/mintplayer-ng-bootstrap-word-count.mjs +5 -0
- package/esm2022/word-count/src/word-count.module.mjs +18 -0
- package/esm2022/word-count/src/word-count.pipe.mjs +26 -0
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +2 -2
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +1 -3
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +54 -0
- package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-has-id.mjs +4 -0
- package/fesm2022/mintplayer-ng-bootstrap-has-id.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +44 -0
- package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +225 -0
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +4 -4
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +44 -0
- package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +39 -0
- package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +42 -0
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +44 -0
- package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +48 -0
- package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -0
- package/fesm2022/mintplayer-ng-bootstrap.mjs +2 -116
- package/fesm2022/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/font-color/index.d.ts +2 -0
- package/font-color/src/font-color.module.d.ts +8 -0
- package/has-id/index.d.ts +1 -0
- package/has-id/src/has-id.d.ts +3 -0
- package/in-list/index.d.ts +2 -0
- package/in-list/src/in-list.pipe.d.ts +8 -0
- package/index.d.ts +0 -1
- package/package.json +55 -1
- package/searchbox/index.d.ts +3 -0
- package/searchbox/src/directives/enter-search-term.directive.d.ts +9 -0
- package/searchbox/src/directives/index.d.ts +3 -0
- package/searchbox/src/directives/no-results.directive.d.ts +9 -0
- package/searchbox/src/directives/suggestion.directive.d.ts +9 -0
- package/searchbox/src/searchbox/searchbox.component.d.ts +33 -0
- package/searchbox/src/searchbox.module.d.ts +20 -0
- package/select2/src/component/select2.component.d.ts +6 -6
- package/select2/src/directive/item-template/item-template.directive.d.ts +8 -8
- package/select2/src/directive/suggestion-template/suggestion-template.directive.d.ts +8 -8
- package/select2/src/index.d.ts +0 -1
- package/select2/src/select2.module.d.ts +1 -1
- package/slugify/index.d.ts +2 -0
- package/slugify/src/slugify.module.d.ts +8 -0
- package/slugify/src/slugify.pipe.d.ts +7 -0
- package/split-string/index.d.ts +2 -0
- package/split-string/src/split-string.module.d.ts +8 -0
- package/split-string/src/split-string.pipe.d.ts +7 -0
- package/trust-html/index.d.ts +2 -0
- package/trust-html/src/trust-html.module.d.ts +8 -0
- package/trust-html/src/trust-html.pipe.d.ts +10 -0
- package/uc-first/index.d.ts +2 -0
- package/uc-first/src/uc-first.module.d.ts +8 -0
- package/uc-first/src/uc-first.pipe.d.ts +7 -0
- package/word-count/index.d.ts +2 -0
- package/word-count/src/word-count.module.d.ts +8 -0
- package/word-count/src/word-count.pipe.d.ts +7 -0
- package/esm2022/lib/pipes/font-color/font-color.module.mjs +0 -24
- package/esm2022/lib/pipes/font-color/font-color.pipe.mjs +0 -26
- package/esm2022/lib/pipes/font-color/index.mjs +0 -3
- package/esm2022/lib/pipes/in-list/in-list.pipe.mjs +0 -16
- package/esm2022/lib/pipes/in-list/index.mjs +0 -3
- package/esm2022/lib/pipes/index.mjs +0 -4
- package/esm2022/lib/pipes/uc-first/index.mjs +0 -3
- package/esm2022/lib/pipes/uc-first/uc-first.module.mjs +0 -24
- package/esm2022/lib/pipes/uc-first/uc-first.pipe.mjs +0 -16
- package/esm2022/select2/src/interfaces/has-id.mjs +0 -2
- package/esm2022/select2/src/interfaces/index.mjs +0 -2
- package/lib/pipes/font-color/font-color.module.d.ts +0 -8
- package/lib/pipes/font-color/index.d.ts +0 -2
- package/lib/pipes/in-list/in-list.pipe.d.ts +0 -7
- package/lib/pipes/in-list/index.d.ts +0 -2
- package/lib/pipes/index.d.ts +0 -3
- package/lib/pipes/uc-first/index.d.ts +0 -2
- package/lib/pipes/uc-first/uc-first.module.d.ts +0 -8
- package/lib/pipes/uc-first/uc-first.pipe.d.ts +0 -7
- package/select2/src/interfaces/has-id.d.ts +0 -3
- package/select2/src/interfaces/index.d.ts +0 -1
- /package/{lib/pipes/font-color → font-color/src}/font-color.pipe.d.ts +0 -0
- /package/{lib/pipes/in-list → in-list/src}/in-list.module.d.ts +0 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Optional, ViewChild, Input, Output, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import * as i3 from '@angular/forms';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
import * as i2 from '@angular/common';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import * as i5 from '@mintplayer/ng-bootstrap/let';
|
|
8
|
+
import { BsLetModule } from '@mintplayer/ng-bootstrap/let';
|
|
9
|
+
import * as i6 from '@mintplayer/ng-bootstrap/icon';
|
|
10
|
+
import { BsIconModule } from '@mintplayer/ng-bootstrap/icon';
|
|
11
|
+
import * as i4 from '@mintplayer/ng-focus-on-load';
|
|
12
|
+
import { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';
|
|
13
|
+
import * as i7 from '@mintplayer/ng-bootstrap/dropdown';
|
|
14
|
+
import { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';
|
|
15
|
+
import * as i11 from '@mintplayer/ng-bootstrap/progress-bar';
|
|
16
|
+
import { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';
|
|
17
|
+
import * as i9 from '@mintplayer/ng-bootstrap/dropdown-menu';
|
|
18
|
+
import { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';
|
|
19
|
+
import * as i10 from '@mintplayer/ng-bootstrap/button-type';
|
|
20
|
+
import { BsButtonTypeModule } from '@mintplayer/ng-bootstrap/button-type';
|
|
21
|
+
import * as i8 from '@mintplayer/ng-bootstrap/has-overlay';
|
|
22
|
+
import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
|
|
23
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
24
|
+
import { Color } from '@mintplayer/ng-bootstrap';
|
|
25
|
+
import * as i1 from '@mintplayer/ng-bootstrap/form';
|
|
26
|
+
import { BehaviorSubject, debounceTime } from 'rxjs';
|
|
27
|
+
|
|
28
|
+
class BsSearchboxComponent {
|
|
29
|
+
constructor(bsForm) {
|
|
30
|
+
this.colors = Color;
|
|
31
|
+
this.isBusy$ = new BehaviorSubject(false);
|
|
32
|
+
//#region isOpen
|
|
33
|
+
this._isOpen = false;
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region suggestions
|
|
36
|
+
this._suggestions = [];
|
|
37
|
+
this.selectedItemChange = new EventEmitter();
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region searchterm
|
|
40
|
+
this.searchterm$ = new BehaviorSubject('');
|
|
41
|
+
this.provideSuggestions = new EventEmitter();
|
|
42
|
+
if (!bsForm) {
|
|
43
|
+
throw '<bs-searchbox> must be inside a <bs-form>';
|
|
44
|
+
}
|
|
45
|
+
this.searchterm$.pipe(debounceTime(200), takeUntilDestroyed()).subscribe((searchterm) => {
|
|
46
|
+
if (searchterm === '') {
|
|
47
|
+
this.suggestions = [];
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.isBusy$.next(true);
|
|
51
|
+
this.provideSuggestions.emit(searchterm);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
get isOpen() {
|
|
56
|
+
return this._isOpen;
|
|
57
|
+
}
|
|
58
|
+
set isOpen(value) {
|
|
59
|
+
const changed = (this._isOpen !== value);
|
|
60
|
+
this._isOpen = value;
|
|
61
|
+
if (changed && value) {
|
|
62
|
+
setTimeout(() => this.textbox.nativeElement.setSelectionRange(0, -1), 20);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
get suggestions() {
|
|
66
|
+
return this._suggestions;
|
|
67
|
+
}
|
|
68
|
+
set suggestions(value) {
|
|
69
|
+
this._suggestions = value;
|
|
70
|
+
this.isBusy$.next(false);
|
|
71
|
+
}
|
|
72
|
+
get selectedItem() {
|
|
73
|
+
return this._selectedItem;
|
|
74
|
+
}
|
|
75
|
+
set selectedItem(value) {
|
|
76
|
+
this._selectedItem = value;
|
|
77
|
+
this.selectedItemChange.emit(value);
|
|
78
|
+
}
|
|
79
|
+
;
|
|
80
|
+
get searchterm() {
|
|
81
|
+
return this.searchterm$.value;
|
|
82
|
+
}
|
|
83
|
+
set searchterm(value) {
|
|
84
|
+
this.searchterm$.next(value);
|
|
85
|
+
}
|
|
86
|
+
onSearchtermChange(searchterm) {
|
|
87
|
+
this.searchterm$.next(searchterm);
|
|
88
|
+
}
|
|
89
|
+
onSuggestionClicked(suggestion) {
|
|
90
|
+
this.selectedItem = suggestion;
|
|
91
|
+
this.isOpen = false;
|
|
92
|
+
this.searchterm = '';
|
|
93
|
+
}
|
|
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 ?? 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>", 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
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxComponent, decorators: [{
|
|
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 ?? 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>", styles: [".prog{height:.3rem;margin-top:-.5rem;margin-bottom:.2rem}\n"] }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.BsFormComponent, decorators: [{
|
|
101
|
+
type: Optional
|
|
102
|
+
}] }]; }, propDecorators: { textbox: [{
|
|
103
|
+
type: ViewChild,
|
|
104
|
+
args: ['textbox']
|
|
105
|
+
}], isOpen: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], suggestions: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], selectedItem: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], selectedItemChange: [{
|
|
112
|
+
type: Output
|
|
113
|
+
}], searchterm: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], provideSuggestions: [{
|
|
116
|
+
type: Output
|
|
117
|
+
}] } });
|
|
118
|
+
|
|
119
|
+
class BsEnterSearchTermTemplateDirective {
|
|
120
|
+
constructor(searchbox, template) {
|
|
121
|
+
searchbox.enterSearchtermTemplate = template;
|
|
122
|
+
}
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsEnterSearchTermTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
124
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsEnterSearchTermTemplateDirective, selector: "[bsEnterSearchTermTemplate]", ngImport: i0 }); }
|
|
125
|
+
}
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsEnterSearchTermTemplateDirective, decorators: [{
|
|
127
|
+
type: Directive,
|
|
128
|
+
args: [{
|
|
129
|
+
selector: '[bsEnterSearchTermTemplate]',
|
|
130
|
+
}]
|
|
131
|
+
}], ctorParameters: function () { return [{ type: BsSearchboxComponent }, { type: i0.TemplateRef }]; } });
|
|
132
|
+
|
|
133
|
+
class BsSuggestionTemplateDirective {
|
|
134
|
+
constructor(searchbox, template) {
|
|
135
|
+
searchbox.suggestionTemplate = template;
|
|
136
|
+
}
|
|
137
|
+
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 }); }
|
|
139
|
+
}
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSuggestionTemplateDirective, decorators: [{
|
|
141
|
+
type: Directive,
|
|
142
|
+
args: [{
|
|
143
|
+
selector: '[bsSuggestionTemplate]',
|
|
144
|
+
}]
|
|
145
|
+
}], ctorParameters: function () { return [{ type: BsSearchboxComponent }, { type: i0.TemplateRef }]; } });
|
|
146
|
+
|
|
147
|
+
class BsNoResultsTemplateDirective {
|
|
148
|
+
constructor(searchbox, template) {
|
|
149
|
+
searchbox.noResultsTemplate = template;
|
|
150
|
+
}
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsNoResultsTemplateDirective, deps: [{ token: BsSearchboxComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
152
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.2", type: BsNoResultsTemplateDirective, selector: "[bsNoResultsTemplate]", ngImport: i0 }); }
|
|
153
|
+
}
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsNoResultsTemplateDirective, decorators: [{
|
|
155
|
+
type: Directive,
|
|
156
|
+
args: [{
|
|
157
|
+
selector: '[bsNoResultsTemplate]',
|
|
158
|
+
}]
|
|
159
|
+
}], ctorParameters: function () { return [{ type: BsSearchboxComponent }, { type: i0.TemplateRef }]; } });
|
|
160
|
+
|
|
161
|
+
class BsSearchboxModule {
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
163
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxModule, declarations: [BsSearchboxComponent,
|
|
164
|
+
BsEnterSearchTermTemplateDirective,
|
|
165
|
+
BsSuggestionTemplateDirective,
|
|
166
|
+
BsNoResultsTemplateDirective], imports: [CommonModule,
|
|
167
|
+
FormsModule,
|
|
168
|
+
FocusOnLoadModule,
|
|
169
|
+
BsLetModule,
|
|
170
|
+
BsIconModule,
|
|
171
|
+
BsDropdownModule,
|
|
172
|
+
BsDropdownMenuModule,
|
|
173
|
+
BsButtonTypeModule,
|
|
174
|
+
BsProgressBarModule,
|
|
175
|
+
BsHasOverlayModule], exports: [BsSearchboxComponent,
|
|
176
|
+
BsEnterSearchTermTemplateDirective,
|
|
177
|
+
BsSuggestionTemplateDirective,
|
|
178
|
+
BsNoResultsTemplateDirective] }); }
|
|
179
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxModule, imports: [CommonModule,
|
|
180
|
+
FormsModule,
|
|
181
|
+
FocusOnLoadModule,
|
|
182
|
+
BsLetModule,
|
|
183
|
+
BsIconModule,
|
|
184
|
+
BsDropdownModule,
|
|
185
|
+
BsDropdownMenuModule,
|
|
186
|
+
BsButtonTypeModule,
|
|
187
|
+
BsProgressBarModule,
|
|
188
|
+
BsHasOverlayModule] }); }
|
|
189
|
+
}
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSearchboxModule, decorators: [{
|
|
191
|
+
type: NgModule,
|
|
192
|
+
args: [{
|
|
193
|
+
declarations: [
|
|
194
|
+
BsSearchboxComponent,
|
|
195
|
+
BsEnterSearchTermTemplateDirective,
|
|
196
|
+
BsSuggestionTemplateDirective,
|
|
197
|
+
BsNoResultsTemplateDirective,
|
|
198
|
+
],
|
|
199
|
+
imports: [
|
|
200
|
+
CommonModule,
|
|
201
|
+
FormsModule,
|
|
202
|
+
FocusOnLoadModule,
|
|
203
|
+
BsLetModule,
|
|
204
|
+
BsIconModule,
|
|
205
|
+
BsDropdownModule,
|
|
206
|
+
BsDropdownMenuModule,
|
|
207
|
+
BsButtonTypeModule,
|
|
208
|
+
BsProgressBarModule,
|
|
209
|
+
BsHasOverlayModule,
|
|
210
|
+
],
|
|
211
|
+
exports: [
|
|
212
|
+
BsSearchboxComponent,
|
|
213
|
+
BsEnterSearchTermTemplateDirective,
|
|
214
|
+
BsSuggestionTemplateDirective,
|
|
215
|
+
BsNoResultsTemplateDirective,
|
|
216
|
+
],
|
|
217
|
+
}]
|
|
218
|
+
}] });
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Generated bundle index. Do not edit.
|
|
222
|
+
*/
|
|
223
|
+
|
|
224
|
+
export { BsEnterSearchTermTemplateDirective, BsNoResultsTemplateDirective, BsSearchboxComponent, BsSearchboxModule, BsSuggestionTemplateDirective };
|
|
225
|
+
//# sourceMappingURL=mintplayer-ng-bootstrap-searchbox.mjs.map
|
|
@@ -0,0 +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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"}
|
|
@@ -11,8 +11,8 @@ import * as i4 from '@mintplayer/ng-bootstrap/has-overlay';
|
|
|
11
11
|
import { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';
|
|
12
12
|
import * as i5 from '@mintplayer/ng-bootstrap/dropdown-menu';
|
|
13
13
|
import { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';
|
|
14
|
-
import * as i6 from '@mintplayer/ng-bootstrap';
|
|
15
|
-
import { BsInListModule } from '@mintplayer/ng-bootstrap';
|
|
14
|
+
import * as i6 from '@mintplayer/ng-bootstrap/in-list';
|
|
15
|
+
import { BsInListModule } from '@mintplayer/ng-bootstrap/in-list';
|
|
16
16
|
|
|
17
17
|
class BsSelect2Component {
|
|
18
18
|
constructor() {
|
|
@@ -60,11 +60,11 @@ class BsSelect2Component {
|
|
|
60
60
|
this.searchBox.nativeElement.focus();
|
|
61
61
|
}
|
|
62
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSelect2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsSelect2Component, selector: "bs-select2", inputs: { searchterm: "searchterm", suggestions: "suggestions", selectedItems: "selectedItems" }, outputs: { provideSuggestions: "provideSuggestions" }, host: { listeners: { "click": "focus()" }, properties: { "class.focus": "this.isFocused" } }, viewQueries: [{ propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }], ngImport: i0, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems |
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: BsSelect2Component, selector: "bs-select2", inputs: { searchterm: "searchterm", suggestions: "suggestions", selectedItems: "selectedItems" }, outputs: { provideSuggestions: "provideSuggestions" }, host: { listeners: { "click": "focus()" }, properties: { "class.focus": "this.isFocused" } }, viewQueries: [{ propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }], ngImport: i0, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | bsInList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { suggestion: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item=\"item\" let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion=\"suggestion\" let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>", styles: [".items-box{min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: i4.BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "component", type: i5.BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: i5.BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "pipe", type: i6.BsInListPipe, name: "bsInList" }] }); }
|
|
64
64
|
}
|
|
65
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSelect2Component, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
|
-
args: [{ selector: 'bs-select2', template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems |
|
|
67
|
+
args: [{ selector: 'bs-select2', template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | bsInList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { suggestion: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item=\"item\" let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">\u00D7</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion=\"suggestion\" let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>", styles: [".items-box{min-height:38px;padding:0 5px 3px;cursor:text;border:1px solid #ccc}.items-box .select2-item{display:inline-block;background-color:#e4e4e4;color:#1a1a1a;border:1px solid #aaa;border-radius:4px;margin-top:5px;margin-right:5px;padding:0 5px;cursor:default;user-select:none;-webkit-user-select:none}.items-box .select2-item>span{cursor:pointer;color:#999}.items-box .select2-item>span:hover{color:#333}.items-box input{border:none;outline:0;margin:5px 0 2px;background:none}:host{display:block;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}:host.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}ul{max-height:200px;overflow-y:auto}ul>li{padding:10px;cursor:pointer}ul>li.selected{background:#ddd}ul>li:hover{color:#fff;background-color:#5897fb}\n"] }]
|
|
68
68
|
}], propDecorators: { defaultItemTemplate: [{
|
|
69
69
|
type: ViewChild,
|
|
70
70
|
args: ['defaultItemTemplate', { static: true }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-select2.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/select2/src/component/select2.component.ts","../../../../libs/mintplayer-ng-bootstrap/select2/src/component/select2.component.html","../../../../libs/mintplayer-ng-bootstrap/select2/src/directive/item-template/item-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/select2/src/directive/suggestion-template/suggestion-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/select2/src/select2.module.ts","../../../../libs/mintplayer-ng-bootstrap/select2/mintplayer-ng-bootstrap-select2.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { HasId } from '../interfaces/has-id';\n\n@Component({\n selector: 'bs-select2',\n templateUrl: './select2.component.html',\n styleUrls: ['./select2.component.scss']\n})\nexport class BsSelect2Component<T extends HasId> {\n\n isOpen = false;\n \n suggestions$ = new BehaviorSubject<T[]>([]);\n isLoading$ = new BehaviorSubject<boolean>(false);\n\n @ViewChild('defaultItemTemplate', { static: true }) defaultItemTemplate!: TemplateRef<any>;\n @ViewChild('searchBox') searchBox!: ElementRef<HTMLInputElement>;\n @ViewChild('itemsBox') itemsBox!: ElementRef<HTMLDivElement>;\n @Input() searchterm = '';\n @Input() public suggestions: T[] = [];\n @Output() public provideSuggestions = new EventEmitter<string>();\n @Input() selectedItems: T[] = [];\n @HostBinding('class.focus') isFocused = false;\n\n private charWidth = 10;\n searchWidth = 20;\n itemTemplate?: TemplateRef<T>;\n suggestionTemplate?: TemplateRef<T>;\n\n onProvideSuggestions(value: string) {\n this.searchWidth = this.charWidth * (this.searchterm.length + 2);\n if (value === '') {\n this.isOpen = false;\n this.suggestions$.next([]);\n } else {\n this.isLoading$.next(true);\n this.isOpen = true;\n this.provideSuggestions.emit(value);\n }\n }\n onSuggestionClicked(suggestion: any) {\n this.searchterm = '';\n this.isOpen = false;\n\n const existing = this.selectedItems.find((value, index) => value.id === suggestion.id);\n if (existing === undefined) {\n this.selectedItems.push(suggestion);\n } else {\n this.selectedItems.splice(this.selectedItems.indexOf(existing), 1);\n }\n\n this.searchBox.nativeElement.focus();\n }\n onRemoveItem(item: any, event: MouseEvent) {\n event.stopPropagation();\n this.selectedItems.splice(this.selectedItems.indexOf(item), 1);\n this.focus();\n }\n\n @HostListener('click')\n public focus() {\n this.searchBox.nativeElement.focus();\n }\n \n}\n","<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | inList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { suggestion: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item=\"item\" let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">×</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion=\"suggestion\" let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsSelect2Component } from '../../component/select2.component';\nimport { HasId } from '../../interfaces/has-id';\n\n@Directive({\n selector: '[bsItemTemplate]'\n})\nexport class BsItemTemplateDirective<T extends HasId> {\n\n constructor(private select2component: BsSelect2Component<T>, templateRef: TemplateRef<T>) {\n this.select2component.itemTemplate = templateRef;\n }\n\n public static ngTemplateContextGuard<T extends HasId>(dir: BsItemTemplateDirective<T>, ctx: any): ctx is BsItemTemplateContext<Exclude<T, false | 0 | '' | null | undefined>> {\n return true;\n }\n\n}\n\nexport class BsItemTemplateContext<T extends HasId> {\n item: T = null!;\n select2: BsSelect2Component<T> = null!;\n}","import { Directive, TemplateRef } from '@angular/core';\nimport { BsSelect2Component } from '../../component/select2.component';\nimport { HasId } from '../../interfaces/has-id';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n})\nexport class BsSuggestionTemplateDirective<T extends HasId> {\n constructor(private select2component: BsSelect2Component<T>, templateRef: TemplateRef<T>) {\n this.select2component.itemTemplate = templateRef;\n }\n\n public static ngTemplateContextGuard<T extends HasId>(dir: BsSuggestionTemplateDirective<T>, ctx: any): ctx is BsSuggestionTemplateContext<Exclude<T, false | 0 | '' | null | undefined>> {\n return true;\n }\n}\n\nexport class BsSuggestionTemplateContext<T extends HasId> {\n item: T = null!;\n select2: BsSelect2Component<T> = null!;\n}","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsInListModule } from '@mintplayer/ng-bootstrap';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSelect2Component } from './component/select2.component';\nimport { BsItemTemplateDirective } from './directive/item-template/item-template.directive';\nimport { BsSuggestionTemplateDirective } from './directive/suggestion-template/suggestion-template.directive';\n\n@NgModule({\n declarations: [\n BsSelect2Component,\n BsItemTemplateDirective,\n BsSuggestionTemplateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsHasOverlayModule,\n BsInListModule,\n ],\n exports: [\n BsSelect2Component,\n BsItemTemplateDirective,\n BsSuggestionTemplateDirective,\n ],\n})\nexport class BsSelect2Module {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSelect2Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-select2.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/select2/src/component/select2.component.ts","../../../../libs/mintplayer-ng-bootstrap/select2/src/component/select2.component.html","../../../../libs/mintplayer-ng-bootstrap/select2/src/directive/item-template/item-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/select2/src/directive/suggestion-template/suggestion-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/select2/src/select2.module.ts","../../../../libs/mintplayer-ng-bootstrap/select2/mintplayer-ng-bootstrap-select2.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'bs-select2',\n templateUrl: './select2.component.html',\n styleUrls: ['./select2.component.scss']\n})\nexport class BsSelect2Component<T extends HasId<U>, U> {\n\n isOpen = false;\n \n suggestions$ = new BehaviorSubject<T[]>([]);\n isLoading$ = new BehaviorSubject<boolean>(false);\n\n @ViewChild('defaultItemTemplate', { static: true }) defaultItemTemplate!: TemplateRef<any>;\n @ViewChild('searchBox') searchBox!: ElementRef<HTMLInputElement>;\n @ViewChild('itemsBox') itemsBox!: ElementRef<HTMLDivElement>;\n @Input() searchterm = '';\n @Input() public suggestions: T[] = [];\n @Output() public provideSuggestions = new EventEmitter<string>();\n @Input() selectedItems: T[] = [];\n @HostBinding('class.focus') isFocused = false;\n\n private charWidth = 10;\n searchWidth = 20;\n itemTemplate?: TemplateRef<T>;\n suggestionTemplate?: TemplateRef<T>;\n\n onProvideSuggestions(value: string) {\n this.searchWidth = this.charWidth * (this.searchterm.length + 2);\n if (value === '') {\n this.isOpen = false;\n this.suggestions$.next([]);\n } else {\n this.isLoading$.next(true);\n this.isOpen = true;\n this.provideSuggestions.emit(value);\n }\n }\n onSuggestionClicked(suggestion: T) {\n this.searchterm = '';\n this.isOpen = false;\n\n const existing = this.selectedItems.find((value, index) => value.id === suggestion.id);\n if (existing === undefined) {\n this.selectedItems.push(suggestion);\n } else {\n this.selectedItems.splice(this.selectedItems.indexOf(existing), 1);\n }\n\n this.searchBox.nativeElement.focus();\n }\n onRemoveItem(item: T, event: MouseEvent) {\n event.stopPropagation();\n this.selectedItems.splice(this.selectedItems.indexOf(item), 1);\n this.focus();\n }\n\n @HostListener('click')\n public focus() {\n this.searchBox.nativeElement.focus();\n }\n \n}\n","<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" #itemsBox class=\"items-box text-wrap\"></bs-dropdown> -->\n<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\" #itemsBox class=\"items-box text-wrap\">\n <ng-container *ngFor=\"let item of selectedItems\">\n <ng-container *ngTemplateOutlet=\"itemTemplate ?? defaultItemTemplate; context: { item: item, select2: this }\"></ng-container>\n </ng-container>\n\n <input type=\"text\" autocomplete=\"off\"\n [(ngModel)]=\"searchterm\"\n (ngModelChange)=\"onProvideSuggestions($event)\"\n (focus)=\"isFocused=true\"\n (blur)=\"isFocused=false\"\n [style.width.px]=\"searchWidth\"\n #searchBox />\n <bs-dropdown-menu *bsDropdownMenu [maxHeight]=\"200\">\n <bs-dropdown-item *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItems | bsInList:suggestion.id\">\n <ng-container *ngTemplateOutlet=\"suggestionTemplate ?? defaultSuggestionTemplate; context: { suggestion: suggestion, select2: this }\"></ng-container>\n </bs-dropdown-item>\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultItemTemplate let-item=\"item\" let-select2=\"select2\">\n <span class=\"select2-item\">\n <span (click)=\"select2.onRemoveItem(item,$event)\">×</span>\n {{ item.text }}\n </span>\n</ng-template>\n\n<ng-template #defaultSuggestionTemplate let-suggestion=\"suggestion\" let-select2=\"select2\">\n {{ suggestion.text }}\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsSelect2Component } from '../../component/select2.component';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\n\n@Directive({\n selector: '[bsItemTemplate]'\n})\nexport class BsItemTemplateDirective<T extends HasId<U>, U> {\n\n constructor(private select2component: BsSelect2Component<T, U>, templateRef: TemplateRef<T>) {\n this.select2component.itemTemplate = templateRef;\n }\n\n public static ngTemplateContextGuard<T extends HasId<U>, U>(dir: BsItemTemplateDirective<T, U>, ctx: any): ctx is BsItemTemplateContext<Exclude<T, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n\n}\n\nexport class BsItemTemplateContext<T extends HasId<U>, U> {\n item: T = null!;\n select2: BsSelect2Component<T, U> = null!;\n}","import { Directive, TemplateRef } from '@angular/core';\nimport { BsSelect2Component } from '../../component/select2.component';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n})\nexport class BsSuggestionTemplateDirective<T extends HasId<U>, U> {\n constructor(private select2component: BsSelect2Component<T, U>, templateRef: TemplateRef<T>) {\n this.select2component.itemTemplate = templateRef;\n }\n\n public static ngTemplateContextGuard<T extends HasId<U>, U>(dir: BsSuggestionTemplateDirective<T, U>, ctx: any): ctx is BsSuggestionTemplateContext<Exclude<T, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n}\n\nexport class BsSuggestionTemplateContext<T extends HasId<U>, U> {\n item: T = null!;\n select2: BsSelect2Component<T, U> = null!;\n}","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { BsInListModule } from '@mintplayer/ng-bootstrap/in-list';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsHasOverlayModule } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSelect2Component } from './component/select2.component';\nimport { BsItemTemplateDirective } from './directive/item-template/item-template.directive';\nimport { BsSuggestionTemplateDirective } from './directive/suggestion-template/suggestion-template.directive';\n\n@NgModule({\n declarations: [\n BsSelect2Component,\n BsItemTemplateDirective,\n BsSuggestionTemplateDirective,\n ],\n imports: [\n CommonModule,\n FormsModule,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsHasOverlayModule,\n BsInListModule,\n ],\n exports: [\n BsSelect2Component,\n BsItemTemplateDirective,\n BsSuggestionTemplateDirective,\n ],\n})\nexport class BsSelect2Module {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsSelect2Component"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
class BsSlugifyPipe {
|
|
6
|
+
transform(value) {
|
|
7
|
+
return value.toString().toLowerCase()
|
|
8
|
+
.replace(/\s+/g, '-') // Replace spaces with -
|
|
9
|
+
.normalize("NFD").replace(/[\u0300-\u036f]/g, "") // Remove diacritics
|
|
10
|
+
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
|
|
11
|
+
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
|
12
|
+
.replace(/^-+/, '') // Trim - from start of text
|
|
13
|
+
.replace(/-+$/, ''); // Trim - from end of text
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
16
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyPipe, name: "bsSlugify" }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyPipe, decorators: [{
|
|
19
|
+
type: Pipe,
|
|
20
|
+
args: [{
|
|
21
|
+
name: 'bsSlugify',
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
|
|
25
|
+
class BsSlugifyModule {
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
27
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyModule, declarations: [BsSlugifyPipe], imports: [CommonModule], exports: [BsSlugifyPipe] }); }
|
|
28
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyModule, imports: [CommonModule] }); }
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSlugifyModule, decorators: [{
|
|
31
|
+
type: NgModule,
|
|
32
|
+
args: [{
|
|
33
|
+
declarations: [BsSlugifyPipe],
|
|
34
|
+
imports: [CommonModule],
|
|
35
|
+
exports: [BsSlugifyPipe],
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { BsSlugifyModule, BsSlugifyPipe };
|
|
44
|
+
//# sourceMappingURL=mintplayer-ng-bootstrap-slugify.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-slugify.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/slugify/src/slugify.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/slugify/src/slugify.module.ts","../../../../libs/mintplayer-ng-bootstrap/slugify/mintplayer-ng-bootstrap-slugify.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsSlugify',\n})\nexport class BsSlugifyPipe implements PipeTransform {\n transform(value: string) {\n return value.toString().toLowerCase()\n .replace(/\\s+/g, '-') // Replace spaces with -\n .normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\") // Remove diacritics\n .replace(/[^\\w\\-]+/g, '') // Remove all non-word chars\n .replace(/\\-\\-+/g, '-') // Replace multiple - with single -\n .replace(/^-+/, '') // Trim - from start of text\n .replace(/-+$/, ''); // Trim - from end of text\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSlugifyPipe } from './slugify.pipe';\n\n@NgModule({\n declarations: [BsSlugifyPipe],\n imports: [CommonModule],\n exports: [BsSlugifyPipe],\n})\nexport class BsSlugifyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,aAAa,CAAA;AACxB,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;AAClC,aAAA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAChD,aAAA,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AACxB,aAAA,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AACtB,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACvB;8GATU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA,CAAA;;;MCKY,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,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,eAAe,EAJX,YAAA,EAAA,CAAA,aAAa,CAClB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAEZ,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,eAAe,YAHhB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
class BsSplitStringPipe {
|
|
6
|
+
transform(value, seperator = '\n', removeEmptyEntries = true) {
|
|
7
|
+
return value.split(seperator)
|
|
8
|
+
.filter(line => !removeEmptyEntries || (line !== ''));
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringPipe, name: "bsSplitString" }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{
|
|
16
|
+
name: 'bsSplitString',
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
|
|
20
|
+
class BsSplitStringModule {
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
22
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringModule, declarations: [BsSplitStringPipe], imports: [CommonModule], exports: [BsSplitStringPipe] }); }
|
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringModule, imports: [CommonModule] }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsSplitStringModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [BsSplitStringPipe],
|
|
29
|
+
imports: [CommonModule],
|
|
30
|
+
exports: [BsSplitStringPipe]
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Generated bundle index. Do not edit.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
export { BsSplitStringModule, BsSplitStringPipe };
|
|
39
|
+
//# sourceMappingURL=mintplayer-ng-bootstrap-split-string.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-split-string.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/split-string/src/split-string.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/split-string/src/split-string.module.ts","../../../../libs/mintplayer-ng-bootstrap/split-string/mintplayer-ng-bootstrap-split-string.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsSplitString',\n})\nexport class BsSplitStringPipe implements PipeTransform {\n transform(value: string, seperator = '\\n', removeEmptyEntries = true): string[] {\n return value.split(seperator)\n .filter(line => !removeEmptyEntries || (line !== ''));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsSplitStringPipe } from './split-string.pipe';\n\n@NgModule({\n declarations: [BsSplitStringPipe],\n imports: [CommonModule],\n exports: [BsSplitStringPipe]\n})\nexport class BsSplitStringModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iBAAiB,CAAA;IAC5B,SAAS,CAAC,KAAa,EAAE,SAAS,GAAG,IAAI,EAAE,kBAAkB,GAAG,IAAI,EAAA;AAClE,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;AAC1B,aAAA,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;KACzD;8GAJU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA,CAAA;;;MCKY,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,EAJf,YAAA,EAAA,CAAA,iBAAiB,CACtB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,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,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i1 from '@angular/platform-browser';
|
|
5
|
+
|
|
6
|
+
class BsTrustHtmlPipe {
|
|
7
|
+
constructor(sanitizer) {
|
|
8
|
+
this.sanitizer = sanitizer;
|
|
9
|
+
}
|
|
10
|
+
transform(value) {
|
|
11
|
+
return this.sanitizer.bypassSecurityTrustHtml(value);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
14
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlPipe, name: "bsTrustHtml" }); }
|
|
15
|
+
}
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlPipe, decorators: [{
|
|
17
|
+
type: Pipe,
|
|
18
|
+
args: [{
|
|
19
|
+
name: 'bsTrustHtml',
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
22
|
+
|
|
23
|
+
class BsTrustHtmlModule {
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
25
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlModule, declarations: [BsTrustHtmlPipe], imports: [CommonModule], exports: [BsTrustHtmlPipe] }); }
|
|
26
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlModule, imports: [CommonModule] }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsTrustHtmlModule, decorators: [{
|
|
29
|
+
type: NgModule,
|
|
30
|
+
args: [{
|
|
31
|
+
declarations: [BsTrustHtmlPipe],
|
|
32
|
+
imports: [CommonModule],
|
|
33
|
+
exports: [BsTrustHtmlPipe],
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Generated bundle index. Do not edit.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
export { BsTrustHtmlModule, BsTrustHtmlPipe };
|
|
42
|
+
//# sourceMappingURL=mintplayer-ng-bootstrap-trust-html.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-trust-html.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/trust-html/src/trust-html.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/trust-html/src/trust-html.module.ts","../../../../libs/mintplayer-ng-bootstrap/trust-html/mintplayer-ng-bootstrap-trust-html.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Pipe({\n name: 'bsTrustHtml',\n})\nexport class BsTrustHtmlPipe implements PipeTransform {\n constructor(private sanitizer: DomSanitizer) {}\n\n transform(value: string) {\n return this.sanitizer.bypassSecurityTrustHtml(value);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsTrustHtmlPipe } from './trust-html.pipe';\n\n@NgModule({\n declarations: [BsTrustHtmlPipe],\n imports: [CommonModule],\n exports: [BsTrustHtmlPipe],\n})\nexport class BsTrustHtmlModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;KAAI;AAE/C,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACtD;8GALU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;4GAAf,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA,EAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA,CAAA;;;MCIY,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,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,iBAAiB,EAJb,YAAA,EAAA,CAAA,eAAe,CACpB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEd,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,iBAAiB,YAHlB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
class BsUcFirstPipe {
|
|
6
|
+
transform(value, ...args) {
|
|
7
|
+
return value[0].toUpperCase() + value.slice(1);
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
10
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstPipe, name: "bsUcFirst" }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstPipe, decorators: [{
|
|
13
|
+
type: Pipe,
|
|
14
|
+
args: [{
|
|
15
|
+
name: 'bsUcFirst'
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
class BsUcFirstModule {
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
21
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstModule, declarations: [BsUcFirstPipe], imports: [CommonModule], exports: [BsUcFirstPipe] }); }
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstModule, imports: [CommonModule] }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: BsUcFirstModule, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
declarations: [
|
|
28
|
+
BsUcFirstPipe
|
|
29
|
+
],
|
|
30
|
+
imports: [
|
|
31
|
+
CommonModule
|
|
32
|
+
],
|
|
33
|
+
exports: [
|
|
34
|
+
BsUcFirstPipe
|
|
35
|
+
]
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { BsUcFirstModule, BsUcFirstPipe };
|
|
44
|
+
//# sourceMappingURL=mintplayer-ng-bootstrap-uc-first.mjs.map
|