@mintplayer/ng-bootstrap 15.0.0 → 15.0.3

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 (102) hide show
  1. package/datatable/src/datatable/datatable.component.d.ts +5 -2
  2. package/datatable/src/datatable.module.d.ts +6 -3
  3. package/datatable/src/index.d.ts +1 -0
  4. package/datatable/src/row-template/row-template.directive.d.ts +9 -0
  5. package/enhanced-paste/src/{enhanced-paste.directive.d.ts → directive/enhanced-paste.directive.d.ts} +1 -1
  6. package/enhanced-paste/src/enhanced-paste.module.d.ts +1 -1
  7. package/enhanced-paste/src/index.d.ts +2 -1
  8. package/{lib → enhanced-paste/src}/interfaces/number-overflow.d.ts +0 -0
  9. package/esm2020/datatable/src/datatable/datatable.component.mjs +24 -21
  10. package/esm2020/datatable/src/datatable.module.mjs +20 -13
  11. package/esm2020/datatable/src/index.mjs +2 -1
  12. package/esm2020/datatable/src/row-template/row-template.directive.mjs +19 -0
  13. package/esm2020/enhanced-paste/src/directive/enhanced-paste.directive.mjs +58 -0
  14. package/esm2020/enhanced-paste/src/enhanced-paste.module.mjs +2 -2
  15. package/esm2020/enhanced-paste/src/index.mjs +3 -2
  16. package/esm2020/enhanced-paste/src/interfaces/number-overflow.mjs +2 -0
  17. package/esm2020/file-upload/src/component/file-upload.component.mjs +1 -1
  18. package/esm2020/file-upload/src/file-upload.module.mjs +10 -9
  19. package/esm2020/file-upload/src/index.mjs +2 -1
  20. package/esm2020/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +23 -0
  21. package/esm2020/file-upload/src/pipes/index.mjs +2 -0
  22. package/esm2020/lib/interfaces/index.mjs +1 -3
  23. package/esm2020/lib/pipes/index.mjs +1 -2
  24. package/esm2020/lib/services/enum/enum.service.mjs +1 -1
  25. package/esm2020/lib/services/index.mjs +1 -2
  26. package/esm2020/pagination/src/component/index.mjs +2 -0
  27. package/esm2020/pagination/src/component/pagination/pagination.component.mjs +198 -0
  28. package/esm2020/pagination/src/index.mjs +4 -2
  29. package/esm2020/pagination/src/interfaces/index.mjs +2 -0
  30. package/esm2020/pagination/src/interfaces/page-with-selection.mjs +2 -0
  31. package/esm2020/pagination/src/pagination.module.mjs +2 -2
  32. package/esm2020/pagination/src/types/index.mjs +2 -0
  33. package/esm2020/pagination/src/types/page-number.type.mjs +2 -0
  34. package/esm2020/scrollspy/src/component/scrollspy.component.mjs +3 -3
  35. package/esm2020/scrollspy/src/index.mjs +2 -1
  36. package/esm2020/scrollspy/src/services/index.mjs +2 -0
  37. package/esm2020/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +31 -0
  38. package/esm2020/spinner/src/spinner.component.mjs +2 -2
  39. package/esm2020/toast/src/components/toast-body/toast-body.component.mjs +2 -2
  40. package/esm2020/toast/src/components/toast-header/toast-header.component.mjs +2 -2
  41. package/fesm2015/mintplayer-ng-bootstrap-datatable.mjs +56 -29
  42. package/fesm2015/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  43. package/fesm2015/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  44. package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs +32 -12
  45. package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  46. package/fesm2015/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  47. package/fesm2015/mintplayer-ng-bootstrap-scrollspy.mjs +35 -5
  48. package/fesm2015/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  49. package/fesm2015/mintplayer-ng-bootstrap-spinner.mjs +2 -2
  50. package/fesm2015/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  51. package/fesm2015/mintplayer-ng-bootstrap-toast.mjs +2 -2
  52. package/fesm2015/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  53. package/fesm2015/mintplayer-ng-bootstrap.mjs +2 -74
  54. package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
  55. package/fesm2020/mintplayer-ng-bootstrap-datatable.mjs +56 -29
  56. package/fesm2020/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  57. package/fesm2020/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  58. package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs +32 -12
  59. package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  60. package/fesm2020/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  61. package/fesm2020/mintplayer-ng-bootstrap-scrollspy.mjs +33 -5
  62. package/fesm2020/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  63. package/fesm2020/mintplayer-ng-bootstrap-spinner.mjs +2 -2
  64. package/fesm2020/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  65. package/fesm2020/mintplayer-ng-bootstrap-toast.mjs +2 -2
  66. package/fesm2020/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  67. package/fesm2020/mintplayer-ng-bootstrap.mjs +2 -72
  68. package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
  69. package/file-upload/src/file-upload.module.d.ts +4 -4
  70. package/file-upload/src/index.d.ts +1 -0
  71. package/{lib → file-upload/src}/pipes/format-bytes/format-bytes.pipe.d.ts +0 -0
  72. package/file-upload/src/pipes/index.d.ts +1 -0
  73. package/lib/interfaces/index.d.ts +0 -2
  74. package/lib/pipes/index.d.ts +0 -1
  75. package/lib/services/enum/enum.service.d.ts +3 -3
  76. package/lib/services/index.d.ts +0 -1
  77. package/package.json +1 -1
  78. package/pagination/src/component/index.d.ts +1 -0
  79. package/pagination/src/{pagination → component/pagination}/pagination.component.d.ts +2 -1
  80. package/pagination/src/index.d.ts +3 -1
  81. package/pagination/src/interfaces/index.d.ts +1 -0
  82. package/{lib → pagination/src}/interfaces/page-with-selection.d.ts +0 -0
  83. package/pagination/src/pagination.module.d.ts +1 -1
  84. package/pagination/src/types/index.d.ts +1 -0
  85. package/{lib → pagination/src}/types/page-number.type.d.ts +0 -0
  86. package/scrollspy/src/component/scrollspy.component.d.ts +1 -1
  87. package/scrollspy/src/index.d.ts +1 -0
  88. package/scrollspy/src/services/index.d.ts +1 -0
  89. package/{lib → scrollspy/src}/services/scroll-offset/scroll-offset.service.d.ts +0 -0
  90. package/toast/src/components/toast-body/toast-body.component.d.ts +0 -1
  91. package/toast/src/components/toast-header/toast-header.component.d.ts +0 -1
  92. package/esm2020/enhanced-paste/src/enhanced-paste.directive.mjs +0 -58
  93. package/esm2020/lib/interfaces/number-overflow.mjs +0 -2
  94. package/esm2020/lib/interfaces/page-with-selection.mjs +0 -2
  95. package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +0 -24
  96. package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +0 -23
  97. package/esm2020/lib/pipes/format-bytes/index.mjs +0 -3
  98. package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +0 -31
  99. package/esm2020/lib/types/page-number.type.mjs +0 -2
  100. package/esm2020/pagination/src/pagination/pagination.component.mjs +0 -198
  101. package/lib/pipes/format-bytes/format-bytes.module.d.ts +0 -8
  102. package/lib/pipes/format-bytes/index.d.ts +0 -2
@@ -1,9 +1,9 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { DOCUMENT, CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Directive, Component, Inject, ContentChildren, ViewChildren, HostListener, NgModule } from '@angular/core';
4
+ import { Directive, Injectable, Inject, Component, ContentChildren, ViewChildren, HostListener, NgModule } from '@angular/core';
5
5
  import { Subject, BehaviorSubject, combineLatest, filter, take, takeUntil } from 'rxjs';
6
- import * as i1 from '@mintplayer/ng-bootstrap';
6
+ import { ROUTER_CONFIGURATION } from '@angular/router';
7
7
 
8
8
  class BsScrollspyDirective {
9
9
  constructor(element) {
@@ -19,6 +19,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
19
19
  }]
20
20
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
21
21
 
22
+ class BsScrollOffsetService {
23
+ constructor(routerConfig) {
24
+ this.routerConfig = routerConfig;
25
+ }
26
+ getScrollOffset() {
27
+ if (!this.routerConfig.scrollOffset) {
28
+ return [0, 0];
29
+ }
30
+ else if (Array.isArray(this.routerConfig.scrollOffset)) {
31
+ return this.routerConfig.scrollOffset;
32
+ }
33
+ else {
34
+ return this.routerConfig.scrollOffset();
35
+ }
36
+ }
37
+ }
38
+ BsScrollOffsetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsScrollOffsetService, deps: [{ token: ROUTER_CONFIGURATION }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ BsScrollOffsetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsScrollOffsetService, providedIn: 'root' });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsScrollOffsetService, decorators: [{
41
+ type: Injectable,
42
+ args: [{
43
+ providedIn: 'root'
44
+ }]
45
+ }], ctorParameters: function () {
46
+ return [{ type: undefined, decorators: [{
47
+ type: Inject,
48
+ args: [ROUTER_CONFIGURATION]
49
+ }] }];
50
+ } });
51
+
22
52
  class BsScrollspyComponent {
23
53
  constructor(scrollOffsetService, document, zone) {
24
54
  this.scrollOffsetService = scrollOffsetService;
@@ -83,13 +113,13 @@ class BsScrollspyComponent {
83
113
  }
84
114
  }
85
115
  }
86
- BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: i1.BsScrollOffsetService }, { token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
116
+ BsScrollspyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsScrollspyComponent, deps: [{ token: BsScrollOffsetService }, { token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
87
117
  BsScrollspyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BsScrollspyComponent, selector: "bs-scrollspy", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, queries: [{ propertyName: "directives", predicate: BsScrollspyDirective, descendants: true }], viewQueries: [{ propertyName: "anchors", predicate: ["anchor"], descendants: true }], ngImport: i0, template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
88
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsScrollspyComponent, decorators: [{
89
119
  type: Component,
90
120
  args: [{ selector: 'bs-scrollspy', template: "<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>", styles: [":host{display:block}.spy>ul{list-style-type:none;padding-left:0}.spy>ul>li:hover{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.spy>ul>li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){:host{display:grid;grid-template-areas:\"content toc\";grid-template-columns:auto 200px;grid-template-rows:auto;gap:inherit;grid-area:main}.spy{position:sticky;top:5rem;right:0;z-index:2;height:calc(100vh - 7rem);overflow-y:auto;grid-area:toc}.spy>ul{padding-left:2rem}}.navH2{margin-left:20px}.navH3{margin-left:40px}.navH4{margin-left:60px}\n"] }]
91
121
  }], ctorParameters: function () {
92
- return [{ type: i1.BsScrollOffsetService }, { type: undefined, decorators: [{
122
+ return [{ type: BsScrollOffsetService }, { type: undefined, decorators: [{
93
123
  type: Inject,
94
124
  args: [DOCUMENT]
95
125
  }] }, { type: i0.NgZone }];
@@ -132,5 +162,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
132
162
  * Generated bundle index. Do not edit.
133
163
  */
134
164
 
135
- export { BsScrollspyComponent, BsScrollspyDirective, BsScrollspyModule };
165
+ export { BsScrollOffsetService, BsScrollspyComponent, BsScrollspyDirective, BsScrollspyModule };
136
166
  //# sourceMappingURL=mintplayer-ng-bootstrap-scrollspy.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-scrollspy.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/directives/scrollspy.directive.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/component/scrollspy.component.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/component/scrollspy.component.html","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/scrollspy.module.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/mintplayer-ng-bootstrap-scrollspy.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[bsScrollspy]'\n})\nexport class BsScrollspyDirective {\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n element: ElementRef;\n\n}\n","import { DOCUMENT } from '@angular/common';\nimport { AfterContentInit, AfterViewInit, Component, ContentChildren, ElementRef, HostListener, Inject, NgZone, OnDestroy, QueryList, ViewChildren } from '@angular/core';\nimport { BsScrollOffsetService } from '@mintplayer/ng-bootstrap';\nimport { BehaviorSubject, combineLatest, filter, Subject, take, takeUntil } from 'rxjs';\nimport { BsScrollspyDirective } from '../directives/scrollspy.directive';\n\n@Component({\n selector: 'bs-scrollspy',\n templateUrl: './scrollspy.component.html',\n styleUrls: ['./scrollspy.component.scss']\n})\nexport class BsScrollspyComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n\n constructor(\n private scrollOffsetService: BsScrollOffsetService,\n @Inject(DOCUMENT) document: any,\n private zone: NgZone) {\n this.doc = <Document>document;\n combineLatest([this.viewInit$, this.contentInit$])\n .pipe(filter(([viewInit, contentInit]) => viewInit && contentInit), take(1))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(() => {\n // this.setActiveDirective();\n this.scrollToCurrentInSpy();\n });\n }\n\n private destroyed$ = new Subject();\n private viewInit$ = new BehaviorSubject<boolean>(false);\n private contentInit$ = new BehaviorSubject<boolean>(false);\n\n @ContentChildren(BsScrollspyDirective, { descendants: true }) directives!: QueryList<BsScrollspyDirective>;\n @ViewChildren('anchor') anchors!: QueryList<ElementRef<HTMLSpanElement>>;\n\n doc: Document;\n activeDirective: BsScrollspyDirective | null = null;\n\n ngAfterViewInit() {\n this.viewInit$.next(true);\n }\n\n ngAfterContentInit() {\n this.contentInit$.next(true);\n }\n \n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n \n @HostListener('window:scroll', ['$event'])\n onWindowScroll() {\n this.setActiveDirective();\n this.scrollToCurrentInSpy();\n }\n\n setActiveDirective() {\n const offsetY = this.scrollOffsetService.getScrollOffset()[1];\n const dirs = this.directives.filter((d) => d.element.nativeElement.getBoundingClientRect().y < offsetY);\n\n if (this.directives.length === 0) {\n this.activeDirective = null;\n } else if (dirs.length === 0) {\n this.activeDirective = this.directives.get(0) ?? null;\n } else {\n this.activeDirective = dirs[dirs.length - 1];\n }\n }\n\n scrollToCurrentInSpy() {\n if ((typeof window !== 'undefined') && (window.innerWidth >= 768)) {\n if (this.activeDirective) {\n const index = this.directives.toArray().findIndex((v, i) => v === this.activeDirective);\n const anchor = this.anchors.get(index);\n if (anchor && anchor.nativeElement.parentElement) {\n anchor.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n }\n \n scrollToHeader(directive: BsScrollspyDirective) {\n if (typeof window !== 'undefined') {\n const header = directive.element.nativeElement;\n const offsetY = this.scrollOffsetService.getScrollOffset()[1];\n const y = header.getBoundingClientRect().top + window.scrollY - offsetY + 1;\n window.scrollTo({top: y, behavior: 'smooth'});\n }\n }\n\n}\n","<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsScrollspyComponent } from './component/scrollspy.component';\nimport { BsScrollspyDirective } from './directives/scrollspy.directive';\n\n\n\n@NgModule({\n declarations: [\n BsScrollspyComponent,\n BsScrollspyDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsScrollspyComponent,\n BsScrollspyDirective\n ]\n})\nexport class BsScrollspyModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-scrollspy.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/directives/scrollspy.directive.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/services/scroll-offset/scroll-offset.service.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/component/scrollspy.component.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/component/scrollspy.component.html","../../../../libs/mintplayer-ng-bootstrap/scrollspy/src/scrollspy.module.ts","../../../../libs/mintplayer-ng-bootstrap/scrollspy/mintplayer-ng-bootstrap-scrollspy.ts"],"sourcesContent":["import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[bsScrollspy]'\n})\nexport class BsScrollspyDirective {\n\n constructor(element: ElementRef) {\n this.element = element;\n }\n\n element: ElementRef;\n\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { ExtraOptions, ROUTER_CONFIGURATION } from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BsScrollOffsetService {\n\n constructor(\n @Inject(ROUTER_CONFIGURATION) private routerConfig: ExtraOptions\n ) { }\n\n getScrollOffset(): [number, number] {\n if (!this.routerConfig.scrollOffset) {\n return [0, 0];\n } else if (Array.isArray(this.routerConfig.scrollOffset)) {\n return this.routerConfig.scrollOffset\n } else {\n return this.routerConfig.scrollOffset();\n }\n }\n}\n","import { DOCUMENT } from '@angular/common';\nimport { AfterContentInit, AfterViewInit, Component, ContentChildren, ElementRef, HostListener, Inject, NgZone, OnDestroy, QueryList, ViewChildren } from '@angular/core';\nimport { BehaviorSubject, combineLatest, filter, Subject, take, takeUntil } from 'rxjs';\nimport { BsScrollOffsetService } from '../services/scroll-offset/scroll-offset.service';\nimport { BsScrollspyDirective } from '../directives/scrollspy.directive';\n\n@Component({\n selector: 'bs-scrollspy',\n templateUrl: './scrollspy.component.html',\n styleUrls: ['./scrollspy.component.scss']\n})\nexport class BsScrollspyComponent implements AfterViewInit, AfterContentInit, OnDestroy {\n\n constructor(\n private scrollOffsetService: BsScrollOffsetService,\n @Inject(DOCUMENT) document: any,\n private zone: NgZone) {\n this.doc = <Document>document;\n combineLatest([this.viewInit$, this.contentInit$])\n .pipe(filter(([viewInit, contentInit]) => viewInit && contentInit), take(1))\n .pipe(takeUntil(this.destroyed$))\n .subscribe(() => {\n // this.setActiveDirective();\n this.scrollToCurrentInSpy();\n });\n }\n\n private destroyed$ = new Subject();\n private viewInit$ = new BehaviorSubject<boolean>(false);\n private contentInit$ = new BehaviorSubject<boolean>(false);\n\n @ContentChildren(BsScrollspyDirective, { descendants: true }) directives!: QueryList<BsScrollspyDirective>;\n @ViewChildren('anchor') anchors!: QueryList<ElementRef<HTMLSpanElement>>;\n\n doc: Document;\n activeDirective: BsScrollspyDirective | null = null;\n\n ngAfterViewInit() {\n this.viewInit$.next(true);\n }\n\n ngAfterContentInit() {\n this.contentInit$.next(true);\n }\n \n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n \n @HostListener('window:scroll', ['$event'])\n onWindowScroll() {\n this.setActiveDirective();\n this.scrollToCurrentInSpy();\n }\n\n setActiveDirective() {\n const offsetY = this.scrollOffsetService.getScrollOffset()[1];\n const dirs = this.directives.filter((d) => d.element.nativeElement.getBoundingClientRect().y < offsetY);\n\n if (this.directives.length === 0) {\n this.activeDirective = null;\n } else if (dirs.length === 0) {\n this.activeDirective = this.directives.get(0) ?? null;\n } else {\n this.activeDirective = dirs[dirs.length - 1];\n }\n }\n\n scrollToCurrentInSpy() {\n if ((typeof window !== 'undefined') && (window.innerWidth >= 768)) {\n if (this.activeDirective) {\n const index = this.directives.toArray().findIndex((v, i) => v === this.activeDirective);\n const anchor = this.anchors.get(index);\n if (anchor && anchor.nativeElement.parentElement) {\n anchor.nativeElement.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n }\n \n scrollToHeader(directive: BsScrollspyDirective) {\n if (typeof window !== 'undefined') {\n const header = directive.element.nativeElement;\n const offsetY = this.scrollOffsetService.getScrollOffset()[1];\n const y = header.getBoundingClientRect().top + window.scrollY - offsetY + 1;\n window.scrollTo({top: y, behavior: 'smooth'});\n }\n }\n\n}\n","<div class=\"spy\">\n <ul class=\"text-muted\">\n <li *ngFor=\"let dir of directives; let i = index\">\n <span [attr.data-index]=\"i\" class=\"cursor-pointer\" [ngClass]=\"'nav' + dir.element.nativeElement.tagName\" [class.fw-bold]=\"activeDirective?.element === dir.element\" (click)=\"scrollToHeader(dir)\" [title]=\"dir.element.nativeElement.textContent\" #anchor>\n {{ dir.element.nativeElement.textContent }}\n </span>\n </li>\n </ul>\n</div>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsScrollspyComponent } from './component/scrollspy.component';\nimport { BsScrollspyDirective } from './directives/scrollspy.directive';\n\n\n\n@NgModule({\n declarations: [\n BsScrollspyComponent,\n BsScrollspyDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsScrollspyComponent,\n BsScrollspyDirective\n ]\n})\nexport class BsScrollspyModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}