@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
|
@@ -1,48 +1,34 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
2
|
+
import { model, ChangeDetectionStrategy, Component, inject, effect, HostBinding, Directive, NgModule } from '@angular/core';
|
|
5
3
|
import { CommonModule } from '@angular/common';
|
|
6
4
|
|
|
7
5
|
class BsPlaceholderComponent {
|
|
8
6
|
constructor() {
|
|
9
|
-
|
|
10
|
-
this.isLoading$ = new BehaviorSubject(false);
|
|
11
|
-
this.isLoadingChange = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
get isLoading() {
|
|
14
|
-
return this.isLoading$.value;
|
|
15
|
-
}
|
|
16
|
-
set isLoading(value) {
|
|
17
|
-
this.isLoading$.next(value);
|
|
18
|
-
this.isLoadingChange.emit(value);
|
|
7
|
+
this.isLoading = model(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
|
|
19
8
|
}
|
|
20
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaceholderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: BsPlaceholderComponent, isStandalone: false, selector: "bs-placeholder", inputs: { isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isLoading: "isLoadingChange" }, ngImport: i0, template: "<div class=\"placeholder-glow\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}:host ::ng-deep .placeholder.btn:before{display:inline-block;content:\"\"}:host ::ng-deep .placeholder-xs{min-height:.6em}:host ::ng-deep .placeholder-sm{min-height:.8em}:host ::ng-deep .placeholder-lg{min-height:1.2em}:host ::ng-deep .placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}:host ::ng-deep .placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}:host ::ng-deep .placeholder{min-height:calc(1em - 1px)!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
11
|
}
|
|
23
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaceholderComponent, decorators: [{
|
|
24
13
|
type: Component,
|
|
25
|
-
args: [{ selector: 'bs-placeholder', standalone: false, template: "<div class=\"placeholder-glow\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}:host ::ng-deep .placeholder.btn:before{display:inline-block;content:\"\"}:host ::ng-deep .placeholder-xs{min-height:.6em}:host ::ng-deep .placeholder-sm{min-height:.8em}:host ::ng-deep .placeholder-lg{min-height:1.2em}:host ::ng-deep .placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}:host ::ng-deep .placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}:host ::ng-deep .placeholder{min-height:calc(1em - 1px)!important}\n"] }]
|
|
26
|
-
}], propDecorators: { isLoading: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
14
|
+
args: [{ selector: 'bs-placeholder', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"placeholder-glow\">\n <ng-content></ng-content>\n</div>", styles: [":host ::ng-deep .placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}:host ::ng-deep .placeholder.btn:before{display:inline-block;content:\"\"}:host ::ng-deep .placeholder-xs{min-height:.6em}:host ::ng-deep .placeholder-sm{min-height:.8em}:host ::ng-deep .placeholder-lg{min-height:1.2em}:host ::ng-deep .placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}:host ::ng-deep .placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);mask-image:linear-gradient(130deg,#000 55%,#000c,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{to{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}:host ::ng-deep .placeholder{min-height:calc(1em - 1px)!important}\n"] }]
|
|
15
|
+
}], propDecorators: { isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }, { type: i0.Output, args: ["isLoadingChange"] }] } });
|
|
29
16
|
|
|
30
17
|
class BsPlaceholderFieldDirective {
|
|
31
|
-
constructor(
|
|
32
|
-
this.placeholder =
|
|
18
|
+
constructor() {
|
|
19
|
+
this.placeholder = inject(BsPlaceholderComponent);
|
|
33
20
|
this.html = undefined;
|
|
34
21
|
this.minWidth = 80;
|
|
35
22
|
this.marginBottom = 0;
|
|
36
23
|
this.placeholderClass = true;
|
|
37
|
-
|
|
38
|
-
.
|
|
39
|
-
.subscribe((isLoading) => {
|
|
24
|
+
effect(() => {
|
|
25
|
+
const isLoading = this.placeholder.isLoading();
|
|
40
26
|
this.placeholderClass = isLoading;
|
|
41
27
|
this.marginBottom = isLoading ? -1 : 0;
|
|
42
28
|
this.html = isLoading ? ' ' : undefined;
|
|
43
29
|
});
|
|
44
30
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaceholderFieldDirective, deps: [
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaceholderFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
32
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsPlaceholderFieldDirective, isStandalone: false, selector: "[bsPlaceholderField]", host: { properties: { "attr.innerHtml": "this.html", "style.min-width.px": "this.minWidth", "style.margin-bottom.px": "this.marginBottom", "class.placeholder": "this.placeholderClass" } }, ngImport: i0 }); }
|
|
47
33
|
}
|
|
48
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaceholderFieldDirective, decorators: [{
|
|
@@ -51,7 +37,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
51
37
|
selector: '[bsPlaceholderField]',
|
|
52
38
|
standalone: false,
|
|
53
39
|
}]
|
|
54
|
-
}], ctorParameters: () => [
|
|
40
|
+
}], ctorParameters: () => [], propDecorators: { html: [{
|
|
55
41
|
type: HostBinding,
|
|
56
42
|
args: ['attr.innerHtml']
|
|
57
43
|
}], minWidth: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-placeholder.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder/placeholder.component.ts","../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder/placeholder.component.html","../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder-field/placeholder-field.directive.ts","../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder.module.ts","../../../../libs/mintplayer-ng-bootstrap/placeholder/mintplayer-ng-bootstrap-placeholder.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-placeholder.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder/placeholder.component.ts","../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder/placeholder.component.html","../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder-field/placeholder-field.directive.ts","../../../../libs/mintplayer-ng-bootstrap/placeholder/src/placeholder.module.ts","../../../../libs/mintplayer-ng-bootstrap/placeholder/mintplayer-ng-bootstrap-placeholder.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, model } from '@angular/core';\n\n@Component({\n selector: 'bs-placeholder',\n templateUrl: './placeholder.component.html',\n styleUrls: ['./placeholder.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsPlaceholderComponent {\n isLoading = model<boolean>(false);\n}\n","<div class=\"placeholder-glow\">\n <ng-content></ng-content>\n</div>","import { Directive, effect, HostBinding, inject } from '@angular/core';\nimport { BsPlaceholderComponent } from '../placeholder/placeholder.component';\n\n@Directive({\n selector: '[bsPlaceholderField]',\n standalone: false,\n})\nexport class BsPlaceholderFieldDirective {\n private placeholder = inject(BsPlaceholderComponent);\n\n constructor() {\n effect(() => {\n const isLoading = this.placeholder.isLoading();\n this.placeholderClass = isLoading;\n this.marginBottom = isLoading ? -1 : 0;\n this.html = isLoading ? ' ' : undefined;\n });\n }\n\n @HostBinding('attr.innerHtml') html?: string = undefined;\n @HostBinding('style.min-width.px') minWidth = 80;\n @HostBinding('style.margin-bottom.px') marginBottom = 0;\n @HostBinding('class.placeholder') placeholderClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BsPlaceholderComponent } from './placeholder/placeholder.component';\nimport { BsPlaceholderFieldDirective } from './placeholder-field/placeholder-field.directive';\n\n@NgModule({\n declarations: [BsPlaceholderComponent, BsPlaceholderFieldDirective],\n imports: [CommonModule],\n exports: [BsPlaceholderComponent, BsPlaceholderFieldDirective],\n})\nexport class BsPlaceholderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AAQE,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,qDAAC;AAClC,IAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,sQCTnC,yEAEM,EAAA,MAAA,EAAA,CAAA,+4BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDOO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,UAAA,EAGd,KAAK,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,yEAAA,EAAA,MAAA,EAAA,CAAA,+4BAAA,CAAA,EAAA;;;MEApC,2BAA2B,CAAA;AAGtC,IAAA,WAAA,GAAA;AAFQ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAWrB,IAAA,CAAA,IAAI,GAAY,SAAS;QACrB,IAAA,CAAA,QAAQ,GAAG,EAAE;QACT,IAAA,CAAA,YAAY,GAAG,CAAC;QACrB,IAAA,CAAA,gBAAgB,GAAG,IAAI;QAXvD,MAAM,CAAC,MAAK;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AAC9C,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;AACjC,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC;AACtC,YAAA,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS;AAC9C,QAAA,CAAC,CAAC;IACJ;8GAVW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAaE,WAAW;uBAAC,gBAAgB;;sBAC5B,WAAW;uBAAC,oBAAoB;;sBAChC,WAAW;uBAAC,wBAAwB;;sBACpC,WAAW;uBAAC,mBAAmB;;;MCZrB,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,YAAA,EAAA,CAJf,sBAAsB,EAAE,2BAA2B,aACxD,YAAY,CAAA,EAAA,OAAA,EAAA,CACZ,sBAAsB,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAElD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAHpB,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAGX,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;oBACnE,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;AAC/D,iBAAA;;;ACTD;;AAEG;;;;"}
|
|
@@ -1,43 +1,23 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
-
import { BehaviorSubject, distinctUntilChanged } from 'rxjs';
|
|
2
|
+
import { model, input, HostListener, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
6
3
|
|
|
7
4
|
class BsPlaylistTogglerComponent {
|
|
8
5
|
constructor() {
|
|
9
|
-
|
|
10
|
-
this.
|
|
11
|
-
this.stateChange = new EventEmitter();
|
|
12
|
-
//#endregion
|
|
13
|
-
this.toggleOnClick = true;
|
|
14
|
-
this.state$.pipe(distinctUntilChanged(), takeUntilDestroyed())
|
|
15
|
-
.subscribe(state => this.stateChange.emit(state));
|
|
16
|
-
}
|
|
17
|
-
get state() {
|
|
18
|
-
return this.state$.value;
|
|
19
|
-
}
|
|
20
|
-
set state(value) {
|
|
21
|
-
this.state$.next(value);
|
|
6
|
+
this.state = model(false, ...(ngDevMode ? [{ debugName: "state" }] : []));
|
|
7
|
+
this.toggleOnClick = input(true, ...(ngDevMode ? [{ debugName: "toggleOnClick" }] : []));
|
|
22
8
|
}
|
|
23
9
|
toggleState(ev) {
|
|
24
|
-
if (this.toggleOnClick) {
|
|
25
|
-
this.state
|
|
10
|
+
if (this.toggleOnClick()) {
|
|
11
|
+
this.state.update(v => !v);
|
|
26
12
|
}
|
|
27
13
|
}
|
|
28
14
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaylistTogglerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: BsPlaylistTogglerComponent, isStandalone: true, selector: "bs-playlist-toggler", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, toggleOnClick: { classPropertyName: "toggleOnClick", publicName: "toggleOnClick", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { state: "stateChange" }, host: { listeners: { "click": "toggleState($event)" } }, ngImport: i0, template: "<div class=\"playlist-toggler float-left\" [class.open]=\"state()\">\n <div></div>\n <div></div>\n <div></div>\n</div>", styles: [".playlist-toggler{width:3.5rem;padding:.75rem}.playlist-toggler>div{width:25px;height:2px;background:#bbb;margin:6px 0;transition:.4s}.playlist-toggler.open>div:nth-of-type(1){-webkit-transform:rotate(-45deg) translate(-7px,5px);transform:rotate(-45deg) translate(-7px,5px)}.playlist-toggler.open>div:nth-of-type(2){-webkit-transform:rotate(90deg) translate(0px,14px);transform:rotate(90deg) translateY(14px);opacity:0}.playlist-toggler.open>div:nth-of-type(3){-webkit-transform:rotate(45deg) translate(-6px,-4px);transform:rotate(45deg) translate(-6px,-4px)}.playlist-toggler:not(.open)>div:nth-of-type(1){-webkit-transform:rotate(-30deg) translate(-10px,11px);transform:rotate(-30deg) translate(-10px,11px)}.playlist-toggler:not(.open)>div:nth-of-type(2){-webkit-transform:rotate(90deg) translate(0px,14px);transform:rotate(90deg) translateY(14px);opacity:1}.playlist-toggler:not(.open)>div:nth-of-type(3){-webkit-transform:rotate(30deg) translate(-10px,-11px);transform:rotate(30deg) translate(-10px,-11px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
16
|
}
|
|
31
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPlaylistTogglerComponent, decorators: [{
|
|
32
18
|
type: Component,
|
|
33
|
-
args: [{ selector: 'bs-playlist-toggler', standalone: true,
|
|
34
|
-
}],
|
|
35
|
-
type: Output
|
|
36
|
-
}], state: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], toggleOnClick: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], toggleState: [{
|
|
19
|
+
args: [{ selector: 'bs-playlist-toggler', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"playlist-toggler float-left\" [class.open]=\"state()\">\n <div></div>\n <div></div>\n <div></div>\n</div>", styles: [".playlist-toggler{width:3.5rem;padding:.75rem}.playlist-toggler>div{width:25px;height:2px;background:#bbb;margin:6px 0;transition:.4s}.playlist-toggler.open>div:nth-of-type(1){-webkit-transform:rotate(-45deg) translate(-7px,5px);transform:rotate(-45deg) translate(-7px,5px)}.playlist-toggler.open>div:nth-of-type(2){-webkit-transform:rotate(90deg) translate(0px,14px);transform:rotate(90deg) translateY(14px);opacity:0}.playlist-toggler.open>div:nth-of-type(3){-webkit-transform:rotate(45deg) translate(-6px,-4px);transform:rotate(45deg) translate(-6px,-4px)}.playlist-toggler:not(.open)>div:nth-of-type(1){-webkit-transform:rotate(-30deg) translate(-10px,11px);transform:rotate(-30deg) translate(-10px,11px)}.playlist-toggler:not(.open)>div:nth-of-type(2){-webkit-transform:rotate(90deg) translate(0px,14px);transform:rotate(90deg) translateY(14px);opacity:1}.playlist-toggler:not(.open)>div:nth-of-type(3){-webkit-transform:rotate(30deg) translate(-10px,-11px);transform:rotate(30deg) translate(-10px,-11px)}\n"] }]
|
|
20
|
+
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }, { type: i0.Output, args: ["stateChange"] }], toggleOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleOnClick", required: false }] }], toggleState: [{
|
|
41
21
|
type: HostListener,
|
|
42
22
|
args: ['click', ['$event']]
|
|
43
23
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-playlist-toggler.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/playlist-toggler/src/playlist-toggler/playlist-toggler.component.ts","../../../../libs/mintplayer-ng-bootstrap/playlist-toggler/src/playlist-toggler/playlist-toggler.component.html","../../../../libs/mintplayer-ng-bootstrap/playlist-toggler/mintplayer-ng-bootstrap-playlist-toggler.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-playlist-toggler.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/playlist-toggler/src/playlist-toggler/playlist-toggler.component.ts","../../../../libs/mintplayer-ng-bootstrap/playlist-toggler/src/playlist-toggler/playlist-toggler.component.html","../../../../libs/mintplayer-ng-bootstrap/playlist-toggler/mintplayer-ng-bootstrap-playlist-toggler.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, HostListener, input, model } from '@angular/core';\n\n@Component({\n selector: 'bs-playlist-toggler',\n standalone: true,\n templateUrl: './playlist-toggler.component.html',\n styleUrls: ['./playlist-toggler.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsPlaylistTogglerComponent {\n state = model<boolean>(false);\n toggleOnClick = input(true);\n\n @HostListener('click', ['$event'])\n toggleState(ev: MouseEvent) {\n if (this.toggleOnClick()) {\n this.state.update(v => !v);\n }\n }\n}\n","<div class=\"playlist-toggler float-left\" [class.open]=\"state()\">\n <div></div>\n <div></div>\n <div></div>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MASa,0BAA0B,CAAA;AAPvC,IAAA,WAAA,GAAA;AAQE,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAU,KAAK,iDAAC;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,IAAI,yDAAC;AAQ5B,IAAA;AALC,IAAA,WAAW,CAAC,EAAc,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B;IACF;8GATW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,+bCTvC,iIAIM,EAAA,MAAA,EAAA,CAAA,s/BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDKO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,UAAA,EACnB,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,iIAAA,EAAA,MAAA,EAAA,CAAA,s/BAAA,CAAA,EAAA;;sBAM9C,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AEbnC;;AAEG;;;;"}
|
|
@@ -1,64 +1,41 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken,
|
|
2
|
+
import { InjectionToken, input, computed, HostBinding, Inject, ChangeDetectionStrategy, Component, inject, TemplateRef, Injector, ElementRef, signal, effect, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import { FadeInOutAnimation } from '@mintplayer/ng-animations';
|
|
4
|
-
import { BehaviorSubject, map, delay, take } from 'rxjs';
|
|
5
4
|
import * as i1 from '@angular/common';
|
|
6
5
|
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
7
6
|
import * as i2 from '@mintplayer/ng-bootstrap/has-overlay';
|
|
8
7
|
import { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';
|
|
9
|
-
import {
|
|
10
|
-
import * as i1$1 from '@angular/cdk/overlay';
|
|
11
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
8
|
+
import { Overlay, OverlayModule } from '@angular/cdk/overlay';
|
|
12
9
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
13
10
|
|
|
14
11
|
const POPOVER_CONTENT = new InjectionToken('PopoverContent');
|
|
15
12
|
|
|
16
13
|
class BsPopoverComponent {
|
|
17
14
|
constructor(content) {
|
|
18
|
-
|
|
19
|
-
this.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this.isVisible$ = new BehaviorSubject(false);
|
|
23
|
-
this.positionRelative = true;
|
|
24
|
-
this.template = content;
|
|
25
|
-
this.marginClass$ = this.position$.pipe(map((position) => {
|
|
26
|
-
switch (position) {
|
|
15
|
+
this.position = input('bottom', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
16
|
+
this.isVisible = input(false, ...(ngDevMode ? [{ debugName: "isVisible" }] : []));
|
|
17
|
+
this.marginClass = computed(() => {
|
|
18
|
+
switch (this.position()) {
|
|
27
19
|
case 'top': return 'mb-2';
|
|
28
20
|
case 'start': return 'me-2';
|
|
29
21
|
case 'end': return 'ms-2';
|
|
30
22
|
default: return 'mt-2';
|
|
31
23
|
}
|
|
32
|
-
}));
|
|
33
|
-
this.positionClass
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
get position() {
|
|
37
|
-
return this.position$.value;
|
|
38
|
-
}
|
|
39
|
-
set position(value) {
|
|
40
|
-
this.position$.next(value);
|
|
41
|
-
}
|
|
42
|
-
get isVisible() {
|
|
43
|
-
return this.isVisible$.value;
|
|
44
|
-
}
|
|
45
|
-
set isVisible(value) {
|
|
46
|
-
this.isVisible$.next(value);
|
|
24
|
+
}, ...(ngDevMode ? [{ debugName: "marginClass" }] : []));
|
|
25
|
+
this.positionClass = computed(() => `bs-popover-${this.position()}`, ...(ngDevMode ? [{ debugName: "positionClass" }] : []));
|
|
26
|
+
this.positionRelative = true;
|
|
27
|
+
this.template = content;
|
|
47
28
|
}
|
|
48
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPopoverComponent, deps: [{ token: POPOVER_CONTENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: BsPopoverComponent, isStandalone: false, selector: "bs-popover", inputs: { position: "position", isVisible: "isVisible" }, host: { properties: { "class.position-relative": "this.positionRelative" } }, ngImport: i0, template: "@if (isVisible
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: BsPopoverComponent, isStandalone: false, selector: "bs-popover", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.position-relative": "this.positionRelative" } }, ngImport: i0, template: "@if (isVisible()) {\n <div class=\"popover position-relative fade show\" role=\"tooltip\"\n [class]=\"[marginClass(), positionClass()]\"\n [@fadeInOut]>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"popover-arrow position-absolute\"></div>\n <bs-has-overlay></bs-has-overlay>\n </div>\n}\n", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}:host ::ng-deep .popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}:host ::ng-deep .popover .popover-arrow:before,:host ::ng-deep .popover .popover-arrow:after{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid;border-width:0}:host ::ng-deep .bs-popover-top>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}:host ::ng-deep .bs-popover-top>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,:host ::ng-deep .bs-popover-top>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}:host ::ng-deep .bs-popover-top>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-top>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}:host ::ng-deep .bs-popover-end>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}:host ::ng-deep .bs-popover-end>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,:host ::ng-deep .bs-popover-end>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}:host ::ng-deep .bs-popover-end>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-end>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}:host ::ng-deep .bs-popover-bottom>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}:host ::ng-deep .bs-popover-bottom>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,:host ::ng-deep .bs-popover-bottom>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}:host ::ng-deep .bs-popover-bottom>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-bottom>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}:host ::ng-deep .bs-popover-bottom .popover-header:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:\"\";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}:host ::ng-deep .bs-popover-start>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}:host ::ng-deep .bs-popover-start>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,:host ::ng-deep .bs-popover-start>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}:host ::ng-deep .bs-popover-start>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-start>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}:host ::ng-deep .popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}:host ::ng-deep .popover-header:empty{display:none}:host ::ng-deep .popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.popover.bs-popover-top>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.popover.bs-popover-bottom>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{left:50%;transform:translate(-50%)}.popover.bs-popover-start>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.popover.bs-popover-end>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{top:50%;transform:translateY(-50%)}.popover:not(.show){pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsHasOverlayComponent, selector: "bs-has-overlay" }], animations: [FadeInOutAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
31
|
}
|
|
51
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPopoverComponent, decorators: [{
|
|
52
33
|
type: Component,
|
|
53
|
-
args: [{ selector: 'bs-popover', standalone: false, animations: [FadeInOutAnimation], template: "@if (isVisible
|
|
34
|
+
args: [{ selector: 'bs-popover', standalone: false, animations: [FadeInOutAnimation], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isVisible()) {\n <div class=\"popover position-relative fade show\" role=\"tooltip\"\n [class]=\"[marginClass(), positionClass()]\"\n [@fadeInOut]>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"popover-arrow position-absolute\"></div>\n <bs-has-overlay></bs-has-overlay>\n </div>\n}\n", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size: .875rem;--bs-popover-bg: var(--bs-body-bg);--bs-popover-border-width: var(--bs-border-width);--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: var(--bs-border-radius-lg);--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow: var(--bs-box-shadow);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size: 1rem;--bs-popover-header-color: inherit;--bs-popover-header-bg: var(--bs-secondary-bg);--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: var(--bs-body-color);--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}:host ::ng-deep .popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}:host ::ng-deep .popover .popover-arrow:before,:host ::ng-deep .popover .popover-arrow:after{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid;border-width:0}:host ::ng-deep .bs-popover-top>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}:host ::ng-deep .bs-popover-top>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,:host ::ng-deep .bs-popover-top>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}:host ::ng-deep .bs-popover-top>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-top>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}:host ::ng-deep .bs-popover-end>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}:host ::ng-deep .bs-popover-end>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,:host ::ng-deep .bs-popover-end>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}:host ::ng-deep .bs-popover-end>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before{left:0;border-right-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-end>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}:host ::ng-deep .bs-popover-bottom>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}:host ::ng-deep .bs-popover-bottom>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,:host ::ng-deep .bs-popover-bottom>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}:host ::ng-deep .bs-popover-bottom>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-bottom>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}:host ::ng-deep .bs-popover-bottom .popover-header:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=bottom] .popover-header:before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:\"\";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}:host ::ng-deep .bs-popover-start>.popover-arrow,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}:host ::ng-deep .bs-popover-start>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,:host ::ng-deep .bs-popover-start>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}:host ::ng-deep .bs-popover-start>.popover-arrow:before,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before{right:0;border-left-color:var(--bs-popover-arrow-border)}:host ::ng-deep .bs-popover-start>.popover-arrow:after,:host ::ng-deep .bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}:host ::ng-deep .popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}:host ::ng-deep .popover-header:empty{display:none}:host ::ng-deep .popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.popover.bs-popover-top>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.popover.bs-popover-bottom>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow{left:50%;transform:translate(-50%)}.popover.bs-popover-start>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.popover.bs-popover-end>.popover-arrow,:host ::ng-deep .popover.bs-popover-auto[data-popper-placement^=right]>.popover-arrow{top:50%;transform:translateY(-50%)}.popover:not(.show){pointer-events:none}\n"] }]
|
|
54
35
|
}], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
|
|
55
36
|
type: Inject,
|
|
56
37
|
args: [POPOVER_CONTENT]
|
|
57
|
-
}] }], propDecorators: { position: [{
|
|
58
|
-
type: Input
|
|
59
|
-
}], isVisible: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], positionRelative: [{
|
|
38
|
+
}] }], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], isVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isVisible", required: false }] }], positionRelative: [{
|
|
62
39
|
type: HostBinding,
|
|
63
40
|
args: ['class.position-relative']
|
|
64
41
|
}] } });
|
|
@@ -66,50 +43,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
66
43
|
const PORTAL_FACTORY = new InjectionToken('PopoverPortalFactory');
|
|
67
44
|
|
|
68
45
|
class BsPopoverDirective {
|
|
69
|
-
constructor(
|
|
70
|
-
this.overlay =
|
|
71
|
-
this.
|
|
72
|
-
this.
|
|
73
|
-
this.
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
this.updatePosition = false;
|
|
77
|
-
this.
|
|
46
|
+
constructor() {
|
|
47
|
+
this.overlay = inject(Overlay);
|
|
48
|
+
this.templateRef = inject((TemplateRef));
|
|
49
|
+
this.parentInjector = inject(Injector);
|
|
50
|
+
this.portalFactory = inject(PORTAL_FACTORY);
|
|
51
|
+
this.parent = inject(ElementRef, { host: true, skipSelf: true });
|
|
52
|
+
this.bsPopover = input('bottom', ...(ngDevMode ? [{ debugName: "bsPopover" }] : []));
|
|
53
|
+
this.updatePosition = input(false, ...(ngDevMode ? [{ debugName: "updatePosition" }] : []));
|
|
54
|
+
this.localInjector = null;
|
|
78
55
|
this.portal = null;
|
|
79
56
|
this.overlayRef = null;
|
|
80
57
|
this.component = null;
|
|
81
|
-
this.
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
if (this.component) {
|
|
85
|
-
this.component.instance.position = position;
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
this.isVisible$.pipe(takeUntilDestroyed()).subscribe((isVisible) => {
|
|
89
|
-
if (this.component) {
|
|
90
|
-
this.component.instance.isVisible = isVisible;
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
this.connectedPosition$ = this.position$
|
|
94
|
-
.pipe(delay(20), map((position) => {
|
|
58
|
+
this.isVisible = signal(false, ...(ngDevMode ? [{ debugName: "isVisible" }] : []));
|
|
59
|
+
this.connectedPosition = computed(() => {
|
|
60
|
+
const position = this.bsPopover();
|
|
95
61
|
switch (position) {
|
|
96
62
|
case 'top':
|
|
97
63
|
return {
|
|
98
64
|
originX: "center",
|
|
99
|
-
originY: "top",
|
|
65
|
+
originY: "top",
|
|
100
66
|
overlayX: "center",
|
|
101
67
|
overlayY: "bottom"
|
|
102
68
|
};
|
|
103
69
|
case 'start':
|
|
104
70
|
return {
|
|
105
|
-
originX: "start",
|
|
71
|
+
originX: "start",
|
|
106
72
|
originY: "center",
|
|
107
73
|
overlayX: "end",
|
|
108
74
|
overlayY: "center",
|
|
109
75
|
};
|
|
110
76
|
case 'end':
|
|
111
77
|
return {
|
|
112
|
-
originX: "end",
|
|
78
|
+
originX: "end",
|
|
113
79
|
originY: "center",
|
|
114
80
|
overlayX: "start",
|
|
115
81
|
overlayY: "center"
|
|
@@ -117,46 +83,55 @@ class BsPopoverDirective {
|
|
|
117
83
|
default:
|
|
118
84
|
return {
|
|
119
85
|
originX: "center",
|
|
120
|
-
originY: "bottom",
|
|
86
|
+
originY: "bottom",
|
|
121
87
|
overlayX: "center",
|
|
122
88
|
overlayY: "top"
|
|
123
89
|
};
|
|
124
90
|
}
|
|
125
|
-
}));
|
|
126
|
-
|
|
127
|
-
.
|
|
128
|
-
.
|
|
91
|
+
}, ...(ngDevMode ? [{ debugName: "connectedPosition" }] : []));
|
|
92
|
+
effect(() => {
|
|
93
|
+
const position = this.bsPopover();
|
|
94
|
+
if (this.component) {
|
|
95
|
+
this.component.setInput('position', position);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
effect(() => {
|
|
99
|
+
const isVisible = this.isVisible();
|
|
100
|
+
if (this.component) {
|
|
101
|
+
this.component.setInput('isVisible', isVisible);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
effect(() => {
|
|
105
|
+
const connectedPosition = this.connectedPosition();
|
|
129
106
|
if (this.overlayRef) {
|
|
130
|
-
|
|
131
|
-
.
|
|
132
|
-
|
|
107
|
+
setTimeout(() => {
|
|
108
|
+
this.overlayRef?.updatePositionStrategy(this.overlay.position()
|
|
109
|
+
.flexibleConnectedTo(this.parent)
|
|
110
|
+
.withPositions([connectedPosition]));
|
|
111
|
+
}, 20);
|
|
133
112
|
}
|
|
134
113
|
});
|
|
135
114
|
}
|
|
136
|
-
set bsPopover(value) {
|
|
137
|
-
this.position$.next(value);
|
|
138
|
-
}
|
|
139
115
|
ngAfterViewInit() {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
});
|
|
145
|
-
this.portal = this.portalFactory(this.injector);
|
|
146
|
-
this.overlayRef = this.overlay.create({
|
|
147
|
-
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
148
|
-
positionStrategy: this.overlay.position()
|
|
149
|
-
.flexibleConnectedTo(this.parent)
|
|
150
|
-
.withPositions([connectedPosition]),
|
|
151
|
-
});
|
|
152
|
-
this.component = this.overlayRef.attach(this.portal);
|
|
153
|
-
this.component.instance.position = this.position$.value;
|
|
116
|
+
const connectedPosition = this.connectedPosition();
|
|
117
|
+
this.localInjector = Injector.create({
|
|
118
|
+
providers: [{ provide: POPOVER_CONTENT, useValue: this.templateRef }],
|
|
119
|
+
parent: this.parentInjector
|
|
154
120
|
});
|
|
121
|
+
this.portal = this.portalFactory(this.localInjector);
|
|
122
|
+
this.overlayRef = this.overlay.create({
|
|
123
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
124
|
+
positionStrategy: this.overlay.position()
|
|
125
|
+
.flexibleConnectedTo(this.parent)
|
|
126
|
+
.withPositions([connectedPosition]),
|
|
127
|
+
});
|
|
128
|
+
this.component = this.overlayRef.attach(this.portal);
|
|
129
|
+
this.component.setInput('position', this.bsPopover());
|
|
155
130
|
this.parent.nativeElement.onclick = () => {
|
|
156
|
-
if (this.updatePosition) {
|
|
131
|
+
if (this.updatePosition()) {
|
|
157
132
|
this.overlayRef?.updatePosition();
|
|
158
133
|
}
|
|
159
|
-
this.isVisible
|
|
134
|
+
this.isVisible.set(!this.isVisible());
|
|
160
135
|
};
|
|
161
136
|
}
|
|
162
137
|
ngOnDestroy() {
|
|
@@ -166,8 +141,8 @@ class BsPopoverDirective {
|
|
|
166
141
|
this.overlayRef = null;
|
|
167
142
|
}
|
|
168
143
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPopoverDirective, deps: [
|
|
170
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
145
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: BsPopoverDirective, isStandalone: false, selector: "*[bsPopover]", inputs: { bsPopover: { classPropertyName: "bsPopover", publicName: "bsPopover", isSignal: true, isRequired: false, transformFunction: null }, updatePosition: { classPropertyName: "updatePosition", publicName: "updatePosition", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
171
146
|
}
|
|
172
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsPopoverDirective, decorators: [{
|
|
173
148
|
type: Directive,
|
|
@@ -175,18 +150,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
175
150
|
selector: '*[bsPopover]',
|
|
176
151
|
standalone: false,
|
|
177
152
|
}]
|
|
178
|
-
}], ctorParameters: () => [
|
|
179
|
-
type: Inject,
|
|
180
|
-
args: [PORTAL_FACTORY]
|
|
181
|
-
}] }, { type: i0.ElementRef, decorators: [{
|
|
182
|
-
type: Host
|
|
183
|
-
}, {
|
|
184
|
-
type: SkipSelf
|
|
185
|
-
}] }], propDecorators: { bsPopover: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], updatePosition: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}] } });
|
|
153
|
+
}], ctorParameters: () => [], propDecorators: { bsPopover: [{ type: i0.Input, args: [{ isSignal: true, alias: "bsPopover", required: false }] }], updatePosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "updatePosition", required: false }] }] } });
|
|
190
154
|
|
|
191
155
|
class BsPopoverBodyDirective {
|
|
192
156
|
constructor() {
|