@mintplayer/ng-bootstrap 13.3.12 → 13.4.2

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 +2 -1
  2. package/esm2020/lib/components/accordion/accordion/accordion.component.mjs +3 -3
  3. package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +3 -3
  4. package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +3 -3
  5. package/esm2020/lib/components/accordion/accordion.module.mjs +4 -4
  6. package/esm2020/lib/components/accordion/from-overlay/from-overlay.directive.mjs +5 -4
  7. package/esm2020/lib/components/accordion/from-overlay-id/from-overlay-id.directive.mjs +5 -4
  8. package/esm2020/lib/components/alert/alert/alert.component.mjs +3 -3
  9. package/esm2020/lib/components/alert/alert-close/alert-close.component.mjs +3 -3
  10. package/esm2020/lib/components/alert/alert.module.mjs +4 -4
  11. package/esm2020/lib/components/calendar/calendar.component.mjs +3 -3
  12. package/esm2020/lib/components/calendar/calendar.module.mjs +4 -4
  13. package/esm2020/lib/components/card/card/card.component.mjs +3 -3
  14. package/esm2020/lib/components/card/card-header/card-header.component.mjs +3 -3
  15. package/esm2020/lib/components/card/card.module.mjs +4 -4
  16. package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +3 -3
  17. package/esm2020/lib/components/carousel/carousel-image/carousel-image.directive.mjs +3 -3
  18. package/esm2020/lib/components/carousel/carousel.module.mjs +4 -4
  19. package/esm2020/lib/components/code-snippet/code-snippet.component.mjs +3 -3
  20. package/esm2020/lib/components/code-snippet/code-snippet.module.mjs +4 -4
  21. package/esm2020/lib/components/context-menu/context-menu.directive.mjs +7 -7
  22. package/esm2020/lib/components/context-menu/context-menu.module.mjs +4 -4
  23. package/esm2020/lib/components/copy/copy.directive.mjs +3 -3
  24. package/esm2020/lib/components/copy/copy.module.mjs +4 -4
  25. package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +3 -3
  26. package/esm2020/lib/components/datatable/datatable-column/datatable-column.directive.mjs +3 -3
  27. package/esm2020/lib/components/datatable/datatable.module.mjs +4 -4
  28. package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +3 -3
  29. package/esm2020/lib/components/datepicker/datepicker.component.mjs +3 -3
  30. package/esm2020/lib/components/datepicker/datepicker.module.mjs +4 -4
  31. package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +3 -3
  32. package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  33. package/esm2020/lib/components/dropdown/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  34. package/esm2020/lib/components/dropdown/dropdown.module.mjs +4 -4
  35. package/esm2020/lib/components/file-upload/component/file-upload.component.mjs +3 -3
  36. package/esm2020/lib/components/file-upload/directive/file-upload-template.directive.mjs +3 -3
  37. package/esm2020/lib/components/file-upload/file-upload.module.mjs +4 -4
  38. package/esm2020/lib/components/for/for.directive.mjs +3 -3
  39. package/esm2020/lib/components/for/for.module.mjs +4 -4
  40. package/esm2020/lib/components/list-group/list-group/list-group.component.mjs +3 -3
  41. package/esm2020/lib/components/list-group/list-group-item/list-group-item.component.mjs +3 -3
  42. package/esm2020/lib/components/list-group/list-group.module.mjs +4 -4
  43. package/esm2020/lib/components/modal/component/modal/modal.component.mjs +3 -3
  44. package/esm2020/lib/components/modal/component/modal-content/modal-content.component.mjs +3 -3
  45. package/esm2020/lib/components/modal/directives/modal-body/modal-body.directive.mjs +3 -3
  46. package/esm2020/lib/components/modal/directives/modal-footer/modal-footer.directive.mjs +3 -3
  47. package/esm2020/lib/components/modal/directives/modal-header/modal-header.directive.mjs +3 -3
  48. package/esm2020/lib/components/modal/modal.module.mjs +4 -4
  49. package/esm2020/lib/components/modal/service/modal.service.mjs +3 -3
  50. package/esm2020/lib/components/multiselect/component/multiselect.component.mjs +3 -3
  51. package/esm2020/lib/components/multiselect/directives/button-template/button-template.directive.mjs +3 -3
  52. package/esm2020/lib/components/multiselect/directives/footer-template/footer-template.directive.mjs +3 -3
  53. package/esm2020/lib/components/multiselect/directives/header-template/header-template.directive.mjs +3 -3
  54. package/esm2020/lib/components/multiselect/multiselect.module.mjs +4 -4
  55. package/esm2020/lib/components/navbar/dropdown-toggle/dropdown-toggle.directive.mjs +3 -3
  56. package/esm2020/lib/components/navbar/expand-button/expand-button.directive.mjs +3 -3
  57. package/esm2020/lib/components/navbar/nav-link/nav-link.directive.mjs +3 -3
  58. package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +3 -3
  59. package/esm2020/lib/components/navbar/navbar-brand/navbar-brand.component.mjs +3 -3
  60. package/esm2020/lib/components/navbar/navbar-content/navbar-content.directive.mjs +3 -3
  61. package/esm2020/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.mjs +3 -3
  62. package/esm2020/lib/components/navbar/navbar-item/navbar-item.component.mjs +3 -3
  63. package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  64. package/esm2020/lib/components/navbar/navbar-toggler/navbar-toggler.component.mjs +5 -5
  65. package/esm2020/lib/components/navbar/navbar.module.mjs +4 -4
  66. package/esm2020/lib/components/offcanvas/components/index.mjs +3 -2
  67. package/esm2020/lib/components/offcanvas/components/offcanvas/offcanvas.component.mjs +82 -36
  68. package/esm2020/lib/components/offcanvas/components/offcanvas-body/offcanvas-body.component.mjs +13 -9
  69. package/esm2020/lib/components/offcanvas/components/offcanvas-header/offcanvas-header.component.mjs +6 -6
  70. package/esm2020/lib/components/offcanvas/components/offcanvas-host/offcanvas-host.component.mjs +133 -0
  71. package/esm2020/lib/components/offcanvas/directives/index.mjs +2 -1
  72. package/esm2020/lib/components/offcanvas/directives/offcanvas-close/offcanvas-close.directive.mjs +11 -14
  73. package/esm2020/lib/components/offcanvas/directives/offcanvas-content/offcanvas-content.directive.mjs +18 -0
  74. package/esm2020/lib/components/offcanvas/index.mjs +2 -2
  75. package/esm2020/lib/components/offcanvas/offcanvas.module.mjs +43 -20
  76. package/esm2020/lib/components/offcanvas/providers/portal-factory.provider.mjs +3 -0
  77. package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +3 -3
  78. package/esm2020/lib/components/pagination/pagination.module.mjs +4 -4
  79. package/esm2020/lib/components/progress-bar/progress/progress.component.mjs +3 -3
  80. package/esm2020/lib/components/progress-bar/progress-bar/progress-bar.component.mjs +3 -3
  81. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
  82. package/esm2020/lib/components/rating/rating.component.mjs +3 -3
  83. package/esm2020/lib/components/rating/rating.module.mjs +4 -4
  84. package/esm2020/lib/components/scheduler/components/resource-group-presenter/resource-group-presenter.component.mjs +3 -3
  85. package/esm2020/lib/components/scheduler/components/scheduler/scheduler.component.mjs +3 -3
  86. package/esm2020/lib/components/scheduler/pipes/bs-seconds-timespan.pipe/bs-seconds-timespan.pipe.mjs +3 -3
  87. package/esm2020/lib/components/scheduler/pipes/bs-seconds-today-offset/bs-seconds-today-offset.pipe.mjs +3 -3
  88. package/esm2020/lib/components/scheduler/pipes/date-offset/date-offset.pipe.mjs +3 -3
  89. package/esm2020/lib/components/scheduler/pipes/day-of-week/day-of-week.pipe.mjs +3 -3
  90. package/esm2020/lib/components/scheduler/scheduler.module.mjs +4 -4
  91. package/esm2020/lib/components/scheduler/services/timeline/timeline.service.mjs +3 -3
  92. package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +3 -3
  93. package/esm2020/lib/components/scrollspy/directives/scrollspy.directive.mjs +3 -3
  94. package/esm2020/lib/components/scrollspy/scrollspy.module.mjs +4 -4
  95. package/esm2020/lib/components/select2/component/select2.component.mjs +3 -3
  96. package/esm2020/lib/components/select2/directive/item-template.directive.mjs +3 -3
  97. package/esm2020/lib/components/select2/select2.module.mjs +4 -4
  98. package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +3 -3
  99. package/esm2020/lib/components/snackbar/directives/snackbar-close/snackbar-close.directive.mjs +3 -3
  100. package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +3 -3
  101. package/esm2020/lib/components/snackbar/snackbar.module.mjs +4 -4
  102. package/esm2020/lib/components/tab-control/tab-control/tab-control.component.mjs +3 -3
  103. package/esm2020/lib/components/tab-control/tab-control.module.mjs +4 -4
  104. package/esm2020/lib/components/tab-control/tab-page/tab-page.component.mjs +3 -3
  105. package/esm2020/lib/components/timepicker/timepicker.component.mjs +3 -3
  106. package/esm2020/lib/components/timepicker/timepicker.module.mjs +4 -4
  107. package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +5 -6
  108. package/esm2020/lib/components/toggle-button/toggle-button.module.mjs +4 -4
  109. package/esm2020/lib/components/tooltip/component/tooltip.component.mjs +3 -3
  110. package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +3 -3
  111. package/esm2020/lib/components/tooltip/tooltip.module.mjs +4 -4
  112. package/esm2020/lib/components/typeahead/typeahead.component.mjs +3 -3
  113. package/esm2020/lib/components/typeahead/typeahead.module.mjs +4 -4
  114. package/esm2020/lib/directives/enhanced-paste/enhanced-paste.directive.mjs +3 -3
  115. package/esm2020/lib/directives/enhanced-paste/enhanced-paste.module.mjs +4 -4
  116. package/esm2020/lib/pipes/font-color/font-color.module.mjs +4 -4
  117. package/esm2020/lib/pipes/font-color/font-color.pipe.mjs +3 -3
  118. package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +4 -4
  119. package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +3 -3
  120. package/esm2020/lib/pipes/in-list/in-list.module.mjs +4 -4
  121. package/esm2020/lib/pipes/in-list/in-list.pipe.mjs +3 -3
  122. package/esm2020/lib/pipes/month-name/month-name.module.mjs +4 -4
  123. package/esm2020/lib/pipes/month-name/month-name.pipe.mjs +3 -3
  124. package/esm2020/lib/pipes/uc-first/uc-first.module.mjs +4 -4
  125. package/esm2020/lib/pipes/uc-first/uc-first.pipe.mjs +3 -3
  126. package/esm2020/lib/pipes/weekday-name/weekday-name.module.mjs +4 -4
  127. package/esm2020/lib/pipes/weekday-name/weekday-name.pipe.mjs +3 -3
  128. package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +3 -3
  129. package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +3 -3
  130. package/esm2020/lib/types/index.mjs +2 -0
  131. package/esm2020/lib/types/view-state.type.mjs +2 -0
  132. package/fesm2015/mintplayer-ng-bootstrap.mjs +689 -539
  133. package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
  134. package/fesm2020/mintplayer-ng-bootstrap.mjs +687 -539
  135. package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
  136. package/index.d.ts +1 -0
  137. package/lib/components/accordion/from-overlay/from-overlay.directive.d.ts +1 -0
  138. package/lib/components/accordion/from-overlay-id/from-overlay-id.directive.d.ts +1 -0
  139. package/lib/components/navbar/navbar-toggler/navbar-toggler.component.d.ts +5 -4
  140. package/lib/components/offcanvas/components/index.d.ts +2 -1
  141. package/lib/components/offcanvas/components/offcanvas/offcanvas.component.d.ts +26 -14
  142. package/lib/components/offcanvas/components/offcanvas-body/offcanvas-body.component.d.ts +4 -3
  143. package/lib/components/offcanvas/components/offcanvas-header/offcanvas-header.component.d.ts +3 -3
  144. package/lib/components/offcanvas/components/offcanvas-host/offcanvas-host.component.d.ts +36 -0
  145. package/lib/components/offcanvas/directives/index.d.ts +1 -0
  146. package/lib/components/offcanvas/directives/offcanvas-close/offcanvas-close.directive.d.ts +4 -6
  147. package/lib/components/offcanvas/directives/offcanvas-content/offcanvas-content.directive.d.ts +8 -0
  148. package/lib/components/offcanvas/index.d.ts +0 -1
  149. package/lib/components/offcanvas/offcanvas.module.d.ts +7 -5
  150. package/lib/components/offcanvas/providers/portal-factory.provider.d.ts +3 -0
  151. package/lib/types/index.d.ts +1 -0
  152. package/lib/types/view-state.type.d.ts +1 -0
  153. package/package.json +1 -1
  154. package/esm2020/lib/components/offcanvas/services/index.mjs +0 -2
  155. package/esm2020/lib/components/offcanvas/services/offcanvas/offcanvas.service.mjs +0 -72
  156. package/lib/components/offcanvas/services/index.d.ts +0 -1
  157. package/lib/components/offcanvas/services/offcanvas/offcanvas.service.d.ts +0 -13
@@ -0,0 +1,133 @@
1
+ import { Overlay } from '@angular/cdk/overlay';
2
+ import { Component, EventEmitter, Inject, Injector, Input, Output } from '@angular/core';
3
+ import { BehaviorSubject, combineLatest, filter, Subject, takeUntil } from 'rxjs';
4
+ import { OFFCANVAS_CONTENT } from '../../providers/offcanvas-content.provider';
5
+ import { PORTAL_FACTORY } from '../../providers/portal-factory.provider';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/overlay";
8
+ export class BsOffcanvasHostComponent {
9
+ constructor(overlayService, rootInjector, portalFactory) {
10
+ this.overlayService = overlayService;
11
+ this.rootInjector = rootInjector;
12
+ this.portalFactory = portalFactory;
13
+ this.viewInited$ = new BehaviorSubject(false);
14
+ this.state$ = new BehaviorSubject('closed');
15
+ this.size$ = new BehaviorSubject(null);
16
+ this.position$ = new BehaviorSubject('bottom');
17
+ this.hasBackdrop$ = new BehaviorSubject(false);
18
+ this.destroyed$ = new Subject();
19
+ this.backdropClick = new EventEmitter();
20
+ //#region State
21
+ this.stateChange = new EventEmitter();
22
+ this.state$
23
+ .pipe(takeUntil(this.destroyed$))
24
+ .subscribe((state) => {
25
+ if (this.component) {
26
+ this.stateChange.emit(state);
27
+ this.component.instance.state$.next(state);
28
+ }
29
+ });
30
+ combineLatest([this.position$, this.viewInited$])
31
+ .pipe(filter(([position, viewInited]) => viewInited))
32
+ .pipe(takeUntil(this.destroyed$))
33
+ .subscribe(([position, viewInited]) => {
34
+ if (this.component) {
35
+ this.component.instance.position$.next(position);
36
+ }
37
+ });
38
+ combineLatest([this.size$, this.viewInited$])
39
+ .pipe(filter(([size, viewInited]) => viewInited))
40
+ .pipe(takeUntil(this.destroyed$))
41
+ .subscribe(([size, viewInited]) => {
42
+ if (this.component) {
43
+ this.component.instance.size$.next(size);
44
+ }
45
+ });
46
+ combineLatest([this.hasBackdrop$, this.viewInited$])
47
+ .pipe(filter(([hasBackdrop, viewInited]) => viewInited))
48
+ .pipe(takeUntil(this.destroyed$))
49
+ .subscribe(([hasBackdrop, viewInited]) => {
50
+ if (this.component) {
51
+ this.component.instance.hasBackdrop$.next(hasBackdrop);
52
+ }
53
+ });
54
+ }
55
+ ngAfterViewInit() {
56
+ const injector = Injector.create({
57
+ providers: [
58
+ { provide: OFFCANVAS_CONTENT, useValue: this.content },
59
+ ],
60
+ parent: this.rootInjector,
61
+ });
62
+ // const portal = new ComponentPortal(BsOffcanvasComponent, null, injector);
63
+ const portal = this.portalFactory(injector);
64
+ const overlayRef = this.overlayService.create({
65
+ scrollStrategy: this.overlayService.scrollStrategies.block(),
66
+ positionStrategy: this.overlayService.position().global()
67
+ .top('0').left('0').bottom('0').right('0'),
68
+ hasBackdrop: false
69
+ });
70
+ this.component = overlayRef.attach(portal);
71
+ this.component.instance.backdropClick
72
+ .pipe(takeUntil(this.destroyed$))
73
+ .subscribe((ev) => {
74
+ this.backdropClick.emit(ev);
75
+ });
76
+ this.viewInited$.next(true);
77
+ }
78
+ ngOnDestroy() {
79
+ this.destroyed$.next(true);
80
+ }
81
+ set state(value) {
82
+ this.state$.next(value);
83
+ }
84
+ get state() {
85
+ return this.state$.value;
86
+ }
87
+ //#endregion
88
+ //#region Position
89
+ set position(value) {
90
+ this.position$.next(value);
91
+ }
92
+ get position() {
93
+ return this.position$.value;
94
+ }
95
+ //#endregion
96
+ //#region Size
97
+ set size(value) {
98
+ this.size$.next(value);
99
+ }
100
+ get size() {
101
+ return this.size$.value;
102
+ }
103
+ //#endregion
104
+ //#region HasBackdrop
105
+ set hasBackdrop(value) {
106
+ this.hasBackdrop$.next(value);
107
+ }
108
+ get hasBackdrop() {
109
+ return this.hasBackdrop$.value;
110
+ }
111
+ }
112
+ BsOffcanvasHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasHostComponent, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: PORTAL_FACTORY }], target: i0.ɵɵFactoryTarget.Component });
113
+ BsOffcanvasHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: BsOffcanvasHostComponent, selector: "bs-offcanvas", inputs: { state: "state", position: "position", size: "size", hasBackdrop: "hasBackdrop" }, outputs: { backdropClick: "backdropClick", stateChange: "stateChange" }, ngImport: i0, template: "", styles: [""] });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasHostComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'bs-offcanvas', template: "", styles: [""] }]
117
+ }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: undefined, decorators: [{
118
+ type: Inject,
119
+ args: [PORTAL_FACTORY]
120
+ }] }]; }, propDecorators: { backdropClick: [{
121
+ type: Output
122
+ }], stateChange: [{
123
+ type: Output
124
+ }], state: [{
125
+ type: Input
126
+ }], position: [{
127
+ type: Input
128
+ }], size: [{
129
+ type: Input
130
+ }], hasBackdrop: [{
131
+ type: Input
132
+ }] } });
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLWhvc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvb2ZmY2FudmFzL2NvbXBvbmVudHMvb2ZmY2FudmFzLWhvc3Qvb2ZmY2FudmFzLWhvc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvb2ZmY2FudmFzL2NvbXBvbmVudHMvb2ZmY2FudmFzLWhvc3Qvb2ZmY2FudmFzLWhvc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBaUIsU0FBUyxFQUFnQixZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRTlJLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBU3pFLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsWUFBb0IsY0FBdUIsRUFBVSxZQUFzQixFQUFrQyxhQUEyRDtRQUFwSixtQkFBYyxHQUFkLGNBQWMsQ0FBUztRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQWtDLGtCQUFhLEdBQWIsYUFBYSxDQUE4QztRQXdDeEssZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxXQUFNLEdBQUcs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Z0JBU2MsSUFBSTtzQkFBdkIsS0FBSztnQkFTYyxXQUFXO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNWaWV3U3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcy92aWV3LXN0YXRlLnR5cGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT0ZGQ0FOVkFTX0NPTlRFTlQgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvb2ZmY2FudmFzLWNvbnRlbnQucHJvdmlkZXInO1xuaW1wb3J0IHsgUE9SVEFMX0ZBQ1RPUlkgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvcG9ydGFsLWZhY3RvcnkucHJvdmlkZXInO1xuaW1wb3J0IHsgT2ZmY2FudmFzUG9zaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9wb3NpdGlvbic7XG5pbXBvcnQgeyBCc09mZmNhbnZhc0NvbXBvbmVudCB9IGZyb20gJy4uL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnMtb2ZmY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29mZmNhbnZhcy1ob3N0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2ZmY2FudmFzLWhvc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCc09mZmNhbnZhc0hvc3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXksIHByaXZhdGUgcm9vdEluamVjdG9yOiBJbmplY3RvciwgQEluamVjdChQT1JUQUxfRkFDVE9SWSkgcHJpdmF0ZSBwb3J0YWxGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBDb21wb25lbnRQb3J0YWw8YW55Pikge1xuICAgIHRoaXMuc3RhdGUkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudCkge1xuICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChzdGF0ZSk7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc3RhdGUkLm5leHQoc3RhdGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMucG9zaXRpb24kLCB0aGlzLnZpZXdJbml0ZWQkXSlcbiAgICAgIC5waXBlKGZpbHRlcigoW3Bvc2l0aW9uLCB2aWV3SW5pdGVkXSkgPT4gdmlld0luaXRlZCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtwb3NpdGlvbiwgdmlld0luaXRlZF0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UucG9zaXRpb24kLm5leHQocG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc2l6ZSQsIHRoaXMudmlld0luaXRlZCRdKVxuICAgICAgLnBpcGUoZmlsdGVyKChbc2l6ZSwgdmlld0luaXRlZF0pID0+IHZpZXdJbml0ZWQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChbc2l6ZSwgdmlld0luaXRlZF0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2l6ZSQubmV4dChzaXplKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmhhc0JhY2tkcm9wJCwgdGhpcy52aWV3SW5pdGVkJF0pXG4gICAgICAucGlwZShmaWx0ZXIoKFtoYXNCYWNrZHJvcCwgdmlld0luaXRlZF0pID0+IHZpZXdJbml0ZWQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpXG4gICAgICAuc3Vic2NyaWJlKChbaGFzQmFja2Ryb3AsIHZpZXdJbml0ZWRdKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudCkge1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmhhc0JhY2tkcm9wJC5uZXh0KGhhc0JhY2tkcm9wKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBjb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgY29tcG9uZW50ITogQ29tcG9uZW50UmVmPEJzT2ZmY2FudmFzQ29tcG9uZW50PjtcbiAgdmlld0luaXRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCc1ZpZXdTdGF0ZT4oJ2Nsb3NlZCcpO1xuICBzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHBvc2l0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T2ZmY2FudmFzUG9zaXRpb24+KCdib3R0b20nKTtcbiAgaGFzQmFja2Ryb3AkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIEBPdXRwdXQoKSBiYWNrZHJvcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBPRkZDQU5WQVNfQ09OVEVOVCwgdXNlVmFsdWU6IHRoaXMuY29udGVudCB9LFxuICAgICAgXSxcbiAgICAgIHBhcmVudDogdGhpcy5yb290SW5qZWN0b3IsXG4gICAgfSk7XG4gICAgLy8gY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChCc09mZmNhbnZhc0NvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xuICAgIGNvbnN0IHBvcnRhbCA9IHRoaXMucG9ydGFsRmFjdG9yeShpbmplY3Rvcik7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXlTZXJ2aWNlLnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVNlcnZpY2UucG9zaXRpb24oKS5nbG9iYWwoKVxuICAgICAgICAudG9wKCcwJykubGVmdCgnMCcpLmJvdHRvbSgnMCcpLnJpZ2h0KCcwJyksXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2VcbiAgICB9KTtcblxuICAgIHRoaXMuY29tcG9uZW50ID0gb3ZlcmxheVJlZi5hdHRhY2g8QnNPZmZjYW52YXNDb21wb25lbnQ+KHBvcnRhbCk7XG5cbiAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5iYWNrZHJvcENsaWNrXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BDbGljay5lbWl0KGV2KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy52aWV3SW5pdGVkJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICAvLyNyZWdpb24gU3RhdGVcbiAgQE91dHB1dCgpIHB1YmxpYyBzdGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QnNWaWV3U3RhdGU+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc3RhdGUodmFsdWU6IEJzVmlld1N0YXRlKSB7XG4gICAgdGhpcy5zdGF0ZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQudmFsdWU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFBvc2l0aW9uXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgcG9zaXRpb24odmFsdWU6IE9mZmNhbnZhc1Bvc2l0aW9uKSB7XG4gICAgdGhpcy5wb3NpdGlvbiQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHVibGljIGdldCBwb3NpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbiQudmFsdWU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFNpemVcbiAgQElucHV0KCkgcHVibGljIHNldCBzaXplKHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5zaXplJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSQudmFsdWU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIEhhc0JhY2tkcm9wXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgaGFzQmFja2Ryb3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmhhc0JhY2tkcm9wJC5uZXh0KHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGhhc0JhY2tkcm9wKCkge1xuICAgIHJldHVybiB0aGlzLmhhc0JhY2tkcm9wJC52YWx1ZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxufVxuIiwiIl19
@@ -1,2 +1,3 @@
1
1
  export * from './offcanvas-close/offcanvas-close.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9vZmZjYW52YXMtY2xvc2Uvb2ZmY2FudmFzLWNsb3NlLmRpcmVjdGl2ZSc7XG4iXX0=
2
+ export * from './offcanvas-content/offcanvas-content.directive';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvZGlyZWN0aXZlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL29mZmNhbnZhcy1jbG9zZS9vZmZjYW52YXMtY2xvc2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vb2ZmY2FudmFzLWNvbnRlbnQvb2ZmY2FudmFzLWNvbnRlbnQuZGlyZWN0aXZlJzsiXX0=
@@ -1,27 +1,24 @@
1
- import { Directive, HostListener, Input } from '@angular/core';
2
- import { BsOffcanvasComponent } from '../../components/offcanvas/offcanvas.component';
3
- import { BsOffcanvasService } from '../../services/offcanvas/offcanvas.service';
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { BsOffcanvasHostComponent } from '../../components/offcanvas-host/offcanvas-host.component';
4
3
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../services/offcanvas/offcanvas.service";
4
+ import * as i1 from "../../components/offcanvas-host/offcanvas-host.component";
6
5
  export class BsOffcanvasCloseDirective {
7
- constructor(offcanvasService) {
8
- this.offcanvasService = offcanvasService;
6
+ constructor(offcanvas) {
7
+ this.offcanvas = offcanvas;
9
8
  }
10
9
  onClick() {
11
- this.offcanvasService.hide(this.bsOffcanvasClose);
10
+ this.offcanvas.state = 'closed';
12
11
  }
13
12
  }
14
- BsOffcanvasCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsOffcanvasCloseDirective, deps: [{ token: i1.BsOffcanvasService }], target: i0.ɵɵFactoryTarget.Directive });
15
- BsOffcanvasCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: BsOffcanvasCloseDirective, selector: "[bsOffcanvasClose]", inputs: { bsOffcanvasClose: "bsOffcanvasClose" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsOffcanvasCloseDirective, decorators: [{
13
+ BsOffcanvasCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasCloseDirective, deps: [{ token: i1.BsOffcanvasHostComponent }], target: i0.ɵɵFactoryTarget.Directive });
14
+ BsOffcanvasCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BsOffcanvasCloseDirective, selector: "[bsOffcanvasClose]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasCloseDirective, decorators: [{
17
16
  type: Directive,
18
17
  args: [{
19
18
  selector: '[bsOffcanvasClose]'
20
19
  }]
21
- }], ctorParameters: function () { return [{ type: i1.BsOffcanvasService }]; }, propDecorators: { bsOffcanvasClose: [{
22
- type: Input
23
- }], onClick: [{
20
+ }], ctorParameters: function () { return [{ type: i1.BsOffcanvasHostComponent }]; }, propDecorators: { onClick: [{
24
21
  type: HostListener,
25
22
  args: ['click']
26
23
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLWNsb3NlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL29mZmNhbnZhcy9kaXJlY3RpdmVzL29mZmNhbnZhcy1jbG9zZS9vZmZjYW52YXMtY2xvc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBS2hGLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFBb0IsZ0JBQW9DO1FBQXBDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7SUFBSSxDQUFDO0lBSXRDLE9BQU87UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwRCxDQUFDOztzSEFQVSx5QkFBeUI7MEdBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO3lHQUlpQixnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBRWlCLE9BQU87c0JBQTdCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNPZmZjYW52YXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJzT2ZmY2FudmFzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29mZmNhbnZhcy9vZmZjYW52YXMuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tic09mZmNhbnZhc0Nsb3NlXSdcbn0pXG5leHBvcnQgY2xhc3MgQnNPZmZjYW52YXNDbG9zZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogQnNPZmZjYW52YXNTZXJ2aWNlKSB7IH1cblxuICBASW5wdXQoKSBwdWJsaWMgYnNPZmZjYW52YXNDbG9zZSE6IEJzT2ZmY2FudmFzQ29tcG9uZW50O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgb25DbGljaygpIHtcbiAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UuaGlkZSh0aGlzLmJzT2ZmY2FudmFzQ2xvc2UpO1xuICB9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLWNsb3NlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL29mZmNhbnZhcy9kaXJlY3RpdmVzL29mZmNhbnZhcy1jbG9zZS9vZmZjYW52YXMtY2xvc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFLcEcsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFvQixTQUFtQztRQUFuQyxjQUFTLEdBQVQsU0FBUyxDQUEwQjtJQUFJLENBQUM7SUFFckMsT0FBTztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7SUFDbEMsQ0FBQzs7c0hBTFUseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjsrR0FJd0IsT0FBTztzQkFBN0IsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzT2ZmY2FudmFzSG9zdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb2ZmY2FudmFzLWhvc3Qvb2ZmY2FudmFzLWhvc3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzT2ZmY2FudmFzQ2xvc2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBCc09mZmNhbnZhc0Nsb3NlRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvZmZjYW52YXM6IEJzT2ZmY2FudmFzSG9zdENvbXBvbmVudCkgeyB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKSBvbkNsaWNrKCkge1xuICAgIHRoaXMub2ZmY2FudmFzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ import { BsOffcanvasHostComponent } from '../../components/offcanvas-host/offcanvas-host.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../components/offcanvas-host/offcanvas-host.component";
5
+ export class BsOffcanvasContentDirective {
6
+ constructor(offcanvasHost, template) {
7
+ offcanvasHost.content = template;
8
+ }
9
+ }
10
+ BsOffcanvasContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasContentDirective, deps: [{ token: i1.BsOffcanvasHostComponent }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
11
+ BsOffcanvasContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BsOffcanvasContentDirective, selector: "[bsOffcanvasContent]", ngImport: i0 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasContentDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[bsOffcanvasContent]'
16
+ }]
17
+ }], ctorParameters: function () { return [{ type: i1.BsOffcanvasHostComponent }, { type: i0.TemplateRef }]; } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLWNvbnRlbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWJvb3RzdHJhcC9zcmMvbGliL2NvbXBvbmVudHMvb2ZmY2FudmFzL2RpcmVjdGl2ZXMvb2ZmY2FudmFzLWNvbnRlbnQvb2ZmY2FudmFzLWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFLcEcsTUFBTSxPQUFPLDJCQUEyQjtJQUV0QyxZQUFZLGFBQXVDLEVBQUUsUUFBMEI7UUFDN0UsYUFBYSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQzs7d0hBSlUsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzT2ZmY2FudmFzSG9zdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb2ZmY2FudmFzLWhvc3Qvb2ZmY2FudmFzLWhvc3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2JzT2ZmY2FudmFzQ29udGVudF0nXG59KVxuZXhwb3J0IGNsYXNzIEJzT2ZmY2FudmFzQ29udGVudERpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3Iob2ZmY2FudmFzSG9zdDogQnNPZmZjYW52YXNIb3N0Q29tcG9uZW50LCB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIG9mZmNhbnZhc0hvc3QuY29udGVudCA9IHRlbXBsYXRlO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- export * from './services';
1
+ // export * from './services';
2
2
  export * from './offcanvas.module';
3
3
  export * from './components';
4
4
  export * from './interfaces';
5
5
  export * from './directives';
6
6
  export * from './types';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9vZmZjYW52YXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnOyJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vb2ZmY2FudmFzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJzsiXX0=
@@ -1,34 +1,49 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { OverlayModule } from '@angular/cdk/overlay';
4
- import { BsOffcanvasHeaderComponent } from './components/offcanvas-header/offcanvas-header.component';
5
- import { BsOffcanvasBodyComponent } from './components/offcanvas-body/offcanvas-body.component';
6
4
  import { BsOffcanvasComponent } from './components/offcanvas/offcanvas.component';
5
+ import { BsOffcanvasContentDirective } from './directives/offcanvas-content/offcanvas-content.directive';
6
+ import { BsOffcanvasHostComponent } from './components/offcanvas-host/offcanvas-host.component';
7
7
  import { BsOffcanvasCloseDirective } from './directives/offcanvas-close/offcanvas-close.directive';
8
+ import { OffcanvasHeaderComponent } from './components/offcanvas-header/offcanvas-header.component';
9
+ import { OffcanvasBodyComponent } from './components/offcanvas-body/offcanvas-body.component';
10
+ import { PORTAL_FACTORY } from './providers/portal-factory.provider';
11
+ import { ComponentPortal } from '@angular/cdk/portal';
8
12
  import * as i0 from "@angular/core";
9
13
  export class BsOffcanvasModule {
10
14
  }
11
- BsOffcanvasModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsOffcanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- BsOffcanvasModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsOffcanvasModule, declarations: [BsOffcanvasComponent,
13
- BsOffcanvasHeaderComponent,
14
- BsOffcanvasBodyComponent,
15
- BsOffcanvasCloseDirective], imports: [CommonModule,
15
+ BsOffcanvasModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ BsOffcanvasModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasModule, declarations: [BsOffcanvasComponent,
17
+ BsOffcanvasContentDirective,
18
+ BsOffcanvasHostComponent,
19
+ BsOffcanvasCloseDirective,
20
+ OffcanvasHeaderComponent,
21
+ OffcanvasBodyComponent], imports: [CommonModule,
16
22
  OverlayModule], exports: [BsOffcanvasComponent,
17
- BsOffcanvasHeaderComponent,
18
- BsOffcanvasBodyComponent,
19
- BsOffcanvasCloseDirective] });
20
- BsOffcanvasModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsOffcanvasModule, imports: [[
23
+ BsOffcanvasContentDirective,
24
+ BsOffcanvasHostComponent,
25
+ BsOffcanvasCloseDirective,
26
+ OffcanvasHeaderComponent,
27
+ OffcanvasBodyComponent] });
28
+ BsOffcanvasModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasModule, providers: [{
29
+ provide: PORTAL_FACTORY,
30
+ useValue: (injector) => {
31
+ return new ComponentPortal(BsOffcanvasComponent, null, injector);
32
+ }
33
+ }], imports: [[
21
34
  CommonModule,
22
35
  OverlayModule
23
36
  ]] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsOffcanvasModule, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsOffcanvasModule, decorators: [{
25
38
  type: NgModule,
26
39
  args: [{
27
40
  declarations: [
28
41
  BsOffcanvasComponent,
29
- BsOffcanvasHeaderComponent,
30
- BsOffcanvasBodyComponent,
31
- BsOffcanvasCloseDirective
42
+ BsOffcanvasContentDirective,
43
+ BsOffcanvasHostComponent,
44
+ BsOffcanvasCloseDirective,
45
+ OffcanvasHeaderComponent,
46
+ OffcanvasBodyComponent
32
47
  ],
33
48
  imports: [
34
49
  CommonModule,
@@ -36,10 +51,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
36
51
  ],
37
52
  exports: [
38
53
  BsOffcanvasComponent,
39
- BsOffcanvasHeaderComponent,
40
- BsOffcanvasBodyComponent,
41
- BsOffcanvasCloseDirective
42
- ]
54
+ BsOffcanvasContentDirective,
55
+ BsOffcanvasHostComponent,
56
+ BsOffcanvasCloseDirective,
57
+ OffcanvasHeaderComponent,
58
+ OffcanvasBodyComponent
59
+ ],
60
+ providers: [{
61
+ provide: PORTAL_FACTORY,
62
+ useValue: (injector) => {
63
+ return new ComponentPortal(BsOffcanvasComponent, null, injector);
64
+ }
65
+ }]
43
66
  }]
44
67
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL29mZmNhbnZhcy9vZmZjYW52YXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7QUFzQm5HLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFoQjFCLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHlCQUF5QixhQUd6QixZQUFZO1FBQ1osYUFBYSxhQUdiLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHlCQUF5QjsrR0FHaEIsaUJBQWlCLFlBWG5CO1lBQ1AsWUFBWTtZQUNaLGFBQWE7U0FDZDsyRkFRVSxpQkFBaUI7a0JBbEI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQix3QkFBd0I7d0JBQ3hCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBCc09mZmNhbnZhc0hlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vZmZjYW52YXMtaGVhZGVyL29mZmNhbnZhcy1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJzT2ZmY2FudmFzQm9keUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vZmZjYW52YXMtYm9keS9vZmZjYW52YXMtYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNPZmZjYW52YXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnNPZmZjYW52YXNDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9vZmZjYW52YXMtY2xvc2Uvb2ZmY2FudmFzLWNsb3NlLmRpcmVjdGl2ZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc09mZmNhbnZhc0NvbXBvbmVudCxcbiAgICBCc09mZmNhbnZhc0hlYWRlckNvbXBvbmVudCxcbiAgICBCc09mZmNhbnZhc0JvZHlDb21wb25lbnQsXG4gICAgQnNPZmZjYW52YXNDbG9zZURpcmVjdGl2ZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEJzT2ZmY2FudmFzQ29tcG9uZW50LFxuICAgIEJzT2ZmY2FudmFzSGVhZGVyQ29tcG9uZW50LFxuICAgIEJzT2ZmY2FudmFzQm9keUNvbXBvbmVudCxcbiAgICBCc09mZmNhbnZhc0Nsb3NlRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQnNPZmZjYW52YXNNb2R1bGUgeyB9XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9jb21wb25lbnRzL29mZmNhbnZhcy9vZmZjYW52YXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQWdDdEQsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQTFCMUIsb0JBQW9CO1FBQ3BCLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLHdCQUF3QjtRQUN4QixzQkFBc0IsYUFHdEIsWUFBWTtRQUNaLGFBQWEsYUFHYixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLHNCQUFzQjsrR0FTYixpQkFBaUIsYUFQakIsQ0FBQztZQUNWLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDL0IsT0FBTyxJQUFJLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDbkUsQ0FBQztTQUNGLENBQUMsWUFqQk87WUFDUCxZQUFZO1lBQ1osYUFBYTtTQUNkOzJGQWdCVSxpQkFBaUI7a0JBNUI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsY0FBYzs0QkFDdkIsUUFBUSxFQUFFLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dDQUMvQixPQUFPLElBQUksZUFBZSxDQUFDLG9CQUFvQixFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQzs0QkFDbkUsQ0FBQzt5QkFDRixDQUFDO2lCQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEJzT2ZmY2FudmFzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJzT2ZmY2FudmFzQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9vZmZjYW52YXMtY29udGVudC9vZmZjYW52YXMtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnNPZmZjYW52YXNIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29mZmNhbnZhcy1ob3N0L29mZmNhbnZhcy1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCc09mZmNhbnZhc0Nsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL29mZmNhbnZhcy1jbG9zZS9vZmZjYW52YXMtY2xvc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9mZmNhbnZhc0hlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vZmZjYW52YXMtaGVhZGVyL29mZmNhbnZhcy1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE9mZmNhbnZhc0JvZHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb2ZmY2FudmFzLWJvZHkvb2ZmY2FudmFzLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFBPUlRBTF9GQUNUT1JZIH0gZnJvbSAnLi9wcm92aWRlcnMvcG9ydGFsLWZhY3RvcnkucHJvdmlkZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBCc09mZmNhbnZhc0NvbXBvbmVudCxcbiAgICBCc09mZmNhbnZhc0NvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNPZmZjYW52YXNIb3N0Q29tcG9uZW50LFxuICAgIEJzT2ZmY2FudmFzQ2xvc2VEaXJlY3RpdmUsXG4gICAgT2ZmY2FudmFzSGVhZGVyQ29tcG9uZW50LFxuICAgIE9mZmNhbnZhc0JvZHlDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBCc09mZmNhbnZhc0NvbXBvbmVudCxcbiAgICBCc09mZmNhbnZhc0NvbnRlbnREaXJlY3RpdmUsXG4gICAgQnNPZmZjYW52YXNIb3N0Q29tcG9uZW50LFxuICAgIEJzT2ZmY2FudmFzQ2xvc2VEaXJlY3RpdmUsXG4gICAgT2ZmY2FudmFzSGVhZGVyQ29tcG9uZW50LFxuICAgIE9mZmNhbnZhc0JvZHlDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IFBPUlRBTF9GQUNUT1JZLFxuICAgIHVzZVZhbHVlOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbChCc09mZmNhbnZhc0NvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xuICAgIH1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQnNPZmZjYW52YXNNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const PORTAL_FACTORY = new InjectionToken('OffcanvasPortalFactory');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWZhY3RvcnkucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvY29tcG9uZW50cy9vZmZjYW52YXMvcHJvdmlkZXJzL3BvcnRhbC1mYWN0b3J5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFekQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUErQyx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBQT1JUQUxfRkFDVE9SWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjwoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBDb21wb25lbnRQb3J0YWw8YW55Pj4oJ09mZmNhbnZhc1BvcnRhbEZhY3RvcnknKTsiXX0=
@@ -144,9 +144,9 @@ export class BsPaginationComponent {
144
144
  return false;
145
145
  }
146
146
  }
147
- BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
- BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", 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 } });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationComponent, decorators: [{
147
+ BsPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
+ BsPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", 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 } });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsPaginationComponent, decorators: [{
150
150
  type: Component,
151
151
  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"] }]
152
152
  }], ctorParameters: function () { return []; }, propDecorators: { selectedPageNumberChange: [{
@@ -4,12 +4,12 @@ import { BsPaginationComponent } from './pagination/pagination.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BsPaginationModule {
6
6
  }
7
- BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, declarations: [BsPaginationComponent], imports: [CommonModule], exports: [BsPaginationComponent] });
9
- BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, imports: [[
7
+ BsPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ BsPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsPaginationModule, declarations: [BsPaginationComponent], imports: [CommonModule], exports: [BsPaginationComponent] });
9
+ BsPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsPaginationModule, imports: [[
10
10
  CommonModule
11
11
  ]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsPaginationModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsPaginationModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [
@@ -8,9 +8,9 @@ export class BsProgressComponent {
8
8
  this.isIndeterminate = false;
9
9
  }
10
10
  }
11
- BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", 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.2.2", ngImport: i0, type: BsProgressComponent, decorators: [{
11
+ BsProgressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ BsProgressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", 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.2.6", ngImport: i0, type: BsProgressComponent, decorators: [{
14
14
  type: Component,
15
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
16
  }], propDecorators: { progressClass: [{
@@ -73,9 +73,9 @@ export class BsProgressBarComponent {
73
73
  this.destroyed$.next(true);
74
74
  }
75
75
  }
76
- BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
- BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsProgressBarComponent, selector: "bs-progress-bar", inputs: { minimum: "minimum", maximum: "maximum", value: "value", color: "color", striped: "striped", animated: "animated" }, host: { properties: { "class.progress-bar-striped": "this.striped", "class.progress-bar-animated": "this.animated", "class.progress-bar": "this.progressBar", "class": "this.colorClass", "style.width": "this.widthStyle", "attr.role": "this.role", "attr.aria-valuenow": "this.valueNow", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax" } }, ngImport: i0, template: "", styles: [""] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarComponent, decorators: [{
76
+ BsProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
+ BsProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: BsProgressBarComponent, selector: "bs-progress-bar", inputs: { minimum: "minimum", maximum: "maximum", value: "value", color: "color", striped: "striped", animated: "animated" }, host: { properties: { "class.progress-bar-striped": "this.striped", "class.progress-bar-animated": "this.animated", "class.progress-bar": "this.progressBar", "class": "this.colorClass", "style.width": "this.widthStyle", "attr.role": "this.role", "attr.aria-valuenow": "this.valueNow", "attr.aria-valuemin": "this.valueMin", "attr.aria-valuemax": "this.valueMax" } }, ngImport: i0, template: "", styles: [""] });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressBarComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'bs-progress-bar', template: "", styles: [""] }]
81
81
  }], ctorParameters: function () { return []; }, propDecorators: { minimum: [{
@@ -5,14 +5,14 @@ import { BsProgressBarComponent } from './progress-bar/progress-bar.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class BsProgressBarModule {
7
7
  }
8
- BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, declarations: [BsProgressBarComponent,
8
+ BsProgressBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ BsProgressBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressBarModule, declarations: [BsProgressBarComponent,
10
10
  BsProgressComponent], imports: [CommonModule], exports: [BsProgressBarComponent,
11
11
  BsProgressComponent] });
12
- BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, imports: [[
12
+ BsProgressBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressBarModule, imports: [[
13
13
  CommonModule
14
14
  ]] });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsProgressBarModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsProgressBarModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [
@@ -52,9 +52,9 @@ export class BsRatingComponent {
52
52
  this.previewValue$.next(null);
53
53
  }
54
54
  }
55
- BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingComponent, decorators: [{
55
+ BsRatingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsRatingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ BsRatingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: BsRatingComponent, selector: "bs-rating", inputs: { maximum: "maximum", value: "value" }, outputs: { valueChange: "valueChange", starsChange: "starsChange" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, ngImport: i0, template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsRatingComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'bs-rating', template: "<span class=\"cursor-pointer\" *ngFor=\"let star of (stars$ | async), let i = index\" (mouseenter)=\"hoverValue(i)\" (click)=\"selectValue(i)\">\n {{ star ? '&#9733;' : '&#9734;' }}\n</span>", styles: [""] }]
60
60
  }], ctorParameters: function () { return []; }, propDecorators: { maximum: [{
@@ -4,12 +4,12 @@ import { BsRatingComponent } from './rating.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class BsRatingModule {
6
6
  }
7
- BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, declarations: [BsRatingComponent], imports: [CommonModule], exports: [BsRatingComponent] });
9
- BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, imports: [[
7
+ BsRatingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsRatingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ BsRatingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsRatingModule, declarations: [BsRatingComponent], imports: [CommonModule], exports: [BsRatingComponent] });
9
+ BsRatingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsRatingModule, imports: [[
10
10
  CommonModule
11
11
  ]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BsRatingModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BsRatingModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [
@@ -67,9 +67,9 @@ export class ResourceGroupPresenterComponent {
67
67
  this.destroyed$.next(true);
68
68
  }
69
69
  }
70
- ResourceGroupPresenterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ResourceGroupPresenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
- ResourceGroupPresenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: { level: "level", resourceGroup: "resourceGroup", timeSlots: "timeSlots", isExpanded: "isExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"], components: [{ type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ResourceGroupPresenterComponent, decorators: [{
70
+ ResourceGroupPresenterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ResourceGroupPresenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ ResourceGroupPresenterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: { level: "level", resourceGroup: "resourceGroup", timeSlots: "timeSlots", isExpanded: "isExpanded" }, ngImport: i0, template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"], components: [{ type: ResourceGroupPresenterComponent, selector: "bs-resource-group-presenter", inputs: ["level", "resourceGroup", "timeSlots", "isExpanded"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1.AsyncPipe } });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ResourceGroupPresenterComponent, decorators: [{
73
73
  type: Component,
74
74
  args: [{ selector: 'bs-resource-group-presenter', template: "<ng-container *ngIf=\"(data$ | async) as data\">\n\n <!-- Data is a resource group -->\n <ng-container *ngIf=\"data.resourceGroup\">\n <!-- Header -->\n <tr class=\"p-0 cursor-pointer\" *ngIf=\"(timeSlots$ | async) as timeSlots\" [title]=\"data.resourceGroup.description\">\n <ng-container *ngIf=\"(colSpan$ | async) as colspan\">\n <td class=\"p-2 cursor-pointer\" [colSpan]=\"colspan + 1\" (click)=\"toggleExpanded()\">\n <span class=\"p-2 align-middle position-sticky\">\n <i class=\"bi bi-chevron-down\" [style.padding-left.px]=\"level * 20\" *ngIf=\"isExpanded$ | async\"></i>\n <i class=\"bi bi-chevron-right\" [style.padding-left.px]=\"level * 20\" *ngIf=\"(isExpanded$ | async) === false\"></i>\n {{ data.resourceGroup.description }}\n </span>\n </td>\n </ng-container>\n </tr>\n\n <!-- Subgroups or resources -->\n <ng-container *ngIf=\"isExpanded$ | async\">\n <ng-container *ngIf=\"(timeSlots$ | async) as timeSlots\">\n <ng-container *ngFor=\"let child of data.resourceGroup.children\">\n <bs-resource-group-presenter [resourceGroup]=\"child\" [timeSlots]=\"timeSlots\" [level]=\"level + 1\"></bs-resource-group-presenter>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Data is a resource -->\n <tr *ngIf=\"data.resource\" class=\"p-0 bordered\" [title]=\"data.resource.description\">\n <td class=\"p-0 bg-white\">\n <div class=\"p-2\">{{ data.resource.description }}</div>\n </td>\n <ng-container *ngFor=\"let slots of (timeSlots$ | async)\">\n <td class=\"bg-white border-1\" *ngFor=\"let slot of slots.slots\">\n <!-- {{ slot.start | date: 'dd/MM/yyyy HH:mm:ss' }} -->\n </td>\n </ng-container>\n </tr>\n</ng-container>", styles: [":host{display:contents}tr{border-bottom-width:1px}tr:not(.bordered) td span.position-sticky{left:0;right:0}\n"] }]
75
75
  }], ctorParameters: function () { return []; }, propDecorators: { level: [{