@mintplayer/ng-bootstrap 21.0.0 → 21.1.1
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/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +33 -46
- package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +12 -30
- package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +6 -18
- package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +31 -65
- package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +200 -132
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-close.mjs +5 -7
- package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +14 -17
- package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +231 -347
- package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +43 -39
- package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +7 -35
- package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +1 -0
- package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +46 -86
- package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +7 -7
- package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +7 -6
- package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +32 -74
- package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-let.mjs +6 -7
- package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +18 -18
- package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +20 -22
- package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +16 -10
- package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +8 -28
- package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +208 -265
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +8 -21
- package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +43 -38
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +59 -120
- package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +11 -25
- package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +8 -28
- package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +67 -103
- package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +34 -63
- package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +19 -47
- package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +35 -41
- package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +205 -779
- package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +34 -39
- package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +74 -100
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs +37 -79
- package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +78 -45
- package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +16 -26
- package/fesm2022/mintplayer-ng-bootstrap-shell.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +14 -40
- package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +8 -32
- package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs +70 -76
- package/fesm2022/mintplayer-ng-bootstrap-splitter.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +11 -11
- package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +53 -99
- package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs +7 -38
- package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +23 -49
- package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +33 -38
- package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +45 -98
- package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +12 -24
- package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +21 -43
- package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +6 -6
- package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +29 -49
- package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
- package/package.json +5 -5
- package/types/mintplayer-ng-bootstrap-accordion.d.ts +11 -15
- package/types/mintplayer-ng-bootstrap-alert.d.ts +4 -9
- package/types/mintplayer-ng-bootstrap-badge.d.ts +5 -9
- package/types/mintplayer-ng-bootstrap-calendar.d.ts +14 -22
- package/types/mintplayer-ng-bootstrap-carousel.d.ts +41 -35
- package/types/mintplayer-ng-bootstrap-close.d.ts +1 -2
- package/types/mintplayer-ng-bootstrap-code-snippet.d.ts +4 -5
- package/types/mintplayer-ng-bootstrap-color-picker.d.ts +70 -97
- package/types/mintplayer-ng-bootstrap-datatable.d.ts +11 -11
- package/types/mintplayer-ng-bootstrap-datepicker.d.ts +6 -13
- package/types/mintplayer-ng-bootstrap-dropdown.d.ts +14 -20
- package/types/mintplayer-ng-bootstrap-enhanced-paste.d.ts +1 -3
- package/types/mintplayer-ng-bootstrap-file-upload.d.ts +1 -1
- package/types/mintplayer-ng-bootstrap-grid.d.ts +14 -26
- package/types/mintplayer-ng-bootstrap-let.d.ts +0 -2
- package/types/mintplayer-ng-bootstrap-markdown.d.ts +1 -5
- package/types/mintplayer-ng-bootstrap-modal.d.ts +3 -6
- package/types/mintplayer-ng-bootstrap-multiselect.d.ts +6 -6
- package/types/mintplayer-ng-bootstrap-navbar-toggler.d.ts +5 -11
- package/types/mintplayer-ng-bootstrap-navbar.d.ts +75 -80
- package/types/mintplayer-ng-bootstrap-navigation-lock.d.ts +2 -4
- package/types/mintplayer-ng-bootstrap-offcanvas.d.ts +12 -14
- package/types/mintplayer-ng-bootstrap-ordinal-number.d.ts +1 -2
- package/types/mintplayer-ng-bootstrap-pagination.d.ts +17 -31
- package/types/mintplayer-ng-bootstrap-placeholder.d.ts +3 -8
- package/types/mintplayer-ng-bootstrap-playlist-toggler.d.ts +5 -11
- package/types/mintplayer-ng-bootstrap-popover.d.ts +15 -23
- package/types/mintplayer-ng-bootstrap-progress-bar.d.ts +19 -22
- package/types/mintplayer-ng-bootstrap-range.d.ts +1 -2
- package/types/mintplayer-ng-bootstrap-rating.d.ts +8 -14
- package/types/mintplayer-ng-bootstrap-resizable.d.ts +7 -11
- package/types/mintplayer-ng-bootstrap-scheduler.d.ts +132 -220
- package/types/mintplayer-ng-bootstrap-scrollspy.d.ts +14 -15
- package/types/mintplayer-ng-bootstrap-searchbox.d.ts +20 -27
- package/types/mintplayer-ng-bootstrap-select.d.ts +13 -23
- package/types/mintplayer-ng-bootstrap-select2.d.ts +16 -14
- package/types/mintplayer-ng-bootstrap-shell.d.ts +6 -12
- package/types/mintplayer-ng-bootstrap-signature-pad.d.ts +7 -12
- package/types/mintplayer-ng-bootstrap-spinner.d.ts +8 -16
- package/types/mintplayer-ng-bootstrap-splitter.d.ts +21 -27
- package/types/mintplayer-ng-bootstrap-sticky-footer.d.ts +3 -3
- package/types/mintplayer-ng-bootstrap-tab-control.d.ts +29 -37
- package/types/mintplayer-ng-bootstrap-table.d.ts +6 -13
- package/types/mintplayer-ng-bootstrap-timepicker.d.ts +7 -14
- package/types/mintplayer-ng-bootstrap-toast.d.ts +5 -10
- package/types/mintplayer-ng-bootstrap-toggle-button.d.ts +22 -36
- package/types/mintplayer-ng-bootstrap-tooltip.d.ts +4 -7
- package/types/mintplayer-ng-bootstrap-treeview.d.ts +10 -15
- package/types/mintplayer-ng-bootstrap-trust-html.d.ts +0 -2
- package/types/mintplayer-ng-bootstrap-typeahead.d.ts +14 -17
|
@@ -13,7 +13,7 @@ class BsDropdownMenuComponent {
|
|
|
13
13
|
this.dropdownWith = null;
|
|
14
14
|
}
|
|
15
15
|
onResize() {
|
|
16
|
-
if ((typeof window !== 'undefined') && this.bsDropdown && this.bsDropdown.sameDropdownWidth) {
|
|
16
|
+
if ((typeof window !== 'undefined') && this.bsDropdown && this.bsDropdown.sameDropdownWidth()) {
|
|
17
17
|
const element = this.bsDropdown.elementRef.nativeElement;
|
|
18
18
|
this.dropdownWith = window.getComputedStyle(element).width;
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-dropdown-menu.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-menu/dropdown-menu.component.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-menu/dropdown-menu.component.html","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-item/dropdown-item.component.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-item/dropdown-item.component.html","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-menu.module.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/mintplayer-ng-bootstrap-dropdown-menu.ts"],"sourcesContent":["import { AfterViewInit, Component, HostBinding, HostListener, Input, Optional } from '@angular/core';\nimport { BsDropdownDirective } from '@mintplayer/ng-bootstrap/dropdown';\n// import { BsDropdownComponent } from '@mintplayer/ng-bootstrap/dropdown';\n\n@Component({\n selector: 'bs-dropdown-menu',\n templateUrl: './dropdown-menu.component.html',\n styleUrls: ['./dropdown-menu.component.scss'],\n standalone: false,\n})\nexport class BsDropdownMenuComponent implements AfterViewInit {\n constructor(@Optional() private bsDropdown?: BsDropdownDirective) {\n }\n\n @HostBinding('class.position-relative') positionRelative = false;\n @Input() maxHeight: number | null = null;\n @HostBinding('style.width') dropdownWith: string | null = null;\n\n @HostListener('window:resize')\n onResize() {\n if ((typeof window !== 'undefined') && this.bsDropdown && this.bsDropdown.sameDropdownWidth) {\n const element = this.bsDropdown.elementRef.nativeElement;\n this.dropdownWith = window.getComputedStyle(element).width;\n }\n }\n\n ngAfterViewInit() {\n this.onResize();\n }\n}\n","<ul class=\"dropdown-menu position-static w-100 overflow-auto show\" [style.max-height.px]=\"maxHeight\">\n <ng-content></ng-content>\n <!-- <ng-content select=\"bs-dropdown-item\"></ng-content> -->\n</ul>","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-dropdown-item',\n templateUrl: './dropdown-item.component.html',\n styleUrls: ['./dropdown-item.component.scss'],\n standalone: false,\n})\nexport class BsDropdownItemComponent {\n @Input() public isSelected = false;\n @Input() public disabled = false;\n}\n","<li class=\"dropdown-item cursor-pointer\" [class.active]=\"isSelected\" [class.disabled]=\"disabled\">\n <ng-content></ng-content>\n</li>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsDropdownMenuComponent } from './dropdown-menu/dropdown-menu.component';\nimport { BsDropdownItemComponent } from './dropdown-item/dropdown-item.component';\nimport { BsDropdownDividerDirective } from '@mintplayer/ng-bootstrap/dropdown-divider';\n\n@NgModule({\n declarations: [BsDropdownMenuComponent, BsDropdownItemComponent],\n imports: [CommonModule, BsDropdownDividerDirective],\n exports: [\n BsDropdownMenuComponent,\n BsDropdownItemComponent,\n \n BsDropdownDividerDirective,\n ],\n})\nexport class BsDropdownMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEA;MAQa,uBAAuB,CAAA;AAClC,IAAA,WAAA,CAAgC,UAAgC,EAAA;QAAhC,IAAA,CAAA,UAAU,GAAV,UAAU;QAGF,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACvD,IAAA,CAAA,SAAS,GAAkB,IAAI;QACZ,IAAA,CAAA,YAAY,GAAkB,IAAI;IAJ9D;IAOA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-dropdown-menu.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-menu/dropdown-menu.component.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-menu/dropdown-menu.component.html","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-item/dropdown-item.component.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-item/dropdown-item.component.html","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/src/dropdown-menu.module.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown-menu/mintplayer-ng-bootstrap-dropdown-menu.ts"],"sourcesContent":["import { AfterViewInit, Component, HostBinding, HostListener, Input, Optional } from '@angular/core';\nimport { BsDropdownDirective } from '@mintplayer/ng-bootstrap/dropdown';\n// import { BsDropdownComponent } from '@mintplayer/ng-bootstrap/dropdown';\n\n@Component({\n selector: 'bs-dropdown-menu',\n templateUrl: './dropdown-menu.component.html',\n styleUrls: ['./dropdown-menu.component.scss'],\n standalone: false,\n})\nexport class BsDropdownMenuComponent implements AfterViewInit {\n constructor(@Optional() private bsDropdown?: BsDropdownDirective) {\n }\n\n @HostBinding('class.position-relative') positionRelative = false;\n @Input() maxHeight: number | null = null;\n @HostBinding('style.width') dropdownWith: string | null = null;\n\n @HostListener('window:resize')\n onResize() {\n if ((typeof window !== 'undefined') && this.bsDropdown && this.bsDropdown.sameDropdownWidth()) {\n const element = this.bsDropdown.elementRef.nativeElement;\n this.dropdownWith = window.getComputedStyle(element).width;\n }\n }\n\n ngAfterViewInit() {\n this.onResize();\n }\n}\n","<ul class=\"dropdown-menu position-static w-100 overflow-auto show\" [style.max-height.px]=\"maxHeight\">\n <ng-content></ng-content>\n <!-- <ng-content select=\"bs-dropdown-item\"></ng-content> -->\n</ul>","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-dropdown-item',\n templateUrl: './dropdown-item.component.html',\n styleUrls: ['./dropdown-item.component.scss'],\n standalone: false,\n})\nexport class BsDropdownItemComponent {\n @Input() public isSelected = false;\n @Input() public disabled = false;\n}\n","<li class=\"dropdown-item cursor-pointer\" [class.active]=\"isSelected\" [class.disabled]=\"disabled\">\n <ng-content></ng-content>\n</li>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsDropdownMenuComponent } from './dropdown-menu/dropdown-menu.component';\nimport { BsDropdownItemComponent } from './dropdown-item/dropdown-item.component';\nimport { BsDropdownDividerDirective } from '@mintplayer/ng-bootstrap/dropdown-divider';\n\n@NgModule({\n declarations: [BsDropdownMenuComponent, BsDropdownItemComponent],\n imports: [CommonModule, BsDropdownDividerDirective],\n exports: [\n BsDropdownMenuComponent,\n BsDropdownItemComponent,\n \n BsDropdownDividerDirective,\n ],\n})\nexport class BsDropdownMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +1,54 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { inject, ElementRef, NgZone, PLATFORM_ID, forwardRef, ViewContainerRef, TemplateRef, DestroyRef, effect, HostListener, HostBinding, Directive, input, model, ContentChild, NgModule } from '@angular/core';
|
|
3
3
|
import { BS_DEVELOPMENT } from '@mintplayer/ng-bootstrap';
|
|
4
|
-
import { take, BehaviorSubject } from 'rxjs';
|
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
4
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
5
|
+
import { Overlay, OverlayModule } from '@angular/cdk/overlay';
|
|
7
6
|
import { ClickOutsideDirective } from '@mintplayer/ng-click-outside';
|
|
8
|
-
import * as i1 from '@angular/cdk/overlay';
|
|
9
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
10
7
|
import { CommonModule } from '@angular/common';
|
|
11
8
|
import { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';
|
|
12
9
|
|
|
13
10
|
class BsDropdownMenuDirective extends ClickOutsideDirective {
|
|
14
|
-
constructor(
|
|
11
|
+
constructor() {
|
|
12
|
+
const elementRef = inject(ElementRef);
|
|
13
|
+
const zone = inject(NgZone);
|
|
14
|
+
const platformId = inject(PLATFORM_ID);
|
|
15
15
|
super(elementRef, zone, platformId);
|
|
16
|
-
this.dropdown =
|
|
17
|
-
this.viewContainerRef =
|
|
18
|
-
this.templateRef =
|
|
19
|
-
this.overlay =
|
|
20
|
-
this.destroy =
|
|
21
|
-
this.bsDevelopment =
|
|
16
|
+
this.dropdown = inject(forwardRef(() => BsDropdownDirective));
|
|
17
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
18
|
+
this.templateRef = inject(TemplateRef);
|
|
19
|
+
this.overlay = inject(Overlay);
|
|
20
|
+
this.destroy = inject(DestroyRef);
|
|
21
|
+
this.bsDevelopment = inject(BS_DEVELOPMENT, { optional: true });
|
|
22
22
|
this.wait = false;
|
|
23
23
|
this.overlayRef = null;
|
|
24
24
|
this.templatePortal = null;
|
|
25
|
-
|
|
26
|
-
.
|
|
27
|
-
.subscribe((isOpen) => {
|
|
25
|
+
effect(() => {
|
|
26
|
+
const isOpen = this.dropdown.isOpen();
|
|
28
27
|
if (isOpen) {
|
|
28
|
+
// Prevent creating duplicate overlays if effect re-runs while still open
|
|
29
|
+
if (this.overlayRef) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
29
32
|
this.wait = true;
|
|
30
33
|
setTimeout(() => this.wait = false, 100);
|
|
31
34
|
this.overlayRef = this.overlay.create({
|
|
32
|
-
hasBackdrop: this.dropdown.hasBackdrop,
|
|
35
|
+
hasBackdrop: this.dropdown.hasBackdrop(),
|
|
33
36
|
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
34
37
|
positionStrategy: this.overlay.position()
|
|
35
|
-
.flexibleConnectedTo(!this.dropdown.toggle ? dropdown.elementRef : this.dropdown.toggle.toggleButton)
|
|
38
|
+
.flexibleConnectedTo(!this.dropdown.toggle ? this.dropdown.elementRef : this.dropdown.toggle.toggleButton)
|
|
36
39
|
.withPositions([
|
|
37
|
-
// element: BottomLeft - dropdown: TopLeft
|
|
38
40
|
{ originX: "start", originY: "bottom", overlayX: "start", overlayY: "top", offsetY: 0 },
|
|
39
|
-
// element: TopLeft - dropdown: BottomLeft
|
|
40
41
|
{ originX: "start", originY: "top", overlayX: "start", overlayY: "bottom", offsetY: 0 },
|
|
41
42
|
]),
|
|
42
43
|
});
|
|
43
|
-
if (this.dropdown.hasBackdrop && this.dropdown.closeOnClickOutside) {
|
|
44
|
-
this.overlayRef.backdropClick().
|
|
45
|
-
this.dropdown.isOpen
|
|
44
|
+
if (this.dropdown.hasBackdrop() && this.dropdown.closeOnClickOutside()) {
|
|
45
|
+
this.overlayRef.backdropClick().subscribe(() => {
|
|
46
|
+
this.dropdown.isOpen.set(false);
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
49
|
this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);
|
|
49
50
|
const view = this.overlayRef.attach(this.templatePortal);
|
|
50
|
-
if (this.dropdown.sameDropdownWidth) {
|
|
51
|
+
if (this.dropdown.sameDropdownWidth()) {
|
|
51
52
|
const width = this.dropdown.elementRef.nativeElement.offsetWidth;
|
|
52
53
|
view.rootNodes[0].style.width = width + 'px';
|
|
53
54
|
}
|
|
@@ -61,7 +62,7 @@ class BsDropdownMenuDirective extends ClickOutsideDirective {
|
|
|
61
62
|
}
|
|
62
63
|
});
|
|
63
64
|
}
|
|
64
|
-
get show() { return this.dropdown.isOpen; }
|
|
65
|
+
get show() { return this.dropdown.isOpen(); }
|
|
65
66
|
clickedOutside(event) {
|
|
66
67
|
const ev = event;
|
|
67
68
|
if (!this.bsDevelopment) {
|
|
@@ -76,13 +77,12 @@ class BsDropdownMenuDirective extends ClickOutsideDirective {
|
|
|
76
77
|
this.doClose();
|
|
77
78
|
}
|
|
78
79
|
doClose() {
|
|
79
|
-
this.dropdown.isOpen
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
});
|
|
80
|
+
const isOpen = this.dropdown.isOpen();
|
|
81
|
+
if (isOpen && !this.dropdown.hasBackdrop() && this.dropdown.closeOnClickOutside()) {
|
|
82
|
+
this.dropdown.isOpen.set(false);
|
|
83
|
+
}
|
|
84
84
|
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownMenuDirective, deps: [
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
86
86
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsDropdownMenuDirective, isStandalone: false, selector: "[bsDropdownMenu]", host: { listeners: { "clickOutside": "clickedOutside($event)", "document:keydown.escape": "onEscape($event)" }, properties: { "class.show": "this.show" } }, usesInheritance: true, ngImport: i0 }); }
|
|
87
87
|
}
|
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownMenuDirective, decorators: [{
|
|
@@ -91,18 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
91
91
|
selector: '[bsDropdownMenu]',
|
|
92
92
|
standalone: false,
|
|
93
93
|
}]
|
|
94
|
-
}], ctorParameters: () => [
|
|
95
|
-
type: Inject,
|
|
96
|
-
args: [forwardRef(() => BsDropdownDirective)]
|
|
97
|
-
}] }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i1.Overlay }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
98
|
-
type: Inject,
|
|
99
|
-
args: [PLATFORM_ID]
|
|
100
|
-
}] }, { type: undefined, decorators: [{
|
|
101
|
-
type: Optional
|
|
102
|
-
}, {
|
|
103
|
-
type: Inject,
|
|
104
|
-
args: [BS_DEVELOPMENT]
|
|
105
|
-
}] }], propDecorators: { show: [{
|
|
94
|
+
}], ctorParameters: () => [], propDecorators: { show: [{
|
|
106
95
|
type: HostBinding,
|
|
107
96
|
args: ['class.show']
|
|
108
97
|
}], clickedOutside: [{
|
|
@@ -122,7 +111,7 @@ class BsDropdownToggleDirective {
|
|
|
122
111
|
this.toggleButton = toggleButton;
|
|
123
112
|
}
|
|
124
113
|
onClick() {
|
|
125
|
-
this.dropdown.isOpen
|
|
114
|
+
this.dropdown.isOpen.set(!this.dropdown.isOpen());
|
|
126
115
|
}
|
|
127
116
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownToggleDirective, deps: [{ token: BsDropdownDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
128
117
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsDropdownToggleDirective, isStandalone: false, selector: "[bsDropdownToggle]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
|
|
@@ -139,35 +128,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
139
128
|
}] } });
|
|
140
129
|
|
|
141
130
|
class BsDropdownDirective {
|
|
142
|
-
constructor(
|
|
143
|
-
this.
|
|
144
|
-
this.
|
|
131
|
+
constructor() {
|
|
132
|
+
this.elementRef = inject(ElementRef);
|
|
133
|
+
this.bsDevelopment = inject(BS_DEVELOPMENT, { optional: true });
|
|
145
134
|
this.toggle = null;
|
|
146
|
-
this.hasBackdrop = false;
|
|
147
|
-
this.sameWidth = false;
|
|
148
|
-
this.closeOnClickOutside = true;
|
|
149
|
-
this.sameDropdownWidth = false;
|
|
150
|
-
this.
|
|
151
|
-
this.elementRef = elementRef;
|
|
152
|
-
}
|
|
153
|
-
//#region IsOpen
|
|
154
|
-
get isOpen() {
|
|
155
|
-
return this.isOpen$.value;
|
|
156
|
-
}
|
|
157
|
-
set isOpen(value) {
|
|
158
|
-
if (this.isOpen$.value !== value) {
|
|
159
|
-
this.isOpen$.next(value);
|
|
160
|
-
this.isOpenChange.emit(value);
|
|
161
|
-
}
|
|
135
|
+
this.hasBackdrop = input(false, ...(ngDevMode ? [{ debugName: "hasBackdrop" }] : []));
|
|
136
|
+
this.sameWidth = input(false, ...(ngDevMode ? [{ debugName: "sameWidth" }] : []));
|
|
137
|
+
this.closeOnClickOutside = input(true, ...(ngDevMode ? [{ debugName: "closeOnClickOutside" }] : []));
|
|
138
|
+
this.sameDropdownWidth = input(false, ...(ngDevMode ? [{ debugName: "sameDropdownWidth" }] : []));
|
|
139
|
+
this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
162
140
|
}
|
|
163
|
-
//#endregion
|
|
164
141
|
onBlur() {
|
|
165
|
-
if (this.closeOnClickOutside && !this.bsDevelopment) {
|
|
166
|
-
this.isOpen
|
|
142
|
+
if (this.closeOnClickOutside() && !this.bsDevelopment) {
|
|
143
|
+
this.isOpen.set(false);
|
|
167
144
|
}
|
|
168
145
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownDirective, deps: [
|
|
170
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
146
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
147
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: BsDropdownDirective, isStandalone: false, selector: "[bsDropdown]", inputs: { hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, sameWidth: { classPropertyName: "sameWidth", publicName: "sameWidth", isSignal: true, isRequired: false, transformFunction: null }, closeOnClickOutside: { classPropertyName: "closeOnClickOutside", publicName: "closeOnClickOutside", isSignal: true, isRequired: false, transformFunction: null }, sameDropdownWidth: { classPropertyName: "sameDropdownWidth", publicName: "sameDropdownWidth", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { listeners: { "window:blur": "onBlur()" } }, queries: [{ propertyName: "menu", first: true, predicate: BsDropdownMenuDirective, descendants: true }, { propertyName: "toggle", first: true, predicate: BsDropdownToggleDirective, descendants: true }], ngImport: i0 }); }
|
|
171
148
|
}
|
|
172
149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsDropdownDirective, decorators: [{
|
|
173
150
|
type: Directive,
|
|
@@ -175,30 +152,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
175
152
|
selector: '[bsDropdown]',
|
|
176
153
|
standalone: false,
|
|
177
154
|
}]
|
|
178
|
-
}],
|
|
179
|
-
type: Optional
|
|
180
|
-
}, {
|
|
181
|
-
type: Inject,
|
|
182
|
-
args: [BS_DEVELOPMENT]
|
|
183
|
-
}] }], propDecorators: { menu: [{
|
|
155
|
+
}], propDecorators: { menu: [{
|
|
184
156
|
type: ContentChild,
|
|
185
157
|
args: [BsDropdownMenuDirective, { static: false }]
|
|
186
158
|
}], toggle: [{
|
|
187
159
|
type: ContentChild,
|
|
188
160
|
args: [BsDropdownToggleDirective, { static: false }]
|
|
189
|
-
}], hasBackdrop: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], sameWidth: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], closeOnClickOutside: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], sameDropdownWidth: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], isOpenChange: [{
|
|
198
|
-
type: Output
|
|
199
|
-
}], isOpen: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], onBlur: [{
|
|
161
|
+
}], hasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasBackdrop", required: false }] }], sameWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "sameWidth", required: false }] }], closeOnClickOutside: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnClickOutside", required: false }] }], sameDropdownWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "sameDropdownWidth", required: false }] }], isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], onBlur: [{
|
|
202
162
|
type: HostListener,
|
|
203
163
|
args: ['window:blur']
|
|
204
164
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-dropdown.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown-menu/dropdown-menu.directive.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown-toggle/dropdown-toggle.directive.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown/dropdown.directive.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown.module.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/mintplayer-ng-bootstrap-dropdown.ts"],"sourcesContent":["import { DestroyRef, Directive, ElementRef, forwardRef, HostBinding, HostListener, Inject, NgZone, Optional, PLATFORM_ID, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ClickOutsideDirective } from '@mintplayer/ng-click-outside';\nimport { BS_DEVELOPMENT } from '@mintplayer/ng-bootstrap';\nimport { take } from 'rxjs';\nimport { BsDropdownDirective } from '../dropdown/dropdown.directive';\n\n@Directive({\n selector: '[bsDropdownMenu]',\n standalone: false,\n})\nexport class BsDropdownMenuDirective extends ClickOutsideDirective {\n constructor(\n @Inject(forwardRef(() => BsDropdownDirective)) private dropdown: BsDropdownDirective,\n private viewContainerRef: ViewContainerRef,\n private templateRef: TemplateRef<any>,\n private overlay: Overlay,\n private destroy: DestroyRef,\n\n elementRef: ElementRef<any>,\n zone: NgZone,\n @Inject(PLATFORM_ID) platformId: any,\n @Optional() @Inject(BS_DEVELOPMENT) private bsDevelopment?: boolean,\n ) {\n super(elementRef, zone, platformId);\n\n this.dropdown.isOpen$\n .pipe(takeUntilDestroyed())\n .subscribe((isOpen) => {\n if (isOpen) {\n this.wait = true;\n setTimeout(() => this.wait = false, 100);\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: this.dropdown.hasBackdrop,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(!this.dropdown.toggle ? dropdown.elementRef : this.dropdown.toggle.toggleButton)\n .withPositions([\n // element: BottomLeft - dropdown: TopLeft\n { originX: \"start\", originY: \"bottom\", overlayX: \"start\", overlayY: \"top\", offsetY: 0 },\n // element: TopLeft - dropdown: BottomLeft\n { originX: \"start\", originY: \"top\", overlayX: \"start\", overlayY: \"bottom\", offsetY: 0 },\n ]),\n });\n\n if (this.dropdown.hasBackdrop && this.dropdown.closeOnClickOutside) {\n this.overlayRef.backdropClick().pipe(takeUntilDestroyed(this.destroy)).subscribe(() => {\n this.dropdown.isOpen = false;\n });\n }\n \n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n const view = this.overlayRef.attach(this.templatePortal);\n \n if (this.dropdown.sameDropdownWidth) {\n const width = this.dropdown.elementRef.nativeElement.offsetWidth;\n view.rootNodes[0].style.width = width + 'px';\n }\n } else {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n });\n }\n\n private wait = false;\n private overlayRef: OverlayRef | null = null;\n private templatePortal: TemplatePortal<any> | null = null;\n\n @HostBinding('class.show') get show() { return this.dropdown.isOpen; }\n @HostListener('clickOutside', ['$event']) clickedOutside(event: Event) {\n const ev = event as MouseEvent;\n if (!this.bsDevelopment) {\n if (!this.wait) {\n if (!this.overlayRef?.overlayElement.contains(<any>ev.target)) {\n this.doClose();\n }\n }\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscape(event: Event) {\n this.doClose();\n }\n\n private doClose() {\n this.dropdown.isOpen$.pipe(take(1), takeUntilDestroyed(this.destroy)).subscribe((isOpen) => {\n if (isOpen && !this.dropdown.hasBackdrop && this.dropdown.closeOnClickOutside) {\n this.dropdown.isOpen = false;\n }\n });\n }\n\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { take } from 'rxjs';\nimport { BsDropdownDirective } from '../dropdown/dropdown.directive';\n// import { BsDropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[bsDropdownToggle]',\n standalone: false,\n})\nexport class BsDropdownToggleDirective {\n\n constructor(\n private dropdown: BsDropdownDirective,\n // private dropdown: BsDropdownComponent,\n toggleButton: ElementRef) {\n this.toggleButton = toggleButton;\n }\n\n toggleButton: ElementRef;\n\n\n @HostListener('click')\n onClick() {\n this.dropdown.isOpen = !this.dropdown.isOpen$.value;\n }\n}\n","import { ContentChild, Directive, ElementRef, EventEmitter, HostListener, Inject, Input, Optional, Output } from '@angular/core';\nimport { BS_DEVELOPMENT } from '@mintplayer/ng-bootstrap';\nimport { BehaviorSubject } from 'rxjs';\nimport { BsDropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from '../dropdown-toggle/dropdown-toggle.directive';\n\n@Directive({\n selector: '[bsDropdown]',\n standalone: false,\n})\nexport class BsDropdownDirective {\n\n constructor(elementRef: ElementRef<any>, @Optional() @Inject(BS_DEVELOPMENT) private bsDevelopment?: boolean) {\n this.elementRef = elementRef;\n }\n\n isOpen$ = new BehaviorSubject<boolean>(false);\n\n elementRef: ElementRef<HTMLElement>;\n @ContentChild(BsDropdownMenuDirective, {static: false}) menu!: BsDropdownMenuDirective;\n @ContentChild(BsDropdownToggleDirective, {static: false}) toggle: BsDropdownToggleDirective | null = null;\n \n @Input() public hasBackdrop = false;\n @Input() public sameWidth = false;\n @Input() public closeOnClickOutside = true;\n @Input() public sameDropdownWidth = false;\n\n //#region IsOpen\n public get isOpen() {\n return this.isOpen$.value;\n }\n @Output() public isOpenChange = new EventEmitter<boolean>();\n @Input() public set isOpen(value: boolean) {\n if (this.isOpen$.value !== value) {\n this.isOpen$.next(value);\n this.isOpenChange.emit(value);\n }\n }\n //#endregion\n\n @HostListener('window:blur') onBlur() {\n if (this.closeOnClickOutside && !this.bsDevelopment) {\n this.isOpen = false;\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ClickOutsideDirective } from '@mintplayer/ng-click-outside';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDirective } from './dropdown/dropdown.directive';\nimport { BsDropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\n// import { BsDropdownComponent } from './dropdown/dropdown.component';\n\n\n@NgModule({\n declarations: [\n BsDropdownDirective,\n BsDropdownToggleDirective,\n BsDropdownMenuDirective,\n // BsDropdownComponent,\n ],\n imports: [CommonModule, OverlayModule, BsHasOverlayComponent, ClickOutsideDirective],\n exports: [\n BsDropdownDirective,\n BsDropdownToggleDirective,\n BsDropdownMenuDirective,\n // BsDropdownComponent,\n BsHasOverlayComponent,\n ],\n})\nexport class BsDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDropdownDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-dropdown.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown-menu/dropdown-menu.directive.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown-toggle/dropdown-toggle.directive.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown/dropdown.directive.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/src/dropdown.module.ts","../../../../libs/mintplayer-ng-bootstrap/dropdown/mintplayer-ng-bootstrap-dropdown.ts"],"sourcesContent":["import { DestroyRef, Directive, effect, ElementRef, forwardRef, HostBinding, HostListener, inject, NgZone, PLATFORM_ID, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ClickOutsideDirective } from '@mintplayer/ng-click-outside';\nimport { BS_DEVELOPMENT } from '@mintplayer/ng-bootstrap';\nimport { BsDropdownDirective } from '../dropdown/dropdown.directive';\n\n@Directive({\n selector: '[bsDropdownMenu]',\n standalone: false,\n})\nexport class BsDropdownMenuDirective extends ClickOutsideDirective {\n\n private dropdown = inject(forwardRef(() => BsDropdownDirective));\n private viewContainerRef = inject(ViewContainerRef);\n private templateRef = inject(TemplateRef);\n private overlay = inject(Overlay);\n private destroy = inject(DestroyRef);\n private bsDevelopment = inject(BS_DEVELOPMENT, { optional: true });\n\n private wait = false;\n private overlayRef: OverlayRef | null = null;\n private templatePortal: TemplatePortal<any> | null = null;\n\n constructor() {\n const elementRef = inject(ElementRef);\n const zone = inject(NgZone);\n const platformId = inject(PLATFORM_ID);\n super(elementRef, zone, platformId);\n\n effect(() => {\n const isOpen = this.dropdown.isOpen();\n if (isOpen) {\n // Prevent creating duplicate overlays if effect re-runs while still open\n if (this.overlayRef) {\n return;\n }\n\n this.wait = true;\n setTimeout(() => this.wait = false, 100);\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: this.dropdown.hasBackdrop(),\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(!this.dropdown.toggle ? this.dropdown.elementRef : this.dropdown.toggle.toggleButton)\n .withPositions([\n { originX: \"start\", originY: \"bottom\", overlayX: \"start\", overlayY: \"top\", offsetY: 0 },\n { originX: \"start\", originY: \"top\", overlayX: \"start\", overlayY: \"bottom\", offsetY: 0 },\n ]),\n });\n\n if (this.dropdown.hasBackdrop() && this.dropdown.closeOnClickOutside()) {\n this.overlayRef.backdropClick().subscribe(() => {\n this.dropdown.isOpen.set(false);\n });\n }\n\n this.templatePortal = new TemplatePortal(this.templateRef, this.viewContainerRef);\n const view = this.overlayRef.attach(this.templatePortal);\n\n if (this.dropdown.sameDropdownWidth()) {\n const width = this.dropdown.elementRef.nativeElement.offsetWidth;\n view.rootNodes[0].style.width = width + 'px';\n }\n } else {\n if (this.overlayRef) {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.overlayRef = null;\n }\n }\n });\n }\n\n @HostBinding('class.show') get show() { return this.dropdown.isOpen(); }\n @HostListener('clickOutside', ['$event']) clickedOutside(event: Event) {\n const ev = event as MouseEvent;\n if (!this.bsDevelopment) {\n if (!this.wait) {\n if (!this.overlayRef?.overlayElement.contains(<any>ev.target)) {\n this.doClose();\n }\n }\n }\n }\n\n @HostListener('document:keydown.escape', ['$event']) onEscape(event: Event) {\n this.doClose();\n }\n\n private doClose() {\n const isOpen = this.dropdown.isOpen();\n if (isOpen && !this.dropdown.hasBackdrop() && this.dropdown.closeOnClickOutside()) {\n this.dropdown.isOpen.set(false);\n }\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { BsDropdownDirective } from '../dropdown/dropdown.directive';\n// import { BsDropdownComponent } from '../dropdown/dropdown.component';\n\n@Directive({\n selector: '[bsDropdownToggle]',\n standalone: false,\n})\nexport class BsDropdownToggleDirective {\n\n constructor(\n private dropdown: BsDropdownDirective,\n // private dropdown: BsDropdownComponent,\n toggleButton: ElementRef) {\n this.toggleButton = toggleButton;\n }\n\n toggleButton: ElementRef;\n\n\n @HostListener('click')\n onClick() {\n this.dropdown.isOpen.set(!this.dropdown.isOpen());\n }\n}\n","import { ContentChild, Directive, effect, ElementRef, HostListener, inject, input, model, Optional } from '@angular/core';\nimport { BS_DEVELOPMENT } from '@mintplayer/ng-bootstrap';\nimport { BsDropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from '../dropdown-toggle/dropdown-toggle.directive';\n\n@Directive({\n selector: '[bsDropdown]',\n standalone: false,\n})\nexport class BsDropdownDirective {\n\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private bsDevelopment = inject(BS_DEVELOPMENT, { optional: true });\n\n @ContentChild(BsDropdownMenuDirective, {static: false}) menu!: BsDropdownMenuDirective;\n @ContentChild(BsDropdownToggleDirective, {static: false}) toggle: BsDropdownToggleDirective | null = null;\n\n hasBackdrop = input(false);\n sameWidth = input(false);\n closeOnClickOutside = input(true);\n sameDropdownWidth = input(false);\n isOpen = model<boolean>(false);\n\n @HostListener('window:blur') onBlur() {\n if (this.closeOnClickOutside() && !this.bsDevelopment) {\n this.isOpen.set(false);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ClickOutsideDirective } from '@mintplayer/ng-click-outside';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDirective } from './dropdown/dropdown.directive';\nimport { BsDropdownMenuDirective } from './dropdown-menu/dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\n// import { BsDropdownComponent } from './dropdown/dropdown.component';\n\n\n@NgModule({\n declarations: [\n BsDropdownDirective,\n BsDropdownToggleDirective,\n BsDropdownMenuDirective,\n // BsDropdownComponent,\n ],\n imports: [CommonModule, OverlayModule, BsHasOverlayComponent, ClickOutsideDirective],\n exports: [\n BsDropdownDirective,\n BsDropdownToggleDirective,\n BsDropdownMenuDirective,\n // BsDropdownComponent,\n BsHasOverlayComponent,\n ],\n})\nexport class BsDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDropdownDirective"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, HostListener, Output, Directive } from '@angular/core';
|
|
3
|
-
import
|
|
2
|
+
import { inject, ElementRef, EventEmitter, HostListener, Output, Directive } from '@angular/core';
|
|
3
|
+
import { NgModel } from '@angular/forms';
|
|
4
4
|
|
|
5
5
|
class EnhancedPasteDirective {
|
|
6
|
-
constructor(
|
|
7
|
-
this.element =
|
|
8
|
-
this.model =
|
|
6
|
+
constructor() {
|
|
7
|
+
this.element = inject(ElementRef);
|
|
8
|
+
this.model = inject(NgModel);
|
|
9
9
|
this.numberOverflow = new EventEmitter();
|
|
10
10
|
}
|
|
11
11
|
onPaste(event) {
|
|
@@ -41,7 +41,7 @@ class EnhancedPasteDirective {
|
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EnhancedPasteDirective, deps: [
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EnhancedPasteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
45
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: EnhancedPasteDirective, isStandalone: true, selector: "input[type=\"number\"][bsEnhancedPaste]", outputs: { numberOverflow: "numberOverflow" }, host: { listeners: { "paste": "onPaste($event)" } }, ngImport: i0 }); }
|
|
46
46
|
}
|
|
47
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EnhancedPasteDirective, decorators: [{
|
|
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
50
50
|
selector: 'input[type="number"][bsEnhancedPaste]',
|
|
51
51
|
standalone: true,
|
|
52
52
|
}]
|
|
53
|
-
}],
|
|
53
|
+
}], propDecorators: { numberOverflow: [{
|
|
54
54
|
type: Output
|
|
55
55
|
}], onPaste: [{
|
|
56
56
|
type: HostListener,
|
|
@@ -1 +1 @@
|
|
|
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/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 standalone: true,\n})\nexport class EnhancedPasteDirective {\n
|
|
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/mintplayer-ng-bootstrap-enhanced-paste.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostListener, inject, 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 standalone: true,\n})\nexport class EnhancedPasteDirective {\n private element = inject<ElementRef<HTMLInputElement>>(ElementRef);\n private model = inject(NgModel);\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA+B,UAAU,CAAC;AAC1D,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;AAEd,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAkB;AAuCrE,IAAA;AApCC,IAAA,OAAO,CAAC,KAAqB,EAAA;;QAE3B,KAAK,CAAC,cAAc,EAAE;;QAGtB,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,IAAU,MAAO,CAAC,aAAa;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;;AAGrC,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC;AACtD,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC;AAEtD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;QACrD,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AAClC,YAAA,IAAI,QAAQ,CAAC,aAAa,EAAE;;gBAE1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5F;QACF;IAEF;AAEA,IAAA,WAAW,CAAC,KAAU,EAAE,GAAW,EAAE,GAAW,EAAA;AAC9C,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACd,YAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;QAChC;AAAO,aAAA,IAAI,GAAG,GAAG,GAAG,EAAE;AACpB,YAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;QACjE;AAAO,aAAA,IAAI,GAAG,GAAG,GAAG,EAAE;AACpB,YAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE;QACjE;aAAO;AACL,YAAA,OAAO,IAAI;QACb;IACF;8GAzCW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAKE;;sBAEA,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ACdnC;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, EventEmitter, HostListener, Output, Input, Component, Directive, NgModule } from '@angular/core';
|
|
2
|
+
import { Pipe, EventEmitter, HostListener, Output, Input, Component, inject, TemplateRef, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import { Color } from '@mintplayer/ng-bootstrap';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
5
|
import { NgTemplateOutlet } from '@angular/common';
|
|
@@ -113,9 +113,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
113
113
|
}] } });
|
|
114
114
|
|
|
115
115
|
class BsFileUploadTemplateDirective {
|
|
116
|
-
constructor(
|
|
117
|
-
this.fileUploadComponent =
|
|
118
|
-
|
|
116
|
+
constructor() {
|
|
117
|
+
this.fileUploadComponent = inject(BsFileUploadComponent);
|
|
118
|
+
const templateRef = inject(TemplateRef);
|
|
119
|
+
this.fileUploadComponent.fileTemplate = templateRef;
|
|
119
120
|
}
|
|
120
121
|
set bsFileUploadTemplateOf(value) {
|
|
121
122
|
this.fileUploadComponent.files = value;
|
|
@@ -123,7 +124,7 @@ class BsFileUploadTemplateDirective {
|
|
|
123
124
|
static ngTemplateContextGuard(dir, ctx) {
|
|
124
125
|
return true;
|
|
125
126
|
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsFileUploadTemplateDirective, deps: [
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsFileUploadTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
127
128
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsFileUploadTemplateDirective, isStandalone: false, selector: "[bsFileUploadTemplate]", inputs: { bsFileUploadTemplateOf: "bsFileUploadTemplateOf" }, ngImport: i0 }); }
|
|
128
129
|
}
|
|
129
130
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsFileUploadTemplateDirective, decorators: [{
|
|
@@ -132,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
132
133
|
selector: '[bsFileUploadTemplate]',
|
|
133
134
|
standalone: false,
|
|
134
135
|
}]
|
|
135
|
-
}], ctorParameters: () => [
|
|
136
|
+
}], ctorParameters: () => [], propDecorators: { bsFileUploadTemplateOf: [{
|
|
136
137
|
type: Input
|
|
137
138
|
}] } });
|
|
138
139
|
class BsFileUploadTemplateContext {
|
|
@@ -1 +1 @@
|
|
|
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 standalone: false,\n pure: true,\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 { Color } from '@mintplayer/ng-bootstrap';\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 standalone: false,\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 colors = Color;\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((file, index) => <FileUpload>{ file, progress: 0, index: this.files.length + index });\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 @for (upload of files; track upload.index) {\n <bs-list-group-item>\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n }\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, Input, TemplateRef } from '@angular/core';\nimport { BsFileUploadComponent } from '../component/file-upload.component';\nimport { FileUpload } from '../file-upload';\n\n@Directive({\n selector: '[bsFileUploadTemplate]',\n standalone: false,\n})\nexport class BsFileUploadTemplateDirective {\n\n constructor(private fileUploadComponent: BsFileUploadComponent, templateRef: TemplateRef<any>) {\n fileUploadComponent.fileTemplate = templateRef;\n }\n\n @Input() set bsFileUploadTemplateOf(value: FileUpload[]) {\n this.fileUploadComponent.files = value;\n }\n\n static ngTemplateContextGuard(dir: BsFileUploadTemplateDirective, ctx: any): ctx is BsFileUploadTemplateContext {\n return true;\n }\n\n}\n\nexport class BsFileUploadTemplateContext {\n $implicit: FileUpload = null!;\n}","import { NgModule } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BsForDirective } from '@mintplayer/ng-bootstrap/for';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsListGroupModule } from '@mintplayer/ng-bootstrap/list-group';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\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 NgTemplateOutlet,\n BsForDirective,\n BsProgressBarModule,\n BsListGroupModule,\n BsButtonTypeDirective,\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
|
+
{"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 standalone: false,\n pure: true,\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 { Color } from '@mintplayer/ng-bootstrap';\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 standalone: false,\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 colors = Color;\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((file, index) => <FileUpload>{ file, progress: 0, index: this.files.length + index });\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 @for (upload of files; track upload.index) {\n <bs-list-group-item>\n <ng-container *ngTemplateOutlet=\"fileTemplate ?? defaultFileTemplate; context: { $implicit: upload }\"></ng-container>\n </bs-list-group-item>\n }\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, inject, Input, TemplateRef } from '@angular/core';\nimport { BsFileUploadComponent } from '../component/file-upload.component';\nimport { FileUpload } from '../file-upload';\n\n@Directive({\n selector: '[bsFileUploadTemplate]',\n standalone: false,\n})\nexport class BsFileUploadTemplateDirective {\n private fileUploadComponent = inject(BsFileUploadComponent);\n\n constructor() {\n const templateRef = inject(TemplateRef);\n this.fileUploadComponent.fileTemplate = templateRef;\n }\n\n @Input() set bsFileUploadTemplateOf(value: FileUpload[]) {\n this.fileUploadComponent.files = value;\n }\n\n static ngTemplateContextGuard(dir: BsFileUploadTemplateDirective, ctx: any): ctx is BsFileUploadTemplateContext {\n return true;\n }\n\n}\n\nexport class BsFileUploadTemplateContext {\n $implicit: FileUpload = null!;\n}","import { NgModule } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BsForDirective } from '@mintplayer/ng-bootstrap/for';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsListGroupModule } from '@mintplayer/ng-bootstrap/list-group';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\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 NgTemplateOutlet,\n BsForDirective,\n BsProgressBarModule,\n BsListGroupModule,\n BsButtonTypeDirective,\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"],"mappings":"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"}
|