ngx-bootstrap 21.2.0 → 21.2.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/collapse/fesm2022/ngx-bootstrap-collapse.mjs +89 -33
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
- package/collapse/types/ngx-bootstrap-collapse.d.ts +8 -7
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +35 -16
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
- package/component-loader/types/ngx-bootstrap-component-loader.d.ts +6 -6
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +59 -31
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/datepicker/types/ngx-bootstrap-datepicker.d.ts +6 -2
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +34 -21
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/dropdown/types/ngx-bootstrap-dropdown.d.ts +4 -5
- package/package.json +1 -2
- package/schematics/ng-add/index.js +5 -13
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +52 -43
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/types/ngx-bootstrap-typeahead.d.ts +3 -1
- package/utils/fesm2022/ngx-bootstrap-utils.mjs +89 -1
- package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
- package/utils/types/ngx-bootstrap-utils.d.ts +42 -2
|
@@ -484,15 +484,16 @@ declare abstract class BsDatepickerAbstractComponent {
|
|
|
484
484
|
}
|
|
485
485
|
|
|
486
486
|
declare class BsDatepickerContainerComponent extends BsDatepickerAbstractComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
487
|
+
private _renderer;
|
|
487
488
|
private _config;
|
|
488
489
|
private _store;
|
|
489
490
|
private _element;
|
|
490
491
|
private _actions;
|
|
491
492
|
private _positionService;
|
|
492
493
|
valueChange: EventEmitter<Date>;
|
|
493
|
-
animationState: string;
|
|
494
494
|
isRangePicker: boolean;
|
|
495
495
|
_subs: Subscription[];
|
|
496
|
+
private _cancelExpandAnimation?;
|
|
496
497
|
startTimepicker?: TimepickerComponent;
|
|
497
498
|
set value(value: Date | undefined);
|
|
498
499
|
get isDatePickerDisabled(): boolean;
|
|
@@ -509,6 +510,7 @@ declare class BsDatepickerContainerComponent extends BsDatepickerAbstractCompone
|
|
|
509
510
|
yearSelectHandler(day: CalendarCellViewModel): void;
|
|
510
511
|
setToday(): void;
|
|
511
512
|
clearDate(): void;
|
|
513
|
+
private _animateExpand;
|
|
512
514
|
ngOnDestroy(): void;
|
|
513
515
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsDatepickerContainerComponent, never>;
|
|
514
516
|
static ɵcmp: i0.ɵɵComponentDeclaration<BsDatepickerContainerComponent, "bs-datepicker-container", never, {}, {}, never, never, true, never>;
|
|
@@ -726,6 +728,7 @@ declare class BsDaterangepickerInlineConfig extends BsDatepickerConfig {
|
|
|
726
728
|
}
|
|
727
729
|
|
|
728
730
|
declare class BsDaterangepickerContainerComponent extends BsDatepickerAbstractComponent implements OnInit, OnDestroy, AfterViewInit {
|
|
731
|
+
private _renderer;
|
|
729
732
|
private _config;
|
|
730
733
|
private _store;
|
|
731
734
|
private _element;
|
|
@@ -733,7 +736,7 @@ declare class BsDaterangepickerContainerComponent extends BsDatepickerAbstractCo
|
|
|
733
736
|
private _positionService;
|
|
734
737
|
set value(value: (Date | undefined)[] | undefined);
|
|
735
738
|
valueChange: EventEmitter<Date[]>;
|
|
736
|
-
|
|
739
|
+
private _cancelExpandAnimation?;
|
|
737
740
|
_rangeStack: Date[];
|
|
738
741
|
chosenRange: Date[];
|
|
739
742
|
_subs: Subscription[];
|
|
@@ -753,6 +756,7 @@ declare class BsDaterangepickerContainerComponent extends BsDatepickerAbstractCo
|
|
|
753
756
|
monthSelectHandler(day: CalendarCellViewModel): void;
|
|
754
757
|
yearSelectHandler(day: CalendarCellViewModel): void;
|
|
755
758
|
rangesProcessing(day: CalendarCellViewModel): void;
|
|
759
|
+
private _animateExpand;
|
|
756
760
|
ngOnDestroy(): void;
|
|
757
761
|
setRangeOnCalendar(dates: BsCustomDates): void;
|
|
758
762
|
setMaxDateRangeOnCalendar(currentSelection: Date): void;
|
|
@@ -3,8 +3,7 @@ import { Injectable, EventEmitter, ChangeDetectionStrategy, Component, input, ou
|
|
|
3
3
|
import { filter } from 'rxjs/operators';
|
|
4
4
|
import * as i1 from 'ngx-bootstrap/component-loader';
|
|
5
5
|
import { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
|
|
6
|
-
import
|
|
7
|
-
import { style, animate } from '@angular/animations';
|
|
6
|
+
import { animateExpand } from 'ngx-bootstrap/utils';
|
|
8
7
|
import { NgClass } from '@angular/common';
|
|
9
8
|
|
|
10
9
|
/** Default dropdown configuration */
|
|
@@ -52,11 +51,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
52
51
|
args: [{ providedIn: 'platform' }]
|
|
53
52
|
}], ctorParameters: () => [] });
|
|
54
53
|
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
style({ height: 0, overflow: 'hidden' }),
|
|
58
|
-
animate(DROPDOWN_ANIMATION_TIMING, style({ height: '*', overflow: 'hidden' }))
|
|
59
|
-
];
|
|
54
|
+
const DROPDOWN_ANIMATION_DURATION_MS = 220;
|
|
55
|
+
const DROPDOWN_ANIMATION_TIMING = `${DROPDOWN_ANIMATION_DURATION_MS}ms cubic-bezier(0, 0, 0.2, 1)`;
|
|
60
56
|
|
|
61
57
|
// todo: revert ngClass to [class] when false positive angular-cli issue is fixed
|
|
62
58
|
// [class.dropdown]="direction === 'down'"-->
|
|
@@ -64,18 +60,24 @@ class BsDropdownContainerComponent {
|
|
|
64
60
|
get direction() {
|
|
65
61
|
return this._state.direction;
|
|
66
62
|
}
|
|
67
|
-
constructor(_state, cd, _renderer, _element
|
|
63
|
+
constructor(_state, cd, _renderer, _element) {
|
|
68
64
|
this._state = _state;
|
|
69
65
|
this.cd = cd;
|
|
70
66
|
this._renderer = _renderer;
|
|
71
67
|
this._element = _element;
|
|
72
68
|
this.isOpen = false;
|
|
73
|
-
this._factoryDropDownAnimation = _builder.build(dropdownAnimation);
|
|
74
69
|
this._subscription = _state.isOpenChange.subscribe((value) => {
|
|
75
70
|
this.isOpen = value;
|
|
76
71
|
const dropdown = this._element.nativeElement.querySelector('.dropdown-menu');
|
|
77
72
|
this._renderer.addClass(this._element.nativeElement.querySelector('div'), 'open');
|
|
78
73
|
if (dropdown) {
|
|
74
|
+
// Pin at height:0 BEFORE .show makes the element display:block — this
|
|
75
|
+
// ensures there is no frame where the element is visible at its natural
|
|
76
|
+
// height before the animation clamps it to 0.
|
|
77
|
+
if (this._state.isAnimated) {
|
|
78
|
+
this._renderer.setStyle(dropdown, 'height', '0');
|
|
79
|
+
this._renderer.setStyle(dropdown, 'overflow', 'hidden');
|
|
80
|
+
}
|
|
79
81
|
this._renderer.addClass(dropdown, 'show');
|
|
80
82
|
if (dropdown.classList.contains('dropdown-menu-right') || dropdown.classList.contains('dropdown-menu-end')) {
|
|
81
83
|
this._renderer.setStyle(dropdown, 'left', 'auto');
|
|
@@ -87,8 +89,12 @@ class BsDropdownContainerComponent {
|
|
|
87
89
|
}
|
|
88
90
|
}
|
|
89
91
|
if (dropdown && this._state.isAnimated) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
// height: 0 and overflow: hidden are already set (before .show was added).
|
|
93
|
+
this._cancelExpandAnimation?.();
|
|
94
|
+
this._cancelExpandAnimation = animateExpand(this._renderer, dropdown, {
|
|
95
|
+
timing: DROPDOWN_ANIMATION_TIMING,
|
|
96
|
+
durationMs: DROPDOWN_ANIMATION_DURATION_MS
|
|
97
|
+
});
|
|
92
98
|
}
|
|
93
99
|
this.cd.markForCheck();
|
|
94
100
|
this.cd.detectChanges();
|
|
@@ -99,9 +105,10 @@ class BsDropdownContainerComponent {
|
|
|
99
105
|
return this._element.nativeElement.contains(el);
|
|
100
106
|
}
|
|
101
107
|
ngOnDestroy() {
|
|
108
|
+
this._cancelExpandAnimation?.();
|
|
102
109
|
this._subscription.unsubscribe();
|
|
103
110
|
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BsDropdownContainerComponent, deps: [{ token: BsDropdownState }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BsDropdownContainerComponent, deps: [{ token: BsDropdownState }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
112
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: BsDropdownContainerComponent, isStandalone: true, selector: "bs-dropdown-container", host: { styleAttribute: "display:block;position: absolute;z-index: 1040" }, ngImport: i0, template: `
|
|
106
113
|
<div [class.dropup]="direction === 'up'"
|
|
107
114
|
[ngClass]="{dropdown: direction === 'down'}"
|
|
@@ -128,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
128
135
|
</div>
|
|
129
136
|
`,
|
|
130
137
|
}]
|
|
131
|
-
}], ctorParameters: () => [{ type: BsDropdownState }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }
|
|
138
|
+
}], ctorParameters: () => [{ type: BsDropdownState }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }] });
|
|
132
139
|
|
|
133
140
|
class BsDropdownDirective {
|
|
134
141
|
get isDisabled() {
|
|
@@ -143,7 +150,7 @@ class BsDropdownDirective {
|
|
|
143
150
|
get _showInline() {
|
|
144
151
|
return !this.container();
|
|
145
152
|
}
|
|
146
|
-
constructor(_elementRef, _renderer, _viewContainerRef, _cis, _state, _config
|
|
153
|
+
constructor(_elementRef, _renderer, _viewContainerRef, _cis, _state, _config) {
|
|
147
154
|
this._elementRef = _elementRef;
|
|
148
155
|
this._renderer = _renderer;
|
|
149
156
|
this._viewContainerRef = _viewContainerRef;
|
|
@@ -214,7 +221,6 @@ class BsDropdownDirective {
|
|
|
214
221
|
this._state.insideClick = this._config.insideClick;
|
|
215
222
|
this._state.isAnimated = this._config.isAnimated;
|
|
216
223
|
this._state.stopOnClickPropagation = this._config.stopOnClickPropagation;
|
|
217
|
-
this._factoryDropDownAnimation = _builder.build(dropdownAnimation);
|
|
218
224
|
// create dropdown component loader
|
|
219
225
|
this._dropdown = this._cis
|
|
220
226
|
.createLoader(this._elementRef, this._viewContainerRef, this._renderer)
|
|
@@ -413,6 +419,7 @@ class BsDropdownDirective {
|
|
|
413
419
|
for (const sub of this._subscriptions) {
|
|
414
420
|
sub.unsubscribe();
|
|
415
421
|
}
|
|
422
|
+
this._cancelExpandAnimation?.();
|
|
416
423
|
this._dropdown.dispose();
|
|
417
424
|
}
|
|
418
425
|
addBs4Polyfills() {
|
|
@@ -422,10 +429,16 @@ class BsDropdownDirective {
|
|
|
422
429
|
}
|
|
423
430
|
playAnimation() {
|
|
424
431
|
if (this._state.isAnimated && this._inlinedMenu) {
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
432
|
+
const el = this._inlinedMenu.rootNodes[0];
|
|
433
|
+
if (!el) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
this._cancelExpandAnimation?.();
|
|
437
|
+
this._cancelExpandAnimation = animateExpand(this._renderer, el, {
|
|
438
|
+
timing: DROPDOWN_ANIMATION_TIMING,
|
|
439
|
+
durationMs: DROPDOWN_ANIMATION_DURATION_MS,
|
|
440
|
+
useRaf: true,
|
|
441
|
+
manageDisplay: true
|
|
429
442
|
});
|
|
430
443
|
}
|
|
431
444
|
}
|
|
@@ -462,7 +475,7 @@ class BsDropdownDirective {
|
|
|
462
475
|
this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'bottom');
|
|
463
476
|
}
|
|
464
477
|
}
|
|
465
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BsDropdownDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i1.ComponentLoaderFactory }, { token: BsDropdownState }, { token: BsDropdownConfig }
|
|
478
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BsDropdownDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i1.ComponentLoaderFactory }, { token: BsDropdownState }, { token: BsDropdownConfig }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
466
479
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: BsDropdownDirective, isStandalone: true, selector: "[bsDropdown], [dropdown]", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggers: { classPropertyName: "triggers", publicName: "triggers", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: false, transformFunction: null }, dropup: { classPropertyName: "dropup", publicName: "dropup", isSignal: true, isRequired: false, transformFunction: null }, autoClose: { classPropertyName: "autoClose", publicName: "autoClose", isSignal: true, isRequired: false, transformFunction: null }, isAnimated: { classPropertyName: "isAnimated", publicName: "isAnimated", isSignal: true, isRequired: false, transformFunction: null }, insideClick: { classPropertyName: "insideClick", publicName: "insideClick", isSignal: true, isRequired: false, transformFunction: null }, isDisabledInput: { classPropertyName: "isDisabledInput", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isOpenInput: { classPropertyName: "isOpenInput", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", onShown: "onShown", onHidden: "onHidden" }, host: { listeners: { "keydown.arrowDown": "navigationClick($event)", "keydown.arrowUp": "navigationClick($event)" }, properties: { "class.dropup": "_dropup", "class.open": "isOpen", "class.show": "isOpen" } }, providers: [BsDropdownState, ComponentLoaderFactory, BsDropdownConfig], exportAs: ["bs-dropdown"], ngImport: i0 }); }
|
|
467
480
|
}
|
|
468
481
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: BsDropdownDirective, decorators: [{
|
|
@@ -478,7 +491,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
478
491
|
'[class.show]': 'isOpen'
|
|
479
492
|
}
|
|
480
493
|
}]
|
|
481
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i1.ComponentLoaderFactory }, { type: BsDropdownState }, { type: BsDropdownConfig }
|
|
494
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i1.ComponentLoaderFactory }, { type: BsDropdownState }, { type: BsDropdownConfig }], propDecorators: { placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], triggers: [{ type: i0.Input, args: [{ isSignal: true, alias: "triggers", required: false }] }], container: [{ type: i0.Input, args: [{ isSignal: true, alias: "container", required: false }] }], dropup: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropup", required: false }] }], autoClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoClose", required: false }] }], isAnimated: [{ type: i0.Input, args: [{ isSignal: true, alias: "isAnimated", required: false }] }], insideClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "insideClick", required: false }] }], isDisabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], isOpenInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], isOpenChange: [{ type: i0.Output, args: ["isOpenChange"] }], onShown: [{ type: i0.Output, args: ["onShown"] }], onHidden: [{ type: i0.Output, args: ["onHidden"] }], navigationClick: [{
|
|
482
495
|
type: HostListener,
|
|
483
496
|
args: ['keydown.arrowDown', ['$event']]
|
|
484
497
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-dropdown.mjs","sources":["../../../../src/dropdown/bs-dropdown.config.ts","../../../../src/dropdown/bs-dropdown.state.ts","../../../../src/dropdown/dropdown-animations.ts","../../../../src/dropdown/bs-dropdown-container.component.ts","../../../../src/dropdown/bs-dropdown.directive.ts","../../../../src/dropdown/bs-dropdown-menu.directive.ts","../../../../src/dropdown/bs-dropdown-toggle.directive.ts","../../../../src/dropdown/bs-dropdown.module.ts","../../../../src/dropdown/ngx-bootstrap-dropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/** Default dropdown configuration */\n@Injectable({\n providedIn: 'root'\n})\nexport class BsDropdownConfig {\n /** default dropdown auto closing behavior */\n autoClose = true;\n /** default dropdown auto closing behavior */\n insideClick = false;\n /** turn on/off animation */\n isAnimated = false;\n /** value true of stopOnClickPropagation allows event stopPropagation*/\n stopOnClickPropagation = false;\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { BsComponentRef } from 'ngx-bootstrap/component-loader';\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\n\n@Injectable({providedIn: 'platform'})\nexport class BsDropdownState {\n direction: 'down' | 'up' = 'down';\n autoClose = true;\n insideClick = false;\n isAnimated = false;\n stopOnClickPropagation = false;\n isOpenChange = new EventEmitter<boolean>();\n isDisabledChange = new EventEmitter<boolean>();\n toggleClick = new EventEmitter<boolean>();\n counts = 0;\n /**\n * Content to be displayed as popover.\n */\n dropdownMenu: Promise<BsComponentRef<BsDropdownMenuDirective>>;\n resolveDropdownMenu!: (componentRef: BsComponentRef<BsDropdownMenuDirective>) => void;\n\n constructor() {\n this.dropdownMenu = new Promise(resolve => {\n this.resolveDropdownMenu = resolve;\n });\n }\n}\n","import {\n animate,\n style,\n AnimationMetadata\n} from '@angular/animations';\n\nexport const DROPDOWN_ANIMATION_TIMING = '220ms cubic-bezier(0, 0, 0.2, 1)';\n\nexport const dropdownAnimation: AnimationMetadata[] = [\n style({ height: 0, overflow: 'hidden' }),\n animate(\n DROPDOWN_ANIMATION_TIMING,\n style({ height: '*', overflow: 'hidden' })\n )\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n Renderer2\n} from '@angular/core';\n\nimport { BsDropdownState } from './bs-dropdown.state';\n\nimport { dropdownAnimation } from './dropdown-animations';\nimport { AnimationBuilder, AnimationFactory } from '@angular/animations';\nimport { Subscription } from 'rxjs';\nimport { NgClass } from '@angular/common';\n\n// todo: revert ngClass to [class] when false positive angular-cli issue is fixed\n// [class.dropdown]=\"direction === 'down'\"-->\n@Component({\n selector: 'bs-dropdown-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgClass],\n host: {\n style: 'display:block;position: absolute;z-index: 1040'\n },\n template: `\n <div [class.dropup]=\"direction === 'up'\"\n [ngClass]=\"{dropdown: direction === 'down'}\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content>\n </div>\n `,\n})\nexport class BsDropdownContainerComponent implements OnDestroy {\n isOpen = false;\n\n private _factoryDropDownAnimation: AnimationFactory;\n\n get direction(): 'down' | 'up' {\n return this._state.direction;\n }\n\n private _subscription: Subscription;\n\n constructor(\n private _state: BsDropdownState,\n private cd: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _element: ElementRef,\n _builder: AnimationBuilder\n ) {\n this._factoryDropDownAnimation = _builder.build(dropdownAnimation);\n\n this._subscription = _state.isOpenChange.subscribe((value: boolean) => {\n this.isOpen = value;\n const dropdown = this._element.nativeElement.querySelector('.dropdown-menu');\n\n this._renderer.addClass(this._element.nativeElement.querySelector('div'), 'open');\n\n if (dropdown) {\n this._renderer.addClass(dropdown, 'show');\n\n if (dropdown.classList.contains('dropdown-menu-right') || dropdown.classList.contains('dropdown-menu-end')) {\n this._renderer.setStyle(dropdown, 'left', 'auto');\n this._renderer.setStyle(dropdown, 'right', '0');\n }\n if (this.direction === 'up') {\n this._renderer.setStyle(dropdown, 'top', 'auto');\n this._renderer.setStyle(\n dropdown,\n 'transform',\n 'translateY(-101%)'\n );\n }\n }\n\n if (dropdown && this._state.isAnimated) {\n this._factoryDropDownAnimation.create(dropdown)\n .play();\n }\n\n this.cd.markForCheck();\n this.cd.detectChanges();\n });\n }\n\n /** @internal */\n _contains(el: Element): boolean {\n return this._element.nativeElement.contains(el);\n }\n\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n}\n","import {\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewContainerRef,\n input,\n effect,\n output\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { BsComponentRef, ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nimport { BsDropdownConfig } from './bs-dropdown.config';\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownState } from './bs-dropdown.state';\nimport { BsDropdownMenuDirective } from './index';\nimport { AnimationBuilder, AnimationFactory } from '@angular/animations';\nimport { dropdownAnimation } from './dropdown-animations';\n\n@Directive({\n selector: '[bsDropdown], [dropdown]',\n exportAs: 'bs-dropdown',\n providers: [BsDropdownState, ComponentLoaderFactory, BsDropdownConfig],\n standalone: true,\n host: {\n '[class.dropup]': '_dropup',\n '[class.open]': 'isOpen',\n '[class.show]': 'isOpen'\n }\n})\nexport class BsDropdownDirective implements OnInit, OnDestroy {\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n placement = input<string | undefined>();\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = input<string | undefined>();\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container = input<string | undefined>();\n\n /**\n * This attribute indicates that the dropdown should be opened upwards\n */\n dropup = input<boolean>(false);\n\n // Internal resolved value for dropup (for host binding)\n _dropup = false;\n\n /**\n * Indicates that dropdown will be closed on item or document click,\n * and after pressing ESC\n */\n autoClose = input<boolean | undefined>(undefined);\n\n /**\n * Indicates that dropdown will be animated\n */\n isAnimated = input<boolean | undefined>(undefined);\n\n /**\n * This attribute indicates that the dropdown shouldn't close on inside click when autoClose is set to true\n */\n insideClick = input<boolean | undefined>(undefined);\n\n /**\n * Disables dropdown toggle and hides dropdown menu if opened\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n isDisabledInput = input<boolean>(false, { alias: 'isDisabled' });\n\n get isDisabled(): boolean {\n return this._isDisabled;\n }\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n isOpenInput = input<boolean>(false, { alias: 'isOpen' });\n\n get isOpen(): boolean {\n if (this._showInline) {\n return this._isInlineOpen;\n }\n\n return this._dropdown.isShown;\n }\n\n /**\n * Emits an event when isOpen change\n */\n readonly isOpenChange = output<boolean>();\n\n /**\n * Emits an event when the popover is shown\n */\n readonly onShown = output<boolean>();\n\n /**\n * Emits an event when the popover is hidden\n */\n readonly onHidden = output<boolean>();\n\n private _dropdown: ComponentLoader<BsDropdownContainerComponent>;\n\n private get _showInline(): boolean {\n return !this.container();\n }\n\n // todo: move to component loader\n private _isInlineOpen = false;\n\n private _inlinedMenu?: EmbeddedViewRef<BsDropdownMenuDirective>;\n private _isDisabled = false;\n private _subscriptions: Subscription[] = [];\n private _isInited = false;\n private _factoryDropDownAnimation: AnimationFactory;\n\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n private _cis: ComponentLoaderFactory,\n private _state: BsDropdownState,\n private _config: BsDropdownConfig,\n _builder: AnimationBuilder\n ) {\n // set initial dropdown state from config\n this._state.autoClose = this._config.autoClose;\n this._state.insideClick = this._config.insideClick;\n this._state.isAnimated = this._config.isAnimated;\n this._state.stopOnClickPropagation = this._config.stopOnClickPropagation;\n\n this._factoryDropDownAnimation = _builder.build(dropdownAnimation);\n\n // create dropdown component loader\n this._dropdown = this._cis\n .createLoader<BsDropdownContainerComponent>(this._elementRef, this._viewContainerRef, this._renderer)\n .provide({ provide: BsDropdownState, useValue: this._state });\n\n this._dropdown.onShown.subscribe((v: boolean) => this.onShown.emit(v));\n this._dropdown.onHidden.subscribe((v: boolean) => this.onHidden.emit(v));\n this._state.isOpenChange.subscribe((v: boolean) => this.isOpenChange.emit(v));\n\n // Effect for dropup\n effect(() => {\n this._dropup = this.dropup();\n });\n\n // Effect for autoClose\n effect(() => {\n const val = this.autoClose();\n if (val !== undefined) {\n this._state.autoClose = val;\n }\n });\n\n // Effect for isAnimated\n effect(() => {\n const val = this.isAnimated();\n if (val !== undefined) {\n this._state.isAnimated = val;\n }\n });\n\n // Effect for insideClick\n effect(() => {\n const val = this.insideClick();\n if (val !== undefined) {\n this._state.insideClick = val;\n }\n });\n\n // Effect for isDisabled\n effect(() => {\n const val = this.isDisabledInput();\n this._isDisabled = val;\n this._state.isDisabledChange.emit(val);\n if (val) {\n this.hide();\n }\n });\n\n // Effect for isOpen\n effect(() => {\n const val = this.isOpenInput();\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n // attach DOM listeners\n this._dropdown.listen({\n // because of dropdown inline mode\n outsideClick: false,\n triggers: this.triggers(),\n show: () => this.show()\n });\n\n // toggle visibility on toggle element click\n this._subscriptions.push(this._state.toggleClick.subscribe((value: boolean) => this.toggle(value)));\n\n // hide dropdown if set disabled while opened\n this._subscriptions.push(\n this._state.isDisabledChange\n .pipe(filter((value: boolean) => value))\n .subscribe((/*value: boolean*/) => this.hide())\n );\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this.isOpen || this.isDisabled) {\n return;\n }\n\n if (this._showInline) {\n if (!this._inlinedMenu) {\n this._state.dropdownMenu\n .then((dropdownMenu: BsComponentRef<BsDropdownMenuDirective>) => {\n this._dropdown.attachInline(dropdownMenu.viewContainer, dropdownMenu.templateRef);\n this._inlinedMenu = this._dropdown._inlineViewRef;\n\n this.addBs4Polyfills();\n if (this._inlinedMenu) {\n this._renderer.addClass(this._inlinedMenu.rootNodes[0].parentNode, 'open');\n }\n\n this.playAnimation();\n })\n // swallow errors\n .catch();\n }\n this.addBs4Polyfills();\n\n this._isInlineOpen = true;\n this.onShown.emit(true);\n this._state.isOpenChange.emit(true);\n\n this.playAnimation();\n\n return;\n }\n this._state.dropdownMenu\n .then((dropdownMenu) => {\n // check direction in which dropdown should be opened\n const _dropup = this._dropup || (typeof this._dropup !== 'undefined' && this._dropup);\n this._state.direction = _dropup ? 'up' : 'down';\n const _placement = this.placement() || (_dropup ? 'top start' : 'bottom start');\n\n // show dropdown\n this._dropdown\n .attach(BsDropdownContainerComponent)\n .to(this.container())\n .position({ attachment: _placement })\n .show({\n content: dropdownMenu.templateRef,\n placement: _placement\n });\n\n this._state.isOpenChange.emit(true);\n })\n // swallow error\n .catch();\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (!this.isOpen) {\n return;\n }\n\n if (this._showInline) {\n this.removeShowClass();\n this.removeDropupStyles();\n this._isInlineOpen = false;\n this.onHidden.emit(true);\n } else {\n this._dropdown.hide();\n }\n\n this._state.isOpenChange.emit(false);\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover. With parameter <code>true</code> allows toggling, with parameter <code>false</code>\n * only hides opened dropdown. Parameter usage will be removed in ngx-bootstrap v3\n */\n toggle(value?: boolean): void {\n if (this.isOpen || !value) {\n return this.hide();\n }\n\n return this.show();\n }\n\n /** @internal */\n _contains(event: Event): boolean {\n // handle Event target typing\n if (!(event.target instanceof Node)) {\n return false;\n }\n return (\n this._elementRef.nativeElement.contains(event.target as Node) ||\n (this._dropdown.instance && this._dropdown.instance._contains(event.target as unknown as HTMLElement))\n );\n }\n\n @HostListener('keydown.arrowDown', ['$event'])\n @HostListener('keydown.arrowUp', ['$event'])\n navigationClick(event: Event): void {\n const ke = event as KeyboardEvent;\n const ref = this._elementRef.nativeElement.querySelector('.dropdown-menu');\n\n if (!ref) {\n return;\n }\n\n const firstActive = this._elementRef.nativeElement.ownerDocument.activeElement;\n const allRef = ref.querySelectorAll('.dropdown-item');\n switch (ke.keyCode) {\n case 38:\n if (this._state.counts > 0) {\n allRef[--this._state.counts].focus();\n }\n break;\n case 40:\n if (this._state.counts + 1 < allRef.length) {\n if (firstActive.classList !== allRef[this._state.counts].classList) {\n allRef[this._state.counts].focus();\n } else {\n allRef[++this._state.counts].focus();\n }\n }\n break;\n default:\n }\n if ('preventDefault' in ke) {\n ke.preventDefault();\n }\n }\n\n ngOnDestroy(): void {\n // clean up subscriptions and destroy dropdown\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._dropdown.dispose();\n }\n\n private addBs4Polyfills(): void {\n this.addShowClass();\n this.checkRightAlignment();\n this.addDropupStyles();\n }\n\n private playAnimation(): void {\n if (this._state.isAnimated && this._inlinedMenu) {\n setTimeout(() => {\n if (this._inlinedMenu) {\n this._factoryDropDownAnimation.create(this._inlinedMenu.rootNodes[0]).play();\n }\n });\n }\n }\n\n private addShowClass(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.addClass(this._inlinedMenu.rootNodes[0], 'show');\n }\n }\n\n private removeShowClass(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.removeClass(this._inlinedMenu.rootNodes[0], 'show');\n }\n }\n\n private checkRightAlignment(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n const isRightAligned =\n this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-right') ||\n this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-end');\n\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'left', isRightAligned ? 'auto' : '0');\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'right', isRightAligned ? '0' : 'auto');\n }\n }\n\n private addDropupStyles(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n // a little hack to not break support of bootstrap 4 beta\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'top', this.dropup() ? 'auto' : '100%');\n this._renderer.setStyle(\n this._inlinedMenu.rootNodes[0],\n 'transform',\n this.dropup() ? 'translateY(-101%)' : 'translateY(0)'\n );\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'bottom', 'auto');\n }\n }\n\n private removeDropupStyles(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'top');\n this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'transform');\n this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'bottom');\n }\n }\n}\n","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n@Directive({\n selector: '[bsDropdownMenu],[dropdownMenu]',\n exportAs: 'bs-dropdown-menu',\n standalone: true\n})\nexport class BsDropdownMenuDirective {\n constructor(\n _state: BsDropdownState,\n _viewContainer: ViewContainerRef,\n _templateRef: TemplateRef<BsDropdownMenuDirective>\n ) {\n _state.resolveDropdownMenu({\n templateRef: _templateRef,\n viewContainer: _viewContainer\n });\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n Renderer2\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { BsDropdownState } from './bs-dropdown.state';\nimport { BsDropdownDirective } from './bs-dropdown.directive';\n\n@Directive({\n selector: '[bsDropdownToggle],[dropdownToggle]',\n exportAs: 'bs-dropdown-toggle',\n host: {\n '[attr.aria-haspopup]': 'true'\n },\n standalone: true\n})\nexport class BsDropdownToggleDirective implements OnDestroy {\n @HostBinding('attr.disabled') isDisabled: undefined | true;\n @HostBinding('attr.aria-expanded') isOpen = false;\n\n private _subscriptions: Subscription[] = [];\n private _documentClickListener?: () => void;\n private _escKeyUpListener?: () => void;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _dropdown: BsDropdownDirective,\n private _element: ElementRef,\n private _renderer: Renderer2,\n private _state: BsDropdownState\n ) {\n // sync is open value with state\n this._subscriptions.push(\n this._state.isOpenChange.subscribe(\n (value: boolean) => {\n this.isOpen = value;\n\n if (value) {\n this._documentClickListener = this._renderer.listen('document', 'click', (event: Event) => {\n if (!(event.target instanceof Node)) {\n return;\n }\n const isPrimaryClick = event instanceof MouseEvent ? event.button !== 2 : true;\n if (\n this._state.autoClose &&\n isPrimaryClick &&\n !this._element.nativeElement.contains(event.target as Node) &&\n !(this._state.insideClick && this._dropdown._contains(event))\n ) {\n this._state.toggleClick.emit(false);\n this._changeDetectorRef.detectChanges();\n }\n });\n\n this._escKeyUpListener = this._renderer.listen(this._element.nativeElement, 'keyup.esc', () => {\n if (this._state.autoClose) {\n this._state.toggleClick.emit(false);\n this._changeDetectorRef.detectChanges();\n }\n });\n } else {\n this._documentClickListener && this._documentClickListener();\n this._escKeyUpListener && this._escKeyUpListener();\n }\n }\n )\n );\n\n // populate disabled state\n this._subscriptions.push(\n this._state.isDisabledChange\n .subscribe((value: boolean) => this.isDisabled = value || void 0)\n );\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (this._state.stopOnClickPropagation) {\n event.stopPropagation();\n }\n\n if (this.isDisabled) {\n return;\n }\n this._state.toggleClick.emit(true);\n }\n\n ngOnDestroy(): void {\n if (this._documentClickListener) {\n this._documentClickListener();\n }\n\n if (this._escKeyUpListener) {\n this._escKeyUpListener();\n }\n\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from './bs-dropdown-toggle.directive';\n\nimport { BsDropdownDirective } from './bs-dropdown.directive';\n\n@NgModule({\n imports: [\n BsDropdownDirective,\n BsDropdownContainerComponent,\n BsDropdownMenuDirective,\n BsDropdownToggleDirective\n ],\n exports: [\n BsDropdownMenuDirective,\n BsDropdownToggleDirective,\n BsDropdownDirective\n ]\n})\nexport class BsDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDropdownState","i2.BsDropdownState","i3.BsDropdownConfig","i4","i1.BsDropdownDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-bootstrap-dropdown.mjs","sources":["../../../../src/dropdown/bs-dropdown.config.ts","../../../../src/dropdown/bs-dropdown.state.ts","../../../../src/dropdown/dropdown-animations.ts","../../../../src/dropdown/bs-dropdown-container.component.ts","../../../../src/dropdown/bs-dropdown.directive.ts","../../../../src/dropdown/bs-dropdown-menu.directive.ts","../../../../src/dropdown/bs-dropdown-toggle.directive.ts","../../../../src/dropdown/bs-dropdown.module.ts","../../../../src/dropdown/ngx-bootstrap-dropdown.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n/** Default dropdown configuration */\n@Injectable({\n providedIn: 'root'\n})\nexport class BsDropdownConfig {\n /** default dropdown auto closing behavior */\n autoClose = true;\n /** default dropdown auto closing behavior */\n insideClick = false;\n /** turn on/off animation */\n isAnimated = false;\n /** value true of stopOnClickPropagation allows event stopPropagation*/\n stopOnClickPropagation = false;\n}\n","import { EventEmitter, Injectable } from '@angular/core';\nimport { BsComponentRef } from 'ngx-bootstrap/component-loader';\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\n\n@Injectable({providedIn: 'platform'})\nexport class BsDropdownState {\n direction: 'down' | 'up' = 'down';\n autoClose = true;\n insideClick = false;\n isAnimated = false;\n stopOnClickPropagation = false;\n isOpenChange = new EventEmitter<boolean>();\n isDisabledChange = new EventEmitter<boolean>();\n toggleClick = new EventEmitter<boolean>();\n counts = 0;\n /**\n * Content to be displayed as popover.\n */\n dropdownMenu: Promise<BsComponentRef<BsDropdownMenuDirective>>;\n resolveDropdownMenu!: (componentRef: BsComponentRef<BsDropdownMenuDirective>) => void;\n\n constructor() {\n this.dropdownMenu = new Promise(resolve => {\n this.resolveDropdownMenu = resolve;\n });\n }\n}\n","export const DROPDOWN_ANIMATION_DURATION_MS = 220;\nexport const DROPDOWN_ANIMATION_TIMING = `${DROPDOWN_ANIMATION_DURATION_MS}ms cubic-bezier(0, 0, 0.2, 1)`;\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n OnDestroy,\n Renderer2\n} from '@angular/core';\n\nimport { BsDropdownState } from './bs-dropdown.state';\n\nimport { DROPDOWN_ANIMATION_DURATION_MS, DROPDOWN_ANIMATION_TIMING } from './dropdown-animations';\nimport { animateExpand } from 'ngx-bootstrap/utils';\nimport { Subscription } from 'rxjs';\nimport { NgClass } from '@angular/common';\n\n// todo: revert ngClass to [class] when false positive angular-cli issue is fixed\n// [class.dropdown]=\"direction === 'down'\"-->\n@Component({\n selector: 'bs-dropdown-container',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgClass],\n host: {\n style: 'display:block;position: absolute;z-index: 1040'\n },\n template: `\n <div [class.dropup]=\"direction === 'up'\"\n [ngClass]=\"{dropdown: direction === 'down'}\"\n [class.show]=\"isOpen\"\n [class.open]=\"isOpen\"><ng-content></ng-content>\n </div>\n `,\n})\nexport class BsDropdownContainerComponent implements OnDestroy {\n isOpen = false;\n\n get direction(): 'down' | 'up' {\n return this._state.direction;\n }\n\n private _subscription: Subscription;\n private _cancelExpandAnimation?: () => void;\n\n constructor(\n private _state: BsDropdownState,\n private cd: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _element: ElementRef\n ) {\n this._subscription = _state.isOpenChange.subscribe((value: boolean) => {\n this.isOpen = value;\n const dropdown = this._element.nativeElement.querySelector('.dropdown-menu');\n\n this._renderer.addClass(this._element.nativeElement.querySelector('div'), 'open');\n\n if (dropdown) {\n // Pin at height:0 BEFORE .show makes the element display:block — this\n // ensures there is no frame where the element is visible at its natural\n // height before the animation clamps it to 0.\n if (this._state.isAnimated) {\n this._renderer.setStyle(dropdown, 'height', '0');\n this._renderer.setStyle(dropdown, 'overflow', 'hidden');\n }\n\n this._renderer.addClass(dropdown, 'show');\n\n if (dropdown.classList.contains('dropdown-menu-right') || dropdown.classList.contains('dropdown-menu-end')) {\n this._renderer.setStyle(dropdown, 'left', 'auto');\n this._renderer.setStyle(dropdown, 'right', '0');\n }\n if (this.direction === 'up') {\n this._renderer.setStyle(dropdown, 'top', 'auto');\n this._renderer.setStyle(\n dropdown,\n 'transform',\n 'translateY(-101%)'\n );\n }\n }\n\n if (dropdown && this._state.isAnimated) {\n // height: 0 and overflow: hidden are already set (before .show was added).\n this._cancelExpandAnimation?.();\n this._cancelExpandAnimation = animateExpand(this._renderer, dropdown, {\n timing: DROPDOWN_ANIMATION_TIMING,\n durationMs: DROPDOWN_ANIMATION_DURATION_MS\n });\n }\n\n this.cd.markForCheck();\n this.cd.detectChanges();\n });\n }\n\n /** @internal */\n _contains(el: Element): boolean {\n return this._element.nativeElement.contains(el);\n }\n\n ngOnDestroy(): void {\n this._cancelExpandAnimation?.();\n this._subscription.unsubscribe();\n }\n}\n","import {\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewContainerRef,\n input,\n effect,\n output\n} from '@angular/core';\nimport { filter } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { BsComponentRef, ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nimport { BsDropdownConfig } from './bs-dropdown.config';\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownState } from './bs-dropdown.state';\nimport { BsDropdownMenuDirective } from './index';\nimport { DROPDOWN_ANIMATION_DURATION_MS, DROPDOWN_ANIMATION_TIMING } from './dropdown-animations';\nimport { animateExpand } from 'ngx-bootstrap/utils';\n\n@Directive({\n selector: '[bsDropdown], [dropdown]',\n exportAs: 'bs-dropdown',\n providers: [BsDropdownState, ComponentLoaderFactory, BsDropdownConfig],\n standalone: true,\n host: {\n '[class.dropup]': '_dropup',\n '[class.open]': 'isOpen',\n '[class.show]': 'isOpen'\n }\n})\nexport class BsDropdownDirective implements OnInit, OnDestroy {\n /**\n * Placement of a popover. Accepts: \"top\", \"bottom\", \"left\", \"right\"\n */\n placement = input<string | undefined>();\n /**\n * Specifies events that should trigger. Supports a space separated list of\n * event names.\n */\n triggers = input<string | undefined>();\n /**\n * A selector specifying the element the popover should be appended to.\n */\n container = input<string | undefined>();\n\n /**\n * This attribute indicates that the dropdown should be opened upwards\n */\n dropup = input<boolean>(false);\n\n // Internal resolved value for dropup (for host binding)\n _dropup = false;\n\n /**\n * Indicates that dropdown will be closed on item or document click,\n * and after pressing ESC\n */\n autoClose = input<boolean | undefined>(undefined);\n\n /**\n * Indicates that dropdown will be animated\n */\n isAnimated = input<boolean | undefined>(undefined);\n\n /**\n * This attribute indicates that the dropdown shouldn't close on inside click when autoClose is set to true\n */\n insideClick = input<boolean | undefined>(undefined);\n\n /**\n * Disables dropdown toggle and hides dropdown menu if opened\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n isDisabledInput = input<boolean>(false, { alias: 'isDisabled' });\n\n get isDisabled(): boolean {\n return this._isDisabled;\n }\n\n /**\n * Returns whether or not the popover is currently being shown\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n isOpenInput = input<boolean>(false, { alias: 'isOpen' });\n\n get isOpen(): boolean {\n if (this._showInline) {\n return this._isInlineOpen;\n }\n\n return this._dropdown.isShown;\n }\n\n /**\n * Emits an event when isOpen change\n */\n readonly isOpenChange = output<boolean>();\n\n /**\n * Emits an event when the popover is shown\n */\n readonly onShown = output<boolean>();\n\n /**\n * Emits an event when the popover is hidden\n */\n readonly onHidden = output<boolean>();\n\n private _dropdown: ComponentLoader<BsDropdownContainerComponent>;\n\n private get _showInline(): boolean {\n return !this.container();\n }\n\n // todo: move to component loader\n private _isInlineOpen = false;\n\n private _inlinedMenu?: EmbeddedViewRef<BsDropdownMenuDirective>;\n private _isDisabled = false;\n private _subscriptions: Subscription[] = [];\n private _isInited = false;\n private _cancelExpandAnimation?: () => void;\n\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _viewContainerRef: ViewContainerRef,\n private _cis: ComponentLoaderFactory,\n private _state: BsDropdownState,\n private _config: BsDropdownConfig\n ) {\n // set initial dropdown state from config\n this._state.autoClose = this._config.autoClose;\n this._state.insideClick = this._config.insideClick;\n this._state.isAnimated = this._config.isAnimated;\n this._state.stopOnClickPropagation = this._config.stopOnClickPropagation;\n\n // create dropdown component loader\n this._dropdown = this._cis\n .createLoader<BsDropdownContainerComponent>(this._elementRef, this._viewContainerRef, this._renderer)\n .provide({ provide: BsDropdownState, useValue: this._state });\n\n this._dropdown.onShown.subscribe((v: boolean) => this.onShown.emit(v));\n this._dropdown.onHidden.subscribe((v: boolean) => this.onHidden.emit(v));\n this._state.isOpenChange.subscribe((v: boolean) => this.isOpenChange.emit(v));\n\n // Effect for dropup\n effect(() => {\n this._dropup = this.dropup();\n });\n\n // Effect for autoClose\n effect(() => {\n const val = this.autoClose();\n if (val !== undefined) {\n this._state.autoClose = val;\n }\n });\n\n // Effect for isAnimated\n effect(() => {\n const val = this.isAnimated();\n if (val !== undefined) {\n this._state.isAnimated = val;\n }\n });\n\n // Effect for insideClick\n effect(() => {\n const val = this.insideClick();\n if (val !== undefined) {\n this._state.insideClick = val;\n }\n });\n\n // Effect for isDisabled\n effect(() => {\n const val = this.isDisabledInput();\n this._isDisabled = val;\n this._state.isDisabledChange.emit(val);\n if (val) {\n this.hide();\n }\n });\n\n // Effect for isOpen\n effect(() => {\n const val = this.isOpenInput();\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n ngOnInit(): void {\n // fix: seems there are an issue with `routerLinkActive`\n // which result in duplicated call ngOnInit without call to ngOnDestroy\n // read more: https://github.com/valor-software/ngx-bootstrap/issues/1885\n if (this._isInited) {\n return;\n }\n this._isInited = true;\n\n // attach DOM listeners\n this._dropdown.listen({\n // because of dropdown inline mode\n outsideClick: false,\n triggers: this.triggers(),\n show: () => this.show()\n });\n\n // toggle visibility on toggle element click\n this._subscriptions.push(this._state.toggleClick.subscribe((value: boolean) => this.toggle(value)));\n\n // hide dropdown if set disabled while opened\n this._subscriptions.push(\n this._state.isDisabledChange\n .pipe(filter((value: boolean) => value))\n .subscribe((/*value: boolean*/) => this.hide())\n );\n }\n\n /**\n * Opens an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n show(): void {\n if (this.isOpen || this.isDisabled) {\n return;\n }\n\n if (this._showInline) {\n if (!this._inlinedMenu) {\n this._state.dropdownMenu\n .then((dropdownMenu: BsComponentRef<BsDropdownMenuDirective>) => {\n this._dropdown.attachInline(dropdownMenu.viewContainer, dropdownMenu.templateRef);\n this._inlinedMenu = this._dropdown._inlineViewRef;\n\n this.addBs4Polyfills();\n if (this._inlinedMenu) {\n this._renderer.addClass(this._inlinedMenu.rootNodes[0].parentNode, 'open');\n }\n\n this.playAnimation();\n })\n // swallow errors\n .catch();\n }\n this.addBs4Polyfills();\n\n this._isInlineOpen = true;\n this.onShown.emit(true);\n this._state.isOpenChange.emit(true);\n\n this.playAnimation();\n\n return;\n }\n this._state.dropdownMenu\n .then((dropdownMenu) => {\n // check direction in which dropdown should be opened\n const _dropup = this._dropup || (typeof this._dropup !== 'undefined' && this._dropup);\n this._state.direction = _dropup ? 'up' : 'down';\n const _placement = this.placement() || (_dropup ? 'top start' : 'bottom start');\n\n // show dropdown\n this._dropdown\n .attach(BsDropdownContainerComponent)\n .to(this.container())\n .position({ attachment: _placement })\n .show({\n content: dropdownMenu.templateRef,\n placement: _placement\n });\n\n this._state.isOpenChange.emit(true);\n })\n // swallow error\n .catch();\n }\n\n /**\n * Closes an element’s popover. This is considered a “manual” triggering of\n * the popover.\n */\n hide(): void {\n if (!this.isOpen) {\n return;\n }\n\n if (this._showInline) {\n this.removeShowClass();\n this.removeDropupStyles();\n this._isInlineOpen = false;\n this.onHidden.emit(true);\n } else {\n this._dropdown.hide();\n }\n\n this._state.isOpenChange.emit(false);\n }\n\n /**\n * Toggles an element’s popover. This is considered a “manual” triggering of\n * the popover. With parameter <code>true</code> allows toggling, with parameter <code>false</code>\n * only hides opened dropdown. Parameter usage will be removed in ngx-bootstrap v3\n */\n toggle(value?: boolean): void {\n if (this.isOpen || !value) {\n return this.hide();\n }\n\n return this.show();\n }\n\n /** @internal */\n _contains(event: Event): boolean {\n // handle Event target typing\n if (!(event.target instanceof Node)) {\n return false;\n }\n return (\n this._elementRef.nativeElement.contains(event.target as Node) ||\n (this._dropdown.instance && this._dropdown.instance._contains(event.target as unknown as HTMLElement))\n );\n }\n\n @HostListener('keydown.arrowDown', ['$event'])\n @HostListener('keydown.arrowUp', ['$event'])\n navigationClick(event: Event): void {\n const ke = event as KeyboardEvent;\n const ref = this._elementRef.nativeElement.querySelector('.dropdown-menu');\n\n if (!ref) {\n return;\n }\n\n const firstActive = this._elementRef.nativeElement.ownerDocument.activeElement;\n const allRef = ref.querySelectorAll('.dropdown-item');\n switch (ke.keyCode) {\n case 38:\n if (this._state.counts > 0) {\n allRef[--this._state.counts].focus();\n }\n break;\n case 40:\n if (this._state.counts + 1 < allRef.length) {\n if (firstActive.classList !== allRef[this._state.counts].classList) {\n allRef[this._state.counts].focus();\n } else {\n allRef[++this._state.counts].focus();\n }\n }\n break;\n default:\n }\n if ('preventDefault' in ke) {\n ke.preventDefault();\n }\n }\n\n ngOnDestroy(): void {\n // clean up subscriptions and destroy dropdown\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n this._cancelExpandAnimation?.();\n this._dropdown.dispose();\n }\n\n private addBs4Polyfills(): void {\n this.addShowClass();\n this.checkRightAlignment();\n this.addDropupStyles();\n }\n\n private playAnimation(): void {\n if (this._state.isAnimated && this._inlinedMenu) {\n const el = this._inlinedMenu.rootNodes[0] as HTMLElement;\n if (!el) {\n return;\n }\n this._cancelExpandAnimation?.();\n this._cancelExpandAnimation = animateExpand(this._renderer, el, {\n timing: DROPDOWN_ANIMATION_TIMING,\n durationMs: DROPDOWN_ANIMATION_DURATION_MS,\n useRaf: true,\n manageDisplay: true\n });\n }\n }\n\n private addShowClass(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.addClass(this._inlinedMenu.rootNodes[0], 'show');\n }\n }\n\n private removeShowClass(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.removeClass(this._inlinedMenu.rootNodes[0], 'show');\n }\n }\n\n private checkRightAlignment(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n const isRightAligned =\n this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-right') ||\n this._inlinedMenu.rootNodes[0].classList.contains('dropdown-menu-end');\n\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'left', isRightAligned ? 'auto' : '0');\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'right', isRightAligned ? '0' : 'auto');\n }\n }\n\n private addDropupStyles(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n // a little hack to not break support of bootstrap 4 beta\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'top', this.dropup() ? 'auto' : '100%');\n this._renderer.setStyle(\n this._inlinedMenu.rootNodes[0],\n 'transform',\n this.dropup() ? 'translateY(-101%)' : 'translateY(0)'\n );\n this._renderer.setStyle(this._inlinedMenu.rootNodes[0], 'bottom', 'auto');\n }\n }\n\n private removeDropupStyles(): void {\n if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {\n this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'top');\n this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'transform');\n this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], 'bottom');\n }\n }\n}\n","import { Directive, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { BsDropdownState } from './bs-dropdown.state';\n\n@Directive({\n selector: '[bsDropdownMenu],[dropdownMenu]',\n exportAs: 'bs-dropdown-menu',\n standalone: true\n})\nexport class BsDropdownMenuDirective {\n constructor(\n _state: BsDropdownState,\n _viewContainer: ViewContainerRef,\n _templateRef: TemplateRef<BsDropdownMenuDirective>\n ) {\n _state.resolveDropdownMenu({\n templateRef: _templateRef,\n viewContainer: _viewContainer\n });\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n Renderer2\n} from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { BsDropdownState } from './bs-dropdown.state';\nimport { BsDropdownDirective } from './bs-dropdown.directive';\n\n@Directive({\n selector: '[bsDropdownToggle],[dropdownToggle]',\n exportAs: 'bs-dropdown-toggle',\n host: {\n '[attr.aria-haspopup]': 'true'\n },\n standalone: true\n})\nexport class BsDropdownToggleDirective implements OnDestroy {\n @HostBinding('attr.disabled') isDisabled: undefined | true;\n @HostBinding('attr.aria-expanded') isOpen = false;\n\n private _subscriptions: Subscription[] = [];\n private _documentClickListener?: () => void;\n private _escKeyUpListener?: () => void;\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _dropdown: BsDropdownDirective,\n private _element: ElementRef,\n private _renderer: Renderer2,\n private _state: BsDropdownState\n ) {\n // sync is open value with state\n this._subscriptions.push(\n this._state.isOpenChange.subscribe(\n (value: boolean) => {\n this.isOpen = value;\n\n if (value) {\n this._documentClickListener = this._renderer.listen('document', 'click', (event: Event) => {\n if (!(event.target instanceof Node)) {\n return;\n }\n const isPrimaryClick = event instanceof MouseEvent ? event.button !== 2 : true;\n if (\n this._state.autoClose &&\n isPrimaryClick &&\n !this._element.nativeElement.contains(event.target as Node) &&\n !(this._state.insideClick && this._dropdown._contains(event))\n ) {\n this._state.toggleClick.emit(false);\n this._changeDetectorRef.detectChanges();\n }\n });\n\n this._escKeyUpListener = this._renderer.listen(this._element.nativeElement, 'keyup.esc', () => {\n if (this._state.autoClose) {\n this._state.toggleClick.emit(false);\n this._changeDetectorRef.detectChanges();\n }\n });\n } else {\n this._documentClickListener && this._documentClickListener();\n this._escKeyUpListener && this._escKeyUpListener();\n }\n }\n )\n );\n\n // populate disabled state\n this._subscriptions.push(\n this._state.isDisabledChange\n .subscribe((value: boolean) => this.isDisabled = value || void 0)\n );\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (this._state.stopOnClickPropagation) {\n event.stopPropagation();\n }\n\n if (this.isDisabled) {\n return;\n }\n this._state.toggleClick.emit(true);\n }\n\n ngOnDestroy(): void {\n if (this._documentClickListener) {\n this._documentClickListener();\n }\n\n if (this._escKeyUpListener) {\n this._escKeyUpListener();\n }\n\n for (const sub of this._subscriptions) {\n sub.unsubscribe();\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { BsDropdownContainerComponent } from './bs-dropdown-container.component';\nimport { BsDropdownMenuDirective } from './bs-dropdown-menu.directive';\nimport { BsDropdownToggleDirective } from './bs-dropdown-toggle.directive';\n\nimport { BsDropdownDirective } from './bs-dropdown.directive';\n\n@NgModule({\n imports: [\n BsDropdownDirective,\n BsDropdownContainerComponent,\n BsDropdownMenuDirective,\n BsDropdownToggleDirective\n ],\n exports: [\n BsDropdownMenuDirective,\n BsDropdownToggleDirective,\n BsDropdownDirective\n ]\n})\nexport class BsDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.BsDropdownState","i2.BsDropdownState","i3.BsDropdownConfig","i1.BsDropdownDirective"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { ViewContainerRef, TemplateRef, EventEmitter, OnInit, OnDestroy, ElementRef, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { BsComponentRef, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';
|
|
4
|
-
import { AnimationBuilder } from '@angular/animations';
|
|
5
4
|
|
|
6
5
|
/** Default dropdown configuration */
|
|
7
6
|
declare class BsDropdownConfig {
|
|
@@ -110,8 +109,8 @@ declare class BsDropdownDirective implements OnInit, OnDestroy {
|
|
|
110
109
|
private _isDisabled;
|
|
111
110
|
private _subscriptions;
|
|
112
111
|
private _isInited;
|
|
113
|
-
private
|
|
114
|
-
constructor(_elementRef: ElementRef, _renderer: Renderer2, _viewContainerRef: ViewContainerRef, _cis: ComponentLoaderFactory, _state: BsDropdownState, _config: BsDropdownConfig
|
|
112
|
+
private _cancelExpandAnimation?;
|
|
113
|
+
constructor(_elementRef: ElementRef, _renderer: Renderer2, _viewContainerRef: ViewContainerRef, _cis: ComponentLoaderFactory, _state: BsDropdownState, _config: BsDropdownConfig);
|
|
115
114
|
ngOnInit(): void;
|
|
116
115
|
/**
|
|
117
116
|
* Opens an element’s popover. This is considered a “manual” triggering of
|
|
@@ -168,10 +167,10 @@ declare class BsDropdownContainerComponent implements OnDestroy {
|
|
|
168
167
|
private _renderer;
|
|
169
168
|
private _element;
|
|
170
169
|
isOpen: boolean;
|
|
171
|
-
private _factoryDropDownAnimation;
|
|
172
170
|
get direction(): 'down' | 'up';
|
|
173
171
|
private _subscription;
|
|
174
|
-
|
|
172
|
+
private _cancelExpandAnimation?;
|
|
173
|
+
constructor(_state: BsDropdownState, cd: ChangeDetectorRef, _renderer: Renderer2, _element: ElementRef);
|
|
175
174
|
/** @internal */
|
|
176
175
|
_contains(el: Element): boolean;
|
|
177
176
|
ngOnDestroy(): void;
|
package/package.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-bootstrap",
|
|
3
|
-
"version": "21.2.
|
|
3
|
+
"version": "21.2.1",
|
|
4
4
|
"description": "Angular Bootstrap",
|
|
5
5
|
"author": "Dmitriy Shekhovtsov <valorkin@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"schematics": "./schematics/collection.json",
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@angular/animations": "^21.2.0",
|
|
10
9
|
"@angular/common": "^21.2.0",
|
|
11
10
|
"@angular/core": "^21.2.0",
|
|
12
11
|
"@angular/forms": "^21.2.0",
|
|
@@ -37,13 +37,13 @@ const DATEPICKER_AVAILABLESTYLES = {
|
|
|
37
37
|
`]
|
|
38
38
|
};
|
|
39
39
|
const components = {
|
|
40
|
-
accordion: { moduleName: 'AccordionModule', link: `${bsName}/accordion
|
|
40
|
+
accordion: { moduleName: 'AccordionModule', link: `${bsName}/accordion` },
|
|
41
41
|
alerts: { moduleName: 'AlertModule', link: `${bsName}/alert` },
|
|
42
42
|
buttons: { moduleName: 'ButtonsModule', link: `${bsName}/buttons` },
|
|
43
43
|
carousel: { moduleName: 'CarouselModule', link: `${bsName}/carousel` },
|
|
44
|
-
collapse: { moduleName: 'CollapseModule', link: `${bsName}/collapse
|
|
45
|
-
datepicker: { moduleName: 'BsDatepickerModule', link: `${bsName}/datepicker
|
|
46
|
-
dropdowns: { moduleName: 'BsDropdownModule', link: `${bsName}/dropdown
|
|
44
|
+
collapse: { moduleName: 'CollapseModule', link: `${bsName}/collapse` },
|
|
45
|
+
datepicker: { moduleName: 'BsDatepickerModule', link: `${bsName}/datepicker` },
|
|
46
|
+
dropdowns: { moduleName: 'BsDropdownModule', link: `${bsName}/dropdown` },
|
|
47
47
|
modals: { moduleName: 'ModalModule', link: `${bsName}/modal` },
|
|
48
48
|
pagination: { moduleName: 'PaginationModule', link: `${bsName}/pagination` },
|
|
49
49
|
popover: { moduleName: 'PopoverModule', link: `${bsName}/popover` },
|
|
@@ -53,7 +53,7 @@ const components = {
|
|
|
53
53
|
tabs: { moduleName: 'TabsModule', link: `${bsName}/tabs` },
|
|
54
54
|
timepicker: { moduleName: 'TimepickerModule', link: `${bsName}/timepicker` },
|
|
55
55
|
tooltip: { moduleName: 'TooltipModule', link: `${bsName}/tooltip` },
|
|
56
|
-
typeahead: { moduleName: 'TypeaheadModule', link: `${bsName}/typeahead
|
|
56
|
+
typeahead: { moduleName: 'TypeaheadModule', link: `${bsName}/typeahead` }
|
|
57
57
|
};
|
|
58
58
|
function addBsToPackage(options) {
|
|
59
59
|
const componentName = options.component
|
|
@@ -74,7 +74,6 @@ function addBsToPackage(options) {
|
|
|
74
74
|
if (componentName) {
|
|
75
75
|
addModuleOfComponent(project, tree, context, componentName);
|
|
76
76
|
}
|
|
77
|
-
addAnimationModule(project, tree, context, componentName);
|
|
78
77
|
});
|
|
79
78
|
}
|
|
80
79
|
function addModuleOfComponent(project, host, context, componentName) {
|
|
@@ -115,13 +114,6 @@ function insertCommonStyles(project, host, projectName, extension) {
|
|
|
115
114
|
insertBootstrapStyles(project, host, projectName, extension);
|
|
116
115
|
return (0, addStyles_1.addStyles)(project, 'build', host, DATEPICKER_AVAILABLESTYLES, projectName, extension);
|
|
117
116
|
}
|
|
118
|
-
function addAnimationModule(project, host, context, componentName) {
|
|
119
|
-
var _a;
|
|
120
|
-
if (!project || !(!componentName || ((_a = components[componentName]) === null || _a === void 0 ? void 0 : _a.animated))) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
(0, utils_1.addModuleImportToRootModule)(host, 'BrowserAnimationsModule', '@angular/platform-browser/animations', project);
|
|
124
|
-
}
|
|
125
117
|
function checkComponentName(componentName) {
|
|
126
118
|
return !!components[componentName];
|
|
127
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/src/ng-add/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAwDA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/schematics/src/ng-add/index.ts"],"names":[],"mappings":"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"}
|