@mintplayer/ng-bootstrap 13.1.5 → 13.1.10

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 (157) hide show
  1. package/esm2020/index.mjs +3 -1
  2. package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +4 -3
  3. package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +7 -3
  4. package/esm2020/lib/components/alert/alert/alert.component.mjs +4 -4
  5. package/esm2020/lib/components/calendar/calendar.component.mjs +77 -34
  6. package/esm2020/lib/components/card/card/card.component.mjs +1 -2
  7. package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +21 -7
  8. package/esm2020/lib/components/context-menu/context-menu.directive.mjs +57 -0
  9. package/esm2020/lib/components/context-menu/context-menu.module.mjs +26 -0
  10. package/esm2020/lib/components/context-menu/index.mjs +3 -0
  11. package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +51 -0
  12. package/esm2020/lib/components/datatable/datatable-column/datatable-column-metadata.mjs +2 -0
  13. package/esm2020/lib/components/datatable/datatable-column/datatable-column.directive.mjs +19 -0
  14. package/esm2020/lib/components/datatable/datatable-settings.mjs +37 -0
  15. package/esm2020/lib/components/datatable/datatable.module.mjs +40 -0
  16. package/esm2020/lib/components/datatable/index.mjs +6 -0
  17. package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +19 -0
  18. package/esm2020/lib/components/datepicker/datepicker.component.mjs +22 -0
  19. package/esm2020/lib/components/datepicker/datepicker.module.mjs +34 -0
  20. package/esm2020/lib/components/datepicker/index.mjs +3 -0
  21. package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +51 -0
  22. package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +91 -0
  23. package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +28 -0
  24. package/esm2020/lib/components/dropdown/dropdown.module.mjs +44 -0
  25. package/esm2020/lib/components/dropdown/index.mjs +5 -0
  26. package/esm2020/lib/components/index.mjs +16 -4
  27. package/esm2020/lib/components/multiselect/index.mjs +3 -0
  28. package/esm2020/lib/components/multiselect/multiselect.component.mjs +36 -0
  29. package/esm2020/lib/components/multiselect/multiselect.module.mjs +34 -0
  30. package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +1 -1
  31. package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +9 -6
  32. package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +47 -9
  33. package/esm2020/lib/components/pagination/index.mjs +3 -0
  34. package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +146 -0
  35. package/esm2020/lib/components/pagination/pagination.module.mjs +26 -0
  36. package/esm2020/lib/components/progress-bar/index.mjs +4 -0
  37. package/esm2020/lib/components/progress-bar/progress/progress.component.mjs +27 -0
  38. package/esm2020/lib/components/progress-bar/progress-bar/progress-bar.component.mjs +121 -0
  39. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +31 -0
  40. package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +28 -12
  41. package/esm2020/lib/components/select2/component/select2.component.mjs +96 -0
  42. package/esm2020/lib/components/select2/directive/item-template.directive.mjs +20 -0
  43. package/esm2020/lib/components/select2/index.mjs +4 -0
  44. package/esm2020/lib/components/select2/select2.module.mjs +43 -0
  45. package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +35 -0
  46. package/esm2020/lib/components/snackbar/directives/index.mjs +2 -0
  47. package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs +27 -0
  48. package/esm2020/lib/components/snackbar/index.mjs +6 -0
  49. package/esm2020/lib/components/snackbar/interfaces/index.mjs +2 -0
  50. package/esm2020/lib/components/snackbar/interfaces/snackbar-animation-meta.mjs +2 -0
  51. package/esm2020/lib/components/snackbar/providers/snackbar-content.provider.mjs +3 -0
  52. package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +50 -0
  53. package/esm2020/lib/components/snackbar/snackbar.module.mjs +38 -0
  54. package/esm2020/lib/components/toggle-button/index.mjs +3 -0
  55. package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +42 -0
  56. package/esm2020/lib/components/toggle-button/toggle-button.module.mjs +26 -0
  57. package/esm2020/lib/components/tooltip/component/tooltip.component.mjs +25 -0
  58. package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +104 -0
  59. package/esm2020/lib/components/tooltip/index.mjs +4 -0
  60. package/esm2020/lib/components/tooltip/providers/tooltip-content.provider.mjs +3 -0
  61. package/esm2020/lib/components/tooltip/tooltip.module.mjs +29 -0
  62. package/esm2020/lib/components/typeahead/index.mjs +3 -0
  63. package/esm2020/lib/components/typeahead/typeahead.component.mjs +90 -0
  64. package/esm2020/lib/components/typeahead/typeahead.module.mjs +38 -0
  65. package/esm2020/lib/enums/index.mjs +2 -1
  66. package/esm2020/lib/enums/position.enum.mjs +8 -0
  67. package/esm2020/lib/interfaces/index.mjs +2 -0
  68. package/esm2020/lib/interfaces/page-with-selection.mjs +2 -0
  69. package/esm2020/lib/pipes/font-color/font-color.module.mjs +26 -0
  70. package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +26 -0
  71. package/esm2020/lib/pipes/font-color/index.mjs +3 -0
  72. package/esm2020/lib/pipes/in-list/in-list.module.mjs +26 -0
  73. package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +16 -0
  74. package/esm2020/lib/pipes/index.mjs +2 -0
  75. package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +7 -2
  76. package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +12 -14
  77. package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +31 -0
  78. package/esm2020/lib/types/page-number.type.mjs +2 -0
  79. package/fesm2015/mintplayer-ng-bootstrap.mjs +1970 -297
  80. package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
  81. package/fesm2020/mintplayer-ng-bootstrap.mjs +1943 -283
  82. package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
  83. package/index.d.ts +2 -0
  84. package/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.d.ts +1 -0
  85. package/lib/components/calendar/calendar.component.d.ts +21 -13
  86. package/lib/components/carousel/carousel/carousel.component.d.ts +4 -1
  87. package/lib/components/context-menu/context-menu.directive.d.ts +16 -0
  88. package/lib/components/context-menu/context-menu.module.d.ts +8 -0
  89. package/lib/components/context-menu/index.d.ts +2 -0
  90. package/lib/components/datatable/datatable/datatable.component.d.ts +17 -0
  91. package/lib/components/datatable/datatable-column/datatable-column-metadata.d.ts +4 -0
  92. package/lib/components/datatable/datatable-column/datatable-column.directive.d.ts +10 -0
  93. package/lib/components/datatable/datatable-settings.d.ts +15 -0
  94. package/lib/components/datatable/datatable.module.d.ts +11 -0
  95. package/lib/components/datatable/index.d.ts +5 -0
  96. package/lib/components/datatable/row-template/row-template.directive.d.ts +9 -0
  97. package/lib/components/datepicker/datepicker.component.d.ts +10 -0
  98. package/lib/components/datepicker/datepicker.module.d.ts +10 -0
  99. package/lib/components/datepicker/index.d.ts +2 -0
  100. package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +20 -0
  101. package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +20 -0
  102. package/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.d.ts +11 -0
  103. package/lib/components/dropdown/dropdown.module.d.ts +12 -0
  104. package/lib/components/dropdown/index.d.ts +4 -0
  105. package/lib/components/index.d.ts +15 -3
  106. package/lib/components/multiselect/index.d.ts +2 -0
  107. package/lib/components/multiselect/multiselect.component.d.ts +12 -0
  108. package/lib/components/multiselect/multiselect.module.d.ts +10 -0
  109. package/lib/components/navbar/navbar/navbar.component.d.ts +3 -3
  110. package/lib/components/navbar/navbar-nav/navbar-nav.component.d.ts +10 -4
  111. package/lib/components/pagination/index.d.ts +2 -0
  112. package/lib/components/pagination/pagination/pagination.component.d.ts +45 -0
  113. package/lib/components/pagination/pagination.module.d.ts +8 -0
  114. package/lib/components/progress-bar/index.d.ts +3 -0
  115. package/lib/components/progress-bar/progress/progress.component.d.ts +8 -0
  116. package/lib/components/progress-bar/progress-bar/progress-bar.component.d.ts +31 -0
  117. package/lib/components/progress-bar/progress-bar.module.d.ts +9 -0
  118. package/lib/components/scrollspy/component/scrollspy.component.d.ts +6 -4
  119. package/lib/components/select2/component/select2.component.d.ts +30 -0
  120. package/lib/components/select2/directive/item-template.directive.d.ts +9 -0
  121. package/lib/components/select2/index.d.ts +3 -0
  122. package/lib/components/select2/select2.module.d.ts +12 -0
  123. package/lib/components/snackbar/component/snackbar.component.d.ts +16 -0
  124. package/lib/components/snackbar/directives/index.d.ts +1 -0
  125. package/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.d.ts +11 -0
  126. package/lib/components/snackbar/index.d.ts +5 -0
  127. package/lib/components/snackbar/interfaces/index.d.ts +1 -0
  128. package/lib/components/snackbar/interfaces/snackbar-animation-meta.d.ts +7 -0
  129. package/lib/components/snackbar/providers/snackbar-content.provider.d.ts +2 -0
  130. package/lib/components/snackbar/service/snackbar.service.d.ts +14 -0
  131. package/lib/components/snackbar/snackbar.module.d.ts +9 -0
  132. package/lib/components/toggle-button/index.d.ts +2 -0
  133. package/lib/components/toggle-button/toggle-button.component.d.ts +15 -0
  134. package/lib/components/toggle-button/toggle-button.module.d.ts +8 -0
  135. package/lib/components/tooltip/component/tooltip.component.d.ts +11 -0
  136. package/lib/components/tooltip/directive/tooltip.directive.d.ts +19 -0
  137. package/lib/components/tooltip/index.d.ts +2 -0
  138. package/lib/components/tooltip/providers/tooltip-content.provider.d.ts +2 -0
  139. package/lib/components/tooltip/tooltip.module.d.ts +9 -0
  140. package/lib/components/typeahead/index.d.ts +2 -0
  141. package/lib/components/typeahead/typeahead.component.d.ts +29 -0
  142. package/lib/components/typeahead/typeahead.module.d.ts +11 -0
  143. package/lib/enums/index.d.ts +1 -0
  144. package/lib/enums/position.enum.d.ts +6 -0
  145. package/lib/interfaces/index.d.ts +1 -0
  146. package/lib/interfaces/page-with-selection.d.ts +5 -0
  147. package/lib/pipes/font-color/font-color.module.d.ts +8 -0
  148. package/lib/pipes/font-color/font-color.pipe.d.ts +7 -0
  149. package/lib/pipes/font-color/index.d.ts +2 -0
  150. package/lib/pipes/in-list/in-list.module.d.ts +8 -0
  151. package/lib/pipes/in-list/in-list.pipe.d.ts +7 -0
  152. package/lib/pipes/index.d.ts +1 -0
  153. package/lib/pipes/month-name/month-name.pipe.d.ts +1 -1
  154. package/lib/services/calendar-month/calendar-month.service.d.ts +0 -1
  155. package/lib/services/scroll-offset/scroll-offset.service.d.ts +9 -0
  156. package/lib/types/page-number.type.d.ts +1 -0
  157. package/package.json +6 -2
@@ -0,0 +1,36 @@
1
+ import { Component, ContentChild, Input, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../dropdown/dropdown/dropdown.directive";
4
+ import * as i2 from "../dropdown/dropdown-toggle/dropdown-toggle.directive";
5
+ import * as i3 from "../dropdown/dropdown-menu/dropdown-menu.directive";
6
+ import * as i4 from "@angular/common";
7
+ export class BsMultiselectComponent {
8
+ constructor() {
9
+ this.items = [];
10
+ this.selectedItems = [];
11
+ }
12
+ itemChange(item, event) {
13
+ if (!!event.target.checked) {
14
+ this.selectedItems.push(item);
15
+ }
16
+ else {
17
+ this.selectedItems.splice(this.selectedItems.findIndex((i) => i === item), 1);
18
+ }
19
+ }
20
+ ngOnInit() {
21
+ }
22
+ }
23
+ BsMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ BsMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsMultiselectComponent, selector: "bs-multiselect", inputs: { items: "items", selectedItems: "selectedItems" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], 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 mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <hr class=\"my-2\">\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: [".mw-250px{min-width:250px}\n"], directives: [{ type: i1.BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "isOpen"], outputs: ["isOpenChange"] }, { type: i2.BsDropdownToggleDirective, selector: "[bsDropdownToggle]" }, { type: i3.BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectComponent, decorators: [{
26
+ type: Component,
27
+ 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 mw-250px p-3 border rounded shadow\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <hr class=\"my-2\">\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: [".mw-250px{min-width:250px}\n"] }]
28
+ }], ctorParameters: function () { return []; }, propDecorators: { template: [{
29
+ type: ContentChild,
30
+ args: [TemplateRef]
31
+ }], items: [{
32
+ type: Input
33
+ }], selectedItems: [{
34
+ type: Input
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3BGLE1BQU0sT0FBTyxzQkFBc0I7SUFFakM7UUFJZ0IsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUNsQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztJQUoxQyxDQUFDO0lBTUQsVUFBVSxDQUFDLElBQVMsRUFBRSxLQUFZO1FBQ2hDLElBQUksQ0FBQyxDQUFPLEtBQUssQ0FBQyxNQUFPLENBQUMsT0FBTyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDOzttSEFsQlUsc0JBQXNCO3VHQUF0QixzQkFBc0Isd0pBS25CLFdBQVcsZ0RDWjNCLGlxQkFVTTsyRkRITyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsZ0JBQWdCOzBFQVNDLFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVztnQkFDVCxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aXNlbGVjdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJzTXVsdGlzZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGl0ZW1DaGFuZ2UoaXRlbTogYW55LCBldmVudDogRXZlbnQpIHtcbiAgICBpZiAoISEoPGFueT5ldmVudC50YXJnZXQpLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuc3BsaWNlKHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoKGkpID0+IGkgPT09IGl0ZW0pLCAxKTtcbiAgICB9XG4gIH1cbiAgXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cblxufVxuIiwiPGRpdiBic0Ryb3Bkb3duIFtoYXNCYWNrZHJvcF09XCJ0cnVlXCIgW2Nsb3NlT25DbGlja091dHNpZGVdPVwidHJ1ZVwiPlxuICAgIDxidXR0b24gYnNEcm9wZG93blRvZ2dsZSBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiPnt7IHNlbGVjdGVkSXRlbXMubGVuZ3RoIH19IHNlbGVjdGVkPC9idXR0b24+XG4gICAgPGRpdiAqYnNEcm9wZG93bk1lbnUgY2xhc3M9XCJiZy13aGl0ZSBtdy0yNTBweCBwLTMgYm9yZGVyIHJvdW5kZWQgc2hhZG93XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8aHIgY2xhc3M9XCJteS0yXCI+XG4gICAgICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGNsYXNzPVwiZm9ybS1jaGVja1wiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cInNlbGVjdGVkSXRlbXMuaW5kZXhPZihpdGVtKSA+IC0xXCIgKGNoYW5nZSk9XCJpdGVtQ2hhbmdlKGl0ZW0sICRldmVudClcIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPnt7IGl0ZW0gfX08L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -0,0 +1,34 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BsMultiselectComponent } from './multiselect.component';
4
+ import { BsDropdownModule } from '../dropdown/dropdown.module';
5
+ import { FocusOnLoadModule } from '@mintplayer/ng-focus-on-load';
6
+ import * as i0 from "@angular/core";
7
+ export class BsMultiselectModule {
8
+ }
9
+ BsMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ BsMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, declarations: [BsMultiselectComponent], imports: [CommonModule,
11
+ BsDropdownModule,
12
+ FocusOnLoadModule], exports: [BsMultiselectComponent] });
13
+ BsMultiselectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, imports: [[
14
+ CommonModule,
15
+ BsDropdownModule,
16
+ FocusOnLoadModule,
17
+ ]] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsMultiselectModule, decorators: [{
19
+ type: NgModule,
20
+ args: [{
21
+ declarations: [
22
+ BsMultiselectComponent
23
+ ],
24
+ imports: [
25
+ CommonModule,
26
+ BsDropdownModule,
27
+ FocusOnLoadModule,
28
+ ],
29
+ exports: [
30
+ BsMultiselectComponent
31
+ ]
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlzZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWVqRSxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBWDVCLHNCQUFzQixhQUd0QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGlCQUFpQixhQUdqQixzQkFBc0I7aUhBR2IsbUJBQW1CLFlBVHJCO1lBQ1AsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixpQkFBaUI7U0FDbEI7MkZBS1UsbUJBQW1CO2tCQWIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asc0JBQXNCO3FCQUN2QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnNNdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbXVsdGlzZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJzRHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUnO1xuaW1wb3J0IHsgRm9jdXNPbkxvYWRNb2R1bGUgfSBmcm9tICdAbWludHBsYXllci9uZy1mb2N1cy1vbi1sb2FkJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQnNNdWx0aXNlbGVjdENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJzRHJvcGRvd25Nb2R1bGUsXG4gICAgRm9jdXNPbkxvYWRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc011bHRpc2VsZWN0Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNNdWx0aXNlbGVjdE1vZHVsZSB7IH1cbiJdfQ==
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
26
26
  type: Inject,
27
27
  args: [forwardRef(() => BsNavbarDropdownComponent)]
28
28
  }] }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdi1saW5rL25hdi1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBS3pGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxVQUF5QyxFQUNnQixjQUF5QztRQURsRyxlQUFVLEdBQVYsVUFBVSxDQUErQjtRQUdqRCxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7OzZHQVhVLGdCQUFnQiw0Q0FJTCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUdBSnRELGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQ0FBZ0M7aUJBQzNDOzswQkFLSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2YmFyLWRyb3Bkb3duL25hdmJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdicy1uYXZiYXItaXRlbSA+IGFbcm91dGVyTGlua10nXG59KVxuZXhwb3J0IGNsYXNzIE5hdkxpbmtEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnQpKSBwYXJlbnREcm9wZG93bjogQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudFxuICApIHtcbiAgICBpZiAocGFyZW50RHJvcGRvd24gPT0gbnVsbCkge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbmF2LWxpbmsnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZHJvcGRvd24taXRlbScpO1xuICAgIH1cbiAgfVxuXG59Il19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvbmF2YmFyL25hdi1saW5rL25hdi1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7O0FBS3pGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFDVSxVQUF5QyxFQUNnQixjQUF5QztRQURsRyxlQUFVLEdBQVYsVUFBVSxDQUErQjtRQUdqRCxJQUFJLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN6RDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUM5RDtJQUNILENBQUM7OzZHQVhVLGdCQUFnQiw0Q0FJTCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUdBSnRELGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQ0FBZ0M7aUJBQzNDOzswQkFLSSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNOYXZiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci1kcm9wZG93bi9uYXZiYXItZHJvcGRvd24uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnYnMtbmF2YmFyLWl0ZW0gPiBhW3JvdXRlckxpbmtdJ1xufSlcbmV4cG9ydCBjbGFzcyBOYXZMaW5rRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBCc05hdmJhckRyb3Bkb3duQ29tcG9uZW50KSkgcGFyZW50RHJvcGRvd246IEJzTmF2YmFyRHJvcGRvd25Db21wb25lbnRcbiAgKSB7XG4gICAgaWYgKHBhcmVudERyb3Bkb3duID09IG51bGwpIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ25hdi1saW5rJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2Ryb3Bkb3duLWl0ZW0nKTtcbiAgICB9XG4gIH1cblxufSJdfQ==
@@ -1,20 +1,23 @@
1
1
  import { Component, ElementRef, ViewChild } from '@angular/core';
2
+ import { BehaviorSubject, take } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  export class BsNavbarComponent {
4
5
  constructor() {
5
- this.isExpanded = false;
6
+ this.isExpanded$ = new BehaviorSubject(false);
6
7
  }
7
8
  toggleExpanded() {
8
- this.isExpanded = !this.isExpanded;
9
+ this.isExpanded$.pipe(take(1)).subscribe((isExpanded) => {
10
+ this.isExpanded$.next(!isExpanded);
11
+ });
9
12
  }
10
13
  }
11
14
  BsNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\" data-toggle=\"collapse\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}\n"] });
15
+ BsNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarComponent, selector: "bs-navbar", viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}\n"] });
13
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarComponent, decorators: [{
14
17
  type: Component,
15
- args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\" data-toggle=\"collapse\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}\n"] }]
16
- }], ctorParameters: function () { return []; }, propDecorators: { nav: [{
18
+ args: [{ selector: 'bs-navbar', template: "<nav #nav class=\"navbar navbar-expand-md position-fixed navbar-dark bg-dark\">\n <div class=\"container-fluid\">\n <div class=\"d-flex w-100 w-md-auto\">\n <a class=\"navbar-brand mx-auto mx-md-unset\" href=\"#\">Navbar 2</a>\n <button (click)=\"toggleExpanded()\" class=\"navbar-toggler align-self-end\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n</nav>", styles: [":host ::ng-deep+*{padding-top:56px}nav{left:0;top:0;right:0;z-index:10}@media (min-width: 768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}\n"] }]
19
+ }], propDecorators: { nav: [{
17
20
  type: ViewChild,
18
21
  args: ['nav']
19
22
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPakUsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QjtRQUdBLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFGbkIsQ0FBQztJQUdELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxDQUFDOzs4R0FSVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw2SUNQOUIsd2hCQVVNOzJGREhPLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXOzBFQWNILEdBQUc7c0JBQXBCLFNBQVM7dUJBQUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgaXNFeHBhbmRlZCA9IGZhbHNlO1xuICB0b2dnbGVFeHBhbmRlZCgpIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnbmF2JykgbmF2ITogRWxlbWVudFJlZjtcbn1cbiIsIjxuYXYgI25hdiBjbGFzcz1cIm5hdmJhciBuYXZiYXItZXhwYW5kLW1kIHBvc2l0aW9uLWZpeGVkIG5hdmJhci1kYXJrIGJnLWRhcmtcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggdy0xMDAgdy1tZC1hdXRvXCI+XG4gICAgICAgICAgICA8YSBjbGFzcz1cIm5hdmJhci1icmFuZCBteC1hdXRvIG14LW1kLXVuc2V0XCIgaHJlZj1cIiNcIj5OYXZiYXIgMjwvYT5cbiAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKClcIiBjbGFzcz1cIm5hdmJhci10b2dnbGVyIGFsaWduLXNlbGYtZW5kXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtdG9nZ2xlPVwiY29sbGFwc2VcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmF2PiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPN0MsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQVNFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0FPbkQ7SUFOQyxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhHQVRVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDZJQ1I5QiwrZkFVTTsyRkRGTyxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzs4QkFNSCxHQUFHO3NCQUFwQixTQUFTO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNOYXZiYXJDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoJ25hdicpIG5hdiE6IEVsZW1lbnRSZWY7XG5cbiAgaXNFeHBhbmRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgdG9nZ2xlRXhwYW5kZWQoKSB7XG4gICAgdGhpcy5pc0V4cGFuZGVkJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoaXNFeHBhbmRlZCkgPT4ge1xuICAgICAgdGhpcy5pc0V4cGFuZGVkJC5uZXh0KCFpc0V4cGFuZGVkKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8bmF2ICNuYXYgY2xhc3M9XCJuYXZiYXIgbmF2YmFyLWV4cGFuZC1tZCBwb3NpdGlvbi1maXhlZCBuYXZiYXItZGFyayBiZy1kYXJrXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHctMTAwIHctbWQtYXV0b1wiPlxuICAgICAgICAgICAgPGEgY2xhc3M9XCJuYXZiYXItYnJhbmQgbXgtYXV0byBteC1tZC11bnNldFwiIGhyZWY9XCIjXCI+TmF2YmFyIDI8L2E+XG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZCgpXCIgY2xhc3M9XCJuYXZiYXItdG9nZ2xlciBhbGlnbi1zZWxmLWVuZFwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdmJhci10b2dnbGVyLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmF2PiJdfQ==
@@ -1,29 +1,67 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, HostListener, Input } from '@angular/core';
2
2
  import { BsNavbarComponent } from '../navbar/navbar.component';
3
3
  import { SlideUpDownAnimation } from '@mintplayer/ng-animations';
4
+ import { BehaviorSubject, combineLatest, debounceTime, filter, map, Subject, takeUntil } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../navbar/navbar.component";
7
+ import * as i2 from "@angular/common";
6
8
  export class BsNavbarNavComponent {
7
9
  constructor(bsNavbar) {
8
- //#region collapse
9
- this._collapse = true;
10
+ this.collapse$ = new BehaviorSubject(true);
11
+ this.windowWidth$ = new BehaviorSubject(null);
12
+ this.isResizing$ = new BehaviorSubject(false);
13
+ this.destroyed$ = new Subject();
10
14
  this.bsNavbar = bsNavbar;
15
+ this.showNavs$ = combineLatest([this.bsNavbar.isExpanded$, this.windowWidth$])
16
+ .pipe(filter(([isExpanded, windowWidth]) => {
17
+ return windowWidth !== null;
18
+ }))
19
+ .pipe(map(([isExpanded, windowWidth]) => {
20
+ if (windowWidth === null) {
21
+ throw 'windowWidth should not be null here';
22
+ }
23
+ else if (windowWidth >= 768) {
24
+ return true;
25
+ }
26
+ else if (isExpanded) {
27
+ return true;
28
+ }
29
+ else {
30
+ return false;
31
+ }
32
+ }));
33
+ this.windowWidth$
34
+ .pipe(debounceTime(300), takeUntil(this.destroyed$))
35
+ .subscribe(() => {
36
+ this.isResizing$.next(false);
37
+ });
38
+ this.onWindowResize();
11
39
  }
12
- ngOnInit() {
40
+ ngOnDestroy() {
41
+ this.destroyed$.next(true);
13
42
  }
43
+ //#region collapse
14
44
  set collapse(value) {
15
- this._collapse = value;
45
+ this.collapse$.next(value);
16
46
  }
17
47
  get collapse() {
18
- return this._collapse;
48
+ return this.collapse$.value;
49
+ }
50
+ //#endregion
51
+ onWindowResize() {
52
+ this.isResizing$.next(true);
53
+ this.windowWidth$.next(window.innerWidth);
19
54
  }
20
55
  }
21
56
  BsNavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, deps: [{ token: i1.BsNavbarComponent }], target: i0.ɵɵFactoryTarget.Component });
22
- BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, ngImport: i0, template: "<div class=\"navbar-collapse collapse w-100 show\" [@slideUpDown]=\"bsNavbar.isExpanded ? 'down' : 'up'\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"], animations: [SlideUpDownAnimation] });
57
+ BsNavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsNavbarNavComponent, selector: "bs-navbar-nav", inputs: { collapse: "collapse" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0, template: "<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" *ngIf=\"showNavs$ | async\" [@slideUpDown] [@.disabled]=\"isResizing$ | async\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, animations: [SlideUpDownAnimation] });
23
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsNavbarNavComponent, decorators: [{
24
59
  type: Component,
25
- args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse collapse w-100 show\" [@slideUpDown]=\"bsNavbar.isExpanded ? 'down' : 'up'\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"] }]
60
+ args: [{ selector: 'bs-navbar-nav', animations: [SlideUpDownAnimation], template: "<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse$ | async\" *ngIf=\"showNavs$ | async\" [@slideUpDown] [@.disabled]=\"isResizing$ | async\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>", styles: [":host{margin-right:auto}@media screen and (max-width: 767px){:host{width:100%!important}.navbar-collapse.collapse{overflow:hidden}}\n"] }]
26
61
  }], ctorParameters: function () { return [{ type: i1.BsNavbarComponent }]; }, propDecorators: { collapse: [{
27
62
  type: Input
63
+ }], onWindowResize: [{
64
+ type: HostListener,
65
+ args: ['window:resize']
28
66
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLW5hdi9uYXZiYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItbmF2L25hdmJhci1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVFqRSxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQVksUUFBMkI7UUFTdkMsa0JBQWtCO1FBQ1YsY0FBUyxHQUFZLElBQUksQ0FBQztRQVRoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFNRCxJQUFvQixRQUFRLENBQUMsS0FBYztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOztpSEFsQlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsdUZDVmpDLHlNQUlNLGlLRElRLENBQUMsb0JBQW9CLENBQUM7MkZBRXZCLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsQ0FBQyxvQkFBb0IsQ0FBQzt3R0FlZCxRQUFRO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCc05hdmJhckNvbXBvbmVudCB9IGZyb20gJy4uL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNsaWRlVXBEb3duQW5pbWF0aW9uIH0gZnJvbSAnQG1pbnRwbGF5ZXIvbmctYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhci1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmJhci1uYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1NsaWRlVXBEb3duQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhck5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoYnNOYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5ic05hdmJhciA9IGJzTmF2YmFyO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBic05hdmJhcjogQnNOYXZiYXJDb21wb25lbnQ7XG5cbiAgLy8jcmVnaW9uIGNvbGxhcHNlXG4gIHByaXZhdGUgX2NvbGxhcHNlOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHNldCBjb2xsYXBzZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbGxhcHNlID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBjb2xsYXBzZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2U7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8ZGl2IGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlIGNvbGxhcHNlIHctMTAwIHNob3dcIiBbQHNsaWRlVXBEb3duXT1cImJzTmF2YmFyLmlzRXhwYW5kZWQgPyAnZG93bicgOiAndXAnXCI+XG4gICAgPHVsIGNsYXNzPVwibmF2YmFyLW5hdiBtci1hdXRvXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3VsPlxuPC9kaXY+Il19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9uYXZiYXIvbmF2YmFyLW5hdi9uYXZiYXItbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL25hdmJhci9uYXZiYXItbmF2L25hdmJhci1uYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBYyxNQUFNLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFRN0gsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFZLFFBQTJCO1FBMkJ2QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDL0MsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFFeEQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQTlCekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDM0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDekMsT0FBTyxXQUFXLEtBQUssSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO2FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUN4QixNQUFNLHFDQUFxQyxDQUFDO2FBQzdDO2lCQUFNLElBQUksV0FBVyxJQUFJLEdBQUcsRUFBRTtnQkFDN0IsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTSxJQUFJLFVBQVUsRUFBRTtnQkFDckIsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVOLElBQUksQ0FBQyxZQUFZO2FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBU0QsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBb0IsUUFBUSxDQUFDLEtBQWM7UUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFDRCxZQUFZO0lBR1osY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDOztpSEFwRFUsb0JBQW9CO3FHQUFwQixvQkFBb0IscUpDWGpDLGdRQUlNLGtTREtRLENBQUMsb0JBQW9CLENBQUM7MkZBRXZCLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsQ0FBQyxvQkFBb0IsQ0FBQzt3R0EwQ2QsUUFBUTtzQkFBM0IsS0FBSztnQkFTTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzTmF2YmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2YmFyL25hdmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2xpZGVVcERvd25BbmltYXRpb24gfSBmcm9tICdAbWludHBsYXllci9uZy1hbmltYXRpb25zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBleGhhdXN0QWxsLCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLW5hdmJhci1uYXYnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25hdmJhci1uYXYuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1NsaWRlVXBEb3duQW5pbWF0aW9uXVxufSlcbmV4cG9ydCBjbGFzcyBCc05hdmJhck5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoYnNOYXZiYXI6IEJzTmF2YmFyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5ic05hdmJhciA9IGJzTmF2YmFyO1xuICAgIHRoaXMuc2hvd05hdnMkID0gY29tYmluZUxhdGVzdChbdGhpcy5ic05hdmJhci5pc0V4cGFuZGVkJCwgdGhpcy53aW5kb3dXaWR0aCRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbaXNFeHBhbmRlZCwgd2luZG93V2lkdGhdKSA9PiB7XG4gICAgICAgIHJldHVybiB3aW5kb3dXaWR0aCAhPT0gbnVsbDtcbiAgICAgIH0pKVxuICAgICAgLnBpcGUobWFwKChbaXNFeHBhbmRlZCwgd2luZG93V2lkdGhdKSA9PiB7XG4gICAgICAgIGlmICh3aW5kb3dXaWR0aCA9PT0gbnVsbCkge1xuICAgICAgICAgIHRocm93ICd3aW5kb3dXaWR0aCBzaG91bGQgbm90IGJlIG51bGwgaGVyZSc7XG4gICAgICAgIH0gZWxzZSBpZiAod2luZG93V2lkdGggPj0gNzY4KSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNFeHBhbmRlZCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSkpO1xuXG4gICAgdGhpcy53aW5kb3dXaWR0aCRcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzUmVzaXppbmckLm5leHQoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgdGhpcy5vbldpbmRvd1Jlc2l6ZSgpO1xuICB9XG4gIFxuICBic05hdmJhcjogQnNOYXZiYXJDb21wb25lbnQ7XG4gIGNvbGxhcHNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHdpbmRvd1dpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHNob3dOYXZzJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNSZXNpemluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIFxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuICBcbiAgLy8jcmVnaW9uIGNvbGxhcHNlXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgY29sbGFwc2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbGxhcHNlJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbGxhcHNlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbGxhcHNlJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgdGhpcy5pc1Jlc2l6aW5nJC5uZXh0KHRydWUpO1xuICAgIHRoaXMud2luZG93V2lkdGgkLm5leHQod2luZG93LmlubmVyV2lkdGgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlIHctMTAwIHNob3dcIiBbY2xhc3MuY29sbGFwc2VdPVwiY29sbGFwc2UkIHwgYXN5bmNcIiAqbmdJZj1cInNob3dOYXZzJCB8IGFzeW5jXCIgW0BzbGlkZVVwRG93bl0gW0AuZGlzYWJsZWRdPVwiaXNSZXNpemluZyQgfCBhc3luY1wiPlxuICAgIDx1bCBjbGFzcz1cIm5hdmJhci1uYXYgbXItYXV0b1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC91bD5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './pagination.module';
2
+ export * from './pagination/pagination.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JzsiXX0=
@@ -0,0 +1,146 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, map, Observable, Subject, takeUntil } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class BsPaginationComponent {
6
+ constructor() {
7
+ /** All page numbers. */
8
+ this.pageNumbers$ = new BehaviorSubject([]);
9
+ /** Selected number. */
10
+ this.selectedPageNumber$ = new BehaviorSubject(1);
11
+ /** Number of boxes. */
12
+ this.numberOfBoxes$ = new BehaviorSubject(0);
13
+ /** Display previous/next arrows. */
14
+ this.showArrows$ = new BehaviorSubject(true);
15
+ /** Indicates if first value is selected. */
16
+ this.isFirstPage$ = new Observable();
17
+ /** Indicates if last value is selected. */
18
+ this.isLastPage$ = new Observable();
19
+ /** The number of boxes (excluding arrows) that's being shown on the pagination component. */
20
+ this.visibleNumberOfNumberBoxes$ = new Observable();
21
+ this._selectedPageNumber = 0;
22
+ this.selectedPageNumberChange = new EventEmitter();
23
+ this._numberOfBoxes = 0;
24
+ this._pageNumbers = [];
25
+ this._showArrows = true;
26
+ this.destroyed$ = new Subject();
27
+ this.visibleNumberOfNumberBoxes$ =
28
+ combineLatest([this.numberOfBoxes$, this.pageNumbers$, this.showArrows$])
29
+ .pipe(takeUntil(this.destroyed$))
30
+ .pipe(map(([numberOfBoxes, pageNumbers, showArrows]) => {
31
+ if (numberOfBoxes <= 0) {
32
+ return pageNumbers.length;
33
+ }
34
+ else if (!showArrows) {
35
+ return Math.min(numberOfBoxes, pageNumbers.length);
36
+ }
37
+ else if (numberOfBoxes <= 2) {
38
+ return Math.min(1, pageNumbers.length);
39
+ }
40
+ else {
41
+ return Math.min(numberOfBoxes - 2, pageNumbers.length);
42
+ }
43
+ }));
44
+ this.shownPageNumbers$ =
45
+ combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])
46
+ .pipe(takeUntil(this.destroyed$))
47
+ .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {
48
+ let startIndex = 0;
49
+ const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);
50
+ if (pageNumbers.indexOf(selectedPageNumber) < half) {
51
+ startIndex = 0;
52
+ }
53
+ else if (pageNumbers.indexOf(selectedPageNumber) >= (pageNumbers.length - half)) {
54
+ startIndex = pageNumbers.length - visibleNumberOfNumberBoxes;
55
+ }
56
+ else {
57
+ startIndex = pageNumbers.indexOf(selectedPageNumber) - half;
58
+ }
59
+ return [...Array(visibleNumberOfNumberBoxes).keys()]
60
+ .map(p => p + startIndex)
61
+ .map(p => ({
62
+ page: pageNumbers[p],
63
+ selected: pageNumbers[p] === selectedPageNumber
64
+ }));
65
+ }));
66
+ this.isFirstPage$ =
67
+ combineLatest([this.pageNumbers$, this.selectedPageNumber$])
68
+ .pipe(takeUntil(this.destroyed$))
69
+ .pipe(map(([pageNumbers, selectedPageNumber]) => {
70
+ return pageNumbers.indexOf(selectedPageNumber) === 0;
71
+ }));
72
+ this.isLastPage$ =
73
+ combineLatest([this.pageNumbers$, this.selectedPageNumber$])
74
+ .pipe(takeUntil(this.destroyed$))
75
+ .pipe(map(([pageNumbers, selectedPageNumber]) => {
76
+ return pageNumbers.indexOf(selectedPageNumber) === (pageNumbers.length - 1);
77
+ }));
78
+ this.selectedPageNumber$
79
+ .pipe(takeUntil(this.destroyed$))
80
+ .subscribe((selectedPageNumber) => {
81
+ this.selectedPageNumberChange.emit(selectedPageNumber);
82
+ });
83
+ }
84
+ ngOnInit() {
85
+ }
86
+ ngOnDestroy() {
87
+ this.destroyed$.next(true);
88
+ }
89
+ onSelectPage(event, page) {
90
+ this.selectedPageNumber$.next(page);
91
+ return false;
92
+ }
93
+ onPrevious() {
94
+ this.selectedPageNumber$.next(this.selectedPageNumber$.value - 1);
95
+ return false;
96
+ }
97
+ onNext() {
98
+ this.selectedPageNumber$.next(this.selectedPageNumber$.value + 1);
99
+ return false;
100
+ }
101
+ set selectedPageNumber(value) {
102
+ this._selectedPageNumber = value;
103
+ this.selectedPageNumber$.next(value);
104
+ }
105
+ get selectedPageNumber() {
106
+ return this._selectedPageNumber;
107
+ }
108
+ set numberOfBoxes(value) {
109
+ this._numberOfBoxes = value;
110
+ this.numberOfBoxes$.next(value);
111
+ }
112
+ get numberOfBoxes() {
113
+ return this._numberOfBoxes;
114
+ }
115
+ set pageNumbers(value) {
116
+ this._pageNumbers = value;
117
+ this.pageNumbers$.next(value);
118
+ }
119
+ get pageNumbers() {
120
+ return this._pageNumbers;
121
+ }
122
+ set showArrows(value) {
123
+ this._showArrows = value;
124
+ this.showArrows$.next(value);
125
+ }
126
+ get showArrows() {
127
+ return this._showArrows;
128
+ }
129
+ }
130
+ BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
+ BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsPaginationComponent, selector: "bs-pagination", inputs: { selectedPageNumber: "selectedPageNumber", numberOfBoxes: "numberOfBoxes", pageNumbers: "pageNumbers", showArrows: "showArrows" }, outputs: { selectedPageNumberChange: "selectedPageNumberChange" }, ngImport: i0, template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1.AsyncPipe } });
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ selector: 'bs-pagination', template: "<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isFirstPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">&laquo;</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\"\n [ngClass]=\"{ 'active': pageNumber.selected }\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\" *ngIf=\"pageNumber.page != '...'\">\n {{ pageNumber.page }}\n <span class=\"visually-hidden\" *ngIf=\"pageNumber.selected\">(current)</span>\n </a>\n </li>\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\" [class.disabled]=\"isLastPage$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" aria-label=\"Next\">\n <span aria-hidden=\"true\">&raquo;</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>", styles: [":host{display:inline-block}\n"] }]
135
+ }], ctorParameters: function () { return []; }, propDecorators: { selectedPageNumberChange: [{
136
+ type: Output
137
+ }], selectedPageNumber: [{
138
+ type: Input
139
+ }], numberOfBoxes: [{
140
+ type: Input
141
+ }], pageNumbers: [{
142
+ type: Input
143
+ }], showArrows: [{
144
+ type: Input
145
+ }] } });
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQVEzRixNQUFNLE9BQU8scUJBQXFCO0lBRWhDO1FBb0ZBLHdCQUF3QjtRQUN4QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBR2pELHVCQUF1QjtRQUN2Qix3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNyRCx1QkFBdUI7UUFDdkIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRCxvQ0FBb0M7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUVqRCw0Q0FBNEM7UUFDNUMsaUJBQVksR0FBRyxJQUFJLFVBQVUsRUFBVyxDQUFDO1FBQ3pDLDJDQUEyQztRQUMzQyxnQkFBVyxHQUFHLElBQUksVUFBVSxFQUFXLENBQUM7UUFDeEMsNkZBQTZGO1FBQzdGLGdDQUEyQixH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Q2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFHRCxJQUFhLFVBQVUsQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQzs7a0hBL0lVLHFCQUFxQjtzR0FBckIscUJBQXFCLG9RQ1RsQywybENBb0JLOzJGRFhRLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxlQUFlOzBFQWlIUix3QkFBd0I7c0JBQXhDLE1BQU07Z0JBQ00sa0JBQWtCO3NCQUE5QixLQUFLO2dCQVNPLGFBQWE7c0JBQXpCLEtBQUs7Z0JBU08sV0FBVztzQkFBdkIsS0FBSztnQkFTTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYWdlV2l0aFNlbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvcGFnZS13aXRoLXNlbGVjdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc1BhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHRoaXMudmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMkID1cbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMubnVtYmVyT2ZCb3hlcyQsIHRoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNob3dBcnJvd3MkXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5waXBlKG1hcCgoW251bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLCBzaG93QXJyb3dzXSkgPT4ge1xuICAgICAgICAgIGlmIChudW1iZXJPZkJveGVzIDw9IDApIHtcbiAgICAgICAgICAgIHJldHVybiBwYWdlTnVtYmVycy5sZW5ndGg7XG4gICAgICAgICAgfSBlbHNlIGlmICghc2hvd0Fycm93cykge1xuICAgICAgICAgICAgcmV0dXJuIE1hdGgubWluKG51bWJlck9mQm94ZXMsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChudW1iZXJPZkJveGVzIDw9IDIpIHtcbiAgICAgICAgICAgIHJldHVybiBNYXRoLm1pbigxLCBwYWdlTnVtYmVycy5sZW5ndGgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5taW4obnVtYmVyT2ZCb3hlcyAtIDIsIHBhZ2VOdW1iZXJzLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICB0aGlzLnNob3duUGFnZU51bWJlcnMkID0gXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLCB0aGlzLnZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJF0pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgICAucGlwZShtYXAoKFtwYWdlTnVtYmVycywgc2VsZWN0ZWRQYWdlTnVtYmVyLCB2aXNpYmxlTnVtYmVyT2ZOdW1iZXJCb3hlc10pID0+IHtcbiAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgXG4gICAgICAgICAgY29uc3QgaGFsZiA9IE1hdGgucm91bmQoKHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzIC0gMSkgLyAyKTtcbiAgICAgICAgICBpZiAocGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpIDwgaGFsZikge1xuICAgICAgICAgICAgc3RhcnRJbmRleCA9IDA7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgPj0gKHBhZ2VOdW1iZXJzLmxlbmd0aCAtIGhhbGYpKSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gcGFnZU51bWJlcnMubGVuZ3RoIC0gdmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXJ0SW5kZXggPSBwYWdlTnVtYmVycy5pbmRleE9mKHNlbGVjdGVkUGFnZU51bWJlcikgLSBoYWxmO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbLi4uQXJyYXkodmlzaWJsZU51bWJlck9mTnVtYmVyQm94ZXMpLmtleXMoKV1cbiAgICAgICAgICAgIC5tYXAocCA9PiBwICsgc3RhcnRJbmRleClcbiAgICAgICAgICAgIC5tYXAocCA9PiA8UGFnZVdpdGhTZWxlY3Rpb24+e1xuICAgICAgICAgICAgICBwYWdlOiBwYWdlTnVtYmVyc1twXSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHBhZ2VOdW1iZXJzW3BdID09PSBzZWxlY3RlZFBhZ2VOdW1iZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSk7XG5cbiAgICB0aGlzLmlzRmlyc3RQYWdlJCA9XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnBhZ2VOdW1iZXJzJCwgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkXSlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAgIC5waXBlKG1hcCgoW3BhZ2VOdW1iZXJzLCBzZWxlY3RlZFBhZ2VOdW1iZXJdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHBhZ2VOdW1iZXJzLmluZGV4T2Yoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PT0gMDtcbiAgICAgICAgfSkpO1xuICAgICAgICBcbiAgICB0aGlzLmlzTGFzdFBhZ2UkID1cbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucGFnZU51bWJlcnMkLCB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRdKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnBpcGUobWFwKChbcGFnZU51bWJlcnMsIHNlbGVjdGVkUGFnZU51bWJlcl0pID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFnZU51bWJlcnMuaW5kZXhPZihzZWxlY3RlZFBhZ2VOdW1iZXIpID09PSAocGFnZU51bWJlcnMubGVuZ3RoIC0gMSk7XG4gICAgICAgIH0pKTtcbiAgICBcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWRQYWdlTnVtYmVyKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRQYWdlTnVtYmVyQ2hhbmdlLmVtaXQoc2VsZWN0ZWRQYWdlTnVtYmVyKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIG9uU2VsZWN0UGFnZShldmVudDogTW91c2VFdmVudCwgcGFnZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQocGFnZSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb25QcmV2aW91cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQudmFsdWUgLSAxKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBvbk5leHQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLm5leHQodGhpcy5zZWxlY3RlZFBhZ2VOdW1iZXIkLnZhbHVlICsgMSk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIEFsbCBwYWdlIG51bWJlcnMuICovXG4gIHBhZ2VOdW1iZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+KFtdKTtcbiAgLyoqIFBhZ2UgbnVtYmVycyB0byBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuICovXG4gIHNob3duUGFnZU51bWJlcnMkOiBPYnNlcnZhYmxlPFBhZ2VXaXRoU2VsZWN0aW9uW10+O1xuICAvKiogU2VsZWN0ZWQgbnVtYmVyLiAqL1xuICBzZWxlY3RlZFBhZ2VOdW1iZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDEpO1xuICAvKiogTnVtYmVyIG9mIGJveGVzLiAqL1xuICBudW1iZXJPZkJveGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgLyoqIERpc3BsYXkgcHJldmlvdXMvbmV4dCBhcnJvd3MuICovXG4gIHNob3dBcnJvd3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKiogSW5kaWNhdGVzIGlmIGZpcnN0IHZhbHVlIGlzIHNlbGVjdGVkLiAqL1xuICBpc0ZpcnN0UGFnZSQgPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAvKiogSW5kaWNhdGVzIGlmIGxhc3QgdmFsdWUgaXMgc2VsZWN0ZWQuICovXG4gIGlzTGFzdFBhZ2UkID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oKTtcbiAgLyoqIFRoZSBudW1iZXIgb2YgYm94ZXMgKGV4Y2x1ZGluZyBhcnJvd3MpIHRoYXQncyBiZWluZyBzaG93biBvbiB0aGUgcGFnaW5hdGlvbiBjb21wb25lbnQuICovXG4gIHZpc2libGVOdW1iZXJPZk51bWJlckJveGVzJCA9IG5ldyBPYnNlcnZhYmxlPG51bWJlcj4oKTtcbiAgLyoqIE1vbml0b3IgT25EZXN0cm95ZWQgaG9vay4gKi9cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PGFueT47XG5cblxuICBcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRQYWdlTnVtYmVyOiBudW1iZXIgPSAwO1xuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkUGFnZU51bWJlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBASW5wdXQoKSBzZXQgc2VsZWN0ZWRQYWdlTnVtYmVyKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9zZWxlY3RlZFBhZ2VOdW1iZXIgPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkUGFnZU51bWJlciQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkUGFnZU51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRQYWdlTnVtYmVyO1xuICB9XG4gIFxuICBwcml2YXRlIF9udW1iZXJPZkJveGVzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBzZXQgbnVtYmVyT2ZCb3hlcyh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbnVtYmVyT2ZCb3hlcyA9IHZhbHVlO1xuICAgIHRoaXMubnVtYmVyT2ZCb3hlcyQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IG51bWJlck9mQm94ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX251bWJlck9mQm94ZXM7XG4gIH1cbiAgXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgcGFnZU51bWJlcnModmFsdWU6IG51bWJlcltdKSB7XG4gICAgdGhpcy5fcGFnZU51bWJlcnMgPSB2YWx1ZTtcbiAgICB0aGlzLnBhZ2VOdW1iZXJzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgcGFnZU51bWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXJzO1xuICB9XG4gIFxuICBwcml2YXRlIF9zaG93QXJyb3dzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2V0IHNob3dBcnJvd3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93QXJyb3dzID0gdmFsdWU7XG4gICAgdGhpcy5zaG93QXJyb3dzJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBnZXQgc2hvd0Fycm93cygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0Fycm93cztcbiAgfVxuXG59XG4iLCI8dWwgY2xhc3M9XCJwYWdpbmF0aW9uXCI+XG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93QXJyb3dzJCB8IGFzeW5jXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzRmlyc3RQYWdlJCB8IGFzeW5jXCI+XG4gICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIlwiIChjbGljayk9XCJvblByZXZpb3VzKClcIiBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsYXF1bzs8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlByZXZpb3VzPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgPC9saT5cbiAgICA8bGkgKm5nRm9yPVwibGV0IHBhZ2VOdW1iZXIgb2YgKHNob3duUGFnZU51bWJlcnMkIHwgYXN5bmMpXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUnOiBwYWdlTnVtYmVyLnNlbGVjdGVkIH1cIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uU2VsZWN0UGFnZSgkZXZlbnQsIHBhZ2VOdW1iZXIucGFnZSlcIiAqbmdJZj1cInBhZ2VOdW1iZXIucGFnZSAhPSAnLi4uJ1wiPlxuICAgICAgICAgICAge3sgcGFnZU51bWJlci5wYWdlIH19XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiICpuZ0lmPVwicGFnZU51bWJlci5zZWxlY3RlZFwiPihjdXJyZW50KTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtXCIgKm5nSWY9XCJzaG93QXJyb3dzJCB8IGFzeW5jXCIgW2NsYXNzLmRpc2FibGVkXT1cImlzTGFzdFBhZ2UkIHwgYXN5bmNcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiBocmVmPVwiXCIgKGNsaWNrKT1cIm9uTmV4dCgpXCIgYXJpYS1sYWJlbD1cIk5leHRcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZyYXF1bzs8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPk5leHQ8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuPC91bD4iXX0=
@@ -0,0 +1,26 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BsPaginationComponent } from './pagination/pagination.component';
4
+ import * as i0 from "@angular/core";
5
+ export class BsPaginationModule {
6
+ }
7
+ BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationModule, declarations: [BsPaginationComponent], imports: [CommonModule], exports: [BsPaginationComponent] });
9
+ BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationModule, imports: [[
10
+ CommonModule
11
+ ]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsPaginationModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [
16
+ BsPaginationComponent
17
+ ],
18
+ imports: [
19
+ CommonModule
20
+ ],
21
+ exports: [
22
+ BsPaginationComponent
23
+ ]
24
+ }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQWUxRSxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBVDNCLHFCQUFxQixhQUdyQixZQUFZLGFBR1oscUJBQXFCO2dIQUdaLGtCQUFrQixZQVBwQjtZQUNQLFlBQVk7U0FDYjsyRkFLVSxrQkFBa0I7a0JBWDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJzUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc1BhZ2luYXRpb25Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnNQYWdpbmF0aW9uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNQYWdpbmF0aW9uTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './progress-bar.module';
2
+ export * from './progress/progress.component';
3
+ export * from './progress-bar/progress-bar.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb2dyZXNzLWJhci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7Il19
@@ -0,0 +1,27 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class BsProgressComponent {
5
+ constructor() {
6
+ this.progressClass = true;
7
+ this.height = null;
8
+ this.isIndeterminate = false;
9
+ }
10
+ }
11
+ BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: BsProgressComponent, selector: "bs-progress", inputs: { height: "height", isIndeterminate: "isIndeterminate" }, host: { properties: { "class.progress": "this.progressClass", "style.height.px": "this.height" } }, ngImport: i0, template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsProgressComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'bs-progress', template: "<ng-content *ngIf=\"!isIndeterminate\"></ng-content>\n<div *ngIf=\"isIndeterminate\" class=\"progress-bar progress-bar-infinite\" role=\"progressbar\" aria-valuenow=\"infinite\"></div>", styles: ["@keyframes progress-infinite{0%{width:10%;margin-left:0%}25%{width:70%;margin-left:15%}50%{width:10%;margin-left:90%}75%{width:70%;margin-left:15%}to{width:10%;margin-left:0%}}.progress-bar-infinite{animation:progress-infinite 1.5s infinite}\n"] }]
16
+ }], propDecorators: { progressClass: [{
17
+ type: HostBinding,
18
+ args: ['class.progress']
19
+ }], height: [{
20
+ type: Input
21
+ }, {
22
+ type: HostBinding,
23
+ args: ['style.height.px']
24
+ }], isIndeterminate: [{
25
+ type: Input
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzL3Byb2dyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9wcm9ncmVzcy9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU85RCxNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBTXlDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ1osV0FBTSxHQUFrQixJQUFJLENBQUM7UUFDN0Qsb0JBQWUsR0FBRyxLQUFLLENBQUM7S0FDekM7O2dIQUpZLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHlOQ1BoQywwTEFDMEg7MkZETTdHLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhOzhCQUtnQixhQUFhO3NCQUFuRCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFDbUIsTUFBTTtzQkFBckQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ3ZCLGVBQWU7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy1wcm9ncmVzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmVzcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnNQcm9ncmVzc0NvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MucHJvZ3Jlc3MnKSBwcml2YXRlIHByb2dyZXNzQ2xhc3MgPSB0cnVlO1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpIHB1YmxpYyBoZWlnaHQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG59XG4iLCI8bmctY29udGVudCAqbmdJZj1cIiFpc0luZGV0ZXJtaW5hdGVcIj48L25nLWNvbnRlbnQ+XG48ZGl2ICpuZ0lmPVwiaXNJbmRldGVybWluYXRlXCIgY2xhc3M9XCJwcm9ncmVzcy1iYXIgcHJvZ3Jlc3MtYmFyLWluZmluaXRlXCIgcm9sZT1cInByb2dyZXNzYmFyXCIgYXJpYS12YWx1ZW5vdz1cImluZmluaXRlXCI+PC9kaXY+Il19