@mintplayer/ng-bootstrap 13.1.4 → 13.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +3 -1
- package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +4 -3
- package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +7 -3
- package/esm2020/lib/components/alert/alert/alert.component.mjs +4 -4
- package/esm2020/lib/components/calendar/calendar.component.mjs +77 -34
- package/esm2020/lib/components/card/card/card.component.mjs +1 -2
- package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +22 -8
- package/esm2020/lib/components/context-menu/context-menu.directive.mjs +57 -0
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +26 -0
- package/esm2020/lib/components/context-menu/index.mjs +3 -0
- package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +51 -0
- package/esm2020/lib/components/datatable/datatable-column/datatable-column-metadata.mjs +2 -0
- package/esm2020/lib/components/datatable/datatable-column/datatable-column.directive.mjs +19 -0
- package/esm2020/lib/components/datatable/datatable-settings.mjs +37 -0
- package/esm2020/lib/components/datatable/datatable.module.mjs +40 -0
- package/esm2020/lib/components/datatable/index.mjs +6 -0
- package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +19 -0
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +22 -0
- package/esm2020/lib/components/datepicker/datepicker.module.mjs +34 -0
- package/esm2020/lib/components/datepicker/index.mjs +3 -0
- package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +51 -0
- package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +91 -0
- package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +28 -0
- package/esm2020/lib/components/dropdown/dropdown.module.mjs +44 -0
- package/esm2020/lib/components/dropdown/index.mjs +5 -0
- package/esm2020/lib/components/index.mjs +16 -4
- package/esm2020/lib/components/multiselect/index.mjs +3 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +36 -0
- package/esm2020/lib/components/multiselect/multiselect.module.mjs +34 -0
- package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +1 -1
- package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +4 -3
- package/esm2020/lib/components/pagination/index.mjs +3 -0
- package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +146 -0
- package/esm2020/lib/components/pagination/pagination.module.mjs +26 -0
- package/esm2020/lib/components/progress-bar/index.mjs +4 -0
- package/esm2020/lib/components/progress-bar/progress/progress.component.mjs +27 -0
- package/esm2020/lib/components/progress-bar/progress-bar/progress-bar.component.mjs +121 -0
- package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +31 -0
- package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +28 -12
- package/esm2020/lib/components/select2/component/select2.component.mjs +96 -0
- package/esm2020/lib/components/select2/directive/item-template.directive.mjs +20 -0
- package/esm2020/lib/components/select2/index.mjs +4 -0
- package/esm2020/lib/components/select2/select2.module.mjs +43 -0
- package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +35 -0
- package/esm2020/lib/components/snackbar/directives/index.mjs +2 -0
- package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs +27 -0
- package/esm2020/lib/components/snackbar/index.mjs +6 -0
- package/esm2020/lib/components/snackbar/interfaces/index.mjs +2 -0
- package/esm2020/lib/components/snackbar/interfaces/snackbar-animation-meta.mjs +2 -0
- package/esm2020/lib/components/snackbar/providers/snackbar-content.provider.mjs +3 -0
- package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +50 -0
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +38 -0
- package/esm2020/lib/components/toggle-button/index.mjs +3 -0
- package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +42 -0
- package/esm2020/lib/components/toggle-button/toggle-button.module.mjs +26 -0
- package/esm2020/lib/components/tooltip/component/tooltip.component.mjs +25 -0
- package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +104 -0
- package/esm2020/lib/components/tooltip/index.mjs +4 -0
- package/esm2020/lib/components/tooltip/providers/tooltip-content.provider.mjs +3 -0
- package/esm2020/lib/components/tooltip/tooltip.module.mjs +29 -0
- package/esm2020/lib/components/typeahead/index.mjs +3 -0
- package/esm2020/lib/components/typeahead/typeahead.component.mjs +90 -0
- package/esm2020/lib/components/typeahead/typeahead.module.mjs +38 -0
- package/esm2020/lib/enums/index.mjs +2 -1
- package/esm2020/lib/enums/position.enum.mjs +8 -0
- package/esm2020/lib/interfaces/index.mjs +2 -0
- package/esm2020/lib/interfaces/page-with-selection.mjs +2 -0
- package/esm2020/lib/pipes/font-color/font-color.module.mjs +26 -0
- package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +26 -0
- package/esm2020/lib/pipes/font-color/index.mjs +3 -0
- package/esm2020/lib/pipes/in-list/in-list.module.mjs +26 -0
- package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +16 -0
- package/esm2020/lib/pipes/index.mjs +2 -0
- package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +7 -2
- package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +12 -14
- package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +31 -0
- package/esm2020/lib/types/page-number.type.mjs +2 -0
- package/fesm2015/mintplayer-ng-bootstrap.mjs +1912 -277
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +1897 -275
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/index.d.ts +2 -0
- package/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.d.ts +1 -0
- package/lib/components/calendar/calendar.component.d.ts +21 -13
- package/lib/components/carousel/carousel/carousel.component.d.ts +4 -1
- package/lib/components/context-menu/context-menu.directive.d.ts +16 -0
- package/lib/components/context-menu/context-menu.module.d.ts +8 -0
- package/lib/components/context-menu/index.d.ts +2 -0
- package/lib/components/datatable/datatable/datatable.component.d.ts +17 -0
- package/lib/components/datatable/datatable-column/datatable-column-metadata.d.ts +4 -0
- package/lib/components/datatable/datatable-column/datatable-column.directive.d.ts +10 -0
- package/lib/components/datatable/datatable-settings.d.ts +15 -0
- package/lib/components/datatable/datatable.module.d.ts +11 -0
- package/lib/components/datatable/index.d.ts +5 -0
- package/lib/components/datatable/row-template/row-template.directive.d.ts +9 -0
- package/lib/components/datepicker/datepicker.component.d.ts +10 -0
- package/lib/components/datepicker/datepicker.module.d.ts +10 -0
- package/lib/components/datepicker/index.d.ts +2 -0
- package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +20 -0
- package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +20 -0
- package/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.d.ts +11 -0
- package/lib/components/dropdown/dropdown.module.d.ts +12 -0
- package/lib/components/dropdown/index.d.ts +4 -0
- package/lib/components/index.d.ts +15 -3
- package/lib/components/multiselect/index.d.ts +2 -0
- package/lib/components/multiselect/multiselect.component.d.ts +12 -0
- package/lib/components/multiselect/multiselect.module.d.ts +10 -0
- package/lib/components/pagination/index.d.ts +2 -0
- package/lib/components/pagination/pagination/pagination.component.d.ts +45 -0
- package/lib/components/pagination/pagination.module.d.ts +8 -0
- package/lib/components/progress-bar/index.d.ts +3 -0
- package/lib/components/progress-bar/progress/progress.component.d.ts +8 -0
- package/lib/components/progress-bar/progress-bar/progress-bar.component.d.ts +31 -0
- package/lib/components/progress-bar/progress-bar.module.d.ts +9 -0
- package/lib/components/scrollspy/component/scrollspy.component.d.ts +6 -4
- package/lib/components/select2/component/select2.component.d.ts +30 -0
- package/lib/components/select2/directive/item-template.directive.d.ts +9 -0
- package/lib/components/select2/index.d.ts +3 -0
- package/lib/components/select2/select2.module.d.ts +12 -0
- package/lib/components/snackbar/component/snackbar.component.d.ts +16 -0
- package/lib/components/snackbar/directives/index.d.ts +1 -0
- package/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.d.ts +11 -0
- package/lib/components/snackbar/index.d.ts +5 -0
- package/lib/components/snackbar/interfaces/index.d.ts +1 -0
- package/lib/components/snackbar/interfaces/snackbar-animation-meta.d.ts +7 -0
- package/lib/components/snackbar/providers/snackbar-content.provider.d.ts +2 -0
- package/lib/components/snackbar/service/snackbar.service.d.ts +14 -0
- package/lib/components/snackbar/snackbar.module.d.ts +9 -0
- package/lib/components/toggle-button/index.d.ts +2 -0
- package/lib/components/toggle-button/toggle-button.component.d.ts +15 -0
- package/lib/components/toggle-button/toggle-button.module.d.ts +8 -0
- package/lib/components/tooltip/component/tooltip.component.d.ts +11 -0
- package/lib/components/tooltip/directive/tooltip.directive.d.ts +19 -0
- package/lib/components/tooltip/index.d.ts +2 -0
- package/lib/components/tooltip/providers/tooltip-content.provider.d.ts +2 -0
- package/lib/components/tooltip/tooltip.module.d.ts +9 -0
- package/lib/components/typeahead/index.d.ts +2 -0
- package/lib/components/typeahead/typeahead.component.d.ts +29 -0
- package/lib/components/typeahead/typeahead.module.d.ts +11 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/enums/position.enum.d.ts +6 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/page-with-selection.d.ts +5 -0
- package/lib/pipes/font-color/font-color.module.d.ts +8 -0
- package/lib/pipes/font-color/font-color.pipe.d.ts +7 -0
- package/lib/pipes/font-color/index.d.ts +2 -0
- package/lib/pipes/in-list/in-list.module.d.ts +8 -0
- package/lib/pipes/in-list/in-list.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/month-name/month-name.pipe.d.ts +1 -1
- package/lib/services/calendar-month/calendar-month.service.d.ts +0 -1
- package/lib/services/scroll-offset/scroll-offset.service.d.ts +9 -0
- package/lib/types/page-number.type.d.ts +1 -0
- package/package.json +6 -2
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Component, ContentChildren, HostListener, Inject, QueryList } from '@angular/core';
|
|
2
|
+
import { Component, ContentChildren, HostListener, Inject, QueryList, ViewChildren } from '@angular/core';
|
|
3
|
+
import { BsScrollOffsetService } from '../../../services/scroll-offset/scroll-offset.service';
|
|
3
4
|
import { BsScrollspyDirective } from '../directives/scrollspy.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
+
import * as i1 from "../../../services/scroll-offset/scroll-offset.service";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
6
8
|
export class BsScrollspyComponent {
|
|
7
|
-
constructor(document) {
|
|
9
|
+
constructor(scrollOffsetService, document) {
|
|
10
|
+
this.scrollOffsetService = scrollOffsetService;
|
|
8
11
|
this.activeDirective = null;
|
|
9
12
|
this.doc = document;
|
|
10
13
|
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
}
|
|
13
14
|
ngAfterViewInit() {
|
|
14
15
|
this.onWindowScroll();
|
|
15
16
|
}
|
|
16
17
|
onWindowScroll() {
|
|
17
|
-
const
|
|
18
|
+
const offsetY = this.scrollOffsetService.getScrollOffset()[1];
|
|
19
|
+
const dirs = this.directives.filter((d) => d.element.nativeElement.getBoundingClientRect().y < offsetY);
|
|
18
20
|
if (this.directives.length === 0) {
|
|
19
21
|
this.activeDirective = null;
|
|
20
22
|
}
|
|
@@ -24,25 +26,39 @@ export class BsScrollspyComponent {
|
|
|
24
26
|
else {
|
|
25
27
|
this.activeDirective = dirs[dirs.length - 1];
|
|
26
28
|
}
|
|
29
|
+
if (window && (window.innerWidth >= 768)) {
|
|
30
|
+
if (this.activeDirective) {
|
|
31
|
+
const index = this.directives.toArray().findIndex((v, i) => v === this.activeDirective);
|
|
32
|
+
const anchor = this.anchors.get(index);
|
|
33
|
+
if (anchor && anchor.nativeElement.parentElement) {
|
|
34
|
+
anchor.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
27
38
|
}
|
|
28
39
|
scrollToHeader(directive) {
|
|
29
40
|
const header = directive.element.nativeElement;
|
|
30
|
-
|
|
41
|
+
const offsetY = this.scrollOffsetService.getScrollOffset()[1];
|
|
42
|
+
const y = header.getBoundingClientRect().top + window.scrollY - offsetY + 1;
|
|
43
|
+
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
31
44
|
}
|
|
32
45
|
}
|
|
33
|
-
BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
BsScrollspyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsScrollspyComponent, selector: "bs-scrollspy", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, queries: [{ propertyName: "directives", predicate: BsScrollspyDirective, descendants: true }], ngImport: i0, template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives\">\n <span class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\">\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(
|
|
46
|
+
BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: i1.BsScrollOffsetService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
BsScrollspyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsScrollspyComponent, selector: "bs-scrollspy", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, queries: [{ propertyName: "directives", predicate: BsScrollspyDirective, descendants: true }], viewQueries: [{ propertyName: "anchors", predicate: ["anchor"], descendants: true }], ngImport: i0, template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
35
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, decorators: [{
|
|
36
49
|
type: Component,
|
|
37
|
-
args: [{ selector: 'bs-scrollspy', template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives\">\n <span class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\">\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(
|
|
38
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
50
|
+
args: [{ selector: 'bs-scrollspy', template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;grid-gap:inherit;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"] }]
|
|
51
|
+
}], ctorParameters: function () { return [{ type: i1.BsScrollOffsetService }, { type: undefined, decorators: [{
|
|
39
52
|
type: Inject,
|
|
40
53
|
args: [DOCUMENT]
|
|
41
54
|
}] }]; }, propDecorators: { directives: [{
|
|
42
55
|
type: ContentChildren,
|
|
43
56
|
args: [BsScrollspyDirective, { descendants: true }]
|
|
57
|
+
}], anchors: [{
|
|
58
|
+
type: ViewChildren,
|
|
59
|
+
args: ['anchor']
|
|
44
60
|
}], onWindowScroll: [{
|
|
45
61
|
type: HostListener,
|
|
46
62
|
args: ['window:scroll', ['$event']]
|
|
47
63
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsc3B5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbHNweS9jb21wb25lbnQvc2Nyb2xsc3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Njcm9sbHNweS9jb21wb25lbnQvc2Nyb2xsc3B5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWlCLFNBQVMsRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBT3pFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDVSxtQkFBMEMsRUFDaEMsUUFBYTtRQUR2Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBU3BELG9CQUFlLEdBQWdDLElBQUksQ0FBQztRQVBsRCxJQUFJLENBQUMsR0FBRyxHQUFhLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBUUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBR0QsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDeEcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN4RixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUU7b0JBQ2hELE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDOUU7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUErQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDOztpSEE5Q1Usb0JBQW9CLHVEQUlyQixRQUFRO3FHQUpQLG9CQUFvQixtSkFRZCxvQkFBb0Isc0lDbEJ2QywwakJBV007MkZERE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGNBQWM7OzBCQVFyQixNQUFNOzJCQUFDLFFBQVE7NENBSTRDLFVBQVU7c0JBQXZFLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUNwQyxPQUFPO3NCQUE5QixZQUFZO3VCQUFDLFFBQVE7Z0JBVXRCLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3QsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc1Njcm9sbE9mZnNldFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9zY3JvbGwtb2Zmc2V0L3Njcm9sbC1vZmZzZXQuc2VydmljZSc7XG5pbXBvcnQgeyBCc1Njcm9sbHNweURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2Nyb2xsc3B5LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXNjcm9sbHNweScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxzcHkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxzcHkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc1Njcm9sbHNweUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2Nyb2xsT2Zmc2V0U2VydmljZTogQnNTY3JvbGxPZmZzZXRTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnkpIHtcbiAgICB0aGlzLmRvYyA9IDxEb2N1bWVudD5kb2N1bWVudDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oQnNTY3JvbGxzcHlEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZGlyZWN0aXZlcyE6IFF1ZXJ5TGlzdDxCc1Njcm9sbHNweURpcmVjdGl2ZT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2FuY2hvcicpIGFuY2hvcnMhOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+PjtcblxuICBkb2M6IERvY3VtZW50O1xuICBhY3RpdmVEaXJlY3RpdmU6IEJzU2Nyb2xsc3B5RGlyZWN0aXZlIHwgbnVsbCA9IG51bGw7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub25XaW5kb3dTY3JvbGwoKTtcbiAgfVxuICBcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93U2Nyb2xsKCkge1xuICAgIGNvbnN0IG9mZnNldFkgPSB0aGlzLnNjcm9sbE9mZnNldFNlcnZpY2UuZ2V0U2Nyb2xsT2Zmc2V0KClbMV07XG4gICAgY29uc3QgZGlycyA9IHRoaXMuZGlyZWN0aXZlcy5maWx0ZXIoKGQpID0+IGQuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnkgPCBvZmZzZXRZKTtcbiAgICBpZiAodGhpcy5kaXJlY3RpdmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hY3RpdmVEaXJlY3RpdmUgPSBudWxsO1xuICAgIH0gZWxzZSBpZiAoZGlycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlRGlyZWN0aXZlID0gdGhpcy5kaXJlY3RpdmVzLmdldCgwKSA/PyBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdGl2ZSA9IGRpcnNbZGlycy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93ICYmICh3aW5kb3cuaW5uZXJXaWR0aCA+PSA3NjgpKSB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVEaXJlY3RpdmUpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRpcmVjdGl2ZXMudG9BcnJheSgpLmZpbmRJbmRleCgodiwgaSkgPT4gdiA9PT0gdGhpcy5hY3RpdmVEaXJlY3RpdmUpO1xuICAgICAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcnMuZ2V0KGluZGV4KTtcbiAgICAgICAgaWYgKGFuY2hvciAmJiBhbmNob3IubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgYW5jaG9yLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnLCBpbmxpbmU6ICduZWFyZXN0JyB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgc2Nyb2xsVG9IZWFkZXIoZGlyZWN0aXZlOiBCc1Njcm9sbHNweURpcmVjdGl2ZSkge1xuICAgIGNvbnN0IGhlYWRlciA9IGRpcmVjdGl2ZS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgb2Zmc2V0WSA9IHRoaXMuc2Nyb2xsT2Zmc2V0U2VydmljZS5nZXRTY3JvbGxPZmZzZXQoKVsxXTtcbiAgICBjb25zdCB5ID0gaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5zY3JvbGxZIC0gb2Zmc2V0WSArIDE7XG4gICAgd2luZG93LnNjcm9sbFRvKHt0b3A6IHksIGJlaGF2aW9yOiAnc21vb3RoJ30pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcHlcIj5cbiAgICA8dWwgY2xhc3M9XCJ0ZXh0LW11dGVkXCI+XG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZGlyIG9mIGRpcmVjdGl2ZXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxzcGFuIFthdHRyLmRhdGEtaW5kZXhdPVwiaVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiBbbmdDbGFzc109XCInbmF2JyArIGRpci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudGFnTmFtZVwiIFtjbGFzcy5mdy1ib2xkXT1cImFjdGl2ZURpcmVjdGl2ZT8uZWxlbWVudCA9PT0gZGlyLmVsZW1lbnRcIiAoY2xpY2spPVwic2Nyb2xsVG9IZWFkZXIoZGlyKVwiIFt0aXRsZV09XCJkaXIuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50XCIgI2FuY2hvcj5cbiAgICAgICAgICAgICAgICB7eyBkaXIuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50IH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../dropdown/dropdown/dropdown.directive";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "../../dropdown/dropdown-menu/dropdown-menu.directive";
|
|
8
|
+
import * as i5 from "../../../pipes/in-list/in-list.pipe";
|
|
9
|
+
export class BsSelect2Component {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.isOpen = false;
|
|
12
|
+
this.suggestions$ = new BehaviorSubject([]);
|
|
13
|
+
this.isLoading$ = new BehaviorSubject(false);
|
|
14
|
+
this.hostWidth$ = new BehaviorSubject(200);
|
|
15
|
+
this.searchterm = '';
|
|
16
|
+
this.suggestions = [];
|
|
17
|
+
this.provideSuggestions = new EventEmitter();
|
|
18
|
+
this.selectedItems = [];
|
|
19
|
+
this.isFocused = false;
|
|
20
|
+
this.charWidth = 10;
|
|
21
|
+
this.searchWidth = 20;
|
|
22
|
+
}
|
|
23
|
+
ngAfterViewInit() {
|
|
24
|
+
this.onResize();
|
|
25
|
+
}
|
|
26
|
+
onProvideSuggestions(value) {
|
|
27
|
+
this.searchWidth = this.charWidth * (this.searchterm.length + 2);
|
|
28
|
+
if (value === '') {
|
|
29
|
+
this.isOpen = false;
|
|
30
|
+
this.suggestions$.next([]);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.isLoading$.next(true);
|
|
34
|
+
this.isOpen = true;
|
|
35
|
+
this.provideSuggestions.emit(value);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
onSuggestionClicked(suggestion) {
|
|
39
|
+
this.searchterm = '';
|
|
40
|
+
this.isOpen = false;
|
|
41
|
+
const existing = this.selectedItems.find((value, index) => value.id === suggestion.id);
|
|
42
|
+
if (existing === undefined) {
|
|
43
|
+
this.selectedItems.push(suggestion);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.selectedItems.splice(this.selectedItems.indexOf(existing), 1);
|
|
47
|
+
}
|
|
48
|
+
this.searchBox.nativeElement.focus();
|
|
49
|
+
}
|
|
50
|
+
onRemoveItem(item, event) {
|
|
51
|
+
event.stopPropagation();
|
|
52
|
+
this.selectedItems.splice(this.selectedItems.indexOf(item), 1);
|
|
53
|
+
this.focus();
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
}
|
|
57
|
+
onResize() {
|
|
58
|
+
this.hostWidth$.next(this.itemsBox.nativeElement.offsetWidth);
|
|
59
|
+
}
|
|
60
|
+
focus() {
|
|
61
|
+
this.searchBox.nativeElement.focus();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
BsSelect2Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
+
BsSelect2Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsSelect2Component, selector: "bs-select2", inputs: { searchterm: "searchterm", suggestions: "suggestions", selectedItems: "selectedItems" }, outputs: { provideSuggestions: "provideSuggestions" }, host: { listeners: { "window:resize": "onResize()", "click": "focus()" }, properties: { "class.focus": "this.isFocused" } }, viewQueries: [{ propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }, { propertyName: "itemsBox", first: true, predicate: ["itemsBox"], descendants: true }, { propertyName: "defaultItemTemplate", first: true, predicate: ["defaultItemTemplate"], descendants: true, static: true }], ngImport: i0, template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box\">\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 <div *bsDropdownMenu>\n <ul class=\"dropdown-menu d-block position-static p-0\" [style.width.px]=\"hostWidth$ | async\">\n <li *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [class.selected]=\"selectedItems | inList:suggestion.id\">{{ suggestion.text }}</li>\n </ul>\n </div>\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", styles: [".items-box{display:block;position:relative;width:100%;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"], directives: [{ type: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { 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]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "async": i2.AsyncPipe, "inList": i5.BsInListPipe } });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Component, decorators: [{
|
|
67
|
+
type: Component,
|
|
68
|
+
args: [{ selector: 'bs-select2', template: "<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [closeOnClickOutside]=\"true\" #itemsBox class=\"items-box\">\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 <div *bsDropdownMenu>\n <ul class=\"dropdown-menu d-block position-static p-0\" [style.width.px]=\"hostWidth$ | async\">\n <li *ngFor=\"let suggestion of suggestions\" (click)=\"onSuggestionClicked(suggestion)\" [class.selected]=\"selectedItems | inList:suggestion.id\">{{ suggestion.text }}</li>\n </ul>\n </div>\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", styles: [".items-box{display:block;position:relative;width:100%;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"] }]
|
|
69
|
+
}], ctorParameters: function () { return []; }, propDecorators: { searchBox: [{
|
|
70
|
+
type: ViewChild,
|
|
71
|
+
args: ['searchBox']
|
|
72
|
+
}], itemsBox: [{
|
|
73
|
+
type: ViewChild,
|
|
74
|
+
args: ['itemsBox']
|
|
75
|
+
}], searchterm: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], suggestions: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], provideSuggestions: [{
|
|
80
|
+
type: Output
|
|
81
|
+
}], selectedItems: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], isFocused: [{
|
|
84
|
+
type: HostBinding,
|
|
85
|
+
args: ['class.focus']
|
|
86
|
+
}], onResize: [{
|
|
87
|
+
type: HostListener,
|
|
88
|
+
args: ['window:resize']
|
|
89
|
+
}], focus: [{
|
|
90
|
+
type: HostListener,
|
|
91
|
+
args: ['click']
|
|
92
|
+
}], defaultItemTemplate: [{
|
|
93
|
+
type: ViewChild,
|
|
94
|
+
args: ['defaultItemTemplate', { static: true }]
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QyL2NvbXBvbmVudC9zZWxlY3QyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdDIvY29tcG9uZW50L3NlbGVjdDIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCO1FBakJBLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqRCxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQVMsR0FBRyxDQUFDLENBQUM7UUFJckMsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNULGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEQsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDUCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXRDLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7SUFFRCxDQUFDO0lBRWpCLGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUNELG1CQUFtQixDQUFDLFVBQWU7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELFlBQVksQ0FBQyxJQUFTLEVBQUUsS0FBaUI7UUFDdkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBR00sS0FBSztRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZDLENBQUM7OytHQWxFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrb0JDUi9CLHFzQ0F5QkE7MkZEakJhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxZQUFZOzBFQVlFLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDQyxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1osVUFBVTtzQkFBbEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNXLGtCQUFrQjtzQkFBbEMsTUFBTTtnQkFDRSxhQUFhO3NCQUFyQixLQUFLO2dCQUNzQixTQUFTO3NCQUFwQyxXQUFXO3VCQUFDLGFBQWE7Z0JBNkMxQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZTtnQkFNdEIsS0FBSztzQkFEWCxZQUFZO3VCQUFDLE9BQU87Z0JBSytCLG1CQUFtQjtzQkFBdEUsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtc2VsZWN0MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0Mi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzU2VsZWN0MkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgaXNPcGVuID0gZmFsc2U7XG4gIFxuICBzdWdnZXN0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihbXSk7XG4gIGlzTG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgaG9zdFdpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigyMDApO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcpIHNlYXJjaEJveCE6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2l0ZW1zQm94JykgaXRlbXNCb3ghOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQElucHV0KCkgc2VhcmNodGVybSA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc3VnZ2VzdGlvbnM6IGFueVtdID0gW107XG4gIEBPdXRwdXQoKSBwdWJsaWMgcHJvdmlkZVN1Z2dlc3Rpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBJbnB1dCgpIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXMnKSBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNoYXJXaWR0aCA9IDEwO1xuICBzZWFyY2hXaWR0aCA9IDIwO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMub25SZXNpemUoKTtcbiAgfVxuICBcbiAgb25Qcm92aWRlU3VnZ2VzdGlvbnModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuc2VhcmNoV2lkdGggPSB0aGlzLmNoYXJXaWR0aCAqICh0aGlzLnNlYXJjaHRlcm0ubGVuZ3RoICsgMik7XG4gICAgaWYgKHZhbHVlID09PSAnJykge1xuICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMkLm5leHQoW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgIHRoaXMucHJvdmlkZVN1Z2dlc3Rpb25zLmVtaXQodmFsdWUpO1xuICAgIH1cbiAgfVxuICBvblN1Z2dlc3Rpb25DbGlja2VkKHN1Z2dlc3Rpb246IGFueSkge1xuICAgIHRoaXMuc2VhcmNodGVybSA9ICcnO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kKCh2YWx1ZSwgaW5kZXgpID0+IHZhbHVlLmlkID09PSBzdWdnZXN0aW9uLmlkKTtcbiAgICBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goc3VnZ2VzdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5zcGxpY2UodGhpcy5zZWxlY3RlZEl0ZW1zLmluZGV4T2YoZXhpc3RpbmcpLCAxKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbiAgb25SZW1vdmVJdGVtKGl0ZW06IGFueSwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc3BsaWNlKHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmRleE9mKGl0ZW0pLCAxKTtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLmhvc3RXaWR0aCQubmV4dCh0aGlzLml0ZW1zQm94Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwdWJsaWMgZm9jdXMoKSB7XG4gICAgdGhpcy5zZWFyY2hCb3gubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG4gIFxuICBAVmlld0NoaWxkKCdkZWZhdWx0SXRlbVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgZGVmYXVsdEl0ZW1UZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGl0ZW1UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cblxufVxuIiwiPGRpdiBic0Ryb3Bkb3duIFsoaXNPcGVuKV09XCJpc09wZW5cIiBbaGFzQmFja2Ryb3BdPVwiZmFsc2VcIiBbY2xvc2VPbkNsaWNrT3V0c2lkZV09XCJ0cnVlXCIgI2l0ZW1zQm94IGNsYXNzPVwiaXRlbXMtYm94XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWxlY3RlZEl0ZW1zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGUgPz8gZGVmYXVsdEl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyBpdGVtOiBpdGVtLCBzZWxlY3QyOiB0aGlzIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNodGVybVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUHJvdmlkZVN1Z2dlc3Rpb25zKCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwiaXNGb2N1c2VkPXRydWVcIlxuICAgICAgICAoYmx1cik9XCJpc0ZvY3VzZWQ9ZmFsc2VcIlxuICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwic2VhcmNoV2lkdGhcIlxuICAgICAgICAjc2VhcmNoQm94IC8+XG4gICAgPGRpdiAqYnNEcm9wZG93bk1lbnU+XG4gICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZC1ibG9jayBwb3NpdGlvbi1zdGF0aWMgcC0wXCIgW3N0eWxlLndpZHRoLnB4XT1cImhvc3RXaWR0aCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBzdWdnZXN0aW9uIG9mIHN1Z2dlc3Rpb25zXCIgKGNsaWNrKT1cIm9uU3VnZ2VzdGlvbkNsaWNrZWQoc3VnZ2VzdGlvbilcIiBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRJdGVtcyB8IGluTGlzdDpzdWdnZXN0aW9uLmlkXCI+e3sgc3VnZ2VzdGlvbi50ZXh0IH19PC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJdGVtVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LXNlbGVjdDI9XCJzZWxlY3QyXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3QyLWl0ZW1cIj5cbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cInNlbGVjdDIub25SZW1vdmVJdGVtKGl0ZW0sJGV2ZW50KVwiPsOXPC9zcGFuPlxuICAgICAgICB7eyBpdGVtLnRleHQgfX1cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Directive, TemplateRef } from '@angular/core';
|
|
2
|
+
import { BsSelect2Component } from '../component/select2.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../component/select2.component";
|
|
5
|
+
export class BsItemTemplateDirective {
|
|
6
|
+
constructor(select2component, templateRef) {
|
|
7
|
+
this.select2component = select2component;
|
|
8
|
+
console.log('template', templateRef);
|
|
9
|
+
this.select2component.itemTemplate = templateRef;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
BsItemTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsItemTemplateDirective, deps: [{ token: i1.BsSelect2Component }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
+
BsItemTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsItemTemplateDirective, selector: "[bsItemTemplate]", ngImport: i0 });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsItemTemplateDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: '[bsItemTemplate]'
|
|
18
|
+
}]
|
|
19
|
+
}], ctorParameters: function () { return [{ type: i1.BsSelect2Component }, { type: i0.TemplateRef }]; } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QyL2RpcmVjdGl2ZS9pdGVtLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBS3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBb0IsZ0JBQW9DLEVBQUUsV0FBNkI7UUFBbkUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNuRCxDQUFDOztvSEFMVSx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNTZWxlY3QyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L3NlbGVjdDIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzSXRlbVRlbXBsYXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNJdGVtVGVtcGxhdGVEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VsZWN0MmNvbXBvbmVudDogQnNTZWxlY3QyQ29tcG9uZW50LCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGNvbnNvbGUubG9nKCd0ZW1wbGF0ZScsIHRlbXBsYXRlUmVmKTtcbiAgICB0aGlzLnNlbGVjdDJjb21wb25lbnQuaXRlbVRlbXBsYXRlID0gdGVtcGxhdGVSZWY7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './component/select2.component';
|
|
2
|
+
export * from './directive/item-template.directive';
|
|
3
|
+
export * from './select2.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQvc2VsZWN0Mi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUvaXRlbS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QyLm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { FormsModule } from '@angular/forms';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { BsDropdownModule } from '../dropdown/dropdown.module';
|
|
5
|
+
import { BsItemTemplateDirective } from './directive/item-template.directive';
|
|
6
|
+
import { BsSelect2Component } from './component/select2.component';
|
|
7
|
+
import { BsInListModule } from '../../pipes/in-list/in-list.module';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class BsSelect2Module {
|
|
10
|
+
}
|
|
11
|
+
BsSelect2Module.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
BsSelect2Module.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, declarations: [BsSelect2Component,
|
|
13
|
+
BsItemTemplateDirective], imports: [CommonModule,
|
|
14
|
+
FormsModule,
|
|
15
|
+
BsDropdownModule,
|
|
16
|
+
BsInListModule], exports: [BsSelect2Component,
|
|
17
|
+
BsItemTemplateDirective] });
|
|
18
|
+
BsSelect2Module.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, imports: [[
|
|
19
|
+
CommonModule,
|
|
20
|
+
FormsModule,
|
|
21
|
+
BsDropdownModule,
|
|
22
|
+
BsInListModule
|
|
23
|
+
]] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSelect2Module, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
declarations: [
|
|
28
|
+
BsSelect2Component,
|
|
29
|
+
BsItemTemplateDirective
|
|
30
|
+
],
|
|
31
|
+
imports: [
|
|
32
|
+
CommonModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
BsDropdownModule,
|
|
35
|
+
BsInListModule
|
|
36
|
+
],
|
|
37
|
+
exports: [
|
|
38
|
+
BsSelect2Component,
|
|
39
|
+
BsItemTemplateDirective
|
|
40
|
+
]
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QyL3NlbGVjdDIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBa0JwRSxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQWR4QixrQkFBa0I7UUFDbEIsdUJBQXVCLGFBR3ZCLFlBQVk7UUFDWixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGNBQWMsYUFHZCxrQkFBa0I7UUFDbEIsdUJBQXVCOzZHQUdkLGVBQWUsWUFYakI7WUFDUCxZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixjQUFjO1NBQ2Y7MkZBTVUsZUFBZTtrQkFoQjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJzRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUnO1xuaW1wb3J0IHsgQnNJdGVtVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9pdGVtLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCc1NlbGVjdDJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9zZWxlY3QyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc0luTGlzdE1vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL2luLWxpc3QvaW4tbGlzdC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc1NlbGVjdDJDb21wb25lbnQsXG4gICAgQnNJdGVtVGVtcGxhdGVEaXJlY3RpdmVcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgIEJzSW5MaXN0TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc1NlbGVjdDJDb21wb25lbnQsXG4gICAgQnNJdGVtVGVtcGxhdGVEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCc1NlbGVjdDJNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Component, EventEmitter, HostBinding, Inject, TemplateRef } from '@angular/core';
|
|
2
|
+
import { SlideUpDownAnimation } from '@mintplayer/ng-animations';
|
|
3
|
+
import { SNACKBAR_CONTENT } from '../providers/snackbar-content.provider';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class BsSnackbarComponent {
|
|
7
|
+
constructor(content) {
|
|
8
|
+
this.displayBlock = true;
|
|
9
|
+
this.width100 = true;
|
|
10
|
+
this.instance = null;
|
|
11
|
+
//#region Monitor @slideUpDown hooks
|
|
12
|
+
this.animationState = '';
|
|
13
|
+
this.animationStateChanged = new EventEmitter();
|
|
14
|
+
this.content = content;
|
|
15
|
+
}
|
|
16
|
+
onAnimationChanged(event) {
|
|
17
|
+
this.animationStateChanged.emit(event);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
BsSnackbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarComponent, deps: [{ token: SNACKBAR_CONTENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
BsSnackbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsSnackbarComponent, selector: "bs-snackbar", host: { properties: { "class.d-block": "this.displayBlock", "class.w-100": "this.width100" } }, ngImport: i0, template: "<div [@slideUpDown]=\"animationState\"\n (@slideUpDown.start)=\"onAnimationChanged($event)\"\n (@slideUpDown.done)=\"onAnimationChanged($event)\">\n\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: this }\" ></ng-container>\n</div>", styles: [":host{background:#232323;color:rgba(var(--bs-light-rgb))}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [SlideUpDownAnimation] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'bs-snackbar', animations: [SlideUpDownAnimation], template: "<div [@slideUpDown]=\"animationState\"\n (@slideUpDown.start)=\"onAnimationChanged($event)\"\n (@slideUpDown.done)=\"onAnimationChanged($event)\">\n\n <ng-container *ngTemplateOutlet=\"content; context: { $implicit: this }\" ></ng-container>\n</div>", styles: [":host{background:#232323;color:rgba(var(--bs-light-rgb))}\n"] }]
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
|
|
26
|
+
type: Inject,
|
|
27
|
+
args: [SNACKBAR_CONTENT]
|
|
28
|
+
}] }]; }, propDecorators: { displayBlock: [{
|
|
29
|
+
type: HostBinding,
|
|
30
|
+
args: ['class.d-block']
|
|
31
|
+
}], width100: [{
|
|
32
|
+
type: HostBinding,
|
|
33
|
+
args: ['class.w-100']
|
|
34
|
+
}] } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvY29tcG9uZW50L3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL2NvbXBvbmVudC9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUErQixZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBcUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFRMUUsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFzQyxPQUF5QjtRQUlqQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUN0QixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR2xDLGFBQVEsR0FBaUMsSUFBSSxDQUFDO1FBRXhELG9DQUFvQztRQUNwQyxtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUNwQiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQVh6RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBV0Qsa0JBQWtCLENBQUMsS0FBcUI7UUFDdEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDOztnSEFqQlUsbUJBQW1CLGtCQUVWLGdCQUFnQjtvR0FGekIsbUJBQW1CLG1KQ2JoQyxzUUFLTSw2TkRNUSxDQUFDLG9CQUFvQixDQUFDOzJGQUV2QixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLENBQUMsb0JBQW9CLENBQUM7OzBCQUlyQixNQUFNOzJCQUFDLGdCQUFnQjs0Q0FJTixZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0EsUUFBUTtzQkFBbkMsV0FBVzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2xpZGVVcERvd25BbmltYXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1hbmltYXRpb25zJztcbmltcG9ydCB7IFNuYWNrYmFyQW5pbWF0aW9uTWV0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvc25hY2tiYXItYW5pbWF0aW9uLW1ldGEnO1xuaW1wb3J0IHsgQnNTbmFja2JhckNsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9zbmFja2Jhci1jbG9zZS9zbmFja2Jhci1jbG9zZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU05BQ0tCQVJfQ09OVEVOVCB9IGZyb20gJy4uL3Byb3ZpZGVycy9zbmFja2Jhci1jb250ZW50LnByb3ZpZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtc25hY2tiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc25hY2tiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbmFja2Jhci5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbU2xpZGVVcERvd25BbmltYXRpb25dXG59KVxuZXhwb3J0IGNsYXNzIEJzU25hY2tiYXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoU05BQ0tCQVJfQ09OVEVOVCkgY29udGVudDogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG4gIH1cbiAgXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1ibG9jaycpIGRpc3BsYXlCbG9jayA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3Mudy0xMDAnKSB3aWR0aDEwMCA9IHRydWU7XG4gIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHJvdGVjdGVkIGluc3RhbmNlOiBTbmFja2JhckFuaW1hdGlvbk1ldGEgfCBudWxsID0gbnVsbDtcblxuICAvLyNyZWdpb24gTW9uaXRvciBAc2xpZGVVcERvd24gaG9va3NcbiAgYW5pbWF0aW9uU3RhdGUgPSAnJztcbiAgYW5pbWF0aW9uU3RhdGVDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxBbmltYXRpb25FdmVudD4oKTtcbiAgb25BbmltYXRpb25DaGFuZ2VkKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHRoaXMuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG59XG4iLCI8ZGl2IFtAc2xpZGVVcERvd25dPVwiYW5pbWF0aW9uU3RhdGVcIlxuICAgICAoQHNsaWRlVXBEb3duLnN0YXJ0KT1cIm9uQW5pbWF0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgKEBzbGlkZVVwRG93bi5kb25lKT1cIm9uQW5pbWF0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHRoaXMgfVwiID48L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './snackbar-close/snackbar-close.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9kaXJlY3RpdmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NuYWNrYmFyLWNsb3NlL3NuYWNrYmFyLWNsb3NlLmRpcmVjdGl2ZSc7Il19
|
package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import { BsSnackbarService } from '../../service/snackbar.service';
|
|
3
|
+
import { BsSnackbarComponent } from '../../component/snackbar.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../service/snackbar.service";
|
|
6
|
+
export class BsSnackbarCloseDirective {
|
|
7
|
+
constructor(snackbarService) {
|
|
8
|
+
this.snackbarService = snackbarService;
|
|
9
|
+
}
|
|
10
|
+
onClick() {
|
|
11
|
+
this.snackbarService.hide(this.bsSnackbarClose);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
BsSnackbarCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarCloseDirective, deps: [{ token: i1.BsSnackbarService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
15
|
+
BsSnackbarCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsSnackbarCloseDirective, selector: "[bsSnackbarClose]", inputs: { bsSnackbarClose: "bsSnackbarClose" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarCloseDirective, decorators: [{
|
|
17
|
+
type: Directive,
|
|
18
|
+
args: [{
|
|
19
|
+
selector: '[bsSnackbarClose]'
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.BsSnackbarService }]; }, propDecorators: { bsSnackbarClose: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], onClick: [{
|
|
24
|
+
type: HostListener,
|
|
25
|
+
args: ['click']
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvZGlyZWN0aXZlcy9zbmFja2Jhci1jbG9zZS9zbmFja2Jhci1jbG9zZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFLekUsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUFvQixlQUFrQztRQUFsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7SUFBSSxDQUFDO0lBSXBDLE9BQU87UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7O3FIQVBVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7d0dBSWlCLGVBQWU7c0JBQTlCLEtBQUs7Z0JBRWlCLE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNTbmFja2JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NuYWNrYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnNTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudC9zbmFja2Jhci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYnNTbmFja2JhckNsb3NlXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNTbmFja2JhckNsb3NlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IEJzU25hY2tiYXJTZXJ2aWNlKSB7IH1cblxuICBASW5wdXQoKSBwdWJsaWMgYnNTbmFja2JhckNsb3NlITogQnNTbmFja2JhckNvbXBvbmVudDtcblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpIG9uQ2xpY2soKSB7XG4gICAgdGhpcy5zbmFja2JhclNlcnZpY2UuaGlkZSh0aGlzLmJzU25hY2tiYXJDbG9zZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './snackbar.module';
|
|
2
|
+
export * from './component/snackbar.component';
|
|
3
|
+
export * from './service/snackbar.service';
|
|
4
|
+
export * from './interfaces';
|
|
5
|
+
export * from './directives';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50L3NuYWNrYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2Uvc25hY2tiYXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJzsiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './snackbar-animation-meta';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NuYWNrYmFyLWFuaW1hdGlvbi1tZXRhJzsiXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItYW5pbWF0aW9uLW1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9pbnRlcmZhY2VzL3NuYWNrYmFyLWFuaW1hdGlvbi1tZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQnNTbmFja2JhckNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnQvc25hY2tiYXIuY29tcG9uZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU25hY2tiYXJBbmltYXRpb25NZXRhIHtcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxCc1NuYWNrYmFyQ29tcG9uZW50PjtcbiAgICBvdmVybGF5OiBPdmVybGF5UmVmO1xufSJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const SNACKBAR_CONTENT = new InjectionToken('SnackbarContent');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGVudC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL3Byb3ZpZGVycy9zbmFja2Jhci1jb250ZW50LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQW1CLGlCQUFpQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgU05BQ0tCQVJfQ09OVEVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUZW1wbGF0ZVJlZjxhbnk+PignU25hY2tiYXJDb250ZW50Jyk7Il19
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
+
import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core';
|
|
4
|
+
import { filter, take } from 'rxjs';
|
|
5
|
+
import { BsSnackbarComponent } from '../component/snackbar.component';
|
|
6
|
+
import { SNACKBAR_CONTENT } from '../providers/snackbar-content.provider';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
9
|
+
export class BsSnackbarService {
|
|
10
|
+
constructor(overlay, parentInjector, componentFactoryResolver) {
|
|
11
|
+
this.overlay = overlay;
|
|
12
|
+
this.parentInjector = parentInjector;
|
|
13
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
14
|
+
}
|
|
15
|
+
show(template) {
|
|
16
|
+
const injector = Injector.create({
|
|
17
|
+
providers: [{ provide: SNACKBAR_CONTENT, useValue: template }],
|
|
18
|
+
parent: this.parentInjector
|
|
19
|
+
});
|
|
20
|
+
const portal = new ComponentPortal(BsSnackbarComponent, null, injector, this.componentFactoryResolver);
|
|
21
|
+
const overlayRef = this.overlay.create({
|
|
22
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
23
|
+
positionStrategy: this.overlay.position()
|
|
24
|
+
.global().centerHorizontally().bottom('0'),
|
|
25
|
+
width: '100%'
|
|
26
|
+
});
|
|
27
|
+
const componentInstance = overlayRef.attach(portal);
|
|
28
|
+
// componentInstance.
|
|
29
|
+
componentInstance.instance['instance'] = {
|
|
30
|
+
component: componentInstance,
|
|
31
|
+
overlay: overlayRef
|
|
32
|
+
};
|
|
33
|
+
return componentInstance.instance;
|
|
34
|
+
}
|
|
35
|
+
hide(snackbar) {
|
|
36
|
+
snackbar.animationStateChanged.pipe(filter(ev => ev.phaseName === 'done' && ev.toState === 'void'), take(1)).subscribe(() => {
|
|
37
|
+
snackbar['instance']?.overlay.dispose();
|
|
38
|
+
});
|
|
39
|
+
snackbar.animationState = 'void';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
BsSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
BsSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarService, providedIn: 'root' });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarService, decorators: [{
|
|
45
|
+
type: Injectable,
|
|
46
|
+
args: [{
|
|
47
|
+
providedIn: 'root'
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }]; } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL3NlcnZpY2Uvc25hY2tiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFLMUUsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUNVLE9BQWdCLEVBQ2hCLGNBQXdCLEVBQ3hCLHdCQUFrRDtRQUZsRCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLG1CQUFjLEdBQWQsY0FBYyxDQUFVO1FBQ3hCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7SUFDeEQsQ0FBQztJQUVFLElBQUksQ0FBQyxRQUEwQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9CLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUM5RCxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUV2RyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNyQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUU7WUFDMUQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7aUJBQ3RDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM1QyxLQUFLLEVBQUUsTUFBTTtTQUNkLENBQUMsQ0FBQztRQUVILE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBc0IsTUFBTSxDQUFDLENBQUM7UUFFekUscUJBQXFCO1FBRXJCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBMEI7WUFDOUQsU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDO1FBRUYsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVNLElBQUksQ0FBQyxRQUE2QjtRQUN2QyxRQUFRLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUNqQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxFQUFFLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxFQUM5RCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2YsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO0lBQ25DLENBQUM7OzhHQTNDVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUsIEluamVjdG9yLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCc1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50L3NuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbmFja2JhckFuaW1hdGlvbk1ldGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NuYWNrYmFyLWFuaW1hdGlvbi1tZXRhJztcbmltcG9ydCB7IFNOQUNLQkFSX0NPTlRFTlQgfSBmcm9tICcuLi9wcm92aWRlcnMvc25hY2tiYXItY29udGVudC5wcm92aWRlcic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJzU25hY2tiYXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgKSB7IH1cblxuICBwdWJsaWMgc2hvdyh0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogU05BQ0tCQVJfQ09OVEVOVCwgdXNlVmFsdWU6IHRlbXBsYXRlIH1dLFxuICAgICAgcGFyZW50OiB0aGlzLnBhcmVudEluamVjdG9yXG4gICAgfSk7XG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChCc1NuYWNrYmFyQ29tcG9uZW50LCBudWxsLCBpbmplY3RvciwgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAgIC5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5ib3R0b20oJzAnKSxcbiAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gb3ZlcmxheVJlZi5hdHRhY2g8QnNTbmFja2JhckNvbXBvbmVudD4ocG9ydGFsKTtcbiAgICBcbiAgICAvLyBjb21wb25lbnRJbnN0YW5jZS5cbiAgICBcbiAgICBjb21wb25lbnRJbnN0YW5jZS5pbnN0YW5jZVsnaW5zdGFuY2UnXSA9IDxTbmFja2JhckFuaW1hdGlvbk1ldGE+e1xuICAgICAgY29tcG9uZW50OiBjb21wb25lbnRJbnN0YW5jZSxcbiAgICAgIG92ZXJsYXk6IG92ZXJsYXlSZWZcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudEluc3RhbmNlLmluc3RhbmNlO1xuICB9XG5cbiAgcHVibGljIGhpZGUoc25hY2tiYXI6IEJzU25hY2tiYXJDb21wb25lbnQpIHtcbiAgICBzbmFja2Jhci5hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZShcbiAgICAgIGZpbHRlcihldiA9PiBldi5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldi50b1N0YXRlID09PSAndm9pZCcpLFxuICAgICAgdGFrZSgxKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHNuYWNrYmFyWydpbnN0YW5jZSddPy5vdmVybGF5LmRpc3Bvc2UoKVxuICAgIH0pO1xuXG4gICAgc25hY2tiYXIuYW5pbWF0aW9uU3RhdGUgPSAndm9pZCc7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BsSnackbarComponent } from './component/snackbar.component';
|
|
4
|
+
import { BsSnackbarCloseDirective } from './directives/snackbar-close/snackbar-close.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BsSnackbarModule {
|
|
7
|
+
}
|
|
8
|
+
BsSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
BsSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, declarations: [BsSnackbarComponent,
|
|
10
|
+
BsSnackbarCloseDirective], imports: [CommonModule], exports: [BsSnackbarComponent,
|
|
11
|
+
BsSnackbarCloseDirective] });
|
|
12
|
+
BsSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, providers: [
|
|
13
|
+
// { provide: BsSnackbarComponent, useExisting: forwardRef(() => BsSnackbarComponent) }
|
|
14
|
+
// { provide: BsSnackbarComponent, useClass: BsSnackbarComponent }
|
|
15
|
+
], imports: [[
|
|
16
|
+
CommonModule
|
|
17
|
+
]] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsSnackbarModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
declarations: [
|
|
22
|
+
BsSnackbarComponent,
|
|
23
|
+
BsSnackbarCloseDirective
|
|
24
|
+
],
|
|
25
|
+
imports: [
|
|
26
|
+
CommonModule
|
|
27
|
+
],
|
|
28
|
+
exports: [
|
|
29
|
+
BsSnackbarComponent,
|
|
30
|
+
BsSnackbarCloseDirective
|
|
31
|
+
],
|
|
32
|
+
providers: [
|
|
33
|
+
// { provide: BsSnackbarComponent, useExisting: forwardRef(() => BsSnackbarComponent) }
|
|
34
|
+
// { provide: BsSnackbarComponent, useClass: BsSnackbarComponent }
|
|
35
|
+
]
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQW1CaEcsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQWZ6QixtQkFBbUI7UUFDbkIsd0JBQXdCLGFBR3hCLFlBQVksYUFHWixtQkFBbUI7UUFDbkIsd0JBQXdCOzhHQU9mLGdCQUFnQixhQUxoQjtJQUNULHVGQUF1RjtJQUN2RixrRUFBa0U7S0FDbkUsWUFWUTtZQUNQLFlBQVk7U0FDYjsyRkFVVSxnQkFBZ0I7a0JBakI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3FCQUN6QjtvQkFDRCxTQUFTLEVBQUU7b0JBQ1QsdUZBQXVGO29CQUN2RixrRUFBa0U7cUJBQ25FO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCc1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzU25hY2tiYXJDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zbmFja2Jhci1jbG9zZS9zbmFja2Jhci1jbG9zZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc1NuYWNrYmFyQ29tcG9uZW50LFxuICAgIEJzU25hY2tiYXJDbG9zZURpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc1NuYWNrYmFyQ29tcG9uZW50LFxuICAgIEJzU25hY2tiYXJDbG9zZURpcmVjdGl2ZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICAvLyB7IHByb3ZpZGU6IEJzU25hY2tiYXJDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJzU25hY2tiYXJDb21wb25lbnQpIH1cbiAgICAvLyB7IHByb3ZpZGU6IEJzU25hY2tiYXJDb21wb25lbnQsIHVzZUNsYXNzOiBCc1NuYWNrYmFyQ29tcG9uZW50IH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCc1NuYWNrYmFyTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './toggle-button.component';
|
|
2
|
+
export * from './toggle-button.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy90b2dnbGUtYnV0dG9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUtYnV0dG9uLm1vZHVsZSc7Il19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ColorTransitionAnimation } from '@mintplayer/ng-animations';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BsToggleButtonComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.disableAnimations = true;
|
|
7
|
+
//#region isToggled
|
|
8
|
+
this._isToggled = false;
|
|
9
|
+
this.isToggledChange = new EventEmitter();
|
|
10
|
+
//#endregion
|
|
11
|
+
this.offColor = '#CCCCCC';
|
|
12
|
+
this.onColor = '#2196F3';
|
|
13
|
+
this.round = true;
|
|
14
|
+
}
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
this.disableAnimations = false;
|
|
17
|
+
}
|
|
18
|
+
get isToggled() {
|
|
19
|
+
return this._isToggled;
|
|
20
|
+
}
|
|
21
|
+
set isToggled(value) {
|
|
22
|
+
this._isToggled = value;
|
|
23
|
+
this.isToggledChange.emit(this._isToggled);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
BsToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
BsToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsToggleButtonComponent, selector: "bs-toggle-button", inputs: { isToggled: "isToggled", offColor: "offColor", onColor: "onColor", round: "round" }, outputs: { isToggledChange: "isToggledChange" }, ngImport: i0, template: "<label (click)=\"isToggled = !isToggled\" class=\"switch\" [class.checked]=\"isToggled\">\n <span class=\"slider\" [class.round]=\"round\" [@colorTransition]=\"{ value: isToggled ? 'color2' : 'color1', params: { color1: offColor, color2: onColor, 'duration': '.4s' } }\"></span>\n</label>", styles: [".switch{position:relative;display:inline-block;width:30px;height:17px}.switch>.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;transition:transform .4s}.switch>.slider.round{border-radius:8.5px}.switch>.slider.round:before{border-radius:50%}.switch>.slider:before{position:absolute;content:\"\";height:13px;width:13px;left:2px;top:0;bottom:0;margin:auto 0;background-color:#fff;transition:transform .4s}.switch.checked .slider:before{transform:translate(13px)}\n"], animations: [ColorTransitionAnimation] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsToggleButtonComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'bs-toggle-button', animations: [ColorTransitionAnimation], template: "<label (click)=\"isToggled = !isToggled\" class=\"switch\" [class.checked]=\"isToggled\">\n <span class=\"slider\" [class.round]=\"round\" [@colorTransition]=\"{ value: isToggled ? 'color2' : 'color1', params: { color1: offColor, color2: onColor, 'duration': '.4s' } }\"></span>\n</label>", styles: [".switch{position:relative;display:inline-block;width:30px;height:17px}.switch>.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;transition:transform .4s}.switch>.slider.round{border-radius:8.5px}.switch>.slider.round:before{border-radius:50%}.switch>.slider:before{position:absolute;content:\"\";height:13px;width:13px;left:2px;top:0;bottom:0;margin:auto 0;background-color:#fff;transition:transform .4s}.switch.checked .slider:before{transform:translate(13px)}\n"] }]
|
|
31
|
+
}], propDecorators: { isToggledChange: [{
|
|
32
|
+
type: Output
|
|
33
|
+
}], isToggled: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], offColor: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], onColor: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], round: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy90b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVFyRSxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBUUUsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBS3pCLG1CQUFtQjtRQUNuQixlQUFVLEdBQW1CLEtBQUssQ0FBQztRQUNsQixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBUXRFLFlBQVk7UUFFSSxhQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxTQUFTLENBQUM7UUFDcEIsVUFBSyxHQUFHLElBQUksQ0FBQztLQUU5QjtJQXBCQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBS0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBb0IsU0FBUyxDQUFDLEtBQXFCO1FBQ2pELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDOztvSEFoQlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdU1DVHBDLHFTQUVRLGdnQkRLTSxDQUFFLHdCQUF3QixDQUFFOzJGQUU3Qix1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLENBQUUsd0JBQXdCLENBQUU7OEJBV3ZCLGVBQWU7c0JBQS9CLE1BQU07Z0JBSWEsU0FBUztzQkFBNUIsS0FBSztnQkFNVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2xvclRyYW5zaXRpb25BbmltYXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1hbmltYXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtdG9nZ2xlLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbIENvbG9yVHJhbnNpdGlvbkFuaW1hdGlvbiBdXG59KVxuZXhwb3J0IGNsYXNzIEJzVG9nZ2xlQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgZGlzYWJsZUFuaW1hdGlvbnMgPSB0cnVlO1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5kaXNhYmxlQW5pbWF0aW9ucyA9IGZhbHNlO1xuICB9XG5cbiAgLy8jcmVnaW9uIGlzVG9nZ2xlZFxuICBfaXNUb2dnbGVkOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgcHVibGljIGlzVG9nZ2xlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbiB8IG51bGw+KCk7XG4gIHB1YmxpYyBnZXQgaXNUb2dnbGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1RvZ2dsZWQ7XG4gIH1cbiAgQElucHV0KCkgcHVibGljIHNldCBpc1RvZ2dsZWQodmFsdWU6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgdGhpcy5faXNUb2dnbGVkID0gdmFsdWU7XG4gICAgdGhpcy5pc1RvZ2dsZWRDaGFuZ2UuZW1pdCh0aGlzLl9pc1RvZ2dsZWQpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIEBJbnB1dCgpIHB1YmxpYyBvZmZDb2xvciA9ICcjQ0NDQ0NDJztcbiAgQElucHV0KCkgcHVibGljIG9uQ29sb3IgPSAnIzIxOTZGMyc7XG4gIEBJbnB1dCgpIHB1YmxpYyByb3VuZCA9IHRydWU7XG5cbn1cbiIsIjxsYWJlbCAoY2xpY2spPVwiaXNUb2dnbGVkID0gIWlzVG9nZ2xlZFwiIGNsYXNzPVwic3dpdGNoXCIgW2NsYXNzLmNoZWNrZWRdPVwiaXNUb2dnbGVkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJzbGlkZXJcIiBbY2xhc3Mucm91bmRdPVwicm91bmRcIiBbQGNvbG9yVHJhbnNpdGlvbl09XCJ7IHZhbHVlOiBpc1RvZ2dsZWQgPyAnY29sb3IyJyA6ICdjb2xvcjEnLCBwYXJhbXM6IHsgY29sb3IxOiBvZmZDb2xvciwgY29sb3IyOiBvbkNvbG9yLCAnZHVyYXRpb24nOiAnLjRzJyB9IH1cIj48L3NwYW4+XG48L2xhYmVsPiJdfQ==
|