@mintplayer/ng-bootstrap 13.1.6 → 13.1.7

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.
Files changed (35) hide show
  1. package/esm2020/lib/components/calendar/calendar.component.mjs +77 -34
  2. package/esm2020/lib/components/datepicker/datepicker.component.mjs +22 -0
  3. package/esm2020/lib/components/datepicker/datepicker.module.mjs +34 -0
  4. package/esm2020/lib/components/datepicker/index.mjs +3 -0
  5. package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +31 -0
  6. package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +64 -0
  7. package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +29 -0
  8. package/esm2020/lib/components/dropdown/dropdown.module.mjs +40 -0
  9. package/esm2020/lib/components/dropdown/index.mjs +5 -0
  10. package/esm2020/lib/components/index.mjs +4 -1
  11. package/esm2020/lib/components/multiselect/index.mjs +3 -0
  12. package/esm2020/lib/components/multiselect/multiselect.component.mjs +33 -0
  13. package/esm2020/lib/components/multiselect/multiselect.module.mjs +30 -0
  14. package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +1 -1
  15. package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +2 -2
  16. package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +7 -2
  17. package/fesm2015/mintplayer-ng-bootstrap.mjs +339 -54
  18. package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
  19. package/fesm2020/mintplayer-ng-bootstrap.mjs +337 -54
  20. package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
  21. package/lib/components/calendar/calendar.component.d.ts +21 -13
  22. package/lib/components/datepicker/datepicker.component.d.ts +10 -0
  23. package/lib/components/datepicker/datepicker.module.d.ts +10 -0
  24. package/lib/components/datepicker/index.d.ts +2 -0
  25. package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +13 -0
  26. package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +17 -0
  27. package/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.d.ts +11 -0
  28. package/lib/components/dropdown/dropdown.module.d.ts +11 -0
  29. package/lib/components/dropdown/index.d.ts +4 -0
  30. package/lib/components/index.d.ts +3 -0
  31. package/lib/components/multiselect/index.d.ts +2 -0
  32. package/lib/components/multiselect/multiselect.component.d.ts +11 -0
  33. package/lib/components/multiselect/multiselect.module.d.ts +9 -0
  34. package/lib/pipes/month-name/month-name.pipe.d.ts +1 -1
  35. package/package.json +2 -1
@@ -1,15 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, NgModule, Injectable, Pipe, Directive, ContentChildren, EventEmitter, Output, ViewChild, Optional, forwardRef, SkipSelf, Host, Inject, TemplateRef, ContentChild, HostListener } from '@angular/core';
2
+ import { Component, Input, NgModule, Injectable, Pipe, EventEmitter, Output, Directive, ContentChildren, ViewChild, Optional, forwardRef, SkipSelf, Host, Inject, TemplateRef, ContentChild, HostListener } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import { SlideUpDownAnimation, FadeInOutAnimation, CarouselSlideAnimation } from '@mintplayer/ng-animations';
6
- import { Subject, BehaviorSubject, Observable, combineLatest, takeUntil as takeUntil$1, map as map$1 } from 'rxjs';
7
- import { map, takeUntil, take } from 'rxjs/operators';
6
+ import { Subject, BehaviorSubject, map, takeUntil, filter, take, Observable, combineLatest } from 'rxjs';
7
+ import { map as map$1, takeUntil as takeUntil$1, take as take$1 } from 'rxjs/operators';
8
8
  import '@mintplayer/ng-pagination';
9
9
  import { RouterModule } from '@angular/router';
10
10
  import * as i1$1 from '@mintplayer/ng-click-outside';
11
11
  import { ClickOutsideModule } from '@mintplayer/ng-click-outside';
12
12
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
13
+ import * as i1$2 from '@angular/cdk/overlay';
14
+ import { OverlayModule } from '@angular/cdk/overlay';
15
+ import { TemplatePortal } from '@angular/cdk/portal';
13
16
 
14
17
  var Color;
15
18
  (function (Color) {
@@ -229,7 +232,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
229
232
 
230
233
  class MonthNamePipe {
231
234
  transform(date, ...args) {
232
- return date.toLocaleString("default", { month: 'long' });
235
+ if (date) {
236
+ return date.toLocaleString("default", { month: 'long' });
237
+ }
238
+ else {
239
+ return '';
240
+ }
233
241
  }
234
242
  }
235
243
  MonthNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: MonthNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -242,58 +250,100 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
242
250
  }] });
243
251
 
244
252
  class BsCalendarComponent {
245
- constructor(calendarMonthService) {
253
+ constructor(calendarMonthService, ref) {
246
254
  this.calendarMonthService = calendarMonthService;
247
- this.daysOfWeek = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
255
+ this.ref = ref;
256
+ this.destroyed$ = new Subject();
257
+ //#region CurrentMonth
258
+ this.currentMonth$ = new BehaviorSubject(new Date());
259
+ this.currentMonthChange = new EventEmitter();
260
+ //#endregion
248
261
  //#region SelectedDate
249
- this.selectedDate = new Date();
262
+ this.selectedDate$ = new BehaviorSubject(new Date());
263
+ this.selectedDateChange = new EventEmitter();
250
264
  //#endregion
251
- //#region Weeks
252
- this._weeks = [];
265
+ this.daysOfWeek = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
266
+ this.weeks$ = this.currentMonth$
267
+ .pipe(map((month) => this.calendarMonthService.getWeeks(month)))
268
+ .pipe(takeUntil(this.destroyed$));
269
+ this.daysOfWeek$ = this.weeks$
270
+ .pipe(filter((weeks) => weeks.length > 1))
271
+ .pipe(map((weeks) => weeks[1].week))
272
+ .pipe(map((week) => {
273
+ const firstDay = week[0];
274
+ if (firstDay) {
275
+ return week.map((d) => {
276
+ const date = new Date(firstDay.date.getFullYear(), firstDay.date.getMonth(), d?.dayOfMonth);
277
+ return date.toLocaleString('default', { weekday: 'short' });
278
+ });
279
+ }
280
+ else {
281
+ return [];
282
+ }
283
+ }));
284
+ this.selectedDate$.pipe(takeUntil(this.destroyed$)).subscribe((date) => {
285
+ this.selectedDateChange.emit(date);
286
+ });
287
+ this.currentMonth$.pipe(takeUntil(this.destroyed$)).subscribe((month) => {
288
+ this.currentMonthChange.emit(month);
289
+ });
253
290
  }
254
- ngOnInit() {
255
- this.month = new Date();
291
+ get currentMonth() {
292
+ return this.currentMonth$.value;
256
293
  }
257
- get month() {
258
- return this._month;
294
+ set currentMonth(value) {
295
+ this.currentMonth$.next(value);
259
296
  }
260
- set month(value) {
261
- this._month = value;
262
- this.weeks = this.calendarMonthService.getWeeks(this.month);
297
+ get selectedDate() {
298
+ return this.selectedDate$.value;
263
299
  }
264
- get weeks() {
265
- return this._weeks;
300
+ set selectedDate(value) {
301
+ this.selectedDate$.next(value);
266
302
  }
267
- set weeks(value) {
268
- this._weeks = value;
269
- if (this._weeks.length > 1) {
270
- this.daysOfWeek = this._weeks[1].week.map(d => {
271
- let date = new Date(this.month.getFullYear(), this.month.getMonth(), d?.dayOfMonth);
272
- return date.toLocaleString("default", { weekday: 'short' });
273
- });
274
- }
303
+ ngOnDestroy() {
304
+ this.destroyed$.next(true);
275
305
  }
276
- //#endregion
277
306
  previousMonth() {
278
- this.month = new Date(this.month.getFullYear(), this.month.getMonth() - 1, 1);
307
+ this.currentMonth$.pipe(take(1)).subscribe((month) => {
308
+ this.currentMonth$.next(new Date(month.getFullYear(), month.getMonth() - 1, 1));
309
+ });
279
310
  return false;
280
311
  }
281
312
  nextMonth() {
282
- this.month = new Date(this.month.getFullYear(), this.month.getMonth() + 1, 1);
313
+ this.currentMonth$.pipe(take(1)).subscribe((month) => {
314
+ this.currentMonth$.next(new Date(month.getFullYear(), month.getMonth() + 1, 1));
315
+ });
283
316
  return false;
284
317
  }
285
318
  isSameDate(date1, date2) {
286
- return (date1.getFullYear() === date2.getFullYear())
287
- && (date1.getMonth() === date2.getMonth())
288
- && (date1.getDate() === date2.getDate());
319
+ if (date1 === null && date2 === null)
320
+ return true;
321
+ if (date1 === null || date2 === null)
322
+ return false;
323
+ return (date1.getFullYear() === date2.getFullYear() &&
324
+ date1.getMonth() === date2.getMonth() &&
325
+ date1.getDate() === date2.getDate());
326
+ }
327
+ goto(day) {
328
+ if (day) {
329
+ this.selectedDate$.next(day.date);
330
+ }
289
331
  }
290
332
  }
291
- BsCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarComponent, deps: [{ token: BsCalendarMonthService }], target: i0.ɵɵFactoryTarget.Component });
292
- BsCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCalendarComponent, selector: "bs-calendar", ngImport: i0, template: "<table class=\"table w-auto\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ month | monthName | ucFirst }}\n {{ month.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <i class=\"bi bi-chevron-right fw-bolder\"></i>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of daysOfWeek\">\n {{ dayOfWeek }}\n </th>\n </tr>\n <tr *ngFor=\"let week of weeks\">\n <th>\n {{ week.number }}\n </th>\n <td [class.selected]=\"day === null ? false : isSameDate(selectedDate, day.date)\" *ngFor=\"let day of week.week\" (click)=\"day && selectedDate = day.date\">\n <span *ngIf=\"day !== null\">{{ day.dayOfMonth }}</span>\n </td>\n </tr>\n</table>", styles: ["table{border-collapse:collapse;border:1px solid rgba(0,0,0,.125)}table td,table th{width:40px;height:40px;text-align:center}table td span,table th span{cursor:pointer;white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid rgba(0,0,0,.125)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid rgba(0,0,0,.125)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid rgba(0,0,0,.125)}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "ucFirst": UcFirstPipe, "monthName": MonthNamePipe } });
333
+ BsCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarComponent, deps: [{ token: BsCalendarMonthService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
334
+ BsCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsCalendarComponent, selector: "bs-calendar", inputs: { currentMonth: "currentMonth", selectedDate: "selectedDate" }, outputs: { currentMonthChange: "currentMonthChange", selectedDateChange: "selectedDateChange" }, ngImport: i0, template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | ucFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <i class=\"bi bi-chevron-right fw-bolder\"></i>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of daysOfWeek\">\n {{ dayOfWeek }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async)\">\n <th>\n {{ week.number }}\n </th>\n <td [class.selected]=\"day === null ? false : isSameDate(selectedDate$ | async, day.date)\" *ngFor=\"let day of week.week\" (click)=\"goto(day)\">\n <span *ngIf=\"day !== null\">{{ day.dayOfMonth }}</span>\n </td>\n </tr>\n</table>", styles: ["table{border-collapse:collapse;border:1px solid rgba(0,0,0,.125);background:#fff}table td,table th{width:40px;height:40px;text-align:center}table td span,table th span{cursor:pointer;white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid rgba(0,0,0,.125)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid rgba(0,0,0,.125)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid rgba(0,0,0,.125)}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "ucFirst": UcFirstPipe, "monthName": MonthNamePipe, "async": i1.AsyncPipe } });
293
335
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarComponent, decorators: [{
294
336
  type: Component,
295
- args: [{ selector: 'bs-calendar', template: "<table class=\"table w-auto\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ month | monthName | ucFirst }}\n {{ month.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <i class=\"bi bi-chevron-right fw-bolder\"></i>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of daysOfWeek\">\n {{ dayOfWeek }}\n </th>\n </tr>\n <tr *ngFor=\"let week of weeks\">\n <th>\n {{ week.number }}\n </th>\n <td [class.selected]=\"day === null ? false : isSameDate(selectedDate, day.date)\" *ngFor=\"let day of week.week\" (click)=\"day && selectedDate = day.date\">\n <span *ngIf=\"day !== null\">{{ day.dayOfMonth }}</span>\n </td>\n </tr>\n</table>", styles: ["table{border-collapse:collapse;border:1px solid rgba(0,0,0,.125)}table td,table th{width:40px;height:40px;text-align:center}table td span,table th span{cursor:pointer;white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid rgba(0,0,0,.125)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid rgba(0,0,0,.125)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid rgba(0,0,0,.125)}\n"] }]
296
- }], ctorParameters: function () { return [{ type: BsCalendarMonthService }]; } });
337
+ args: [{ selector: 'bs-calendar', template: "<table class=\"table w-auto mb-0\">\n <tr>\n <td>\n <button class=\"btn btn-default\" (click)=\"previousMonth()\">\n <i class=\"bi bi-chevron-left fw-bolder\"></i>\n </button>\n </td>\n <td colspan=\"6\" class=\"fw-bolder\">\n {{ currentMonth$ | async | monthName | ucFirst }}\n {{ (currentMonth$ | async)?.getFullYear() }}\n </td>\n <td>\n <button class=\"btn btn-default border-bottom-0\" (click)=\"nextMonth()\">\n <i class=\"bi bi-chevron-right fw-bolder\"></i>\n </button>\n </td>\n </tr>\n <tr>\n <th></th>\n <th *ngFor=\"let dayOfWeek of daysOfWeek\">\n {{ dayOfWeek }}\n </th>\n </tr>\n <tr *ngFor=\"let week of (weeks$ | async)\">\n <th>\n {{ week.number }}\n </th>\n <td [class.selected]=\"day === null ? false : isSameDate(selectedDate$ | async, day.date)\" *ngFor=\"let day of week.week\" (click)=\"goto(day)\">\n <span *ngIf=\"day !== null\">{{ day.dayOfMonth }}</span>\n </td>\n </tr>\n</table>", styles: ["table{border-collapse:collapse;border:1px solid rgba(0,0,0,.125);background:#fff}table td,table th{width:40px;height:40px;text-align:center}table td span,table th span{cursor:pointer;white-space:nowrap}table td.selected{background-color:#0d6efd;color:#fff}table th{background-color:#f8f9fa}table tr{border-top:none}table tr:first-child>td{border-bottom:1px solid rgba(0,0,0,.125)}table tr:nth-of-type(2)>th:not(:nth-of-type(1)){border-bottom:1px solid rgba(0,0,0,.125)}table tr:not(:nth-of-type(2))>th:nth-of-type(1){border-right:1px solid rgba(0,0,0,.125)}\n"] }]
338
+ }], ctorParameters: function () { return [{ type: BsCalendarMonthService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { currentMonthChange: [{
339
+ type: Output
340
+ }], currentMonth: [{
341
+ type: Input
342
+ }], selectedDateChange: [{
343
+ type: Output
344
+ }], selectedDate: [{
345
+ type: Input
346
+ }] } });
297
347
 
298
348
  class BsMonthNamePipeModule {
299
349
  }
@@ -429,14 +479,14 @@ class BsCarouselComponent {
429
479
  this.destroyed$ = new Subject();
430
480
  this.currentImageCounter$ = new BehaviorSubject(-1);
431
481
  this.currentImageIndex$ = this.currentImageCounter$
432
- .pipe(map((counter) => {
482
+ .pipe(map$1((counter) => {
433
483
  const l = this.images.length;
434
484
  return ((counter % l) + l) % l;
435
485
  }))
436
- .pipe(takeUntil(this.destroyed$));
486
+ .pipe(takeUntil$1(this.destroyed$));
437
487
  this.currentImage$ = this.currentImageIndex$
438
- .pipe(map((index) => this.images.get(index)?.itemTemplate ?? null))
439
- .pipe(takeUntil(this.destroyed$));
488
+ .pipe(map$1((index) => this.images.get(index)?.itemTemplate ?? null))
489
+ .pipe(takeUntil$1(this.destroyed$));
440
490
  }
441
491
  ngOnInit() { }
442
492
  ngOnDestroy() {
@@ -452,14 +502,14 @@ class BsCarouselComponent {
452
502
  }
453
503
  previousImage() {
454
504
  this.currentImageCounter$
455
- .pipe(take(1))
505
+ .pipe(take$1(1))
456
506
  .subscribe((currentImageCounter) => {
457
507
  this.currentImageCounter$.next(currentImageCounter - 1);
458
508
  });
459
509
  }
460
510
  nextImage() {
461
511
  this.currentImageCounter$
462
- .pipe(take(1))
512
+ .pipe(take$1(1))
463
513
  .subscribe((currentImageCounter) => {
464
514
  this.currentImageCounter$.next(currentImageCounter + 1);
465
515
  });
@@ -588,8 +638,8 @@ class BsPaginationComponent {
588
638
  this.destroyed$ = new Subject();
589
639
  this.visibleNumberOfNumberBoxes$ =
590
640
  combineLatest([this.numberOfBoxes$, this.pageNumbers$, this.showArrows$])
591
- .pipe(takeUntil$1(this.destroyed$))
592
- .pipe(map$1(([numberOfBoxes, pageNumbers, showArrows]) => {
641
+ .pipe(takeUntil(this.destroyed$))
642
+ .pipe(map(([numberOfBoxes, pageNumbers, showArrows]) => {
593
643
  if (numberOfBoxes <= 0) {
594
644
  return pageNumbers.length;
595
645
  }
@@ -605,8 +655,8 @@ class BsPaginationComponent {
605
655
  }));
606
656
  this.shownPageNumbers$ =
607
657
  combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])
608
- .pipe(takeUntil$1(this.destroyed$))
609
- .pipe(map$1(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
658
+ .pipe(takeUntil(this.destroyed$))
659
+ .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
610
660
  let startIndex = 0;
611
661
  const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);
612
662
  if (pageNumbers.indexOf(selectedPageNumber) < half) {
@@ -627,18 +677,18 @@ class BsPaginationComponent {
627
677
  }));
628
678
  this.isFirstPage$ =
629
679
  combineLatest([this.pageNumbers$, this.selectedPageNumber$])
630
- .pipe(takeUntil$1(this.destroyed$))
631
- .pipe(map$1(([pageNumbers, selectedPageNumber]) => {
680
+ .pipe(takeUntil(this.destroyed$))
681
+ .pipe(map(([pageNumbers, selectedPageNumber]) => {
632
682
  return pageNumbers.indexOf(selectedPageNumber) === 0;
633
683
  }));
634
684
  this.isLastPage$ =
635
685
  combineLatest([this.pageNumbers$, this.selectedPageNumber$])
636
- .pipe(takeUntil$1(this.destroyed$))
637
- .pipe(map$1(([pageNumbers, selectedPageNumber]) => {
686
+ .pipe(takeUntil(this.destroyed$))
687
+ .pipe(map(([pageNumbers, selectedPageNumber]) => {
638
688
  return pageNumbers.indexOf(selectedPageNumber) === (pageNumbers.length - 1);
639
689
  }));
640
690
  this.selectedPageNumber$
641
- .pipe(takeUntil$1(this.destroyed$))
691
+ .pipe(takeUntil(this.destroyed$))
642
692
  .subscribe((selectedPageNumber) => {
643
693
  this.selectedPageNumberChange.emit(selectedPageNumber);
644
694
  });
@@ -1334,10 +1384,10 @@ class BsScrollspyComponent {
1334
1384
  }
1335
1385
  }
1336
1386
  BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
1337
- 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:25%;overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1387
+ 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}.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:25%;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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
1338
1388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsScrollspyComponent, decorators: [{
1339
1389
  type: Component,
1340
- 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:25%;overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"] }]
1390
+ 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}.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:25%;overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"] }]
1341
1391
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1342
1392
  type: Inject,
1343
1393
  args: [DOCUMENT]
@@ -1375,9 +1425,242 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
1375
1425
  }]
1376
1426
  }] });
1377
1427
 
1428
+ class BsDropdownMenuDirective {
1429
+ constructor(dropdown, document, viewContainerRef, templateRef, overlay) {
1430
+ this.dropdown = dropdown;
1431
+ this.viewContainerRef = viewContainerRef;
1432
+ this.templateRef = templateRef;
1433
+ this.overlay = overlay;
1434
+ this.destroyed$ = new Subject();
1435
+ this.overlayRef = null;
1436
+ this.templatePortal = null;
1437
+ this.document = document;
1438
+ this.dropdown.isOpen$
1439
+ .pipe(takeUntil(this.destroyed$))
1440
+ .subscribe((isOpen) => {
1441
+ if (isOpen) {
1442
+ this.overlayRef = this.overlay.create({
1443
+ hasBackdrop: this.dropdown.hasBackdrop,
1444
+ scrollStrategy: this.overlay.scrollStrategies.reposition(),
1445
+ positionStrategy: this.overlay.position()
1446
+ .flexibleConnectedTo(this.dropdown.toggle.toggleButton)
1447
+ .withPositions([
1448
+ { originX: "start", "originY": "bottom", overlayX: "start", overlayY: "top", offsetY: 0 },
1449
+ { originX: "start", "originY": "top", overlayX: "start", overlayY: "bottom", offsetY: 0 },
1450
+ ]),
1451
+ });
1452
+ this.overlayRef.backdropClick().subscribe(() => this.dropdown.isOpen$.next(false));
1453
+ this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
1454
+ this.overlayRef.attach(this.templatePortal);
1455
+ }
1456
+ else {
1457
+ if (this.overlayRef) {
1458
+ this.overlayRef.detach();
1459
+ this.overlayRef.dispose();
1460
+ }
1461
+ }
1462
+ });
1463
+ }
1464
+ }
1465
+ BsDropdownMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownMenuDirective, deps: [{ token: forwardRef(() => BsDropdownDirective) }, { token: DOCUMENT }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i1$2.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
1466
+ BsDropdownMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]", host: { properties: { "class.show": "dropdown.isOpen" } }, ngImport: i0 });
1467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownMenuDirective, decorators: [{
1468
+ type: Directive,
1469
+ args: [{
1470
+ selector: '[bsDropdownMenu]',
1471
+ host: {
1472
+ '[class.show]': 'dropdown.isOpen',
1473
+ },
1474
+ }]
1475
+ }], ctorParameters: function () { return [{ type: BsDropdownDirective, decorators: [{
1476
+ type: Inject,
1477
+ args: [forwardRef(() => BsDropdownDirective)]
1478
+ }] }, { type: undefined, decorators: [{
1479
+ type: Inject,
1480
+ args: [DOCUMENT]
1481
+ }] }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i1$2.Overlay }]; } });
1482
+
1483
+ class BsDropdownToggleDirective {
1484
+ constructor(dropdown, toggleButton) {
1485
+ this.dropdown = dropdown;
1486
+ this.toggleButton = toggleButton;
1487
+ }
1488
+ onClick() {
1489
+ console.log('clicked');
1490
+ this.dropdown.isOpen$.pipe(take(1)).subscribe((isOpen) => {
1491
+ this.dropdown.isOpen$.next(!isOpen);
1492
+ });
1493
+ }
1494
+ }
1495
+ BsDropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownToggleDirective, deps: [{ token: BsDropdownDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1496
+ BsDropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
1497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownToggleDirective, decorators: [{
1498
+ type: Directive,
1499
+ args: [{
1500
+ selector: '[bsDropdownToggle]'
1501
+ }]
1502
+ }], ctorParameters: function () { return [{ type: BsDropdownDirective }, { type: i0.ElementRef }]; }, propDecorators: { onClick: [{
1503
+ type: HostListener,
1504
+ args: ['click']
1505
+ }] } });
1506
+
1507
+ class BsDropdownDirective {
1508
+ constructor() {
1509
+ this.isOpen$ = new BehaviorSubject(false);
1510
+ this.hasBackdrop = false;
1511
+ this.closeOnClickOutside = false;
1512
+ }
1513
+ }
1514
+ BsDropdownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1515
+ BsDropdownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: { hasBackdrop: "hasBackdrop", closeOnClickOutside: "closeOnClickOutside" }, queries: [{ propertyName: "menu", first: true, predicate: BsDropdownMenuDirective, descendants: true }, { propertyName: "toggle", first: true, predicate: BsDropdownToggleDirective, descendants: true }], ngImport: i0 });
1516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownDirective, decorators: [{
1517
+ type: Directive,
1518
+ args: [{
1519
+ selector: '[bsDropdown]'
1520
+ }]
1521
+ }], propDecorators: { menu: [{
1522
+ type: ContentChild,
1523
+ args: [BsDropdownMenuDirective, { static: false }]
1524
+ }], toggle: [{
1525
+ type: ContentChild,
1526
+ args: [BsDropdownToggleDirective, { static: false }]
1527
+ }], hasBackdrop: [{
1528
+ type: Input
1529
+ }], closeOnClickOutside: [{
1530
+ type: Input
1531
+ }] } });
1532
+
1533
+ class BsDropdownModule {
1534
+ }
1535
+ BsDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1536
+ BsDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, declarations: [BsDropdownDirective,
1537
+ BsDropdownToggleDirective,
1538
+ BsDropdownMenuDirective], imports: [CommonModule,
1539
+ OverlayModule], exports: [BsDropdownDirective,
1540
+ BsDropdownToggleDirective,
1541
+ BsDropdownMenuDirective] });
1542
+ BsDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, imports: [[
1543
+ CommonModule,
1544
+ OverlayModule
1545
+ ]] });
1546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDropdownModule, decorators: [{
1547
+ type: NgModule,
1548
+ args: [{
1549
+ declarations: [
1550
+ BsDropdownDirective,
1551
+ BsDropdownToggleDirective,
1552
+ BsDropdownMenuDirective
1553
+ ],
1554
+ imports: [
1555
+ CommonModule,
1556
+ OverlayModule
1557
+ ],
1558
+ exports: [
1559
+ BsDropdownDirective,
1560
+ BsDropdownToggleDirective,
1561
+ BsDropdownMenuDirective
1562
+ ]
1563
+ }]
1564
+ }] });
1565
+
1566
+ class BsDatepickerComponent {
1567
+ constructor() {
1568
+ this.selectedDate = new Date();
1569
+ this.currentMonth = new Date();
1570
+ }
1571
+ ngOnInit() {
1572
+ }
1573
+ }
1574
+ BsDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1575
+ BsDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsDatepickerComponent, selector: "bs-datepicker", ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedDate | date }}</button>\n <div *bsDropdownMenu>\n <bs-calendar [(selectedDate)]=\"selectedDate\" [(currentMonth)]=\"currentMonth\"></bs-calendar>\n </div>\n</div>", styles: [""], components: [{ type: BsCalendarComponent, selector: "bs-calendar", inputs: ["currentMonth", "selectedDate"], outputs: ["currentMonthChange", "selectedDateChange"] }], directives: [{ type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "closeOnClickOutside"] }, { type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }], pipes: { "date": i1.DatePipe } });
1576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerComponent, decorators: [{
1577
+ type: Component,
1578
+ args: [{ selector: 'bs-datepicker', template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedDate | date }}</button>\n <div *bsDropdownMenu>\n <bs-calendar [(selectedDate)]=\"selectedDate\" [(currentMonth)]=\"currentMonth\"></bs-calendar>\n </div>\n</div>", styles: [""] }]
1579
+ }], ctorParameters: function () { return []; } });
1580
+
1581
+ class BsDatepickerModule {
1582
+ }
1583
+ BsDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1584
+ BsDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, declarations: [BsDatepickerComponent], imports: [CommonModule,
1585
+ BsCalendarModule,
1586
+ BsDropdownModule], exports: [BsDatepickerComponent] });
1587
+ BsDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, imports: [[
1588
+ CommonModule,
1589
+ BsCalendarModule,
1590
+ BsDropdownModule
1591
+ ]] });
1592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsDatepickerModule, decorators: [{
1593
+ type: NgModule,
1594
+ args: [{
1595
+ declarations: [
1596
+ BsDatepickerComponent
1597
+ ],
1598
+ imports: [
1599
+ CommonModule,
1600
+ BsCalendarModule,
1601
+ BsDropdownModule
1602
+ ],
1603
+ exports: [
1604
+ BsDatepickerComponent
1605
+ ]
1606
+ }]
1607
+ }] });
1608
+
1609
+ class BsMultiselectComponent {
1610
+ constructor() {
1611
+ this.items = [];
1612
+ this.selectedItems = [];
1613
+ }
1614
+ itemChange(item, event) {
1615
+ if (!!event.target.checked) {
1616
+ this.selectedItems.push(item);
1617
+ }
1618
+ else {
1619
+ this.selectedItems.splice(this.selectedItems.findIndex((i) => i === item), 1);
1620
+ }
1621
+ }
1622
+ ngOnInit() {
1623
+ }
1624
+ }
1625
+ BsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1626
+ BsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsMultiselectComponent, selector: "bs-multiselect", inputs: { items: "items", selectedItems: "selectedItems" }, ngImport: i0, template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedItems.length }} selected</button>\n <div *bsDropdownMenu class=\"bg-white p-3 border shadow\">\n <label *ngFor=\"let item of items\" class=\"form-check\">\n <input type=\"checkbox\" [checked]=\"selectedItems.indexOf(item) > -1\" (change)=\"itemChange(item, $event)\" class=\"form-check-input\">\n <span class=\"form-check-label\">{{ item }}</span>\n </label>\n </div>\n</div>", styles: [""], directives: [{ type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "closeOnClickOutside"] }, { type: BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, decorators: [{
1628
+ type: Component,
1629
+ args: [{ selector: 'bs-multiselect', template: "<div bsDropdown [hasBackdrop]=\"true\" [closeOnClickOutside]=\"true\">\n <button bsDropdownToggle class=\"btn btn-primary\">{{ selectedItems.length }} selected</button>\n <div *bsDropdownMenu class=\"bg-white p-3 border shadow\">\n <label *ngFor=\"let item of items\" class=\"form-check\">\n <input type=\"checkbox\" [checked]=\"selectedItems.indexOf(item) > -1\" (change)=\"itemChange(item, $event)\" class=\"form-check-input\">\n <span class=\"form-check-label\">{{ item }}</span>\n </label>\n </div>\n</div>", styles: [""] }]
1630
+ }], ctorParameters: function () { return []; }, propDecorators: { items: [{
1631
+ type: Input
1632
+ }], selectedItems: [{
1633
+ type: Input
1634
+ }] } });
1635
+
1636
+ class BsMultiselectModule {
1637
+ }
1638
+ BsMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1639
+ BsMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, declarations: [BsMultiselectComponent], imports: [CommonModule,
1640
+ BsDropdownModule], exports: [BsMultiselectComponent] });
1641
+ BsMultiselectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, imports: [[
1642
+ CommonModule,
1643
+ BsDropdownModule
1644
+ ]] });
1645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, decorators: [{
1646
+ type: NgModule,
1647
+ args: [{
1648
+ declarations: [
1649
+ BsMultiselectComponent
1650
+ ],
1651
+ imports: [
1652
+ CommonModule,
1653
+ BsDropdownModule
1654
+ ],
1655
+ exports: [
1656
+ BsMultiselectComponent
1657
+ ]
1658
+ }]
1659
+ }] });
1660
+
1378
1661
  /**
1379
1662
  * Generated bundle index. Do not edit.
1380
1663
  */
1381
1664
 
1382
- export { BsAccordionComponent, BsAccordionModule, BsAccordionTabComponent, BsAccordionTabHeaderComponent, BsAlertCloseComponent, BsAlertComponent, BsAlertModule, BsCalendarComponent, BsCalendarModule, BsCardComponent, BsCardHeaderComponent, BsCardModule, BsCarouselComponent, BsCarouselImageDirective, BsCarouselModule, BsDatatableColumnDirective, BsDatatableComponent, BsDatatableModule, BsListGroupComponent, BsListGroupItemComponent, BsListGroupModule, BsNavbarComponent, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsRowTemplateDirective, BsScrollspyComponent, BsScrollspyDirective, BsScrollspyModule, BsTabControlComponent, BsTabControlModule, BsTabPageComponent, Color, DatatableSettings, DropdownToggleDirective, NavLinkDirective, NavbarContentDirective };
1665
+ export { BsAccordionComponent, BsAccordionModule, BsAccordionTabComponent, BsAccordionTabHeaderComponent, BsAlertCloseComponent, BsAlertComponent, BsAlertModule, BsCalendarComponent, BsCalendarModule, BsCardComponent, BsCardHeaderComponent, BsCardModule, BsCarouselComponent, BsCarouselImageDirective, BsCarouselModule, BsDatatableColumnDirective, BsDatatableComponent, BsDatatableModule, BsDatepickerComponent, BsDatepickerModule, BsDropdownDirective, BsDropdownMenuDirective, BsDropdownModule, BsDropdownToggleDirective, BsListGroupComponent, BsListGroupItemComponent, BsListGroupModule, BsMultiselectComponent, BsMultiselectModule, BsNavbarComponent, BsNavbarDropdownComponent, BsNavbarItemComponent, BsNavbarModule, BsNavbarNavComponent, BsRowTemplateDirective, BsScrollspyComponent, BsScrollspyDirective, BsScrollspyModule, BsTabControlComponent, BsTabControlModule, BsTabPageComponent, Color, DatatableSettings, DropdownToggleDirective, NavLinkDirective, NavbarContentDirective };
1383
1666
  //# sourceMappingURL=mintplayer-ng-bootstrap.mjs.map