@mintplayer/ng-bootstrap 15.0.1 → 15.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_bootstrap.scss +1 -1
- package/enhanced-paste/src/{enhanced-paste.directive.d.ts → directive/enhanced-paste.directive.d.ts} +1 -1
- package/enhanced-paste/src/enhanced-paste.module.d.ts +1 -1
- package/enhanced-paste/src/index.d.ts +2 -1
- package/{lib → enhanced-paste/src}/interfaces/number-overflow.d.ts +0 -0
- package/esm2020/enhanced-paste/src/directive/enhanced-paste.directive.mjs +58 -0
- package/esm2020/enhanced-paste/src/enhanced-paste.module.mjs +2 -2
- package/esm2020/enhanced-paste/src/index.mjs +3 -2
- package/esm2020/enhanced-paste/src/interfaces/number-overflow.mjs +2 -0
- package/esm2020/file-upload/src/component/file-upload.component.mjs +1 -1
- package/esm2020/file-upload/src/file-upload.module.mjs +10 -9
- package/esm2020/file-upload/src/index.mjs +2 -1
- package/esm2020/file-upload/src/pipes/format-bytes/format-bytes.pipe.mjs +23 -0
- package/esm2020/file-upload/src/pipes/index.mjs +2 -0
- package/esm2020/lib/interfaces/index.mjs +1 -3
- package/esm2020/lib/pipes/index.mjs +1 -2
- package/esm2020/lib/services/enum/enum.service.mjs +1 -1
- package/esm2020/lib/services/index.mjs +1 -2
- package/esm2020/pagination/src/component/index.mjs +2 -0
- package/esm2020/pagination/src/component/pagination/pagination.component.mjs +198 -0
- package/esm2020/pagination/src/index.mjs +4 -2
- package/esm2020/pagination/src/interfaces/index.mjs +2 -0
- package/esm2020/pagination/src/interfaces/page-with-selection.mjs +2 -0
- package/esm2020/pagination/src/pagination.module.mjs +2 -2
- package/esm2020/pagination/src/types/index.mjs +2 -0
- package/esm2020/pagination/src/types/page-number.type.mjs +2 -0
- package/esm2020/scrollspy/src/component/scrollspy.component.mjs +3 -3
- package/esm2020/scrollspy/src/index.mjs +2 -1
- package/esm2020/scrollspy/src/services/index.mjs +2 -0
- package/esm2020/scrollspy/src/services/scroll-offset/scroll-offset.service.mjs +31 -0
- package/esm2020/spinner/src/spinner.component.mjs +2 -2
- package/esm2020/toast/src/components/toast-body/toast-body.component.mjs +2 -2
- package/esm2020/toast/src/components/toast-header/toast-header.component.mjs +2 -2
- package/fesm2015/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs +32 -12
- package/fesm2015/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-scrollspy.mjs +35 -5
- package/fesm2015/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-spinner.mjs +2 -2
- package/fesm2015/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap-toast.mjs +2 -2
- package/fesm2015/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
- package/fesm2015/mintplayer-ng-bootstrap.mjs +2 -74
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs +32 -12
- package/fesm2020/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-scrollspy.mjs +33 -5
- package/fesm2020/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-spinner.mjs +2 -2
- package/fesm2020/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap-toast.mjs +2 -2
- package/fesm2020/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +2 -72
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/file-upload/src/file-upload.module.d.ts +4 -4
- package/file-upload/src/index.d.ts +1 -0
- package/{lib → file-upload/src}/pipes/format-bytes/format-bytes.pipe.d.ts +0 -0
- package/file-upload/src/pipes/index.d.ts +1 -0
- package/lib/interfaces/index.d.ts +0 -2
- package/lib/pipes/index.d.ts +0 -1
- package/lib/services/enum/enum.service.d.ts +3 -3
- package/lib/services/index.d.ts +0 -1
- package/package.json +1 -1
- package/pagination/src/component/index.d.ts +1 -0
- package/pagination/src/{pagination → component/pagination}/pagination.component.d.ts +2 -1
- package/pagination/src/index.d.ts +3 -1
- package/pagination/src/interfaces/index.d.ts +1 -0
- package/{lib → pagination/src}/interfaces/page-with-selection.d.ts +0 -0
- package/pagination/src/pagination.module.d.ts +1 -1
- package/pagination/src/types/index.d.ts +1 -0
- package/{lib → pagination/src}/types/page-number.type.d.ts +0 -0
- package/scrollspy/src/component/scrollspy.component.d.ts +1 -1
- package/scrollspy/src/index.d.ts +1 -0
- package/scrollspy/src/services/index.d.ts +1 -0
- package/{lib → scrollspy/src}/services/scroll-offset/scroll-offset.service.d.ts +0 -0
- package/toast/src/components/toast-body/toast-body.component.d.ts +0 -1
- package/toast/src/components/toast-header/toast-header.component.d.ts +0 -1
- package/esm2020/enhanced-paste/src/enhanced-paste.directive.mjs +0 -58
- package/esm2020/lib/interfaces/number-overflow.mjs +0 -2
- package/esm2020/lib/interfaces/page-with-selection.mjs +0 -2
- package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +0 -24
- package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +0 -23
- package/esm2020/lib/pipes/format-bytes/index.mjs +0 -3
- package/esm2020/lib/services/scroll-offset/scroll-offset.service.mjs +0 -31
- package/esm2020/lib/types/page-number.type.mjs +0 -2
- package/esm2020/pagination/src/pagination/pagination.component.mjs +0 -198
- package/lib/pipes/format-bytes/format-bytes.module.d.ts +0 -8
- package/lib/pipes/format-bytes/index.d.ts +0 -2
|
@@ -10,11 +10,11 @@ BsToastBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsToastBodyComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'bs-toast-body', template: "<ng-content></ng-content>\n" }]
|
|
13
|
-
}],
|
|
13
|
+
}], propDecorators: { toastClasses: [{
|
|
14
14
|
type: HostBinding,
|
|
15
15
|
args: ['class.d-flex']
|
|
16
16
|
}, {
|
|
17
17
|
type: HostBinding,
|
|
18
18
|
args: ['class.toast-body']
|
|
19
19
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3RvYXN0L3NyYy9jb21wb25lbnRzL3RvYXN0LWJvZHkvdG9hc3QtYm9keS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3RvYXN0L3NyYy9jb21wb25lbnRzL3RvYXN0LWJvZHkvdG9hc3QtYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQVFFLGlCQUFZLEdBQUcsSUFBSSxDQUFDO0tBQ3JCOztpSEFKWSxvQkFBb0I7cUdBQXBCLG9CQUFvQiw2SkNQakMsNkJBQ0E7MkZETWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7OEJBT3pCLFlBQVk7c0JBRlgsV0FBVzt1QkFBQyxjQUFjOztzQkFDMUIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JzLXRvYXN0LWJvZHknLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtYm9keS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LWJvZHkuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnNUb2FzdEJvZHlDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmQtZmxleCcpXG4gIEBIb3N0QmluZGluZygnY2xhc3MudG9hc3QtYm9keScpXG4gIHRvYXN0Q2xhc3NlcyA9IHRydWU7XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -10,8 +10,8 @@ BsToastHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsToastHeaderComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{ selector: 'bs-toast-header', template: "<ng-content></ng-content>" }]
|
|
13
|
-
}],
|
|
13
|
+
}], propDecorators: { toastClass: [{
|
|
14
14
|
type: HostBinding,
|
|
15
15
|
args: ['class.toast-header']
|
|
16
16
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvdG9hc3Qvc3JjL2NvbXBvbmVudHMvdG9hc3QtaGVhZGVyL3RvYXN0LWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3RvYXN0L3NyYy9jb21wb25lbnRzL3RvYXN0LWhlYWRlci90b2FzdC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3ZELE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNcUMsZUFBVSxHQUFHLElBQUksQ0FBQztLQUN0RDs7bUhBRlksc0JBQXNCO3VHQUF0QixzQkFBc0IsMEhDUG5DLDJCQUF5QjsyRkRPWixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtRLFVBQVU7c0JBQTVDLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicy10b2FzdC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJzVG9hc3RIZWFkZXJDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRvYXN0LWhlYWRlcicpIHRvYXN0Q2xhc3MgPSB0cnVlO1xufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-enhanced-paste.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/enhanced-paste/src/enhanced-paste.directive.ts","../../../../libs/mintplayer-ng-bootstrap/enhanced-paste/src/enhanced-paste.module.ts","../../../../libs/mintplayer-ng-bootstrap/enhanced-paste/mintplayer-ng-bootstrap-enhanced-paste.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { NumberOverflow } from '
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-enhanced-paste.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/enhanced-paste/src/directive/enhanced-paste.directive.ts","../../../../libs/mintplayer-ng-bootstrap/enhanced-paste/src/enhanced-paste.module.ts","../../../../libs/mintplayer-ng-bootstrap/enhanced-paste/mintplayer-ng-bootstrap-enhanced-paste.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostListener, Output } from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { NumberOverflow } from '../interfaces/number-overflow';\n\n@Directive({\n selector: 'input[type=\"number\"][bsEnhancedPaste]'\n})\nexport class EnhancedPasteDirective {\n\n constructor(private element: ElementRef<HTMLInputElement>, private model: NgModel) {\n }\n\n @Output() public numberOverflow = new EventEmitter<NumberOverflow>();\n\n @HostListener('paste', ['$event'])\n onPaste(event: ClipboardEvent) {\n // Prevent the default paste event\n event.preventDefault();\n \n // Get data from clipboard\n const data = event.clipboardData || (<any>window).clipboardData;\n const contents = data.getData('text');\n\n // Get min and max from input\n const min = parseFloat(this.element.nativeElement.min);\n const max = parseFloat(this.element.nativeElement.max);\n\n const filtered = this.filterInput(contents, min, max);\n if (filtered) {\n this.numberOverflow.emit(filtered);\n if (filtered.boundaryValue) {\n // Update NgModel\n this.model.control.setValue(filtered?.boundaryValue, { emitEvent: false, onlySelf: true });\n }\n }\n\n }\n\n filterInput(value: any, min: number, max: number): NumberOverflow | null {\n const val = parseInt(value);\n if (isNaN(val)) {\n return { boundary: 'invalid' };\n } else if (val > max) {\n return { boundary: 'max', inputValue: val, boundaryValue: max };\n } else if (val < min) {\n return { boundary: 'min', inputValue: val, boundaryValue: min };\n } else {\n return null;\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EnhancedPasteDirective } from './directive/enhanced-paste.directive';\n\n@NgModule({\n declarations: [\n EnhancedPasteDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n EnhancedPasteDirective\n ]\n})\nexport class EnhancedPasteModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, HostListener, Directive, NgModule } from '@angular/core';
|
|
2
|
+
import { Pipe, EventEmitter, Component, Input, Output, HostListener, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@mintplayer/ng-bootstrap/for';
|
|
@@ -8,8 +8,27 @@ import * as i3 from '@mintplayer/ng-bootstrap/progress-bar';
|
|
|
8
8
|
import { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';
|
|
9
9
|
import * as i4 from '@mintplayer/ng-bootstrap/list-group';
|
|
10
10
|
import { BsListGroupModule } from '@mintplayer/ng-bootstrap/list-group';
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
|
|
12
|
+
class BsFormatBytesPipe {
|
|
13
|
+
transform(value, decimals = 2) {
|
|
14
|
+
if (value === 0) {
|
|
15
|
+
return "0 Bytes";
|
|
16
|
+
}
|
|
17
|
+
const k = 1024;
|
|
18
|
+
const dm = decimals <= 0 ? 0 : decimals;
|
|
19
|
+
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
20
|
+
const i = Math.floor(Math.log(value) / Math.log(k));
|
|
21
|
+
return parseFloat((value / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
BsFormatBytesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFormatBytesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
25
|
+
BsFormatBytesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: BsFormatBytesPipe, name: "bsFormatBytes" });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFormatBytesPipe, decorators: [{
|
|
27
|
+
type: Pipe,
|
|
28
|
+
args: [{
|
|
29
|
+
name: 'bsFormatBytes'
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
13
32
|
|
|
14
33
|
class BsFileUploadComponent {
|
|
15
34
|
constructor() {
|
|
@@ -63,7 +82,7 @@ class BsFileUploadComponent {
|
|
|
63
82
|
}
|
|
64
83
|
}
|
|
65
84
|
BsFileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
BsFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BsFileUploadComponent, selector: "bs-file-upload", inputs: { dropFilesCaption: "dropFilesCaption", browseFilesCaption: "browseFilesCaption", placeholder: "placeholder", files: "files" }, outputs: { filesDropped: "filesDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, ngImport: i0, template: "<div class=\"dropzone border position-relative p-5\" [class.dragging]=\"isDraggingFile\">\n <input type=\"file\" multiple #fileUpload (change)=\"onChange($event)\" [title]=\"placeholder\" [placeholder]=\"placeholder\" class=\"position-absolute w-100 h-100\">\n <!-- <img src=\"/assets/ic-file-upload.svg\" [alt]=\"placeholder\"> -->\n <span class=\"h3 d-block\">{{ dropFilesCaption }}</span>\n <label class=\"btn btn-primary position-relative\" [bsFor]=\"fileUpload\">{{ browseFilesCaption }}</label>\n</div>\n<bs-list-group class=\"files-list\">\n <bs-list-group-item *ngFor=\"let upload of files\">\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n</bs-list-group>\n\n<ng-template #defaultFileTemplate let-upload>\n <div class=\"d-flex flex-row mx-auto\">\n <div class=\"file-img\"></div>\n <div class=\"flex-grow-1 text-start px-2\">\n <span class=\"d-block text-truncate text-secondary\">{{ upload.file.name }}</span>\n <span class=\"d-block text-grey mb-0\">{{ upload.file.size | bsFormatBytes }}</span>\n <bs-progress [height]=\"4\">\n <bs-progress-bar [minimum]=\"0\" [maximum]=\"upload.file.size\" [value]=\"upload.progress\"></bs-progress-bar>\n </bs-progress>\n </div>\n </div>\n</ng-template>", styles: [".dropzone{z-index:1}.dropzone.dragging{border:4px solid #CB1535!important;background:#DC88A8;margin:-3px -3px -4px}.dropzone input{opacity:0;z-index:2;top:0;left:0}.dropzone .btn{z-index:5}.files-list{margin-top:-1px}.files-list .d-flex{max-width:400px}.text-grey{color:#999}.list-group span{margin:-5px auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsForDirective, selector: "[bsFor]", inputs: ["bsFor"] }, { kind: "component", type: i3.BsProgressBarComponent, selector: "bs-progress-bar", inputs: ["minimum", "maximum", "value", "color", "striped", "animated"] }, { kind: "component", type: i3.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }, { kind: "component", type: i4.BsListGroupComponent, selector: "bs-list-group" }, { kind: "component", type: i4.BsListGroupItemComponent, selector: "bs-list-group-item" }, { kind: "pipe", type:
|
|
85
|
+
BsFileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: BsFileUploadComponent, selector: "bs-file-upload", inputs: { dropFilesCaption: "dropFilesCaption", browseFilesCaption: "browseFilesCaption", placeholder: "placeholder", files: "files" }, outputs: { filesDropped: "filesDropped" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, ngImport: i0, template: "<div class=\"dropzone border position-relative p-5\" [class.dragging]=\"isDraggingFile\">\n <input type=\"file\" multiple #fileUpload (change)=\"onChange($event)\" [title]=\"placeholder\" [placeholder]=\"placeholder\" class=\"position-absolute w-100 h-100\">\n <!-- <img src=\"/assets/ic-file-upload.svg\" [alt]=\"placeholder\"> -->\n <span class=\"h3 d-block\">{{ dropFilesCaption }}</span>\n <label class=\"btn btn-primary position-relative\" [bsFor]=\"fileUpload\">{{ browseFilesCaption }}</label>\n</div>\n<bs-list-group class=\"files-list\">\n <bs-list-group-item *ngFor=\"let upload of files\">\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n</bs-list-group>\n\n<ng-template #defaultFileTemplate let-upload>\n <div class=\"d-flex flex-row mx-auto\">\n <div class=\"file-img\"></div>\n <div class=\"flex-grow-1 text-start px-2\">\n <span class=\"d-block text-truncate text-secondary\">{{ upload.file.name }}</span>\n <span class=\"d-block text-grey mb-0\">{{ upload.file.size | bsFormatBytes }}</span>\n <bs-progress [height]=\"4\">\n <bs-progress-bar [minimum]=\"0\" [maximum]=\"upload.file.size\" [value]=\"upload.progress\"></bs-progress-bar>\n </bs-progress>\n </div>\n </div>\n</ng-template>", styles: [".dropzone{z-index:1}.dropzone.dragging{border:4px solid #CB1535!important;background:#DC88A8;margin:-3px -3px -4px}.dropzone input{opacity:0;z-index:2;top:0;left:0}.dropzone .btn{z-index:5}.files-list{margin-top:-1px}.files-list .d-flex{max-width:400px}.text-grey{color:#999}.list-group span{margin:-5px auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.BsForDirective, selector: "[bsFor]", inputs: ["bsFor"] }, { kind: "component", type: i3.BsProgressBarComponent, selector: "bs-progress-bar", inputs: ["minimum", "maximum", "value", "color", "striped", "animated"] }, { kind: "component", type: i3.BsProgressComponent, selector: "bs-progress", inputs: ["height", "isIndeterminate"] }, { kind: "component", type: i4.BsListGroupComponent, selector: "bs-list-group" }, { kind: "component", type: i4.BsListGroupItemComponent, selector: "bs-list-group-item" }, { kind: "pipe", type: BsFormatBytesPipe, name: "bsFormatBytes" }] });
|
|
67
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFileUploadComponent, decorators: [{
|
|
68
87
|
type: Component,
|
|
69
88
|
args: [{ selector: 'bs-file-upload', template: "<div class=\"dropzone border position-relative p-5\" [class.dragging]=\"isDraggingFile\">\n <input type=\"file\" multiple #fileUpload (change)=\"onChange($event)\" [title]=\"placeholder\" [placeholder]=\"placeholder\" class=\"position-absolute w-100 h-100\">\n <!-- <img src=\"/assets/ic-file-upload.svg\" [alt]=\"placeholder\"> -->\n <span class=\"h3 d-block\">{{ dropFilesCaption }}</span>\n <label class=\"btn btn-primary position-relative\" [bsFor]=\"fileUpload\">{{ browseFilesCaption }}</label>\n</div>\n<bs-list-group class=\"files-list\">\n <bs-list-group-item *ngFor=\"let upload of files\">\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n</bs-list-group>\n\n<ng-template #defaultFileTemplate let-upload>\n <div class=\"d-flex flex-row mx-auto\">\n <div class=\"file-img\"></div>\n <div class=\"flex-grow-1 text-start px-2\">\n <span class=\"d-block text-truncate text-secondary\">{{ upload.file.name }}</span>\n <span class=\"d-block text-grey mb-0\">{{ upload.file.size | bsFormatBytes }}</span>\n <bs-progress [height]=\"4\">\n <bs-progress-bar [minimum]=\"0\" [maximum]=\"upload.file.size\" [value]=\"upload.progress\"></bs-progress-bar>\n </bs-progress>\n </div>\n </div>\n</ng-template>", styles: [".dropzone{z-index:1}.dropzone.dragging{border:4px solid #CB1535!important;background:#DC88A8;margin:-3px -3px -4px}.dropzone input{opacity:0;z-index:2;top:0;left:0}.dropzone .btn{z-index:5}.files-list{margin-top:-1px}.files-list .d-flex{max-width:400px}.text-grey{color:#999}.list-group span{margin:-5px auto}\n"] }]
|
|
@@ -106,15 +125,15 @@ class BsFileUploadModule {
|
|
|
106
125
|
}
|
|
107
126
|
BsFileUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
108
127
|
BsFileUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: BsFileUploadModule, declarations: [BsFileUploadComponent,
|
|
109
|
-
BsFileUploadTemplateDirective
|
|
128
|
+
BsFileUploadTemplateDirective,
|
|
129
|
+
BsFormatBytesPipe], imports: [CommonModule,
|
|
110
130
|
BsForModule,
|
|
111
|
-
BsFormatBytesModule,
|
|
112
131
|
BsProgressBarModule,
|
|
113
132
|
BsListGroupModule], exports: [BsFileUploadComponent,
|
|
114
|
-
BsFileUploadTemplateDirective
|
|
133
|
+
BsFileUploadTemplateDirective,
|
|
134
|
+
BsFormatBytesPipe] });
|
|
115
135
|
BsFileUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFileUploadModule, imports: [CommonModule,
|
|
116
136
|
BsForModule,
|
|
117
|
-
BsFormatBytesModule,
|
|
118
137
|
BsProgressBarModule,
|
|
119
138
|
BsListGroupModule] });
|
|
120
139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: BsFileUploadModule, decorators: [{
|
|
@@ -122,18 +141,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
122
141
|
args: [{
|
|
123
142
|
declarations: [
|
|
124
143
|
BsFileUploadComponent,
|
|
125
|
-
BsFileUploadTemplateDirective
|
|
144
|
+
BsFileUploadTemplateDirective,
|
|
145
|
+
BsFormatBytesPipe
|
|
126
146
|
],
|
|
127
147
|
imports: [
|
|
128
148
|
CommonModule,
|
|
129
149
|
BsForModule,
|
|
130
|
-
BsFormatBytesModule,
|
|
131
150
|
BsProgressBarModule,
|
|
132
151
|
BsListGroupModule
|
|
133
152
|
],
|
|
134
153
|
exports: [
|
|
135
154
|
BsFileUploadComponent,
|
|
136
|
-
BsFileUploadTemplateDirective
|
|
155
|
+
BsFileUploadTemplateDirective,
|
|
156
|
+
BsFormatBytesPipe
|
|
137
157
|
]
|
|
138
158
|
}]
|
|
139
159
|
}] });
|
|
@@ -142,5 +162,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
142
162
|
* Generated bundle index. Do not edit.
|
|
143
163
|
*/
|
|
144
164
|
|
|
145
|
-
export { BsFileUploadComponent, BsFileUploadModule, BsFileUploadTemplateDirective };
|
|
165
|
+
export { BsFileUploadComponent, BsFileUploadModule, BsFileUploadTemplateDirective, BsFormatBytesPipe };
|
|
146
166
|
//# sourceMappingURL=mintplayer-ng-bootstrap-file-upload.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-file-upload.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/file-upload/src/component/file-upload.component.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/component/file-upload.component.html","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/directive/file-upload-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/file-upload.module.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/mintplayer-ng-bootstrap-file-upload.ts"],"sourcesContent":["import { Component, EventEmitter, HostListener, Input, Output, TemplateRef } from '@angular/core';\nimport { FileUpload } from '../file-upload';\n\n@Component({\n selector: 'bs-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss']\n})\nexport class BsFileUploadComponent {\n\n @Input() public dropFilesCaption = 'Drop your files here';\n @Input() public browseFilesCaption = 'Browse for files';\n @Input() public placeholder = 'Drop files to upload';\n\n isDraggingFile = false;\n fileTemplate?: TemplateRef<FileUpload>;\n @Input() public files: FileUpload[] = [];\n @Output() public filesDropped = new EventEmitter<FileUpload[]>();\n\n onChange(event: Event) {\n if (!event.target) return;\n if (!('files' in event.target)) return;\n if (!event.target['files']) return;\n\n const files = (<HTMLInputElement>event.target).files;\n if (!files) return;\n \n this.processDroppedFiles(files);\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n \n if (event.dataTransfer) {\n this.isDraggingFile = true;\n event.dataTransfer.effectAllowed = \"copy\";\n }\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isDraggingFile = false;\n }\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isDraggingFile = false;\n if (event.dataTransfer && event.dataTransfer.files) {\n this.processDroppedFiles(event.dataTransfer.files);\n }\n }\n\n private processDroppedFiles(fileList: FileList) {\n const newFiles = [...Array(fileList.length).keys()]\n .map(i => fileList.item(i))\n .filter(f => !!f)\n .map(f => <FileUpload>{ file: f, progress: 0 });\n \n this.files.push(...newFiles);\n this.filesDropped.emit(newFiles);\n }\n}\n","<div class=\"dropzone border position-relative p-5\" [class.dragging]=\"isDraggingFile\">\n <input type=\"file\" multiple #fileUpload (change)=\"onChange($event)\" [title]=\"placeholder\" [placeholder]=\"placeholder\" class=\"position-absolute w-100 h-100\">\n <!-- <img src=\"/assets/ic-file-upload.svg\" [alt]=\"placeholder\"> -->\n <span class=\"h3 d-block\">{{ dropFilesCaption }}</span>\n <label class=\"btn btn-primary position-relative\" [bsFor]=\"fileUpload\">{{ browseFilesCaption }}</label>\n</div>\n<bs-list-group class=\"files-list\">\n <bs-list-group-item *ngFor=\"let upload of files\">\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n</bs-list-group>\n\n<ng-template #defaultFileTemplate let-upload>\n <div class=\"d-flex flex-row mx-auto\">\n <div class=\"file-img\"></div>\n <div class=\"flex-grow-1 text-start px-2\">\n <span class=\"d-block text-truncate text-secondary\">{{ upload.file.name }}</span>\n <span class=\"d-block text-grey mb-0\">{{ upload.file.size | bsFormatBytes }}</span>\n <bs-progress [height]=\"4\">\n <bs-progress-bar [minimum]=\"0\" [maximum]=\"upload.file.size\" [value]=\"upload.progress\"></bs-progress-bar>\n </bs-progress>\n </div>\n </div>\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsFileUploadComponent } from '../component/file-upload.component';\n\n@Directive({\n selector: '[bsFileUploadTemplate]'\n})\nexport class BsFileUploadTemplateDirective {\n\n constructor(fileUploadComponent: BsFileUploadComponent, templateRef: TemplateRef<any>) {\n fileUploadComponent.fileTemplate = templateRef;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsFormatBytesModule } from '@mintplayer/ng-bootstrap';\nimport { BsForModule } from '@mintplayer/ng-bootstrap/for';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsListGroupModule } from '@mintplayer/ng-bootstrap/list-group';\nimport { BsFileUploadComponent } from './component/file-upload.component';\nimport { BsFileUploadTemplateDirective } from './directive/file-upload-template.directive';\n\n@NgModule({\n declarations: [\n BsFileUploadComponent,\n BsFileUploadTemplateDirective\n ],\n imports: [\n CommonModule,\n BsForModule,\n BsFormatBytesModule,\n BsProgressBarModule,\n BsListGroupModule\n ],\n exports: [\n BsFileUploadComponent,\n BsFileUploadTemplateDirective\n ]\n})\nexport class BsFileUploadModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsFileUploadComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-file-upload.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/file-upload/src/pipes/format-bytes/format-bytes.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/component/file-upload.component.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/component/file-upload.component.html","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/directive/file-upload-template.directive.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/src/file-upload.module.ts","../../../../libs/mintplayer-ng-bootstrap/file-upload/mintplayer-ng-bootstrap-file-upload.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsFormatBytes'\n})\nexport class BsFormatBytesPipe implements PipeTransform {\n\n transform(value: number, decimals = 2) {\n if (value === 0) {\n return \"0 Bytes\";\n }\n\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(value) / Math.log(k));\n\n return parseFloat((value / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n }\n\n}\n","import { Component, EventEmitter, HostListener, Input, Output, TemplateRef } from '@angular/core';\nimport { FileUpload } from '../file-upload';\n\n@Component({\n selector: 'bs-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss']\n})\nexport class BsFileUploadComponent {\n\n @Input() public dropFilesCaption = 'Drop your files here';\n @Input() public browseFilesCaption = 'Browse for files';\n @Input() public placeholder = 'Drop files to upload';\n\n isDraggingFile = false;\n fileTemplate?: TemplateRef<FileUpload>;\n @Input() public files: FileUpload[] = [];\n @Output() public filesDropped = new EventEmitter<FileUpload[]>();\n\n onChange(event: Event) {\n if (!event.target) return;\n if (!('files' in event.target)) return;\n if (!event.target['files']) return;\n\n const files = (<HTMLInputElement>event.target).files;\n if (!files) return;\n \n this.processDroppedFiles(files);\n }\n\n @HostListener('dragover', ['$event'])\n onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n \n if (event.dataTransfer) {\n this.isDraggingFile = true;\n event.dataTransfer.effectAllowed = \"copy\";\n }\n }\n\n @HostListener('dragleave', ['$event'])\n onDragLeave(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isDraggingFile = false;\n }\n\n @HostListener('drop', ['$event'])\n onDrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.isDraggingFile = false;\n if (event.dataTransfer && event.dataTransfer.files) {\n this.processDroppedFiles(event.dataTransfer.files);\n }\n }\n\n private processDroppedFiles(fileList: FileList) {\n const newFiles = [...Array(fileList.length).keys()]\n .map(i => fileList.item(i))\n .filter(f => !!f)\n .map(f => <FileUpload>{ file: f, progress: 0 });\n \n this.files.push(...newFiles);\n this.filesDropped.emit(newFiles);\n }\n}\n","<div class=\"dropzone border position-relative p-5\" [class.dragging]=\"isDraggingFile\">\n <input type=\"file\" multiple #fileUpload (change)=\"onChange($event)\" [title]=\"placeholder\" [placeholder]=\"placeholder\" class=\"position-absolute w-100 h-100\">\n <!-- <img src=\"/assets/ic-file-upload.svg\" [alt]=\"placeholder\"> -->\n <span class=\"h3 d-block\">{{ dropFilesCaption }}</span>\n <label class=\"btn btn-primary position-relative\" [bsFor]=\"fileUpload\">{{ browseFilesCaption }}</label>\n</div>\n<bs-list-group class=\"files-list\">\n <bs-list-group-item *ngFor=\"let upload of files\">\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n</bs-list-group>\n\n<ng-template #defaultFileTemplate let-upload>\n <div class=\"d-flex flex-row mx-auto\">\n <div class=\"file-img\"></div>\n <div class=\"flex-grow-1 text-start px-2\">\n <span class=\"d-block text-truncate text-secondary\">{{ upload.file.name }}</span>\n <span class=\"d-block text-grey mb-0\">{{ upload.file.size | bsFormatBytes }}</span>\n <bs-progress [height]=\"4\">\n <bs-progress-bar [minimum]=\"0\" [maximum]=\"upload.file.size\" [value]=\"upload.progress\"></bs-progress-bar>\n </bs-progress>\n </div>\n </div>\n</ng-template>","import { Directive, TemplateRef } from '@angular/core';\nimport { BsFileUploadComponent } from '../component/file-upload.component';\n\n@Directive({\n selector: '[bsFileUploadTemplate]'\n})\nexport class BsFileUploadTemplateDirective {\n\n constructor(fileUploadComponent: BsFileUploadComponent, templateRef: TemplateRef<any>) {\n fileUploadComponent.fileTemplate = templateRef;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsForModule } from '@mintplayer/ng-bootstrap/for';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsListGroupModule } from '@mintplayer/ng-bootstrap/list-group';\nimport { BsFileUploadComponent } from './component/file-upload.component';\nimport { BsFileUploadTemplateDirective } from './directive/file-upload-template.directive';\nimport { BsFormatBytesPipe } from './pipes/format-bytes/format-bytes.pipe';\n\n@NgModule({\n declarations: [\n BsFileUploadComponent,\n BsFileUploadTemplateDirective,\n BsFormatBytesPipe\n ],\n imports: [\n CommonModule,\n BsForModule,\n BsProgressBarModule,\n BsListGroupModule\n ],\n exports: [\n BsFileUploadComponent,\n BsFileUploadTemplateDirective,\n BsFormatBytesPipe\n ]\n})\nexport class BsFileUploadModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5.BsFormatBytesPipe","i1.BsFileUploadComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-pagination.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/pagination/src/pagination/pagination.component.ts","../../../../libs/mintplayer-ng-bootstrap/pagination/src/pagination/pagination.component.html","../../../../libs/mintplayer-ng-bootstrap/pagination/src/pagination.module.ts","../../../../libs/mintplayer-ng-bootstrap/pagination/mintplayer-ng-bootstrap-pagination.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { PageWithSelection, Size } from '@mintplayer/ng-bootstrap';\nimport { BehaviorSubject, combineLatest, map, Observable, Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'bs-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n})\nexport class BsPaginationComponent implements OnDestroy {\n constructor() {\n this.destroyed$ = new Subject();\n\n this.visibleNumberOfNumberBoxes$ = combineLatest([\n this.numberOfBoxes$,\n this.pageNumbers$,\n this.showArrows$,\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([numberOfBoxes, pageNumbers, showArrows]) => {\n if (numberOfBoxes <= 0) {\n return pageNumbers.length;\n } else if (!showArrows) {\n return Math.min(numberOfBoxes, pageNumbers.length);\n } else if (numberOfBoxes <= 2) {\n return Math.min(1, pageNumbers.length);\n } else {\n return Math.min(numberOfBoxes - 2, pageNumbers.length);\n }\n })\n );\n\n this.isLeftOverflow$ = combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])\n .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {\n const index = pageNumbers.indexOf(selectedPageNumber);\n const middle = Math.floor(visibleNumberOfNumberBoxes / 2);\n return index > middle;\n }));\n\n this.isRightOverflow$ = combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])\n .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {\n const index = pageNumbers.indexOf(selectedPageNumber);\n const middle = Math.floor(visibleNumberOfNumberBoxes / 2);\n return (pageNumbers.length - index) < middle;\n }));\n\n this.shownPageNumbers$ = combineLatest([\n this.pageNumbers$,\n this.selectedPageNumber$,\n this.visibleNumberOfNumberBoxes$,\n this.isLeftOverflow$,\n this.isRightOverflow$\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes, isLeftOverflow, isRightOverflow]) => {\n // const boxesToRemove = pageNumbers.length - visibleNumberOfNumberBoxes\n // + (isLeftOverflow ? 1 : 0)\n // + (isRightOverflow ? 1 : 0);\n\n // let result: number[] = [];\n // result.push(pageNumbers[0]);\n\n // // ...\n\n // result.push(pageNumbers[pageNumbers.length - 1]);\n\n let startIndex = 0;\n const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);\n if (pageNumbers.indexOf(selectedPageNumber) < half) {\n startIndex = 0;\n } else if (\n pageNumbers.indexOf(selectedPageNumber) >=\n pageNumbers.length - half\n ) {\n startIndex = pageNumbers.length - visibleNumberOfNumberBoxes;\n } else {\n startIndex = pageNumbers.indexOf(selectedPageNumber) - half;\n }\n\n return [...Array(visibleNumberOfNumberBoxes).keys()]\n .map((p) => p + startIndex)\n .map((p) =><PageWithSelection>{\n page: pageNumbers[p],\n selected: pageNumbers[p] === selectedPageNumber,\n });\n })\n );\n\n this.isFirstPage$ = combineLatest([\n this.pageNumbers$,\n this.selectedPageNumber$,\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([pageNumbers, selectedPageNumber]) => {\n return pageNumbers.indexOf(selectedPageNumber) === 0;\n })\n );\n\n this.isLastPage$ = combineLatest([\n this.pageNumbers$,\n this.selectedPageNumber$,\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([pageNumbers, selectedPageNumber]) => {\n return (pageNumbers.indexOf(selectedPageNumber) === pageNumbers.length - 1);\n })\n );\n\n this.selectedPageNumber$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((selectedPageNumber) => {\n this.selectedPageNumberChange.emit(selectedPageNumber);\n });\n }\n\n /** All page numbers. */\n pageNumbers$ = new BehaviorSubject<number[]>([]);\n /** Page numbers to be displayed to the user. */\n shownPageNumbers$: Observable<PageWithSelection[]>;\n /** Selected number. */\n selectedPageNumber$ = new BehaviorSubject<number>(1);\n /** Number of boxes. */\n numberOfBoxes$ = new BehaviorSubject<number>(0);\n /** Display previous/next arrows. */\n showArrows$ = new BehaviorSubject<boolean>(true);\n /** Page number size. */\n size$ = new BehaviorSubject<Size>('medium');\n\n /** Indicates if first value is selected. */\n isFirstPage$: Observable<boolean>;\n /** Indicates if last value is selected. */\n isLastPage$: Observable<boolean>;\n /** The number of boxes (excluding arrows) that's being shown on the pagination component. */\n visibleNumberOfNumberBoxes$: Observable<number>;\n /** Indicates whether there are too many numbers to the left-hand side of the current page. */\n isLeftOverflow$: Observable<boolean>;\n /** Indicates whether there are too many numbers to the right-hand side of the current page. */\n isRightOverflow$: Observable<boolean>;\n /** Monitor OnDestroyed hook. */\n private destroyed$: Subject<any>;\n\n //#region SelectedPageNumber\n @Output() public selectedPageNumberChange = new EventEmitter<number>();\n @Input() set selectedPageNumber(value: number) {\n this.selectedPageNumber$.next(value);\n }\n get selectedPageNumber() {\n return this.selectedPageNumber$.value;\n }\n //#endregion\n\n //#region NumberOfBoxes\n @Input() set numberOfBoxes(value: number) {\n this.numberOfBoxes$.next(value);\n }\n get numberOfBoxes() {\n return this.numberOfBoxes$.value;\n }\n //#endregion\n\n //#region PageNumbers\n @Input() set pageNumbers(value: number[]) {\n this.pageNumbers$.next(value);\n }\n get pageNumbers() {\n return this.pageNumbers$.value;\n }\n //#endregion\n\n //#region ShowArrows\n @Input() set showArrows(value: boolean) {\n this.showArrows$.next(value);\n }\n get showArrows() {\n return this.showArrows$.value;\n }\n //#endregion\n\n //#region Size\n @Input() set size(value: Size) {\n this.size$.next(value);\n }\n get size() {\n return this.size$.value;\n }\n //#endregion\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n onSelectPage(event: MouseEvent, page: number) {\n this.selectedPageNumber$.next(page);\n return false;\n }\n\n onPrevious() {\n const index = this.pageNumbers.indexOf(this.selectedPageNumber);\n if (index > 0) {\n const newValue = this.pageNumbers[index - 1];\n this.selectedPageNumber$.next(newValue);\n } else {\n this.selectedPageNumber$.next(this.pageNumbers[0]);\n }\n return false;\n }\n\n onNext() {\n const index = this.pageNumbers.indexOf(this.selectedPageNumber);\n if (index < 0) {\n this.selectedPageNumber$.next(this.pageNumbers[this.pageNumbers.length - 1]);\n } else if (index < this.pageNumbers.length - 1) {\n this.selectedPageNumber$.next(this.pageNumbers[index + 1]);\n } else {\n this.selectedPageNumber$.next(this.pageNumbers[this.pageNumbers.length - 1]);\n }\n return false;\n }\n}\n","<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" [class.disabled]=\"isFirstPage$ | async\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\"\n [ngClass]=\"{ 'active': pageNumber.selected }\" *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\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" [class.disabled]=\"isLastPage$ | async\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsPaginationComponent } from './pagination/pagination.component';\n\n\n\n@NgModule({\n declarations: [\n BsPaginationComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsPaginationComponent\n ]\n})\nexport class BsPaginationModule { }\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-pagination.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/pagination/src/component/pagination/pagination.component.ts","../../../../libs/mintplayer-ng-bootstrap/pagination/src/component/pagination/pagination.component.html","../../../../libs/mintplayer-ng-bootstrap/pagination/src/pagination.module.ts","../../../../libs/mintplayer-ng-bootstrap/pagination/mintplayer-ng-bootstrap-pagination.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { Size } from '@mintplayer/ng-bootstrap';\nimport { BehaviorSubject, combineLatest, map, Observable, Subject, takeUntil } from 'rxjs';\nimport { PageWithSelection } from '../../interfaces/page-with-selection';\n\n@Component({\n selector: 'bs-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n})\nexport class BsPaginationComponent implements OnDestroy {\n constructor() {\n this.destroyed$ = new Subject();\n\n this.visibleNumberOfNumberBoxes$ = combineLatest([\n this.numberOfBoxes$,\n this.pageNumbers$,\n this.showArrows$,\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([numberOfBoxes, pageNumbers, showArrows]) => {\n if (numberOfBoxes <= 0) {\n return pageNumbers.length;\n } else if (!showArrows) {\n return Math.min(numberOfBoxes, pageNumbers.length);\n } else if (numberOfBoxes <= 2) {\n return Math.min(1, pageNumbers.length);\n } else {\n return Math.min(numberOfBoxes - 2, pageNumbers.length);\n }\n })\n );\n\n this.isLeftOverflow$ = combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])\n .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {\n const index = pageNumbers.indexOf(selectedPageNumber);\n const middle = Math.floor(visibleNumberOfNumberBoxes / 2);\n return index > middle;\n }));\n\n this.isRightOverflow$ = combineLatest([this.pageNumbers$, this.selectedPageNumber$, this.visibleNumberOfNumberBoxes$])\n .pipe(map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes]) => {\n const index = pageNumbers.indexOf(selectedPageNumber);\n const middle = Math.floor(visibleNumberOfNumberBoxes / 2);\n return (pageNumbers.length - index) < middle;\n }));\n\n this.shownPageNumbers$ = combineLatest([\n this.pageNumbers$,\n this.selectedPageNumber$,\n this.visibleNumberOfNumberBoxes$,\n this.isLeftOverflow$,\n this.isRightOverflow$\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([pageNumbers, selectedPageNumber, visibleNumberOfNumberBoxes, isLeftOverflow, isRightOverflow]) => {\n // const boxesToRemove = pageNumbers.length - visibleNumberOfNumberBoxes\n // + (isLeftOverflow ? 1 : 0)\n // + (isRightOverflow ? 1 : 0);\n\n // let result: number[] = [];\n // result.push(pageNumbers[0]);\n\n // // ...\n\n // result.push(pageNumbers[pageNumbers.length - 1]);\n\n let startIndex = 0;\n const half = Math.round((visibleNumberOfNumberBoxes - 1) / 2);\n if (pageNumbers.indexOf(selectedPageNumber) < half) {\n startIndex = 0;\n } else if (\n pageNumbers.indexOf(selectedPageNumber) >=\n pageNumbers.length - half\n ) {\n startIndex = pageNumbers.length - visibleNumberOfNumberBoxes;\n } else {\n startIndex = pageNumbers.indexOf(selectedPageNumber) - half;\n }\n\n return [...Array(visibleNumberOfNumberBoxes).keys()]\n .map((p) => p + startIndex)\n .map((p) =><PageWithSelection>{\n page: pageNumbers[p],\n selected: pageNumbers[p] === selectedPageNumber,\n });\n })\n );\n\n this.isFirstPage$ = combineLatest([\n this.pageNumbers$,\n this.selectedPageNumber$,\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([pageNumbers, selectedPageNumber]) => {\n return pageNumbers.indexOf(selectedPageNumber) === 0;\n })\n );\n\n this.isLastPage$ = combineLatest([\n this.pageNumbers$,\n this.selectedPageNumber$,\n ])\n .pipe(takeUntil(this.destroyed$))\n .pipe(\n map(([pageNumbers, selectedPageNumber]) => {\n return (pageNumbers.indexOf(selectedPageNumber) === pageNumbers.length - 1);\n })\n );\n\n this.selectedPageNumber$\n .pipe(takeUntil(this.destroyed$))\n .subscribe((selectedPageNumber) => {\n this.selectedPageNumberChange.emit(selectedPageNumber);\n });\n }\n\n /** All page numbers. */\n pageNumbers$ = new BehaviorSubject<number[]>([]);\n /** Page numbers to be displayed to the user. */\n shownPageNumbers$: Observable<PageWithSelection[]>;\n /** Selected number. */\n selectedPageNumber$ = new BehaviorSubject<number>(1);\n /** Number of boxes. */\n numberOfBoxes$ = new BehaviorSubject<number>(0);\n /** Display previous/next arrows. */\n showArrows$ = new BehaviorSubject<boolean>(true);\n /** Page number size. */\n size$ = new BehaviorSubject<Size>('medium');\n\n /** Indicates if first value is selected. */\n isFirstPage$: Observable<boolean>;\n /** Indicates if last value is selected. */\n isLastPage$: Observable<boolean>;\n /** The number of boxes (excluding arrows) that's being shown on the pagination component. */\n visibleNumberOfNumberBoxes$: Observable<number>;\n /** Indicates whether there are too many numbers to the left-hand side of the current page. */\n isLeftOverflow$: Observable<boolean>;\n /** Indicates whether there are too many numbers to the right-hand side of the current page. */\n isRightOverflow$: Observable<boolean>;\n /** Monitor OnDestroyed hook. */\n private destroyed$: Subject<any>;\n\n //#region SelectedPageNumber\n @Output() public selectedPageNumberChange = new EventEmitter<number>();\n @Input() set selectedPageNumber(value: number) {\n this.selectedPageNumber$.next(value);\n }\n get selectedPageNumber() {\n return this.selectedPageNumber$.value;\n }\n //#endregion\n\n //#region NumberOfBoxes\n @Input() set numberOfBoxes(value: number) {\n this.numberOfBoxes$.next(value);\n }\n get numberOfBoxes() {\n return this.numberOfBoxes$.value;\n }\n //#endregion\n\n //#region PageNumbers\n @Input() set pageNumbers(value: number[]) {\n this.pageNumbers$.next(value);\n }\n get pageNumbers() {\n return this.pageNumbers$.value;\n }\n //#endregion\n\n //#region ShowArrows\n @Input() set showArrows(value: boolean) {\n this.showArrows$.next(value);\n }\n get showArrows() {\n return this.showArrows$.value;\n }\n //#endregion\n\n //#region Size\n @Input() set size(value: Size) {\n this.size$.next(value);\n }\n get size() {\n return this.size$.value;\n }\n //#endregion\n\n ngOnDestroy() {\n this.destroyed$.next(true);\n }\n\n onSelectPage(event: MouseEvent, page: number) {\n this.selectedPageNumber$.next(page);\n return false;\n }\n\n onPrevious() {\n const index = this.pageNumbers.indexOf(this.selectedPageNumber);\n if (index > 0) {\n const newValue = this.pageNumbers[index - 1];\n this.selectedPageNumber$.next(newValue);\n } else {\n this.selectedPageNumber$.next(this.pageNumbers[0]);\n }\n return false;\n }\n\n onNext() {\n const index = this.pageNumbers.indexOf(this.selectedPageNumber);\n if (index < 0) {\n this.selectedPageNumber$.next(this.pageNumbers[this.pageNumbers.length - 1]);\n } else if (index < this.pageNumbers.length - 1) {\n this.selectedPageNumber$.next(this.pageNumbers[index + 1]);\n } else {\n this.selectedPageNumber$.next(this.pageNumbers[this.pageNumbers.length - 1]);\n }\n return false;\n }\n}\n","<ul class=\"pagination\">\n <li class=\"page-item\" *ngIf=\"showArrows$ | async\">\n <a class=\"page-link\" href=\"\" (click)=\"onPrevious()\" [class.disabled]=\"isFirstPage$ | async\" aria-label=\"Previous\">\n <span aria-hidden=\"true\">«</span>\n <span class=\"visually-hidden\">Previous</span>\n </a>\n </li>\n <li *ngFor=\"let pageNumber of (shownPageNumbers$ | async)\" class=\"page-item\">\n <a class=\"page-link\" href=\"\" (click)=\"onSelectPage($event, pageNumber.page)\"\n [ngClass]=\"{ 'active': pageNumber.selected }\" *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\">\n <a class=\"page-link\" href=\"\" (click)=\"onNext()\" [class.disabled]=\"isLastPage$ | async\" aria-label=\"Next\">\n <span aria-hidden=\"true\">»</span>\n <span class=\"visually-hidden\">Next</span>\n </a>\n </li>\n</ul>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsPaginationComponent } from './component/pagination/pagination.component';\n\n\n\n@NgModule({\n declarations: [\n BsPaginationComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n BsPaginationComponent\n ]\n})\nexport class BsPaginationModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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
|
|
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:
|
|
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:
|
|
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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"}
|